Bài viết mới của Vitalik: SSF làm thế nào để ổn định số lượng chữ ký khe đơn Ethereum tại 8192?

星球日报

Tiêu đề gốc: “Bám sát 8192 chữ ký trên mỗi vị trí sau SSF: làm thế nào và tại sao”

Bài viết gốc của Vitalik Buterin, nghiên cứu ETH

Biên dịch gốc: Luccy, BlockBeats

*Lưu ý của biên tập viên: SSF (Single Slot Finality) là viết tắt của Single Slot Finality, cung cấp một cách để giảm đáng kể độ trễ của Ethereum. Trong Cơ chế đồng thuận Blockchain, tính cuối cùng có nghĩa là một giao dịch hoặc Khối trở nên không thể hủy ngang, đảm bảo rằng nó không thể bị giả mạo hoặc đảo ngược. Đạt được tính cuối cùng là điều cần thiết cho sự tin tưởng và bảo mật của các hệ thống Phân cấp, vì nó giúp loại bỏ nguy cơ chi tiêu gấp đôi và hoạt động độc hại khác. *

*SSF gợi ý rằng trong Cơ chế đồng thuận Blockchain, một khoảng thời gian hoặc đơn vị thời gian duy nhất có thể được coi là “cuối cùng”. Không giống như EthereumConsensus ban đầu, nó cho phép tất cả các trình xác thực tham gia vào việc xác nhận hoặc ký các vị trí, giảm thời gian xác nhận giao dịch và cải thiện trải nghiệm người dùng tổng thể. *

  • Vitalik “trở lại” ETH nghiên cứu khám phá lý do tại sao cần phải có các trình xác thực tham gia có hai chữ ký trên mỗi vị trí sau SSF, nghĩa là đạt được 8192 chữ ký và đưa ra 3 giả thuyết về cách đạt được mục tiêu này, cụ thể là đặt cược đầy đủ, đặt cược hai tầng và tham gia luân phiên, phân tích cách xử lý số lượng chữ ký trên mỗi vị trí hiệu quả hơn trong khi vẫn duy trì tính bảo mật của giao thức và thảo luận về ưu điểm và nhược điểm của chúng cũng như tác động đến giao thức và người dùng. BlockBeats đã biên soạn văn bản gốc như sau:*

Một sự khác biệt lớn giữa Ethereum và hầu hết các hệ thống PoS khác (với tính cuối cùng) là Ethereum cố gắng hỗ trợ một số lượng rất lớn trình xác nhận: hiện tại chúng tôi có 895.000 trình xác nhận, phân tích luật của Zipf cho thấy tương đương với hàng chục nghìn cá nhân hoặc thực thể độc lập. Mục đích của việc này là hỗ trợ Phân cấp, cho phép những người bình thường tham gia đặt cọc mà không yêu cầu mọi người từ bỏ khả năng hành động và bàn giao quyền kiểm soát cho một trong số ít các nhóm đặt cọc.

Tuy nhiên, cách tiếp cận này đòi hỏi chuỗi Ethereum phải xử lý một số lượng lớn chữ ký trên mỗi khe (khoảng 28.000 ngày nay; 1.790.000 sau SSF), đây là một tải rất cao. Để hỗ trợ tải trọng này, một số hy sinh kỹ thuật phải được thực hiện:

  • Nó đòi hỏi một cơ chế lan truyền bằng chứng phức tạp, nơi các bằng chứng được chia thành nhiều mạng con, các hoạt động chữ ký BLS siêu tối ưu hóa để xác minh các chữ ký đó, v.v.
  • Chúng tôi hiện không có một giải pháp thay thế rõ ràng và hiệu quả cho điện trở lượng tử.
  • Các bản sửa lỗi lựa chọn ngã ba như hợp nhất chế độ xem được thực hiện phức tạp hơn do không thể trích xuất chữ ký riêng lẻ.
  • Xử lý SNARK là khó khăn cho rất nhiều chữ ký. Helios cần chạy trên một chữ ký bổ sung chuyên biệt, được gọi là chữ ký ủy ban đồng bộ.
  • Nó yêu cầu ba khe phụ trong một khe thay vì hai, điều này làm tăng thời gian khe tối thiểu an toàn.

Một hệ thống tổng hợp chữ ký thoạt nhìn có vẻ hợp lý, nhưng trên thực tế, nó tạo ra sự phức tạp mang tính hệ thống bao trùm toàn bộ hệ thống.

Hơn nữa, nó thậm chí không đạt được mục tiêu của mình. Yêu cầu tối thiểu để đặt cọc vẫn là 32 ETH, nằm ngoài tầm với của rất nhiều người. Chỉ từ quan điểm phân tích logic, mục tiêu của một hệ thống cho phép mọi người ký mọi vị trí trong dài hạn dường như không khả thi để thực sự cung cấp đặt cọc cho những người bình thường: nếu Ethereum có 500 triệu người dùng, 10% trong số họ tham gia đặt cược, điều đó có nghĩa là 100 triệu chữ ký cho mỗi vị trí. Từ góc độ lý thuyết thông tin, việc xử lý các hình phạt trong thiết kế này đòi hỏi ít nhất 12,5 MB dung lượng trống dữ liệu trên mỗi khe, gần tương đương với mục tiêu phân mảnh đầy đủ. Điều đó có thể xảy ra, nhưng yêu cầu bản thân việc đặt cọc dựa vào lấy mẫu dữ liệu sẵn có là một lợi ích phức tạp lớn. Và thậm chí sau đó, chỉ có khoảng 0,6% dân số toàn cầu tham gia vào việc đặt cược, và nó vẫn chưa bắt đầu liên quan đến vấn đề tính toán của việc xác minh rất nhiều chữ ký.

Vì vậy, thay vì dựa vào mật mã học để tạo ra đạn ma thuật (hoặc chống đạn ma thuật) để đạt được số lượng chữ ký ngày càng tăng trên mỗi khe, tôi đề nghị một sự thay đổi triết học: trước tiên hãy từ bỏ những kỳ vọng như vậy. Điều này sẽ mở rộng đáng kể không gian thiết kế PoS và cho phép đơn giản hóa kỹ thuật, làm cho nó an toàn hơn bằng cách cho phép Helios SNARKs trực tiếp trên EthereumConsensus và giải quyết vấn đề kháng lượng tử bằng cách làm cho ngay cả một sơ đồ chữ ký không thú vị nhưng lâu đời như Winternitz khả thi.

Tại sao không “Chỉ sử dụng các ủy ban”?

Nhiều người không phải EthereumBlockchain phải đối mặt với vấn đề chính xác này áp dụng cách tiếp cận dựa trên ủy ban để bảo mật. Trong mỗi vị trí, họ chọn ngẫu nhiên N trình xác thực (ví dụ: N ≈ 1000), những người chịu trách nhiệm xác nhận cuối cùng vị trí. Điều đáng nhắc nhở tại sao cách tiếp cận này là không đủ, vì nó không cung cấp trách nhiệm giải trình.

Để hiểu tại sao, giả sử 51% các cuộc tấn công xảy ra. Đây có thể là một cuộc tấn công đảo ngược thiết bị đầu cuối hoặc một cuộc tấn công kiểm duyệt. Để thực hiện cuộc tấn công, bạn vẫn cần tác nhân kinh tế kiểm soát phần lớn cổ phần để đồng ý về cuộc tấn công, tức là chạy phần mềm liên quan đến cuộc tấn công và tham gia vào cuộc tấn công với tất cả các trình xác thực cuối cùng được bầu vào ủy ban. Lấy mẫu ngẫu nhiên về mặt toán học đảm bảo điều này. Tuy nhiên, các hình phạt mà họ nhận được cho việc này là tối thiểu, vì hầu hết những người xác nhận đồng ý với cuộc tấn công cuối cùng không được bầu vào ủy ban và do đó không được nhìn thấy.

Hiện tại, Ethereum làm hoàn toàn ngược lại. Nếu một cuộc tấn công 51% xảy ra, phần lớn toàn bộ bộ sưu tập trình xác thực tấn công sẽ bị cắt giảm tiền gửi. Chi phí hiện tại của cuộc tấn công là khoảng 9 triệu ETH (khoảng 20 tỷ USD) và người ta cho rằng việc ngừng đồng bộ hóa mạng được thực hiện theo cách thuận lợi nhất cho kẻ tấn công.

Tôi nghĩ đó là một chi phí cao, nhưng đó là một cái giá quá cao để trả, và chúng ta có thể hy sinh một số vấn đề này. Ngay cả chi phí tấn công 1-2 triệu ETH cũng hoàn toàn đủ. Ngoài ra, rủi ro tập trung chính hiện đang tồn tại trong Ethereum được phản ánh ở một nơi hoàn toàn khác: nếu số tiền gửi tối thiểu giảm xuống gần bằng không, sức mạnh của các nhóm đặt cọc quy mô lớn sẽ không bị giảm đi nhiều.

Đó là lý do tại sao tôi ủng hộ một giải pháp trung gian: thực hiện một số hy sinh về trách nhiệm của người xác thực nhưng vẫn duy trì tổng số tiền ETH có thể cắt giảm cao và đổi lại chúng ta có thể tận hưởng hầu hết các lợi ích của một bộ trình xác thực nhỏ hơn.

Điều gì xảy ra nếu có 8192 chữ ký cho mỗi vị trí trong SSF?

Giả sử một giao thức Đồng thuận hai vòng truyền thống (như giao thức được Tendermint sử dụng và giao thức mà SSF chắc chắn sử dụng), mỗi trình xác thực tham gia cần hai chữ ký cho mỗi vị trí. Chúng ta cần phải giải quyết thực tế này, và tôi thấy rằng có ba cách chính để giải quyết vấn đề này.

Phương pháp 1: Áp dụng đầy đủ các nhóm đặt cọc phi tập trung

Python Zen chứa một cụm từ rất quan trọng:

Nên có một - và tốt nhất là chỉ có một - cách rõ ràng để làm điều đó. )

Ethereum hiện đang vi phạm quy tắc này khi nói đến việc đặt cọc bằng nhau, vì chúng tôi đang đồng thời thực hiện hai chiến lược khác nhau để đạt được mục tiêu này: (i) đặt cọc độc lập quy mô nhỏ và (ii) Nhóm đặt cọc phi tập trung sử dụng công nghệ xác thực phân tán (DVT). Vì những lý do trên, (i) chỉ có thể hỗ trợ một vài người đặt cọc cá nhân và sẽ luôn có nhiều người có số tiền gửi tối thiểu quá lớn. Tuy nhiên, Ethereum đang phải trả một gánh nặng kỹ thuật rất cao để hỗ trợ (i).

Một giải pháp khả thi là từ bỏ (i) và dốc hết sức (ii). Chúng tôi có thể tăng số tiền gửi tối thiểu lên 4096 ETH và đặt tổng giới hạn trình xác thực thành 4096 (khoảng 16,7 triệu ETH). Các nhà đặt cọc quy mô nhỏ dự kiến sẽ tham gia nhóm DVT: bằng cách cung cấp vốn hoặc bằng cách trở thành Nhà khai thác nút. Để ngăn chặn sự lạm dụng của kẻ tấn công, vai trò Nhà điều hành nút cần phải được giới hạn bởi ngưỡng uy tín theo một cách nào đó và các nhóm sẽ cạnh tranh bằng cách cung cấp các tùy chọn khác nhau về vấn đề này. Việc cung cấp vốn sẽ không được phép.

Chúng ta có thể làm cho việc đặt cọc trong mô hình này trở nên “tha thứ” hơn bằng cách đặt giới hạn hình phạt (ví dụ: 1/8 tổng số tiền gửi được cung cấp). Điều này sẽ cho phép ít tin tưởng hơn vào các nhà khai thác Node, mặc dù đáng để xử lý thận trọng do các vấn đề được nêu ra.

Cách 2: Hai lớp staking

Chúng tôi đã tạo ra hai lớp staker: một lớp “nặng” yêu cầu 4096 ETH tham gia xác nhận trạng thái cuối cùng và một lớp “nhẹ” không có yêu cầu tối thiểu (không có sự chậm trễ gửi và rút tiền, không có lỗ hổng cắt giảm), thêm lớp bảo mật thứ hai. Để trạng thái cuối cùng của khối được xác nhận, cần có cả xác nhận trạng thái cuối cùng của lớp nặng và ít nhất 50% lớp ánh sáng của bằng chứng xác thực ánh sáng trực tuyến.

Sự không đồng nhất này có lợi cho việc kiểm duyệt và chống tấn công, vì cả hai lớp nặng và nhẹ đều cần phải bị hỏng để một cuộc tấn công thành công. Nếu một lớp bị hỏng và lớp kia thì không, chuỗi sẽ dừng lại và nếu lớp nặng bị hỏng, nó có thể bị trừng phạt.

Một lợi ích khác của việc này là tầng ánh sáng có thể chứa ETH cũng được sử dụng làm tài sản thế chấp trong ứng dụng. Hạn chế chính là việc đặt cọc trở nên ít bình đẳng hơn bằng cách thiết lập sự phân chia giữa những người đặt cọc quy mô nhỏ và quy mô lớn.

Phương pháp 3: Tham gia luân phiên (tức là ủy ban nhưng trách nhiệm giải trình)

Chúng tôi thực hiện một cách tiếp cận tương tự như thiết kế siêu ủy ban được đề xuất ở đây: đối với mỗi vị trí, chúng tôi chọn 4096 trình xác thực hiện tại và điều chỉnh cẩn thận bộ trong mỗi vị trí để chúng tôi vẫn có bảo mật.

Tuy nhiên, chúng tôi đã thực hiện một số lựa chọn tham số khác nhau trong khuôn khổ này để có được “giá trị đồng tiền” trong đó. Cụ thể, chúng tôi cho phép người xác thực tham gia với số dư cao tùy ý và nếu người xác thực có nhiều hơn một lượng ETH nhất định (sẽ phải thả nổi), họ sẽ tham gia vào các ủy ban trong mỗi vị trí. Nếu một trình xác thực có N<M ETH, thì họ có xác suất N/M trong bất kỳ vị trí nhất định nào để tham gia vào ủy ban.

Ở đây chúng ta có một đòn bẩy thú vị để tách “trọng số” trên mục đích khuyến khích khỏi “trọng số” trên mục đích Đồng thuận: phần thưởng cho mỗi người xác thực trong ủy ban phải giống nhau (ít nhất là đối với người xác thực sử dụng ≤M ETH) để giữ phần thưởng trung bình tỷ lệ thuận với số dư, nhưng chúng ta vẫn có thể tính trọng số của trình xác thực Đồng thuận trong ủy ban bằng cách tính trọng số ETH. Điều này đảm bảo rằng số lượng ETH cần thiết để phá vỡ tính cuối cùng bằng hơn 1/3 tổng số ETH trong ủy ban.

Một phân tích sơ bộ về định luật Zipf tính toán lượng ETH này như sau:

  • Ở mỗi cấp bậc hai của tổng số dư, số lượng trình xác thực tỷ lệ nghịch với mức cân bằng đó và tổng số dư của các trình xác thực này sẽ giống nhau.
  • Do đó, ủy ban sẽ có số lượng ETH bằng nhau từ mỗi cấp độ cân bằng tham gia, ngoại trừ những người vượt quá rào cản M, nơi người xác nhận luôn ở trong ủy ban.

Lưu ý: Để hiển thị dữ liệu được tính toán rõ ràng hơn, các bước tiếp theo sẽ là ảnh chụp màn hình

Vitalik新文:SSF如何让以太坊单槽签名数稳定在8192次?

Nhược điểm chính của phương pháp này là tăng nhẹ độ phức tạp của việc chọn ngẫu nhiên các trình xác thực trong giao thức để chúng tôi có thể có được bảo mật đồng thuận trong trường hợp thay đổi ủy ban.

Ưu điểm chính là nó giữ lại cổ phần độc lập ở dạng dễ nhận biết, duy trì hệ thống một lớp và thậm chí cho phép số tiền gửi tối thiểu được giảm xuống mức rất thấp (ví dụ: 1 ETH).

Kết luận

Nếu chúng tôi quyết định gắn bó với 8192 chữ ký sau giao thức SSF, nó sẽ giúp công việc dễ dàng hơn nhiều cho những người triển khai công nghệ và xây dựng cơ sở hạ tầng bên như máy khách nhẹ. Khách hàng đồng thuận có thể được điều hành dễ dàng hơn bởi bất kỳ ai và người dùng, những người đam mê đặt cọc và những người khác có thể ngay lập tức làm việc trên giả định này. Tải trong tương lai của giao thức Ethereum không còn là ẩn số: tương lai có thể được tăng cường bởi một hard fork, nhưng chỉ khi các nhà phát triển tự tin rằng công nghệ đã được cải thiện đủ để xử lý nhiều chữ ký hơn trên mỗi khe ở cùng mức độ dễ dàng.

Phần còn lại của công việc sẽ là quyết định phương pháp nào trong ba phương pháp chúng ta muốn áp dụng, hoặc có thể là một cách tiếp cận hoàn toàn khác. Đó sẽ là một câu hỏi về sự đánh đổi mà chúng ta cảm thấy thoải mái, cụ thể là cách chúng ta đối phó với các vấn đề liên quan như đặt cọc lỏng, có thể được giải quyết riêng biệt với các vấn đề kỹ thuật hiện nay dễ dàng hơn nhiều.

Liên kết đến bài viết gốc

Xem bản gốc
Tuyên bố miễn trừ trách nhiệm: Thông tin trên trang này có thể đến từ bên thứ ba và không đại diện cho quan điểm hoặc ý kiến của Gate. Nội dung hiển thị trên trang này chỉ mang tính chất tham khảo và không cấu thành bất kỳ lời khuyên tài chính, đầu tư hoặc pháp lý nào. Gate không đảm bảo tính chính xác hoặc đầy đủ của thông tin và sẽ không chịu trách nhiệm cho bất kỳ tổn thất nào phát sinh từ việc sử dụng thông tin này. Đầu tư vào tài sản ảo tiềm ẩn rủi ro cao và chịu biến động giá đáng kể. Bạn có thể mất toàn bộ vốn đầu tư. Vui lòng hiểu rõ các rủi ro liên quan và đưa ra quyết định thận trọng dựa trên tình hình tài chính và khả năng chấp nhận rủi ro của riêng bạn. Để biết thêm chi tiết, vui lòng tham khảo Tuyên bố miễn trừ trách nhiệm.
Bình luận
0/400
Không có bình luận