Vitalik: Làm thế nào giao thức LSDFi và tính thanh khoản tăng phân cấp

Viết bởi Vitalik Buterin, biên soạn bởi bayemon.eth Nguồn: ChainCatcher

Đặc biệt cảm ơn Mike Neuder, Justin Drake và những người khác vì phản hồi và đánh giá của họ. Xem thêm: Mike Neuder, Dankrad Feist, và arixon.eth các bài viết trước đó 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 và đặt cọc kép ở đây đề cập đến mô hình đặt cọc với hai loại người tham gia.

  1. Nhà điều hành nút: Vận hành các nút và sống một lượng vốn tự có nhất định làm tài sản thế chấp cho danh tiếng của nó
  2. Người ủy quyền: Các đại lý đặt cọc 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 về cách tham gia ngoài tài sản thế chấp

Đặt cọc kép mới nổi này được tạo ra thông qua một số lượng lớn các nhóm đặt cọc tham gia cung cấp mã thông báo đặt cọc thanh khoản (LST). (Cả Rocket Pool và Lido đều ở chế độ này.)

Tuy nhiên, double staking hiện tại có hai nhược điểm:

  1. Rủi ro tập trung của các nhà khai thác nút: Cơ chế lựa chọn các nhà khai thác nút trong tất cả các nhóm đặt cọc vẫn còn quá tập trung
  2. Gánh nặng đồng thuận không cần thiết: Ethereum L1 xác minh khoảng 800.000 chữ ký cho mỗi EPOCH, đây là một tải trọng rất lớn cho một vị trí. Ngoài ra, các nhóm đặt cọc thanh khoản đòi hỏi nhiều vốn hơn và bản thân mạng không được hưởng lợi đầy đủ 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 đặt cọc ký theo khoảng thời gian, thì cộng đồng có thể áp dụng giải pháp như vậy, từ đó giảm hiệu quả số lượng chữ ký mỗi khoảng thời gian.

Bài viết này sẽ mô tả các giải pháp cho cả hai vấn đề này, trước tiên giả sử rằng phần lớn vốn nằm trong tay những người không sẵn sàng quản lý cá nhân các nút đặt cọc, ký thông tin trên từng khe, khóa tiền gửi và phân phối lại tiền ở dạng hiện tại của họ, thì những người này có thể đóng vai trò gì trong tình huống này và vẫn đóng góp có ý nghĩa cho việc phân cấp và bảo mật mạng?

Đặt cọc kép hiện tại hoạt động như thế nào?

Hai nhóm đặt cọc phổ biến nhất là Lido và RocketPool, và trong trường hợp của Lido, hai bên liên quan là:

  1. Nhà điều hành nút: Được bình chọn bởi Lido DAO, có nghĩa là điều này thực sự được bầu bởi chủ sở hữu LDO, khi ai đó gửi ETH vào hệ thống hợp đồng thông minh Lido, stETH được tạo và các nhà khai thác nút có thể đưa nó vào nhóm đặt cọ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, nhà điều hành không thể rút tiền theo ý muốn)
  2. Đại lý: Khi ai đó gửi ETH vào hệ thống hợp đồng thông minh Lido, stETH được tạo và nhà điều hành nút có thể sử dụng nó làm cổ phần (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, nhà điều hành không thể rút tiền theo ý muốn)

Đối với Rocket Pool, chúng là:

  1. 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 lượng mã thông báo RPL nhất định.
  2. Đại lý: Khi ai đó gửi ETH vào hệ thống hợp đồng thông minh Rocket Pool, rETH được tạo, các nhà khai thác nút có thể sử dụng làm đặt cọ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, 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 các hệ thống mới được kích hoạt bởi các 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à: Điểm của việc có một tác nhân từ góc độ giao thức là gì?

Để hiểu ý nghĩa sâu sắc của vấn đề này, trước tiên chúng ta hãy xem xét rằng đối với các thay đổi giao thức được đề cập trong bài đăng, tức là hình phạt giảm được giới hạn ở 2ETH, Rocket Pool cũng sẽ giảm số lượng đặt cọc của các nhà khai thác nút xuống 2ETH và thị phần của Rocket Pool sẽ tăng lên 100% / (đối với người đặt cọc và chủ sở hữu ETH, hầu hết tất cả chủ sở hữu ETH sẽ trở thành chủ sở hữu rETH hoặc nhà khai thác nút khi rETH trở nên không có rủi ro).

Giả sử lợi nhuận 3% cho chủ sở hữu rETH (bao gồm phần thưởng trong giao thức và phí ưu tiên + MEV), các nhà khai thác nút sẽ có lợi nhuận là 4%. Chúng tôi cũng giả định tổng nguồn cung ETH là 100 triệu.

Kết quả tính toán như sau. Để tránh tính toán gộp, chúng tôi sẽ tính toán thu nhập hàng ngày:

Bây giờ, giả sử rằng Rocket Pool không tồn tại, khoản 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à lợi nhuận của nhà điều hành nút giảm xuống còn 1%. Hãy tính toán lại:

Hãy xem xét cả hai trường hợp về chi phí của cuộc 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ì đại lý về cơ bản không có quyền rút tiền, vì vậy điều đó không có ý nghĩa. Do đó, họ sẽ sử dụng tất cả ETH của mình để đặt cọc và trở thành nhà khai thác nút. Để đạt được 1/3 tổng số tiền đặt cược, họ sẽ cần phải bỏ vào 2,08 triệu Ethereum (công bằng mà nói, vẫn là một con số khá lớn.) Trong trường hợp thứ hai, kẻ tấn công chỉ cần đầu tư tiền và để đạt được 1/3 tổng số tiền đặt cọc, chúng vẫn cần đầu tư 2,08 triệu Ethereum.

Từ góc độ kinh tế học đặt cọc và chi phí tấn công, kết quả cuối cùng của cả hai trường hợp là hoàn toàn giống nhau. Tỷ trọng 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ỷ trọng 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í tấn công là 2,08 triệu ETH. Do đó, trong mô hình này, các đại lý dường như là một cỗ máy Rube Goldberg vô nghĩa, với các cộng đồng hợp lý thậm chí có xu hướng cắt bỏ người trung gian, giảm đáng kể phần thưởng đặt cược và giới hạn tổng số ETH được đặ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 staking xuống 4 lần, đồng thời giới hạn tổng số tiền đặt cược ở mức 6,25 triệu. Thay vào đó, ý tưởng trong bài báo này là một hệ thống đặt cọc hoạt động tốt nên có một thuộc tính chính, cụ thể là các tác nhân phải chịu trách nhiệm đáng kể trong toàn hệ thống. Ngoài ra, không có vấn đề gì nếu tác nhân bị thúc đẩy mạnh mẽ bởi áp lực cộng đồng và lòng vị tha để có hành động đúng đắn; Xét cho cùng, đây là điều thúc đẩy mọi người ngày nay thực hiện các giải pháp đặt cọc phi tập trung, bảo mật cao.

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, vai trò đó có thể là gì?

Tôi nghĩ có hai loại câu trả lời:

  • Lựa chọn đại lý: Các đại lý có thể chọn nhà khai thác nút nào để giao phó lợi ích của họ. "Trọng lượng" của các nhà khai thác 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 lựa chọn proxy có thể được cải thiện đáng kể.
  • Tham gia cơ chế đồng thuận: Hiệu trưởng có thể lựa chọn đóng một vai trò nhất định trong cơ chế đồng thuận, trách nhiệm "nhẹ" hơn so với thuê bao đầy đủ, và sẽ không có thời gian thoát dài và giảm rủi ro, nhưng nó vẫn có thể đóng vai trò cân bằng các nhà khai thác nút.

Lựa chọn proxy nâng cao

Có ba cách để tăng cường sự lựa chọn quyền lực của đại biểu:

  1. Cải thiện các công cụ bỏ phiếu trong nhóm
  2. Tăng tính cạnh tranh giữa các pool
  3. Sửa lỗi đại diện

Hiện tại, việc bỏ phiếu trong một nhóm không thực sự thực tế: trong Rocket Pool, bất kỳ ai cũng có thể là nhà điều hành nút và trong Lido, việc bỏ phiếu được quyết định bởi chủ sở hữu LDO chứ không phải chủ sở hữu ETH. Lido đã đưa ra đề xuất quản trị kép LDO + stETH, nơi họ có thể kích hoạt cơ chế bảo vệ ngăn chặn các phiếu bầu mới và do đó các nhà khai thác nút không bị thêm hoặc xóa, theo cách mang lại cho chủ sở hữu stETH tiếng nói. Tuy nhiên, sức mạnh này bị hạn chế và có thể mạnh hơn.

Cạnh tranh giữa các nhóm đã tồn tại ngày nay, nhưng nó tương đối yếu. Thách thức chính là các mã thông báo đặt cọc trong các nhóm đặt cọc nhỏ hơn ít thanh khoản hơn, khó tin cậy hơn và ít được hỗ trợ bởi các ứng dụng.

Chúng ta 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 trao đổi hai chiều vẫn có giá trị đố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 hợp đồng phát hành chính, để quản lý LST (tương tự như hợp đồng được sử dụng bởi ERC-4337 và ERC-6900 cho ví) để chúng tôi có thể đảm bảo rằng mọi mã thông báo được đặt cọc được phát hành thông qua hợp đồng này đều an toàn.

Hiện tại, không có đại diện vững chắc trong thỏa thuận, nhưng những tình huống như vậy dường như có khả năng xảy ra trong tương lai. Nó sẽ liên quan đến logic tương tự như ý tưởng trên, nhưng được thực hiện ở cấp độ giao thức. Xem bài viết này để biết 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 tất cả chúng đều mang lại lợi ích hạn chế. Có vấn đề với quản trị bỏ phiếu mã thông báo và cuối cùng bất kỳ hình thức lựa chọn proxy không khuyến khích nào cũng chỉ là một hình thức bỏ phiếu mã thông báo; Đây luôn là khiếu nại chính của tôi với bằng chứng cổ phần được ủy quyền. Do đó, cũng có giá trị để xem xét các cách để đạt được sự tham gia đồng thuận mạnh mẽ hơn.

Tham gia đồng thuận

Ngay cả khi không xem xét các vấn đề hiện tại về đặt cọc thanh khoản, vẫn có những hạn chế đối với phương pháp đặt cọc độc lập hiện tại. Giả sử cuối cùng một vị trí, lý tưởng nhất là mỗi vị trí có thể xử lý khoảng 100.000 đến 1.000.000 chữ ký BLS. Mặc dù chúng tôi sử dụng SNARK đệ quy để tổng hợp chữ ký, nhưng để truy xuất nguồn gốc chữ ký, mỗi chữ ký cần được cung cấp một trường bit người tham gia. Nếu Ethereum trở thành một mạng lưới quy mô toàn cầu, việc lưu trữ hoàn toàn phi tập trung các trường bit sẽ không đủ: 16 MB mỗi khe sẽ chỉ hỗ trợ khoảng 64 triệu người đặt cược.

Từ quan điểm này, có giá trị trong việc chia cổ phần thành các lớp phá hủy có độ phức tạp cao hơn sẽ có hiệu lực trên mỗi vị trí nhưng chỉ có thể có 10.000 người tham gia và các lớp phức tạp thấp hơn chỉ thỉnh thoảng được gọi tham gia. Các lớp có độ phức tạp thấp hơn có thể được miễn hoàn toàn khỏi chặt đầu, hoặc người tham gia có thể được trao ngẫu nhiên cơ hội gửi tiền trong một số vị trí và trở thành mục tiêu để lắng đọng.

Trên thực tế, điều này có thể được thực hiện bằng cách tăng giới hạn số dư trình xác thực, theo sau là ngưỡng số dư (ví dụ: 2048 ETH) để xác định trình xác thực hiện tại nào vào bậc 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 các vai trò microstaking này hoạt động:

  1. Đố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ý những gì họ tin là đại diện cho vị trí. Chạy quy tắc lựa chọn ngã ba LMD GHOST với một staker nhỏ làm đầu vào. Nếu có sự khác biệt nhất định giữa lựa chọn fork được điều khiển bởi microstaker và lựa chọn fork được điều khiển bởi nhà điều hành nút, máy khách 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à sẽ 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.
  2. Các đại lý có thể gửi các giao dịch thông báo cho 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 vòng một giờ tới. Thông điệp (khối hoặc bằng chứng) được gửi bởi nút được tính toán và yêu cầu cả nút và proxy được chọn ngẫu nhiên để ký xác nhận của nút.
  3. Các đại lý có thể gửi các giao dịch thông báo cho 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 vòng một giờ tới. Mỗi giai đoạn, 10 đại lý ngẫu nhiên được chọn làm nhà cung cấp danh sách bao gồm và 10.000 đại lý khác được chọn làm cử tri. Chúng được chọn trước khe k và được cung cấp một cửa sổ k-slot để xuất bản các thông báo trên chuỗi xác nhận rằng chúng đang trực tuyến. Mỗi nhà cung cấp danh sách bao gồm được xác nhận lựa chọn có thể công bố một danh sách bao gồm và khối sẽ được coi là không hợp lệ trừ khi đối với mỗi danh sách bao gồm có chứa các giao dịch trong danh sách bao gồm hoặc chứa phiếu bầu của các cử tri được chọn nói chung, cho thấy rằng danh sách bao gồm không có sẵn.

Điểm chung của các nút đặt cọc nhỏ này là chúng không cần phải tham gia tích cực vào mọi vị trí, hoặc thậm chí các nút nhẹ để thực hiện tất cả công việc. Do đó, việc triển khai nút chỉ yêu cầu lớp đồng thuận xác minh, mà các nhà khai thác nút có thể triển khai thông qua các ứng dụng hoặc trình cắm trình duyệt, chủ yếu là thụ động và yêu cầu ít chi phí tính toán, yêu cầu phần cứng hoặc bí quyết hoặc thậm chí các công nghệ tiên tiến như ZK-EVM.

Những "vai trò nhỏ" này cũng chia sẻ một mục tiêu chung: ngăn chặn 51% các nhà khai thác nút đa số kiểm duyệt các giao dịch. Thứ nhất và thứ hai cũng ngăn cản đa số tham gia vào việc giảm cuối cùng. Phần thứ ba tập trung trực tiếp hơn vào kiểm duyệt, nhưng nó dễ bị ảnh hưởng bởi sự lựa chọn của hầu hết các nhà khai thác nút.

Những ý tưởng này được viết từ quan điểm triển khai giải pháp đặt cọc kép trong giao thức, nhưng chúng cũng có thể được thực hiện như một chức năng của nhóm đặt cọc. Dưới đây là một số ý tưởng triển khai cụ thể:

  1. Từ góc độ giao thức, mỗi trình xác thực có thể đặt hai khóa đặt cọc: khóa cổ phần liên tục P và địa chỉ Ethereum bị ràng buộc có thể được gọi và xuất khóa cổ phần nhanh Q. Theo dõi thông tin chữ ký của nút để lựa chọn fork được thể hiện bằng P và thông tin đã ký được thể hiện bằng Q, nếu kết quả lưu trữ PQ không nhất quán, xác định cuối cùng của bất kỳ khối nào không được chấp nhận và nhóm thanh khoản chịu trách nhiệm chọn ngẫu nhiên các đại diện
  2. Giao thức có thể hầu như không thay đổi, nhưng khóa công khai của trình xác thực trong khoảng thời gian đó sẽ được đặt thành P + Q. Lưu ý rằng để hủy kho, hai thông báo có thể phân định có thể có các khóa Q khác nhau, nhưng chúng sẽ có cùng khóa P; Thiết kế thiếu cân cần phải đối phó với tình huống này.
  3. Q Keys chỉ có thể được sử dụng trong giao thức để ký và xác minh danh sách bao gồm trong một 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, vì vậy nhóm đặt cọc có thể sử dụng nó để thực hiện 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 đủ phiếu bầu cho biết rằng danh sách bao gồm không có sẵn.

Kết luận

Khi được triển khai chính xác, việc tinh chỉnh thiết kế bằng chứng cổ phần có thể giải quyết hai vấn đề trong một lần rơi:

  1. Tạo cơ hội cho những người ngày nay không có nguồn lực hoặc khả năng thực hiện bằng chứng cổ phần độc lập bằng cách cho họ cơ hội tham gia vào bằng chứng cổ phần, do đó giữ được nhiều quyền lực hơn trong tay: bao gồm (i) quyền lựa chọn nút nào để hỗ trợ và (ii) tích cực tham gia đồng thuận theo một cách nhẹ nhàng hơn nhưng vẫn có ý nghĩa hơn so với các nút bằng chứng cổ phần hoạt động đầy đủ. Không phải tất cả những 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 sẽ là một sự cải thiện đáng kể so với hiện trạng.
  2. Giảm số lượng chữ ký mà lớp đồng thuận Ethereum cần xử lý trong mỗi khe, ngay cả trong chế độ cuối cùng một vị trí, xuống một 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 trình xác thực dễ dàng hơn.

Đối với các giải pháp này, các giải pháp cho vấn đề có thể được tìm thấy ở các cấp độ trừu tượng khác nhau: các quyền được cấp cho người dùng trong 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 giao thức. Sự lựa chọn này cần được xem xét cẩn thận, và nói chung tốt nhất là chọn một cơ sở khả thi tối thiểu để giảm thiểu sự phức tạp của giao thức và mức độ thay đổi tính kinh tế của thỏa thuận, trong khi vẫn đạt được các mục tiêu mong muốn.

Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • Bình luận
  • Chia sẻ
Bình luận
0/400
Không có bình luận
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)