Confirmation, hay xác nhận, là cách diễn đạt mức giao dịch đã được ghi vào lịch sử đang được theo dõi. Với Bitcoin, người dùng thường đếm số khối từ khối chứa giao dịch tới đầu chuỗi hiện tại, tính cả khối chứa giao dịch.
Finality nói tới mức một kết quả được coi là không còn bị đảo ngược theo cơ chế và giả định áp dụng. Cần chỉ rõ đang nói về khả năng đổi lịch sử của giao thức hay tính cuối cùng về pháp lý; hai cách dùng không tự thay thế nhau.
Từ ghi khối tới độ sâu lịch sử
Có thể theo dõi qua ba bước. Một là giao dịch được đưa vào một khối thuộc active chain — chuỗi đang hoạt động theo góc nhìn nút. Hai là các khối tiếp theo được xây lên trên. Ba là theo dõi liệu lịch sử có thay đổi nhánh, thường gọi là reorganisation hoặc reorg, khiến trạng thái giao dịch đổi hay không.
Trong mô hình Bitcoin, phân tích khả năng thay lịch sử phụ thuộc vào giả định về sức mạnh tấn công và tiến triển của chuỗi. Whitepaper mô tả vấn đề này theo một mô hình xác suất, không phải bảo đảm rằng một số khối cố định xóa hết rủi ro. Nguồn: Bitcoin whitepaper, §11.
Ví dụ giả định: tính ba xác nhận
Giả sử giao dịch nằm trong khối ở chiều cao H. Đầu chuỗi đang ở H+2 và cả ba khối cùng thuộc lịch sử đang hoạt động. Số xác nhận được tính là (H+2)−H+1=3 theo góc nhìn của nút đang theo chuỗi đó. Tài liệu RPC mô tả trường xác nhận theo vị trí của khối trong chuỗi chính của nút. Nguồn: Bitcoin Developer Reference, getblock.
Nếu một reorg loại khối chứa giao dịch khỏi active chain, phép tính dựa trên lịch sử cũ không còn mô tả trạng thái hiện tại. Giao dịch có thể cần được theo dõi lại trong lịch sử mới. Ví dụ không mô tả một sự cố thật và không gán xác suất cho tình huống giả định.
Tại sao không có con số an toàn cho mọi người?
Người nhận cần biết giá trị và hệ quả của giao dịch, mô hình xác minh đang dùng, dữ liệu nhận được và giả định về mạng. Một chính sách chấp nhận thanh toán là quyết định quản trị rủi ro; không nên biến nó thành thuộc tính tuyệt đối của giao thức.
SPV còn có giới hạn riêng: bằng chứng một giao dịch nằm trong tập được cam kết không thay thế toàn bộ kiểm tra tính hợp lệ của khối. Vì vậy, số confirmation trên giao diện phải được đọc cùng cách giao diện tạo ra kết luận đó. Nguồn: Bitcoin Developer Guide, Operating Modes, SPV.
Finality pháp lý là một câu hỏi khác
Nguyên tắc 8 của PFMI áp dụng cho hạ tầng thị trường tài chính thuộc phạm vi bộ nguyên tắc và yêu cầu xác định rõ thời điểm quyết toán cuối cùng. Xem hai mốc trong Thanh toán và settlement. Nguồn: CPMI-IOSCO PFMI, Principle 8.
Từ đó, không thể lấy ba hoặc sáu xác nhận để suy ra một kết luận pháp lý chung cho hợp đồng, lãnh thổ hoặc dịch vụ cụ thể. Nội dung này chỉ phân biệt khái niệm; đánh giá nghĩa vụ thật cần hồ sơ riêng.
Ngộ nhận cần tránh
“Có thêm khối” không đồng nghĩa “rủi ro bằng không”; “có proof” cũng chưa đồng nghĩa “đã tự xác minh mọi điều kiện”. Cách đọc thận trọng là nêu rõ lịch sử nào, mô hình kiểm tra nào và loại cuối cùng nào đang được nói tới.
Kết luận
Confirmation cho biết một giao dịch đã nằm sâu bao nhiêu block trong lịch sử; càng sâu, việc đảo ngược càng khó. Không có một con số confirmation an toàn cho mọi trường hợp: người nhận cần cân nhắc giá trị giao dịch, cách mình xác minh và giả định về mạng. Finality kỹ thuật và tính cuối cùng về pháp lý cũng là hai câu hỏi khác nhau.
Đọc tiếp
Đọc Blockchain, Giao dịch Bitcoin, Fork, Node và SPV, Thanh toán và settlement và Thư viện thuật ngữ.