Một điểm kỹ thuật quan trọng mà tôi đã quên đề cập là đề xuất chuyển từ Casper FFG sang Minimmit làm thiết bị kết thúc.
Tóm lại, Casper FFG cung cấp tính kết thúc hai vòng: nó yêu cầu mỗi người xác thực ký một lần để “hợp lý hóa” khối, rồi ký thêm một lần nữa để “kết thúc” nó. Minimmit chỉ yêu cầu một vòng. Đổi lại, khả năng chịu lỗi của Minimmit (trong tham số hóa của chúng ta) giảm xuống còn 17%, so với 33% của Casper FFG.
Trong các cuộc thảo luận về đồng thuận của ethereum, tôi luôn là người theo chủ nghĩa nghiêm ngặt về giả định bảo mật: tôi đã kiên trì đạt đến giới hạn lý thuyết 49% khả năng chịu lỗi dưới điều kiện đồng bộ, liên tục thúc đẩy các cơ chế phục hồi sau tấn công 51%, và đề xuất DAS để làm cho các kiểm tra khả dụng dữ liệu trở nên kháng lại đa số gian lận, v.v. Nhưng tôi hoàn toàn chấp nhận các đặc tính của Minimmit, thậm chí còn rất hào hứng về một số khía cạnh. Trong bài viết này, tôi sẽ giải thích lý do.
Hãy liệt kê chính xác các đặc tính bảo mật của cả 3SF (không phải chuỗi beacon hiện tại, vốn yếu một cách không cần thiết ở nhiều khía cạnh, mà là 3SF lý tưởng) và Minimmit.
“Mạng đồng bộ” có nghĩa là “độ trễ mạng nhỏ hơn khoảng 1/4 slot”, “mạng bất đồng bộ” có nghĩa là “độ trễ có thể rất cao, thậm chí một số nút mạng có thể offline hàng giờ”. Các phần trăm (“kẻ tấn công có <33%”) đề cập đến phần trăm ETH đã stakes hoạt động.
## Đặc tính của 3SF
Trường hợp mạng đồng bộ:
* Kẻ tấn công có p < 33%: không có điều gì xấu xảy ra
* 33% < p < 50%: kẻ tấn công có thể ngăn chặn tính kết thúc (với chi phí mất một lượng lớn ETH do inactivity leak), nhưng chuỗi vẫn tiếp tục tiến triển bình thường
* 50% < p 67%: kẻ tấn công có thể kết thúc bất kỳ điều gì tùy ý, các bên tốt rất khó thực hiện phân nhánh thiểu số
Trường hợp mạng bất đồng bộ:
* Kẻ tấn công có p 33%: có thể hoàn nguyên tính kết thúc, với chi phí mất một lượng lớn ETH do slashing
## Đặc tính của Minimmit
Trường hợp mạng đồng bộ:
* Kẻ tấn công có p < 17%: không có điều gì xấu xảy ra
* 17% < p < 50%: kẻ tấn công có thể ngăn chặn tính kết thúc (với chi phí mất một lượng lớn ETH do inactivity leak), nhưng chuỗi vẫn tiếp tục tiến triển bình thường
* 50% < p 83%: kẻ tấn công có thể kết thúc bất kỳ điều gì tùy ý, các bên tốt rất khó thực hiện phân nhánh thiểu số
Trường hợp mạng bất đồng bộ:
* Kẻ tấn công có p 17%: có thể hoàn nguyên tính kết thúc, với chi phí mất một lượng lớn ETH do slashing
Tôi thực sự cho rằng đây là một sự đánh đổi tốt hơn. Dưới đây là lý do của tôi:
* Cuộc tấn công tệ nhất thực ra không phải là hoàn nguyên tính kết thúc, mà là kiểm duyệt. Lý do là hoàn nguyên tính kết thúc tạo ra bằng chứng công khai khổng lồ có thể được sử dụng để ngay lập tức khiến kẻ tấn công mất hàng triệu ETH (tức là hàng tỷ đô la), trong khi kiểm duyệt đòi hỏi sự phối hợp xã hội để vượt qua
* Trong cả hai trường hợp trên, một cuộc tấn công kiểm duyệt đều yêu cầu 50%
* Một cuộc tấn công kiểm duyệt trở nên *khó phối hợp hơn nhiều* khi kẻ kiểm duyệt có thể tự mình kết thúc (tức là >67% trong 3SF, >83% trong Minimmit). Nếu họ không thể, thì khi các bên tốt phản kháng, bạn sẽ có hai chuỗi không kết thúc đấu tranh trong vài ngày, và người dùng có thể chọn bên nào. Nếu họ có thể, thì sẽ không có điểm tham chiếu tự nhiên để phối hợp phân nhánh mềm
* Trong trường hợp lỗi client, điều tệ nhất có thể xảy ra là kết thúc một thứ bị lỗi. Trong 3SF, bạn chỉ cần 67% client chia sẻ lỗi để nó được kết thúc; trong Minimmit, bạn cần 83%
Cơ bản là Minimmit tối đa hóa số tình huống “mặc định trở thành hai chuỗi đấu tranh với nhau”, và đây thực sự là một kết quả lành mạnh và dễ phục hồi hơn nhiều so với “việc sai lầm được kết thúc”.
Chúng ta muốn tính kết thúc mang nghĩa là vĩnh viễn. Vì vậy, trong các tình huống không chắc chắn (dù là tấn công hay lỗi phần mềm), chúng ta nên chấp nhận tốt hơn những khoảng thời gian vài giờ hoặc vài ngày mà chuỗi không kết thúc, mà thay vào đó tiến triển dựa trên quy tắc chọn phân nhánh. Điều này cho chúng ta thời gian suy nghĩ và đảm bảo chuỗi nào mới đúng.
Ngoài ra, tôi cho rằng “33% bị slashing để hoàn nguyên tính kết thúc” của 3SF là quá mức cần thiết. Nếu thậm chí chỉ có 15 triệu ETH đang stakes, thì đó là 5 triệu ($10 tỷ) bị slashing để hoàn nguyên chuỗi một lần. Nếu bạn có $10 tỷ và sẵn sàng gây hỗn loạn theo cách vi phạm luật chống tin tặc của nhiều quốc gia, thì còn rất nhiều cách tốt hơn để tiêu số tiền đó hơn là tấn công một chuỗi. Ngay cả khi mục tiêu của bạn là phá vỡ ethereum, vẫn còn rất nhiều vector tấn công hiệu quả hơn.
Vì vậy, nếu chúng ta có đảm bảo cơ bản là ít nhất 17% ETH sẽ bị slashing để hoàn nguyên tính kết thúc (mà Minimmit cung cấp), thì chúng ta nên đánh giá hai hệ thống này dựa trên các đặc tính khác — và theo những lý do tôi đã nêu ở trên, tôi cho rằng Minimmit hoạt động tốt hơn.