Tiêu đề ban đầu: Protocol and staking pool changes that could improve decentralization and reduce consensus overhead
Tác giả: Vitalik Buterin
Được biên soạn bởi: bayemon.eth, ChainCatcher
Đặc biệt cảm ơn Mike Neuder, Justin Drake và những người khác vì những phản hồi và đánh giá của họ. Xem thêm: Các bài đăng trước đây của Mike Neuder, Dankrad Feist và arixon.eth về các chủ đề tương tự.
Tình trạng phát triển hiện tại của Ethereum có thể nói bao gồm một số lượng lớn đặt cược hai tầng, việc đặt cược hai tầng được đề cập ở đây đề cập đến mô hình đặt cược với hai loại người tham gia.
Nhà điều hành nút: Vận hành một nút và sử dụng danh tiếng của chính nút đó hoặc một lượng vốn nhất định của chính nút đó làm tài sản thế chấp.
Đại lý ủy quyền: Đại lý cam kết một lượng Ethereum nhất định, không có số tiền tối thiểu và không có hạn chế bổ sung nào đối với các phương thức tham gia khác ngoài tài sản thế chấp.
Việc đặt cược kép mới nổi này được tạo ra thông qua sự tham gia nhiều vào các nhóm đặt cược cung cấp tính thanh khoản cho mã thông báo đặt cược (LST). (Cả Rocket Pool và Lido đều có mẫu này).
Tuy nhiên, cam kết kép hiện tại có hai sai sót:
Rủi ro tập trung hóa các nhà khai thác nút: Cơ chế lựa chọn hiện tại của các nhà khai thác nút trong tất cả các nhóm đặt cược vẫn mang tính tập trung quá mức.
Gánh nặng đồng thuận không cần thiết: Ethereum L1 cần xác minh khoảng 800.000 chữ ký mỗi Kỷ nguyên, đây là một tải trọng rất lớn cho một vị trí. Ngoài ra, vì nhóm đặt cược thanh khoản yêu cầu nhiều tiền hơn nên bản thân mạng không hoàn toàn được hưởng lợi từ tải này. Do đó, nếu mạng Ethereum có thể đạt được sự phân cấp và bảo mật hợp lý mà không yêu cầu mỗi người ký tên theo thời gian, thì cộng đồng có thể áp dụng giải pháp như vậy, giảm số lượng chữ ký mỗi kỳ một cách hiệu quả.
Bài viết này sẽ mô tả một giải pháp cho hai vấn đề trên. Đầu tiên, người ta cho rằng phần lớn vốn được nắm giữ bởi những người không muốn đích thân quản lý các nút đặt cược ở dạng hiện tại, ký thông tin trên từng vị trí, khóa tiền gửi và phân phối lại cho những người bị giảm vốn. Vậy trong trường hợp này, những người này có thể đóng vai trò gì để vẫn đóng góp có ý nghĩa cho sự phân cấp và bảo mật của mạng?
Hiện nay tài sản thế chấp kép hoạt động như thế nào?
Hiện tại có 2 stake pool phổ biến nhất là Lido và RocketPool, theo Lido thì 2 bên tham gia là:
Nhà điều hành nút: Được bình chọn bởi Lido DAO, có nghĩa là nó thực sự được bầu chọn bởi những người nắm giữ LDO. Khi ai đó gửi ETH vào hệ thống hợp đồng thông minh Lido, stETH sẽ được tạo và nhà điều hành nút có thể đưa nó vào nhóm cầm cố (nhưng vì chứng chỉ rút tiền được liên kết với địa chỉ hợp đồng thông minh, nhà điều hành không thể rút tiền theo ý muốn)
Đại lý: Khi ai đó gửi ETH vào hệ thống hợp đồng thông minh Lido, stETH sẽ được tạo và nhà điều hành nút có thể sử dụng nó làm vật cầm cố (nhưng vì chứng chỉ rút tiền bị ràng buộc với địa chỉ hợp đồng thông minh nên nhà điều hành không thể rút tiền theo ý muốn)
Đối với Rocket Pool, đó là:
Nhà điều hành nút: Bất kỳ ai cũng có thể trở thành nhà điều hành nút bằng cách gửi 8 ETH và một số lượng mã thông báo RPL nhất định.
Đại lý: Khi ai đó gửi ETH vào hệ thống hợp đồng thông minh Rocket Pool, rETH sẽ được tạo và nhà điều hành nút có thể sử dụng nó làm vật cầm cố (cũng vì chứng chỉ rút tiền bị ràng buộc với địa chỉ hợp đồng thông minh nên nhà điều hành không thể rút tiền theo ý muốn ).
Vai trò đại lý
Trong các hệ thống này (hoặc trong các hệ thống mới được hỗ trợ bởi những thay đổi giao thức tiềm năng trong tương lai), một câu hỏi quan trọng cần đặt ra là: việc có một tác nhân từ góc độ giao thức có ý nghĩa gì?
Để hiểu được tầm quan trọng sâu sắc của vấn đề này, trước tiên chúng ta hãy nghĩ đến những thay đổi về giao thức được đề cập trong bài viết, điều này sẽ giới hạn hình phạt ở mức 2ETH. Rocket Pool cũng sẽ giảm số lượng cổ phần của các nhà khai thác nút xuống còn 2ETH và thị phần của Rocket Pool sẽ tăng lên 100%/(đối với người đặt cược và người nắm giữ ETH, vì rETH trở nên không có rủi ro, hầu hết tất cả người nắm giữ ETH sẽ trở thành người nắm giữ rETH hoặc người vận hành nút).
Giả sử lợi nhuận 3% cho người nắm giữ rETH (bao gồm phần thưởng trong giao thức và phí ưu tiên + MEV) và lợi nhuận 4% cho người vận hành nút. Chúng tôi cũng giả định rằng tổng nguồn cung ETH là 100 triệu.
Kết quả tính toán như sau. Để tránh tính lãi kép, chúng tôi sẽ tính lợi nhuận hàng ngày:
Bây giờ, giả sử Rocket Pool không tồn tại, số tiền gửi tối thiểu cho mỗi người đặt cọc giảm xuống còn 2 ETH, tổng thanh khoản được giới hạn ở mức 6,25 triệu ETH và tỷ lệ hoàn vốn của nhà điều hành nút giảm xuống 1%. Hãy tính toán lại:
Hãy xem xét cả hai kịch bản từ góc độ chi phí tấn công. Trong trường hợp đầu tiên, kẻ tấn công sẽ không đăng ký làm đại lý vì về cơ bản đại lý không có quyền rút tiền nên điều đó là vô nghĩa. Do đó, họ sẽ đặt cược tất cả ETH của mình và trở thành người vận hành nút. Để đạt được 1/3 tổng số tiền đặt cược, họ sẽ cần đặt cược 2,08 triệu Ethereum (công bằng mà nói, đây vẫn là một con số khá lớn). Trong trường hợp thứ hai, kẻ tấn công sẽ chỉ phải đặt cọc để tiếp cận được nhóm đặt cược Đối với 1/3 tổng số tiền, họ vẫn cần đầu tư 2,08 triệu Ethereum.
Từ góc độ kinh tế đặt cược và chi phí tấn công, kết quả cuối cùng trong cả hai trường hợp đều hoàn toàn giống nhau. Tỷ lệ trong tổng nguồn cung ETH do các nhà khai thác nút nắm giữ tăng 0,00256% mỗi ngày và tỷ lệ trong tổng nguồn cung ETH do các nhà khai thác không phải nút nắm giữ giảm 0,00017% mỗi ngày. Chi phí của cuộc tấn công là 2,08 triệu ETH. Do đó, trong mô hình này, đại lý dường như đã trở thành một cỗ máy Rube Goldberg vô nghĩa và cộng đồng lý trí thậm chí còn có xu hướng loại bỏ người trung gian, giảm đáng kể phần thưởng đặt cược và giới hạn tổng số lượng ETH đặt cược ở mức 6,25 triệu.
Tất nhiên, bài viết này không chủ trương giảm phần thưởng đặt cược xuống 4 lần và giới hạn tổng số tiền đặt cược ở mức 6,25 triệu. Đúng hơn, mục đích của bài viết này là thuộc tính quan trọng của một hệ thống đặt cược hoạt động tốt là các đại lý phải có trách nhiệm quan trọng trong toàn bộ hệ thống. Hơn nữa, sẽ không có vấn đề gì nếu các đại lý được thúc đẩy phần lớn bởi áp lực của cộng đồng và lòng vị tha để thực hiện các hành động đúng đắn; xét cho cùng, đó là điều khuyến khích các giải pháp đặt cược phi tập trung, bảo mật cao hiện nay.
Trách nhiệm của đại lý
Nếu các đại lý có thể đóng một vai trò có ý nghĩa trong hệ thống đặt cược thì vai trò đó có thể là gì?
Tôi nghĩ có hai loại câu trả lời:
Lựa chọn đại lý: Đại lý có thể chọn nhà điều hành nút nào để ủy thác cổ phần của họ. “Trọng lượng” của người vận hành nút trong cơ chế đồng thuận tỷ lệ thuận với tổng số cổ phần được giao phó cho họ. Hiện tại, cơ chế lựa chọn đại lý vẫn còn hạn chế, tức là chủ sở hữu rETH hoặc stETH có thể rút ETH của họ và chuyển sang một nhóm khác, nhưng tính khả dụng thực tế của việc lựa chọn đại lý có thể được cải thiện đáng kể.
Tham gia cơ chế đồng thuận: Người ủy quyền có thể chọn đóng một vai trò nhất định trong cơ chế đồng thuận, trách nhiệm “nhẹ nhàng” hơn so với đăng ký đầy đủ và sẽ không có thời gian thoát dài và giảm thiểu rủi ro nhưng vẫn có thể đóng vai trò kiểm tra và cân bằng cho toán tử nút.effect.
Tăng cường các lựa chọn đại lý
Có ba cách để tăng quyền lựa chọn của người đại diện của bạn:
Cải thiện công cụ bỏ phiếu trong nhóm
Tăng tính cạnh tranh giữa các nhóm
Sửa quyền đại diện
Hiện tại, việc bỏ phiếu trong nhóm không thực sự thực tế: trong Rocket Pool, bất kỳ ai cũng có thể trở thành nhà điều hành nút và trong Lido, việc bỏ phiếu được quyết định bởi những người nắm giữ LDO chứ không phải những người nắm giữ ETH. Lido đã đưa ra một đề xuất về quản trị kép LDO + stETH. Họ có thể kích hoạt một cơ chế bảo vệ ngăn chặn các phiếu bầu mới và do đó ngăn cản việc thêm hoặc xóa các nhà khai thác nút. Điều này bằng cách nào đó mang lại cho những người nắm giữ stETH một tiếng nói. Tuy nhiên, sức mạnh này bị hạn chế và có thể mạnh hơn.
Ngày nay, sự cạnh tranh giữa các nhóm đã tồn tại nhưng tương đối yếu. Thách thức chính là token đặt cược của các nhóm đặt cược nhỏ hơn có tính thanh khoản kém hơn, khó lấy được lòng tin hơn và ít được ứng dụng hỗ trợ hơn.
Chúng tôi có thể cải thiện hai vấn đề đầu tiên bằng cách giới hạn số tiền phạt ở mức nhỏ hơn, chẳng hạn như 2 hoặc 4 ETH. ETH còn lại sau đó có thể được gửi và rút một cách an toàn ngay lập tức, cho phép chuyển đổi hai chiều vẫn đúng đối với các nhóm đặt cược nhỏ hơn. Chúng tôi có thể cải thiện vấn đề thứ ba bằng cách tạo một hợp đồng phát hành tổng thể để quản lý LST (tương tự như các hợp đồng ERC-4337 và ERC-6900 sử dụng cho ví) để chúng tôi có thể đảm bảo mọi mã thông báo đặt cọc được phát hành thông qua hợp đồng này đều an toàn.
Hiện tại, chưa có quyền lực đại diện vững chắc trong hiệp định, nhưng tình trạng như vậy dường như sẽ tồn tại trong tương lai. Nó sẽ liên quan đến logic tương tự như ý tưởng trên, nhưng được triển khai ở cấp độ giao thức. Xem bài viết này về những ưu và nhược điểm của việc củng cố mọi thứ.
Những ý tưởng này là những cải tiến so với hiện trạng nhưng chúng mang lại những lợi ích hạn chế. Có vấn đề với việc quản lý bỏ phiếu bằng mã thông báo và cuối cùng, bất kỳ hình thức lựa chọn ủy quyền không được khuyến khích nào cũng chỉ là một hình thức bỏ phiếu bằng mã thông báo; đây luôn là vấn đề chính của tôi với Bằng chứng cổ phần được ủy quyền. Vì vậy, việc xem xét các cách để đạt được sự tham gia đồng thuận mạnh mẽ hơn cũng rất có giá trị.
Sự tham gia đồng thuận
Ngay cả khi gạt các vấn đề hiện tại về đặt cược thanh khoản sang một bên, vẫn có những hạn chế đối với các phương pháp đặt cược độc lập hiện tại. Giả sử tính hữu hạn của một khe, mỗi khe có thể xử lý lý tưởng khoảng 100.000 đến 1.000.000 chữ ký BLS. Ngay cả khi chúng tôi sử dụng SNARK đệ quy để tổng hợp chữ ký, để truy xuất nguồn gốc chữ ký, mỗi chữ ký cần được chỉ định trường bit của người tham gia. Nếu Ethereum trở thành một mạng quy mô toàn cầu, việc phân cấp hoàn toàn vùng lưu trữ bit sẽ không đủ: 16 MB trong mỗi khe chỉ có thể hỗ trợ khoảng 64 triệu người đặt cược.
Từ quan điểm này, sẽ có giá trị trong việc chia đặt cược thành các bậc có thể giảm độ phức tạp cao hơn và các bậc có độ phức tạp thấp hơn, trong đó mỗi vị trí sẽ hoạt động nhưng chỉ có thể có 10.000 người tham gia, các lớp có độ phức tạp thấp hơn đôi khi chỉ được gọi tham gia. Các lớp có độ phức tạp thấp hơn có thể được miễn giảm hoàn toàn hoặc người tham gia có thể có cơ hội ngẫu nhiên gửi tiền trong một số vị trí và trở thành mục tiêu để giảm.
Trong thực tế, điều này có thể đạt được bằng cách tăng giới hạn số dư của trình xác thực và sau đó tăng ngưỡng số dư (ví dụ: 2048 ETH) để xác định trình xác thực hiện có nào sẽ chuyển sang cấp độ phức tạp cao hơn hoặc thấp hơn.
Dưới đây là một số gợi ý về cách hoạt động của các vai trò đặt cược nhỏ này:
Đối với mỗi vị trí, 10.000 người đặt cược nhỏ sẽ được chọn ngẫu nhiên và họ có thể ký vào những gì họ cho là đại diện cho vị trí đó. Chạy quy tắc lựa chọn nhánh LMD GHOST bằng cách sử dụng các bộ đặt cược nhỏ làm đầu vào. Nếu có một số bất đồng giữa lựa chọn phân nhánh do người đặt cọc nhỏ điều khiển và lựa chọn phân nhánh do người vận hành nút điều khiển, khách hàng của người dùng sẽ không chấp nhận bất kỳ khối nào làm xác nhận cuối cùng và hiển thị lỗi. Điều này buộc cộng đồng phải vào cuộc để giải quyết tình hình.
Đại lý có thể gửi các giao dịch thông báo tới mạng rằng họ đang trực tuyến và sẵn sàng đóng vai trò là người đặt cược nhỏ trong giờ tiếp theo. Việc tính toán tin nhắn (khối hoặc bằng chứng) được gửi bởi nút yêu cầu cả nút và tác nhân được chọn ngẫu nhiên ký vào thông tin xác nhận của nút.
Đại lý có thể gửi các giao dịch thông báo tới mạng rằng họ đang trực tuyến và sẵn sàng đóng vai trò là người đặt cược nhỏ trong giờ tiếp theo. Mỗi kỷ nguyên, 10 đại lý ngẫu nhiên được chọn làm nhà cung cấp danh sách đưa vào và 10.000 đại lý nữa được chọn làm người bỏ phiếu. Chúng được chọn trước k-slot và có một cửa sổ k-slot để xuất bản thông báo trên chuỗi xác nhận sự hiện diện trực tuyến của chúng. Mỗi nhà cung cấp danh sách bao gồm đã chọn đã được xác nhận có thể xuất bản một danh sách bao gồm trừ khi, đối với mỗi danh sách bao gồm, một giao dịch có trong danh sách bao gồm đó hoặc một cuộc bỏ phiếu của 1 khu vực bầu cử chung được chọn chỉ ra rằng danh sách bao gồm không có sẵn, nếu không khối sẽ bị coi là không hợp lệ .
Điểm chung của các nút đặt cược nhỏ này là chúng không cần tích cực tham gia vào từng vị trí hoặc thậm chí chỉ cần các nút nhẹ để hoàn thành mọi công việc. Do đó, việc triển khai nút chỉ yêu cầu xác minh lớp đồng thuận mà người vận hành nút có thể đạt được thông qua các ứng dụng hoặc plug-in trình duyệt, hầu hết là thụ động và không áp dụng chi phí tính toán, yêu cầu phần cứng hoặc bí quyết kỹ thuật. Rất thấp và thậm chí không cần đòi hỏi công nghệ tiên tiến như ZK-EVM.
Những “tác nhân nhỏ” này cũng có chung một mục tiêu: ngăn chặn sự kiểm duyệt giao dịch của 51% các nhà khai thác nút. Điều thứ nhất và thứ hai cũng ngăn cản đa số tham gia vào việc cắt giảm cuối cùng. Thứ ba liên quan trực tiếp hơn đến kiểm duyệt, nhưng nó dễ bị ảnh hưởng hơn bởi sự lựa chọn của các nhà khai thác nút đa số.
Những ý tưởng này được viết từ góc độ của một giải pháp đặt cược kép được triển khai trong giao thức, nhưng chúng cũng có thể được triển khai như một tính năng của nhóm đặt cược. Dưới đây là một số ý tưởng triển khai cụ thể:
Từ góc độ giao thức, mỗi người xác minh có thể đặt hai khóa cam kết: khóa cam kết liên tục P và địa chỉ Ethereum bị ràng buộc có thể được gọi và xuất ra khóa cam kết nhanh Q. Theo dõi thông tin chữ ký của nút để lựa chọn nhánh được biểu thị bằng P và thông tin đã ký được biểu thị bằng Q. Nếu kết quả lưu trữ PQ không nhất quán, việc quyết toán bất kỳ khối nào sẽ không được chấp nhận và nhóm thanh khoản sẽ chịu trách nhiệm chọn ngẫu nhiên đại diện.
Giao thức có thể không thay đổi nhiều nhưng khóa chung của người xác thực trong khoảng thời gian đó sẽ được đặt thành P+Q. Lưu ý rằng để rút gọn, hai thông báo có thể rút gọn có thể có các phím Q khác nhau, nhưng chúng sẽ có cùng một phím P; thiết kế rút gọn cần xử lý trường hợp này.
Phím Q chỉ có thể được sử dụng trong giao thức để ký và xác minh danh sách bao gồm trong các khối. Trong trường hợp này, Q có thể là một hợp đồng thông minh chứ không phải là một khóa duy nhất, do đó nhóm đặt cược có thể sử dụng nó để triển khai logic bỏ phiếu phức tạp hơn, chấp nhận danh sách bao gồm từ một nhà cung cấp được chọn ngẫu nhiên hoặc đủ Chỉ ra rằng danh sách chứa không có sẵn để bỏ phiếu.
Kết luận
Nếu được triển khai đúng cách, việc tinh chỉnh thiết kế bằng chứng cổ phần có thể giải quyết cùng lúc hai vấn đề:
Cung cấp cho những người không có đủ nguồn lực hoặc khả năng thực hiện Proof of Stake độc lập ngay hôm nay cơ hội tham gia Proof of Stake, từ đó nắm giữ nhiều quyền lực hơn trong tay họ: bao gồm (i) quyền chọn nút nào sẽ hỗ trợ và (ii) Tích cực tham gia vào sự đồng thuận theo cách nhẹ nhàng hơn nhưng vẫn có ý nghĩa hơn so với việc vận hành một nút bằng chứng cổ phần đầy đủ. Không phải tất cả người tham gia sẽ chọn một hoặc cả hai tùy chọn này, nhưng bất kỳ người tham gia nào chọn một hoặc cả hai tùy chọn này sẽ nhận được sự cải thiện đáng kể so với hiện trạng.
Giảm số lượng chữ ký mà lớp đồng thuận Ethereum cần xử lý trong mỗi vị trí, ngay cả trong chế độ cuối cùng một vị trí, xuống con số nhỏ hơn như khoảng 10.000. Điều này cũng sẽ giúp phân cấp, giúp mọi người chạy các nút xác thực dễ dàng hơn.
Đối với các giải pháp này, giải pháp cho vấn đề có thể được tìm thấy ở các mức độ trừu tượng khác nhau: quyền được cấp cho người dùng trong các giao thức bằng chứng cổ phần, lựa chọn người dùng giữa các giao thức bằng chứng cổ phần và thiết lập trong các giao thức. Lựa chọn này cần được cân nhắc cẩn thận và tốt hơn là nên chọn thiết lập khả thi tối thiểu để giảm thiểu độ phức tạp của giao thức và mức độ thay đổi đối với tính kinh tế của giao thức, trong khi vẫn đạt được các mục tiêu mong muốn.
Sử dụng Claude AI để điều khiển máy tính phát hành coin, gửi tiền đến Truth Terminal và tìm hiểu về Meme ANT mới
Nền tảng ra mắt Meme trở thành cơ sở hạ tầng chuỗi công cộng? Kho đĩa giả "Pump.fun" của từng chuỗi
Các tùy chọn Bitcoin ETF được phê duyệt, liệu Bitcoin có tăng trưởng bùng nổ không?