#dusk $DUSK @Dusk Mình luôn muốn tìm hiểu “bút toán tất toán mang tính xác định” mà Dusk nhấn mạnh cụ thể là gì, và nó khác gì về bản chất so với câu “giao dịch đã được xác nhận” mà thường ngày người ta nói. Lần này mình chỉ tập trung truy xét riêng vào điểm đó.
Phần lớn các blockchain khi nói “xác nhận” thực ra mang tính xác suất: block càng được chôn sâu thì khả năng bị đảo ngược càng thấp, nhưng về mặt lý thuyết vẫn luôn tồn tại một (dù rất nhỏ) xác suất giao dịch có thể bị lật lại. Vì vậy trước đây các sàn giao dịch thường yêu cầu người dùng chờ vài khối để “xác nhận”, thực chất là chờ cho đến khi xác suất rủi ro giảm xuống mức mà họ có thể chấp nhận. Còn cơ chế “tất toán xác định” mà Dusk nói thì không theo logic đó. Cách diễn giải chính thức là: một khi một khối đã được ủy ban đồng thuận phê duyệt một cách chính thức, nó sẽ được “đóng dấu” và chốt lại rõ ràng ngay lập tức—không phải là “càng ngày càng ít có khả năng bị đảo ngược”, mà là “từ thời điểm này sẽ không bị đảo ngược nữa”. Cơ chế này dựa vào việc một nhóm người xác thực cùng ký một chứng nhận liên hợp cho khối đó, chứ không dựa vào việc xếp thời gian để giảm xác suất.
Tại đây mình lại gặp một mâu thuẫn nhỏ khá thú vị. Mình lật lại một bài viết chính thức của Dusk từ rất sớm, trong đó ghi rằng “thời gian xác nhận khối” vào khoảng từ năm đến hai mươi giây—cách dùng từ vẫn là kiểu diễn đạt thiên về xác suất như “thời gian xác nhận”. Nhưng ở các tài liệu mới hơn, cách nói đã đổi thành “trong vài giây có thể nhận được kết quả cuối cùng mang tính xác định”; từ ngữ chuyển từ “xác nhận” sang “cuối cùng” (final), thay vì “xác nhận”. Lúc đầu mình tưởng rằng chỉ là cùng một cơ chế nhưng đổi cách diễn đạt; sau đó mình nhận ra có thể chính giao thức cũng đã trải qua nâng cấp trong vài năm này. Phiên bản đầu có lẽ vẫn mang chút “hơi hướng xác nhận theo xác suất”, còn về sau các phiên bản mới đã làm rõ và “khóa chặt” cơ chế kiểu “một nhóm người cùng ký để chốt quyết định trực tiếp”. Với đoạn diễn giải cũ và mới không khớp nhau, mình chưa tìm được một bài viết nào nêu rõ ràng “từ phiên bản nào bắt đầu chuyển sang thuần xác định”. Vì vậy chỉ có thể nói rằng giai đoạn này nhiều khả năng đã trải qua quá trình lặp tiến (iteration), còn “lần nâng cấp nào” là mốc phân giới thì hiện tại mình chưa xác minh được.
Với mình, nếu đặt điểm này vào bối cảnh thực tế thì ý nghĩa khá lớn: giả sử đó là việc tất toán tiền trong một giao dịch chứng khoán. “Có xác suất rất thấp không bị đảo ngược” và “từ thời điểm này sẽ không bị đảo ngược” tương ứng với những cách xác định trách nhiệm pháp lý hoàn toàn khác nhau. Cái gọi là phương án thứ nhất, khi thực hiện các nghiệp vụ tất toán tài chính chính thức, về nguyên tắc sẽ luôn cần chừa ra một khoảng thời gian chờ an toàn.
Phần lớn các blockchain khi nói “xác nhận” thực ra mang tính xác suất: block càng được chôn sâu thì khả năng bị đảo ngược càng thấp, nhưng về mặt lý thuyết vẫn luôn tồn tại một (dù rất nhỏ) xác suất giao dịch có thể bị lật lại. Vì vậy trước đây các sàn giao dịch thường yêu cầu người dùng chờ vài khối để “xác nhận”, thực chất là chờ cho đến khi xác suất rủi ro giảm xuống mức mà họ có thể chấp nhận. Còn cơ chế “tất toán xác định” mà Dusk nói thì không theo logic đó. Cách diễn giải chính thức là: một khi một khối đã được ủy ban đồng thuận phê duyệt một cách chính thức, nó sẽ được “đóng dấu” và chốt lại rõ ràng ngay lập tức—không phải là “càng ngày càng ít có khả năng bị đảo ngược”, mà là “từ thời điểm này sẽ không bị đảo ngược nữa”. Cơ chế này dựa vào việc một nhóm người xác thực cùng ký một chứng nhận liên hợp cho khối đó, chứ không dựa vào việc xếp thời gian để giảm xác suất.
Tại đây mình lại gặp một mâu thuẫn nhỏ khá thú vị. Mình lật lại một bài viết chính thức của Dusk từ rất sớm, trong đó ghi rằng “thời gian xác nhận khối” vào khoảng từ năm đến hai mươi giây—cách dùng từ vẫn là kiểu diễn đạt thiên về xác suất như “thời gian xác nhận”. Nhưng ở các tài liệu mới hơn, cách nói đã đổi thành “trong vài giây có thể nhận được kết quả cuối cùng mang tính xác định”; từ ngữ chuyển từ “xác nhận” sang “cuối cùng” (final), thay vì “xác nhận”. Lúc đầu mình tưởng rằng chỉ là cùng một cơ chế nhưng đổi cách diễn đạt; sau đó mình nhận ra có thể chính giao thức cũng đã trải qua nâng cấp trong vài năm này. Phiên bản đầu có lẽ vẫn mang chút “hơi hướng xác nhận theo xác suất”, còn về sau các phiên bản mới đã làm rõ và “khóa chặt” cơ chế kiểu “một nhóm người cùng ký để chốt quyết định trực tiếp”. Với đoạn diễn giải cũ và mới không khớp nhau, mình chưa tìm được một bài viết nào nêu rõ ràng “từ phiên bản nào bắt đầu chuyển sang thuần xác định”. Vì vậy chỉ có thể nói rằng giai đoạn này nhiều khả năng đã trải qua quá trình lặp tiến (iteration), còn “lần nâng cấp nào” là mốc phân giới thì hiện tại mình chưa xác minh được.
Với mình, nếu đặt điểm này vào bối cảnh thực tế thì ý nghĩa khá lớn: giả sử đó là việc tất toán tiền trong một giao dịch chứng khoán. “Có xác suất rất thấp không bị đảo ngược” và “từ thời điểm này sẽ không bị đảo ngược” tương ứng với những cách xác định trách nhiệm pháp lý hoàn toàn khác nhau. Cái gọi là phương án thứ nhất, khi thực hiện các nghiệp vụ tất toán tài chính chính thức, về nguyên tắc sẽ luôn cần chừa ra một khoảng thời gian chờ an toàn.