Cảnh báo rủi ro: Đề phòng huy động vốn bất hợp pháp dưới danh nghĩa 'tiền điện tử' và 'blockchain'. — Năm cơ quan bao gồm Ủy ban Giám sát Ngân hàng và Bảo hiểm
Tìm kiếm
Đăng nhập
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
Xem thị trường
Vitalik新文:SSF如何让以太坊单槽签名数稳定在8192次?
区块律动BlockBeats
特邀专栏作者
2023-12-28 08:43
Bài viết này có khoảng 3558 từ, đọc toàn bộ bài viết mất khoảng 6 phút
在SSF协议后使用8192个签名,将使技术实施者以及轻客户端等基础设施构建者的工作变得更加容易。

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

Tác giả gốc: Vitalik Buterin, nghiên cứu ETH

Bản tổng hợp 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 lĩnh vực cơ chế đồng thuận blockchain, tính hữu hạn 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 mục đích cuối cùng là rất quan trọng đối với sự tin cậy và bảo mật trong các hệ thống phi tập trung vì nó giúp loại bỏ nguy cơ chi tiêu gấp đôi và các hoạt động độc hại khác.

SSF gợi ý rằng trong cơ chế đồng thuận blockchain, một khe thời gian hoặc đơn vị thời gian duy nhất có thể được coi là hoàn thiện. Nó khác với sự đồng thuận ban đầu của Ethereum ở chỗ nó cho phép tất cả người xác thực tham gia 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” nghiên cứu ETH và thảo luận lý do tại sao cần cho phép những người xác thực tham gia có hai chữ ký trên mỗi vị trí sau SSF, tức là đạt được 8192 chữ ký, đồng thời, ông đề xuất ba giả định về cách đạt được mục tiêu này, đó 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, đồng thời thảo luận về ưu điểm và nhược điểm cũng như tác động của chúng đối với giao thức và người dùng. BlockBeats biên dịch văn bản gốc như sau:

Một trong những điểm khác biệt chính giữa Ethereum và hầu hết các hệ thống bằng chứng cổ phần (có tính hữu hạn) khác là Ethereum cố gắng hỗ trợ số lượng trình xác thực cực kỳ lớn: hiện tại chúng tôi có 895.000 trình xác thực và phân tích Luật của Zipf cho thấy điều này Tương đương với hàng chục hàng ngàn cá nhân hoặc tổ chức độc lập. Mục đích của việc này là để hỗ trợ phân quyền và cho phép người dân 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à giao quyền kiểm soát cho một trong số ít nhóm đặt cược.

Tuy nhiên, cách tiếp cận này yêu cầu chuỗi Ethereum phải xử lý một số lượng lớn chữ ký trên mỗi vị trí (khoảng 28.000 ngày nay; 1.790.000 sau SSF), đây là một mức 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ế truyền bá bằng chứng phức tạp trong đó 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.

  • Hiện tại chúng ta không có giải pháp thay thế kháng lượng tử rõ ràng nào có thể đối phó với nó một cách hiệu quả.

  • Các bản sửa lỗi lựa chọn phân nhánh như hợp nhất chế độ xem trở nên phức tạp hơn vì không thể trích xuất được các chữ ký riêng lẻ.

  • SNARKing rất nhiều chữ ký là khó khăn. Helios cần chạy trên một chữ ký bổ sung chuyên biệt gọi là chữ ký ủy ban đồng bộ.

  • Nó yêu cầu ba khe con trong một khe thay vì hai, do đó 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 lan rộng khắp toàn bộ hệ thống.

Hơn nữa, nó thậm chí còn 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, vượt quá khả năng của 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 đăng nhập vào mọi vị trí và thực sự cung cấp dịch vụ đặt cược cho người bình thường dường như không khả thi về lâu dài: nếu Ethereum có 500 triệu người dùng và 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, quá trình xử lý trong thiết kế này yêu cầu í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 chia toàn bộ. Có thể thực hiện được, nhưng việc yêu cầu bản thân việc đặt cược phải dựa vào việc lấy mẫu tính khả dụng của dữ liệu là một lợi ích phức tạp lớn. Và ngay cả như vậy, chỉ có khoảng 0,6% dân số toàn cầu tham gia đặt cọc và điều đó thậm chí còn chưa bắt đầu liên quan đến các vấn đề tính toán khi xác minh rất nhiều chữ ký.

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

Tại sao không chỉ sử dụng ủy ban?

Nhiều chuỗi khối không phải Ethereum 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 người xác nhận (ví dụ: N ≈ 1000) chịu trách nhiệm hoàn thiện vị trí đó. Cần nhắc lại lý do tại sao cách tiếp cận này là chưa đủ vì nó không mang lại trách nhiệm giải trình.

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

Hiện tại, Ethereum đang làm điều 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ộ xác thực cuộc tấn công sẽ bị cắt giảm số 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à giả định rằng sự gián đoạn đồng bộ hóa mạng xảy ra theo cách có lợi nhất cho kẻ tấn công.

Tôi nghĩ đó là một chi phí cao, nhưng cao đến mức chúng ta có thể hy sinh một số vấn đề trong vấn đề này. Ngay cả khi chi phí tấn công là 1-2 triệu ETH thì cũng hoàn toàn đủ. Hơn nữa, rủi ro tập trung chính hiện có ở Ethereum thể hiện ở một chỗ 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 0, sức mạnh của các nhóm đặt cược quy mô lớn sẽ không giảm nhiều.

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

Điều gì sẽ xảy ra với 8192 chữ ký trên mỗi vị trí trong SSF?

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

Phương pháp 1: Áp dụng đầy đủ nhóm cam kết phi tập trung

Zen of Python có một câu 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 đó.

Liên quan đến vấn đề đặt cược ngang nhau, Ethereum hiện vi phạm quy tắc này vì chúng tôi đang thực hiện đồng thời 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) sử dụng xác minh phân tán Nhóm đặt cược phi tập trung dựa trên Máy ảo Công nghệ (DVT). Vì những lý do trên, (i) chỉ có thể hỗ trợ một số ít người đặt cọc; sẽ luôn có nhiều người có số tiền gửi tối thiểu quá cao. 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ồn hết sức vào (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 xác thực là 4096 (khoảng 16,7 triệu ETH). Những người đặt cược nhỏ dự kiến ​​​​sẽ tham gia nhóm DVT: bằng cách cung cấp vốn hoặc trở thành nhà điều hành nút. Để ngăn chặn những kẻ tấn công lạm dụng, vai trò của người điều hành nút cần phải được giới hạn bởi ngưỡng danh tiếng theo một cách nào đó và các nhóm riêng lẻ sẽ cạnh tranh bằng cách đưa ra 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ó giấy phép.

Chúng tôi có thể làm cho việc đặt cược trong mô hình này trở nên dễ 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). Điều này sẽ khiến người vận hành nút ít tin tưởng hơn, mặc dù điều này đáng được xử lý một cách thận trọng do các vấn đề đã nêu.

Cách 2: Cam kết hai lớp

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

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

Một lợi ích khác của việc này là lớp á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. Nhược điểm chính là nó làm cho việc đặt cược trở nên kém 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à những người đặt cược quy mô lớn.

Phương pháp 3: Luân phiên tham gia (tức là ủy ban nhưng có 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 đang hoạt động và điều chỉnh cẩn thận bộ này trong mỗi vị trí để chúng tôi vẫn đảm bảo an ninh.

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 để nhận được giá trị đồng tiền trong đó. Đặc biệt, chúng tôi cho phép người xác nhận tham gia với số dư cao tùy ý và nếu số lượng ETH của người xác nhận vượt quá số tiền M nhất định (sẽ phải thả nổi), họ sẽ tham gia vào ủy ban ở mỗi vị trí. Nếu người xác minh có N

Ở đây chúng tôi có một đòn bẩy thú vị giúp tách trọng lượng cho mục đích khuyến khích khỏi trọng lượng cho mục đích đồng thuận: phần thưởng cho mọi người xác nhận trong ủy ban phải giống nhau (ít nhất là đối với những người xác nhận sử dụng ≤M ETH ) để giữ phần thưởng trung bình theo tỷ lệ để cân bằng, nhưng chúng tôi vẫn có thể tính toán trọng số của người xác thực đồng thuận trong ủy ban bằng 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 hữu hạn bằng hơn 1/3 lần tổng số ETH trong ủy ban.

Phân tích luật Zipf sơ bộ sẽ 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 người xác nhận tỷ lệ nghịch với mức số dư đó và tổng số dư của những người xác nhận này sẽ bằng nhau.

  • Do đó, ủy ban sẽ có số lượng ETH tham gia bằng nhau từ mỗi cấp độ số dư, ngoại trừ các cấp trên rào cản M, nơi những người xác nhận luôn có mặt trong ủy ban.

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

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

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

Tóm lại là

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

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

Liên kết gốc


ETH
Vitalik
công nghệ
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký
https://t.me/Odaily_News
Tài khoản chính thức
https://twitter.com/OdailyChina