Hôm qua tôi đang xem các quy tắc “tính cuối cùng” (finality) của Dusk và một công thức nhỏ đã khiến tôi dừng lại: 2 × n.
Ban đầu tôi nghĩ rằng rolling finality chỉ là việc chờ một số lượng khối cố định. Nhưng không phải vậy; Dusk xử lý theo cách khác.
Ở đây, n = số lần lặp trước đó không được attested (không được xác thực) của một khối trong cùng một round. Nếu n = 0, khối mới sẽ được đánh dấu là attested. Một khối attested sẽ trở thành confirmed khi khối kế nhiệm của nó được attested hoặc confirmed.
Nhưng khi n > 0, mọi thứ thay đổi.
Khối sẽ được chấp nhận (accepted), và nó cần 2 × n khối attested hoặc confirmed liên tiếp trước khi trở thành confirmed.
Vậy nên nếu n = 1 - 2 khối.
Nếu n = 2 - 4 khối.
Nếu n = 3 - 6 khối.
Nếu n = 4 - 8 khối.
Tài liệu whitepaper đưa ra một ví dụ đơn giản: nếu một khối ở iteration 5 và hai iteration trước đó đã thất bại khi attesting, thì nó cần thêm 4 khối nữa (2 × 2) được attested hoặc confirmed trước khi được xác nhận. Sau đó, nó sẽ trở thành final khi cha (parent) của nó đã final.
Điều tôi thấy thú vị là Dusk không đối xử với mọi khối một cách bình đẳng.
Một khối đến sau những lần lặp trước đó bị thất bại sẽ mang nhiều bất định hơn, vì vậy giao thức yêu cầu nhiều bằng chứng hơn.
Với tôi, 2×n về cơ bản là một bộ đệm an toàn thích nghi.
Nhiều nhánh thất bại hơn → cần nhiều xác nhận hơn.
Đó là phần của Rolling Finality mà tôi hiểu rõ hơn nhiều từ lúc này.
#dusk @Dusk $DUSK
Ban đầu tôi nghĩ rằng rolling finality chỉ là việc chờ một số lượng khối cố định. Nhưng không phải vậy; Dusk xử lý theo cách khác.
Ở đây, n = số lần lặp trước đó không được attested (không được xác thực) của một khối trong cùng một round. Nếu n = 0, khối mới sẽ được đánh dấu là attested. Một khối attested sẽ trở thành confirmed khi khối kế nhiệm của nó được attested hoặc confirmed.
Nhưng khi n > 0, mọi thứ thay đổi.
Khối sẽ được chấp nhận (accepted), và nó cần 2 × n khối attested hoặc confirmed liên tiếp trước khi trở thành confirmed.
Vậy nên nếu n = 1 - 2 khối.
Nếu n = 2 - 4 khối.
Nếu n = 3 - 6 khối.
Nếu n = 4 - 8 khối.
Tài liệu whitepaper đưa ra một ví dụ đơn giản: nếu một khối ở iteration 5 và hai iteration trước đó đã thất bại khi attesting, thì nó cần thêm 4 khối nữa (2 × 2) được attested hoặc confirmed trước khi được xác nhận. Sau đó, nó sẽ trở thành final khi cha (parent) của nó đã final.
Điều tôi thấy thú vị là Dusk không đối xử với mọi khối một cách bình đẳng.
Một khối đến sau những lần lặp trước đó bị thất bại sẽ mang nhiều bất định hơn, vì vậy giao thức yêu cầu nhiều bằng chứng hơn.
Với tôi, 2×n về cơ bản là một bộ đệm an toàn thích nghi.
Nhiều nhánh thất bại hơn → cần nhiều xác nhận hơn.
Đó là phần của Rolling Finality mà tôi hiểu rõ hơn nhiều từ lúc này.
#dusk @Dusk $DUSK
Fixed Finality
Adaptive Finality
Stronger Security
36 phút còn lại
