BTC
ETH
HTX
SOL
BNB
Xem thị trường
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Hướng dẫn chưa đầy đủ về Rollup

以太坊爱好者
特邀专栏作者
Bài viết này có khoảng 10031 từ, đọc toàn bộ bài viết mất khoảng 15 phút
Lưu trữ dữ liệu trong chuỗi chính và thực hiện đồng thuận để bất kỳ ai cũng có thể xử lý cục bộ tất cả các hoạt động trong Rollup.
Tóm tắt AI
Lưu trữ dữ liệu trong chuỗi chính và thực hiện đồng thuận để bất kỳ ai cũng có thể xử lý cục bộ tất cả các hoạt động trong Rollup.

Lưu ý của biên tập viên: Bài viết này đến từNhững người đam mê Ethereum (ID: ethfans)Lưu ý của biên tập viên: Bài viết này đến từ

Những người đam mê Ethereum (ID: ethfans)

  • Những người đam mê Ethereum (ID: ethfans)
, Tác giả: Vitalik, bản dịch & hiệu đính: Shengchao & A Jian, được Odaily sao chép với sự cho phép.

Ghi chú của người dịch:

Trong văn bản gốc, Rollup xuất hiện nhiều lần ở dạng số ít và số nhiều cùng một lúc, còn trong bản dịch, nó được thống nhất xác định là Rollup viết hoa chữ cái đầu tiên.Rollup vốn đã rất nổi tiếng trong cộng đồng Ethereum hiện tại. Trong tương lai gần, Rollup là giải pháp chính để Ethereum đạt được sự mở rộng. Nhưng Rollup chính xác là gì? Bạn có thể nhận được gì từ công nghệ này và bạn có thể sử dụng nó như thế nào? Bài viết này sẽ cố gắng trả lời một số câu hỏi chính.

Kiến thức cơ bản: Mở rộng lớp 1 là gì và mở rộng lớp 2 là gì?

Cách thứ hai để mở rộng quy mô là thay đổi cách sử dụng chuỗi khối. Người dùng không cần đặt tất cả các hoạt động trực tiếp trên chuỗi chính của chuỗi khối mà thực hiện hầu hết các hoạt động trong giao thức "lớp thứ hai" bên ngoài chuỗi chính và tạo chứng chỉ để chứng minh tất cả các hoạt động xảy ra bên ngoài chuỗi Tất cả đều tuân theo quy tắc. Một hợp đồng thông minh được triển khai trên chuỗi chính, chỉ có hai nhiệm vụ: xử lý tiền gửi và rút tiền, đồng thời xác minh các bằng chứng trên. Có nhiều cách để triển khai bằng chứng và xác minh, nhưng tất cả chúng đều có một đặc điểm chung là việc xác minh bằng chứng trên chuỗi ít tốn kém hơn nhiều so với thực hiện tính toán thô ngoài chuỗi.phiên dịch tiếng trung)。

Kênh trạng thái so với plasma so với cuộn lên

Có ba giải pháp chính để mở rộng Lớp 2: kênh trạng thái, Plasma và tổng số. Ba kịch bản đại diện cho ba mô hình khác nhau, mỗi mô hình đều có ưu điểm và nhược điểm riêng. Tất cả các mở rộng Lớp 2 đại khái rơi vào ba loại này (có tranh cãi về cách phân loại một số giải pháp thỏa hiệp, chẳng hạn như "validium") (Ghi chú của biên tập viên:https://www.jeffcoleman.ca/state-channels ,statechannels.orgphiên dịch tiếng trungLàm thế nào để các kênh nhà nước làm việc?"Xem thêm"Hãy tưởng tượng rằng Alice cung cấp dịch vụ kết nối mạng cho Bob. Đổi lại, Bob trả cho Alice 0,001 USD/MB cho lưu lượng truy cập được tạo trực tuyến. Bob không cần phải trả mọi khoản phí trên chuỗi chính cấp một và cả hai bên đều sử dụng giải pháp cấp hai sau đây.Đầu tiên, Bob gửi 1 đô la (stablecoin hoặc tương đương bằng ETH) vào một hợp đồng thông minh. Để thực hiện khoản thanh toán đầu tiên cho Alice, Bob ký một

hóa đơn

(một tin nhắn ngoài chuỗi), "vé" ghi "$0,001" và gửi cho Alice. Để thực hiện khoản thanh toán thứ hai, Bob ký một ghi chú khác có nội dung "0,002 đô la" và gửi cho Alice. Và cứ thế, lặp lại quá trình này cho mỗi lần thanh toán (Ghi chú của người dịch: Những người tham gia kênh trạng thái chỉ cần giữ thay đổi trạng thái mới nhất, vì vậy sau khi phiếu mới được ký, phiếu trước đó sẽ không hợp lệ). Khi Alice và Bob hoàn thành giao dịch, Alice có thể đăng chữ ký của mình lên gói hóa đơn có giá trị nhất và xuất bản nó lên chuỗi chính (đóng kênh). Hợp đồng thông minh xác minh chữ ký của cả Alice và Bob, và sau khi xác minh được thông qua, trả cho Alice số tiền được đánh dấu trên vé của Bob và trả lại số tiền còn lại (Ghi chú của người dịch: $1 trừ đi số tiền cũ) cho Bob. Nếu Alice (do ác ý hoặc lỗi kỹ thuật) không muốn đóng kênh, Bob có thể bắt đầu thời gian thử thách rút tiền (ví dụ: 7 ngày) - nếu Alice không thể cung cấp hóa đơn mà Bob đã thanh toán trong khoảng thời gian này, thì Bob có thể lấy lại trước đó Tất cả tiền được lưu trữ trong hợp đồng thông minh.Công nghệ kênh trạng thái rất mạnh: các kênh trạng thái tổng quát có thể hỗ trợ thanh toán hai chiều, triển khai hợp đồng thông minh (ví dụ: Alice và Bob ký hợp đồng tài chính trong kênh) và có thể kết hợp được (nếu có một kênh mở giữa Alice và Bob, Bob Ngoài ra còn có một kênh mở giữa Alice và Charlie, vì vậy Alice có thể tương tác với Charlie mà không cần tin tưởng). Nhưng vai trò của kênh bị hạn chế: nó không thể gửi tiền ngoài chuỗi cho người dùng chưa tham gia kênh; nó không thể được sử dụng cho các đối tượng không có chủ sở hữu logic rõ ràng (chẳng hạn như hợp đồng thông minh Uniswap). Ngoài ra, nếu giao dịch được xử lý bởi kênh phức tạp hơn so với kịch bản thanh toán vi mô, thì cần phải khóa một lượng lớn tiền trong kênh.Cách thức hoạt động của plasmaXem thêm sách trắng gốc của Plasma, Tiền mặt Plasma"Để gửi tài sản từ chuỗi chính sang chuỗi Plasma, người dùng cần gửi tài sản trên chuỗi chính đến hợp đồng thông minh quản lý chuỗi Plasma. Chuỗi Plasma sẽ chỉ định một ID duy nhất mới (ví dụ: 537) cho nội dung. Mỗi chuỗi Plasma đều có một người điều hành (đây có thể là một tác nhân tập trung hoặc được kiểm soát bởi multisig hoặc thứ gì đó phức tạp hơn như chuỗi PoS hoặc chuỗi DPoS). Thỉnh thoảng (có thể là 15 giây, một giờ hoặc bất kỳ khoảng thời gian nào ở giữa), người điều hành tạo ra một "lô" Giao dịch của tất cả các chuỗi Plasma. Toán tử tạo một cây Merkle. Tại nút lá có chỉ số X, nếu nội dung có ID nội dung X có giao dịch trong đợt này, thì giao dịch tương ứng tồn tại trên nút lá, nếu không thì nút lá bằng không. Nhà điều hành xuất bản gốc Merkle của cây này lên chuỗi chính. Nhà điều hành cũng cần gửi Merkle fork của mỗi chỉ mục X cho chủ sở hữu hiện tại của nội dung đó. Nếu một tài sản cần được trích xuất từ ​​​​chuỗi Plasma sang chuỗi chính, người dùng cần gửi nhánh Merkle tương ứng với giao dịch cuối cùng của tài sản đến hợp đồng thông minh của chuỗi chính. Sau đó, hợp đồng thông minh bắt đầu giai đoạn thử thách (ví dụ: 7 ngày), trong đó bất kỳ ai cũng có thể cố gắng sử dụng các nhánh Merkle khác để chứng minh rằng: (i) người dùng không sở hữu tài sản tại thời điểm rút tiền hoặc (ii) người dùng đã Tại một số thời điểm, tài sản đã được gửi cho người khác, do đó làm mất hiệu lực của đơn xin rút tiền. Nếu không có ai chứng minh rằng việc rút tiền là gian lận trong vòng 7 ngày, người dùng có thể lấy lại thành công tài sản của họ."Plasma cung cấp một thứ mạnh hơn các kênh trạng thái: bạn có thể gửi tài sản cho những người dùng chưa bao giờ tham gia lớp 2 và số tiền bị khóa thấp hơn nhiều. Nhưng điều này phải trả giá: các kênh trạng thái không cần lưu trữ bất kỳ dữ liệu nào vào chuỗi chính khi chúng ở trạng thái "bình thường", nhưng Plasma yêu cầu mỗi chuỗi thường xuyên xuất bản một giá trị băm trên chuỗi chính. Ngoài ra, các giao dịch trong chuỗi Plasma không có tính tức thời, nghĩa là chúng phải đợi bằng chứng về một lô giao dịch (còn gọi là khối Plasma) (nghĩa là giá trị gốc Merkle) được gửi đến chuỗi chính.

Rollup

Hơn nữa, cả kênh Plasma và kênh trạng thái đều có một lỗ hổng quan trọng: lý thuyết trò chơi làm cơ sở cho các mô hình bảo mật của chúng dựa trên ý tưởng rằng các tài sản do cả hai hệ thống kiểm soát phải có một cách hợp lý.người sở hữu. Miễn là chủ sở hữu nội dung quan tâm đến nội dung của họ, khi thay đổi trạng thái liên quan đến nội dung đó là "không hợp lệ", chủ sở hữu nội dung sẽ tìm cách chỉ ra rằng thay đổi đó là "không hợp lệ". Điều này không liên quan đối với một số ứng dụng, nhưng lại là vấn đề đối với nhiều ứng dụng khác (chẳng hạn như Uniswap) Ý tưởng về sự phụ thuộc giả định mâu thuẫn). Ngay cả khi trạng thái của một đối tượng trong hệ thống có thể thay đổi mà không cần sự đồng ý của chủ sở hữu hệ thống (ví dụ: trong hệ thống dựa trên tài khoản, số dư của nó có thể tăng lên mà không cần sự đồng ý của chủ sở hữu), thì nó cũng không hoạt động tốt với tính năng tương thích với Plasma . Điều này có nghĩa là khi triển khai các kênh trạng thái hoặc plasma trong thực tế, cần phải suy ra sơ đồ tùy chỉnh thiết kế logic tiềm năng của "ứng dụng cụ thể" và không thể tạo ra một plasma có thể mô phỏng hoàn toàn môi trường vận hành Ethereum (tức là "EVM" ) Hoặc một hệ thống kênh trạng thái. Tiếp theo, hãy xem cách tổng số giải quyết vấn đề này.

Xem thêm: EthHub giới thiệu về rollup lạc quan, EthHub giới thiệu về ZK rollup

Cả sơ đồ kênh Plasma và kênh trạng thái đều là sơ đồ lớp 2 "đầy đủ" ở chỗ chúng di chuyển cả dữ liệu và tính toán ra khỏi chuỗi (tức là vào hệ thống lớp 2 của chính chúng). Tuy nhiên, các nguyên tắc lý thuyết trò chơi cơ bản về tính khả dụng của dữ liệu có nghĩa là các hệ thống như vậy không thể triển khai tất cả các ứng dụng một cách an toàn. Các kênh plasma và trạng thái giải quyết vấn đề này bằng cách làm rõ mối quan hệ giữa các đối tượng nội dung và chủ sở hữu, nhưng điều này ngăn cản chúng hoàn toàn chung chung. Rollup khác với hai phần trước ở chỗ nó là một giải pháp hai lớp có "bản chất lai". Rollup di chuyển tính toán (và lưu trữ trạng thái đầy đủ) ngoài chuỗi, nhưng giữ một phần thông tin dữ liệu về từng giao dịch trên chuỗi. Để nâng cao hiệu quả, Rollup sử dụng một loạt các thủ thuật nén ưa thích và thay thế dữ liệu bằng tính toán bất cứ khi nào có thể. Do đó, khả năng mở rộng của hệ thống này vẫn bị hạn chế bởi băng thông dữ liệu của chuỗi khối cơ bản, nhưng hệ số mở rộng đạt được trên cơ sở này là rất ấn tượng: thực hiện chuyển mã thông báo ERC-20 trên chuỗi chính Ethereum tiêu thụ khoảng 45.000 gas, nhưng trong Rollup, mỗi giao dịch chỉ cần lưu trữ 16 byte dữ liệu trên chuỗi chính và lượng gas tiêu thụ chưa đến 300.Lưu trữ dữ liệu trên chuỗi chính là yếu tố chính của Rollup (lưu ý: điều này khác với lưu trữ dữ liệu trên "IPFS", vì IPFS không có sự đồng thuận về dữ liệu được lưu trữ và dữ liệu của Rollup phải được lưu trữ trên blockchain). Lưu trữ dữ liệu trong chuỗi chính và tiến hành đồng thuận cho phép mọi người xử lý cục bộ tất cả các hoạt động trong Rollup, bao gồm phát hiện gian lận, bắt đầu rút tiền, tạo lô, v.v. Vì không có vấn đề về tính khả dụng của dữ liệu nên các nhà khai thác sẽ ít bị thiệt hại hơn nếu họ làm điều ác hoặc ngoại tuyến (ví dụ: họ không thể gây ra sự chậm trễ trong 1 tuần khi thoát) và cung cấp một cái nhìn rõ ràng hơn về người có quyền phát hành các đợt. khả năng, mà còn làm cho Tổng số dễ hiểu hơn. Quan trọng hơn, việc không có sẵn dữ liệu có nghĩa là nội dung không cần phải có mối quan hệ ánh xạ logic rõ ràng với chủ sở hữu của chúng. So với các giải pháp mở rộng lớp 2 khác, đây là một yếu tố quan trọng khiến cộng đồng Ethereum hào hứng hơn với Rollup: Rollup là phổ biến, ví dụ: EVM có thể chạy trong Rollup, do đó các ứng dụng Ethereum hiện tại có thể được triển khai mà không cần viết ứng dụng mới . Di chuyển sang Rollup trong trường hợp mã.Rollup hoạt động chính xác như thế nào?Có một hợp đồng thông minh trên chuỗi chính và có một gốc trạng thái - gốc Merkle đại diện cho trạng thái Rollup. (Nội dung trạng thái bao gồm số dư tài khoản trong Rollup, mã hợp đồng, v.v.)

Optimistic rollups vs ZK rollups

Bất kỳ ai cũng có thể bắt đầu giao dịch theo lô (giao dịch) trên hợp đồng thông minh trên chuỗi chính. Lô này là lô giao dịch nội bộ Rollup được nén ở mức độ cao, bao gồm gốc trạng thái cũ và gốc trạng thái mới (gốc trạng thái cũ dựa trên gốc trạng thái mới gốc trạng thái được tạo sau khi thực hiện giao dịch hàng loạt). Hợp đồng chuỗi chính sẽ kiểm tra xem gốc trạng thái cũ có khớp với gốc trạng thái mới hay không (Ghi chú của người dịch: Đó là liệu gốc trạng thái mới có thể được tạo ra bởi quá trình chuyển đổi trạng thái được kích hoạt bởi lô bộ giao dịch này hay không). Nếu quá trình xác minh được thông qua, trạng thái gốc cũ trên chuỗi chính sẽ được cập nhật thành trạng thái gốc mới.
  • Để hỗ trợ tiền gửi (Ghi chú của người dịch: Gửi tài sản vào hợp đồng Rollup từ nơi khác trong chuỗi chính) và rút tiền (Ghi chú của người dịch: Giải phóng hợp đồng Rollup khỏi việc kiểm soát tài sản của chính nó và trả lại chúng cho những nơi khác trên chuỗi), xử lý hàng loạt Đầu vào hoặc đầu ra của một giao dịch có thể ở trạng thái "bên ngoài" Rollup. Nếu có các giao dịch trong lô có đầu vào đến từ bên ngoài Rollup, thì thao tác lô này sẽ chuyển tài sản từ nơi khác trong chuỗi chính sang hợp đồng Rollup. Nếu có các đầu ra giao dịch trong lô đến từ Rollup bên ngoài, thì lô này sẽ kích hoạt hoạt động rút tiền trong hợp đồng thông minh, đưa tài sản từ Rollup trở lại chuỗi chính.
  • ZK Rollup,Toàn bộ quá trình chỉ đơn giản như vậy! Nhưng còn một chi tiết nữa. Làm cách nào để biết gốc trạng thái là chính xác sau khi quá trình thực thi hàng loạt hoàn tất? Nếu ai đó có thể gửi một gốc trạng thái giả mà không phải chịu hậu quả, họ có thể chuyển tất cả tài sản của mình cho chính họ. Vấn đề này rất quan trọng vì có hai giải pháp riêng biệt cho vấn đề này, dẫn đến hai loại Tổng số.
Hai loại Tổng số bao gồm:

Bản tổng hợp lạc quan sử dụng bằng chứng gian lận để giải quyết các vấn đề trên: hợp đồng Bản tổng hợp của chuỗi chính ghi lại một bản ghi đầy đủ về các thay đổi gốc trạng thái nội bộ của Bản tổng hợp, cũng như giá trị băm của mỗi đợt (kích hoạt các thay đổi gốc trạng thái). Nếu ai đó thấy rằng gốc trạng thái mới tương ứng với một đợt là sai, họ có thể đăng bằng chứng trên chuỗi chính rằng gốc trạng thái mới do lô tạo ra là sai. Hợp đồng xác minh bằng chứng và nếu quá trình xác minh được thông qua, tất cả các giao dịch lô sau lô sẽ được khôi phục.

Sử dụng các bằng chứng hợp lệ để giải quyết các vấn đề trên: Mỗi đợt chứa một bằng chứng mật mã được gọi là ZK-SNARK (ví dụ: sử dụng giao thức PLONK để chứng minh rằng trạng thái mới có thể được chuyển đổi từ trạng thái cũ sau thao tác lô này (Ghi chú của người dịch: Trong ZK Rollup, bằng chứng mật mã đã gửi chỉ cần có các đặc điểm về kích thước nhỏ và xác minh nhanh, và không cần phải có kiến ​​thức bằng 0. Do đó, ZK Rollup chỉ có thể được thực hiện bởi SNARK và ZK-SNARK không nhất thiết phải có. Trong trên thực tế, trong ZK Rollup, vì thông tin giao dịch hàng loạt được lưu trữ trên chuỗi chính và thông tin này chính xác là những gì đã được chứng minh trong hệ thống bằng chứng mật mã, bản thân ZK Rollup không có kiến ​​​​thức bằng 0 và ZK Rollup không có kiến ​​​​thức được gọi là ZK ZK Rollup). Bất kể số lượng tính toán trong lô, bằng chứng có thể được xác minh một cách hiệu quả trên chuỗi chính.

Sự đánh đổi thiết kế giữa hai bản tổng hợp này rất phức tạpNói chung, quan điểm của riêng tôi là trong ngắn hạn, Optimisitc Rollup có khả năng giành chiến thắng trong việc hiện thực hóa EVM cho mục đích chung và ZK Rollup có khả năng giành chiến thắng trong các khoản thanh toán, chuyển khoản đơn giản và các ứng dụng cụ thể khác. Nhưng trong trung và dài hạn, với sự cải tiến của công nghệ ZK-SNARK, ZK Rollup sẽ giành chiến thắng trong mọi tình huống ứng dụng.Giải phẫu bằng chứng gian lận

Tính bảo mật của Optimistic Rollup phụ thuộc vào ý tưởng rằng nếu ai đó xuất bản lô không hợp lệ vào Rollup, bất kỳ ai đã đồng bộ hóa chuỗi đều có thể đưa ra bằng chứng gian lận cho hợp đồng trên chuỗi chính, chứng minh rằng lô xử lý không hợp lệ và phải được rollback (Ghi chú của người dịch: Không rõ liệu "chuỗi" của tác giả ở đây đề cập đến chuỗi chính hay Rollup, mặc dù cả hai đều đúng).

Bằng chứng gian lận khẳng định rằng một lô không hợp lệ sẽ cần bao gồm dữ liệu được xác định bằng màu xanh lá cây trong sơ đồ ở trên: chính lô đó (có thể kiểm tra đối với hàm băm được lưu trữ trên chuỗi) và bằng chứng cho thấy lô đó đã đọc hoặc sửa đổi một cây Merkle cụ thể của tài khoản con đường. Các nút màu vàng có thể được tái tạo bởi các nút màu xanh lá cây, vì vậy không cần đưa vào bằng chứng. Dữ liệu này đủ để thực hiện xử lý hàng loạt và tính toán trạng thái gốc mới (lưu ý rằng đây chính xác là cách mà ứng dụng khách không trạng thái xác thực một khối). Nếu trạng thái gốc mới được tính toán không giống với gốc được cung cấp trong lô, thì lô đó được chứng minh là gian lận.

Điều được đảm bảo là nếu có lỗi trong một lô và tất cả các lô trước đó đều đúng, thì bằng chứng gian lận có thể được tạo ra để chứng minh rằng lô đó được xây dựng không chính xác. Lưu ý rằng nếu có nhiều lô không hợp lệ trong Tổng số, tốt nhất bạn nên cố gắng chứng minh rằng lô cũ nhất không hợp lệ. Tất nhiên, điều được đảm bảo là nếu một lô chính xác, thì sẽ không bao giờ có thể tạo ra bằng chứng gian lận rằng lô đó không hợp lệ.
  • Làm thế nào là nén đạt được?
  • Chuyển Ethereum đơn giản nhất (gửi ETH) mất khoảng 110 byte, nhưng thực hiện chuyển ETH trong Rollup chỉ mất khoảng 12 byte:
  • Điều này một phần là do Rollup có thể sử dụng các kỹ thuật mã hóa nâng cao đơn giản hơn, trong khi RLP của Ethereum hiện lãng phí 1 byte cho độ dài của mỗi giá trị. Đồng thời Rollup cũng sử dụng một số thủ thuật nén rất thông minh.
  • Nonce: Mục đích của tham số này là ngăn phát lại. Nếu nonce hiện tại của trạng thái tài khoản là 5, thì tham số nonce của giao dịch tiếp theo của tài khoản phải là 5, nhưng sau khi giao dịch được xử lý, nonce trong trạng thái tài khoản sẽ tăng lên 6, do đó giao dịch có a nonce of 5 will be Sẽ không được đóng gói lại. Trong Rollup, chúng ta có thể bỏ qua nonce hoàn toàn, bởi vì chúng ta chỉ cần khôi phục nonce từ trạng thái trước khi cập nhật; nếu ai đó cố gắng phát lại giao dịch với nonce trước đó, chữ ký sẽ không xác minh được, vì xác minh chữ ký sẽ sử dụng một dữ liệu nonce lớn hơn.
  • Giá Gas: Chúng tôi có thể cho phép người dùng thanh toán với một phạm vi giá Gas cố định, ví dụ: phạm vi là 0 - 2 mũ 16. Ngoài ra, chúng tôi có thể chỉ tính một khoản phí cố định cho mỗi lô hoặc thậm chí chuyển hoàn toàn khoản thanh toán gas ra khỏi Rollup, cho phép các nhà giao dịch thanh toán cho người tạo lô thông qua một kênh cụ thể.
  • Gas: Chúng ta cũng có thể chọn tổng lượng Gas là lũy thừa của 2. Ngoài ra, chúng ta cũng có thể chỉ đặt giới hạn gas ở cấp độ lô. (Ghi chú của người dịch: Giá Gas và Gas ở đây là để so sánh lượng dữ liệu được tạo bằng cách chuyển thông qua hợp đồng tổng số và mạng Ethereum. Điều đó không có nghĩa là một giao thức tổng số phải bao gồm các khái niệm này. Ví dụ: Fuel as an Optimistic Rollup Giao thức, dựa trên UTXO, hoàn toàn không chứa các khái niệm này.)
Đến: Chúng ta có thể thay thế địa chỉ 20 byte bằng một chỉ mục (ví dụ: nếu một địa chỉ là địa chỉ thứ 4527 được thêm vào cây, chúng ta sẽ sử dụng chỉ mục 4527 để biểu thị nó. Chúng ta sẽ thêm một cây con vào trạng thái để lưu chỉ mục vào ánh xạ địa chỉ)."Giá trị: Chúng tôi có thể lưu trữ Giá trị trong ký hiệu khoa học. Trong hầu hết các trường hợp, chỉ cần 1-3 chữ số có nghĩa để chuyển."Chữ ký: Chúng ta có thể tổng hợp chữ ký bằng cách sử dụng BLS để nhiều chữ ký được tổng hợp thành một chữ ký duy nhất khoảng 32 - 96 byte (tùy thuộc vào giao thức được sử dụng). Chữ ký này sau đó có thể được xử lý hàng loạt để xác minh chữ ký của toàn bộ thư và người gửi cùng một lúc. ~0,5 trong bảng chỉ ra rằng số lượng chữ ký tổng hợp có thể được xác minh trong một khối chuỗi chính bị hạn chế, vì vậy nếu có nhiều giao dịch trong lô, thì cần phải tạo một chữ ký tổng hợp cho mỗi 100 giao dịch. (Ghi chú của người dịch: Ý tưởng chung là lượng tính toán cần thiết để xác minh chữ ký tổng hợp sẽ tăng lên khi số lượng chữ ký ban đầu được tổng hợp tăng lên và số lượng Gas có thể được sử dụng bởi các khối chuỗi chính Ethereum bị hạn chế, do đó, chữ ký tổng hợp không thể được tổng hợp cùng một lúc Quá nhiều chữ ký gốc.)ZK Rollup có một mẹo nén quan trọng đặc biệt: nếu một phần của giao dịch chỉ được sử dụng để xác minh và không liên quan gì đến cập nhật trạng thái máy tính, thì phần dữ liệu này không cần được lưu trữ trên chuỗi chính. Điều này không thể thực hiện được trong Optimisitc Rollup, vì dữ liệu vẫn cần được lưu trữ trên chuỗi để thỉnh thoảng cần xác minh bằng chứng gian lận tiếp theo. rằng các bên liên quan đã cung cấp tất cả dữ liệu cần thiết để xác minh. Một ví dụ quan trọng là triển khai Rollup với các thuộc tính bảo vệ quyền riêng tư: để đạt được tính năng bảo vệ quyền riêng tư trong Optimisitc Rollup, khoảng 500 byte ZK-SNARK được sử dụng để bảo vệ quyền riêng tư trong mỗi giao dịch cần được tải lên chuỗi và để đạt được tính năng bảo vệ quyền riêng tư trong ZK Rollup , một ZK-SNARK bao phủ toàn bộ lô đã có thể chứng minh rằng

nội bộ

ZK-SNARK có hiệu quả. (Ghi chú của người dịch: Vì SNARK có thể được lồng vào nhau, nên để đạt được sự bảo vệ quyền riêng tư trong ZK Rollup, bạn chỉ cần gửi SNARK ngoài cùng được tạo cuối cùng cho chuỗi. Khi xác minh SNARK bên ngoài, SNARK bên trong sẽ hợp lệ. Giới tính có thể được xác minh tại cùng một lúc.)Các kỹ thuật nén này là chìa khóa để mở rộng Rollup, nếu không có các kỹ thuật này, Rollup chỉ có thể đạt được khoảng 10 lần mở rộng trên cơ sở mở rộng chuỗi chính (mặc dù trong một số ứng dụng quy mô lớn cụ thể, Rollup đơn giản có thể đạt được Tỷ lệ đã mạnh), nhưng sau khi sử dụng các thủ thuật nén, hầu hết mọi ứng dụng đều có thể mở rộng theo hệ số hơn 100.
  • Ai có thể gửi lô?
  • Có nhiều trường phái suy nghĩ về việc ai có thể gửi các lô trong Bản tổng hợp lạc quan hoặc Bản tổng hợp ZK. Nói chung, người ta tin rằng người dùng gửi lô phải cam kết một khoản tiền gửi lớn và nếu người dùng từng gửi một lô gian lận (chẳng hạn như gửi gốc trạng thái không hợp lệ), thì một phần của khoản tiền gửi này sẽ bị đốt và đốt, phần khác là thưởng cho người dùng gửi bằng chứng gian lận. Nhưng ngoài ra, có rất nhiều khả năng:
  • (Lưu ý của người dịch, người dùng có thể xuất bản lô lên chuỗi chính được gọi là trình sắp xếp thứ tự (bộ sắp xếp), lý do của thuật ngữ này là vai trò này cần sắp xếp các giao dịch trong lô)
  • Trình sắp xếp hoàn toàn không cần xin phép: bất kỳ ai cũng có thể gửi các lô vào bất kỳ lúc nào. Phương pháp này là đơn giản nhất, nhưng có một số nhược điểm nghiêm trọng, chẳng hạn như vấn đề nhiều người tham gia đồng thời tạo và cố gắng gửi các đợt, chỉ một trong số đó có thể được đưa vào thành công. Điều này sẽ dẫn đến một lượng lớn chi phí tính toán bị lãng phí để tạo bằng chứng hoặc chi phí Gas để gửi bằng chứng.
  • Bộ sắp xếp tập trung: Gửi xử lý hàng loạt thông qua một vai trò như bộ sắp xếp (ngoại trừ thao tác rút tiền: trong thao tác rút tiền, người dùng gửi yêu cầu rút tiền trước, nếu bộ sắp xếp không xử lý giao dịch rút tiền trong đợt tiếp theo, thì người dùng Yêu cầu hàng loạt chỉ chứa một giao dịch rút tiền có thể được gửi trực tiếp). Phương pháp này có “hiệu quả” cao nhất, nhưng cần dựa vào vai trò trung tâm.

Sorter Auction: Đấu giá (ví dụ: mỗi ngày) để quyết định ai có quyền trở thành Sorter của ngày hôm sau. Ưu điểm của chương trình này là nó có thể gây quỹ và những khoản tiền này có thể được phân phối thông qua DAO của Rollup (tham khảo đấu giá MEV).

Lựa chọn ngẫu nhiên từ bộ sưu tập PoS: Bất kỳ ai cũng có thể gửi ETH (hoặc mã thông báo do giao thức Rollup đặt) vào hợp đồng Rollup và mỗi bộ phân loại lô sẽ được chọn ngẫu nhiên trong số những người gửi tiền này và xác suất được chọn giống như Tiền gửi lượng tỷ lệ thuận với nhau. Nhược điểm chính của chương trình này là cần phải khóa một số lượng lớn tài sản."split batch"Bỏ phiếu DPoS: Một số máy sắp xếp nhất định được chọn bằng cách đấu giá để thực hiện xử lý hàng loạt, nhưng nếu chúng hoạt động kém, chủ sở hữu mã thông báo có thể bỏ phiếu để loại bỏ chúng và tổ chức một phiên đấu giá mới để thay thế chúng.
  • Cam kết gốc hàng loạt và trạng thái riêng biệt
  • Một số Tổng số hiện đang được phát triển sử dụng "chia lô" (
), nghĩa là, hành vi gửi một loạt lô giao dịch lớp 2 và hành vi gửi gốc trạng thái được thực hiện riêng biệt. Có một số lợi thế chính cho điều này.

Bạn có thể cho phép nhiều đơn vị phân loại cấp các lô song song để tăng khả năng chống kiểm duyệt và giảm bớt lo ngại rằng một số lô sẽ bị vô hiệu do một số lô khác đã được đóng gói trước thời hạn.

Nếu một gốc trạng thái là gian lận, thay vì khôi phục toàn bộ lô, bạn chỉ cần khôi phục gốc trạng thái và đợi ai đó cung cấp gốc trạng thái mới cho cùng một đợt. Điều này đảm bảo tốt hơn rằng giao dịch của người gửi sẽ không bị khôi phục.Rollup sẽ mang lại bao nhiêu mở rộng?

Trên chuỗi chính Ethereum hiện có, dòng Gas của mỗi khối là 12,5 triệu và mỗi byte của giao dịch tiêu tốn 16 Gas trên chuỗi. Điều này có nghĩa là nếu một khối chỉ chứa một lô (giả sử ZK Rollup được sử dụng ở đây và bằng chứng xác minh tốn 500.000 Gas), thì lô này có thể chứa 12 triệu / 16 = 750.000 byte dữ liệu. Như đã đề cập ở trên, mỗi lần chuyển ETH trong Rollup chỉ yêu cầu 12 byte dung lượng lưu trữ, nghĩa là mỗi đợt có thể chứa 62.500 giao dịch. Hiện tại, khoảng thời gian khối của chuỗi chính Ethereum là 13 giây, có nghĩa là TPS nhận ra là khoảng 4807 (để so sánh, TPS chuyển ETH trên chuỗi chính Ethereum là khoảng 1250000/21000/13 = 45).

Bảng sau chứa hiệu quả mở rộng của một số tình huống ứng dụng khác.Mô tả hình ảnh

Phương pháp tính bội số mở rộng tối đa: Mức tiêu thụ gas của hoạt động tương ứng trên chuỗi chính Ethereum / (số byte được tải lên chuỗi cho hoạt động tương ứng trong Rollup * 16) * 12 triệu / 12,5 triệu

Cần lưu ý rằng, vì một số lý do, những con số này thực sự quá lạc quan. Lý do quan trọng nhất là hầu như không thể chỉ bao gồm một lô trong một khối, vì sẽ có nhiều hệ thống Tổng số khác nhau. Lý do thứ hai là sẽ luôn có tiền gửi và tiền rút. Lý do thứ ba là việc sử dụng Rollup có thể thấp trong thời gian ngắn, vì vậy mô hình tính phí chi phí cố định sẽ chiếm ưu thế. Nhưng ngay cả khi tính đến các yếu tố này, việc mở rộng hơn 100 lần sẽ không khó đạt được.
  • Vậy nếu chúng ta muốn đạt được 1000-4000 TPS (tùy thuộc vào kịch bản ứng dụng cụ thể) thì sao? Điều này yêu cầu phân mảnh dữ liệu eth2. Trong đề xuất này, dung lượng lưu trữ 16 MB được tạo ra cứ sau 12 giây, có thể chứa bất kỳ dữ liệu nào và hệ thống sẽ đảm bảo sự đồng thuận về tính khả dụng của những dữ liệu này. Không gian dữ liệu này có thể được sử dụng bởi Rollup. Thông lượng dữ liệu khoảng 1398 kB/s này cao gấp 23 lần so với chuỗi chính Ethereum hiện tại khoảng 60 kB/s. Về lâu dài, dung lượng dữ liệu dự kiến ​​sẽ tăng hơn nữa. Do đó, TPS của Tổng số được triển khai bằng cách sử dụng phân đoạn dữ liệu eth2 có thể lên tới 100.000 và thậm chí sẽ lớn hơn trong tương lai.
  • Những thách thức còn lại chưa được giải quyết là gì?
  • Mặc dù khái niệm cơ bản về Rollup đã được mọi người biết đến và chúng tôi chắc chắn rằng Rollup về cơ bản là khả thi và an toàn, đồng thời đã có nhiều Rollup được triển khai trên mạng chính Ethereum, nhưng vẫn còn nhiều chỗ trong thiết kế của Rollup. , vẫn còn những thách thức trong việc đưa toàn bộ phần lớn hệ sinh thái Ethereum vào Rollup để tận dụng khả năng mở rộng của nó. Một số thách thức chính bao gồm:
  • Sự gia nhập của người dùng và hệ sinh thái: hiện tại không có nhiều ứng dụng sử dụng Rollup, người dùng chưa quen với Rollup và một số ví đã bắt đầu tích hợp Rollup. Người bán và tổ chức từ thiện chưa chấp nhận thanh toán cho họ.
  • Giao dịch tổng số chéo: Chuyển tài sản và dữ liệu một cách hiệu quả (chẳng hạn như đầu ra của máy tiên tri) từ một Tổng số này sang một Tổng số khác mà không cần chuyển qua chuỗi chính và tạo ra các khoản phí tương ứng.
  • Khuyến khích kiểm toán: Làm cách nào để tối đa hóa xác suất mà ít nhất một nút trung thực sẽ xác thực đầy đủ Bản tổng hợp lạc quan, đảm bảo rằng ai đó sẽ đưa ra bằng chứng gian lận nếu có sự cố xảy ra? Đối với Rollup quy mô nhỏ (TPS từ vài trăm trở xuống) thì đây không phải là vấn đề quan trọng và có thể đạt được chỉ bằng lòng vị tha, còn đối với Rollup quy mô lớn hơn thì cần nghiên cứu rõ vấn đề khuyến khích.
  • Tối đa hóa tính bảo mật của xác nhận trước: Để giúp trải nghiệm người dùng tốt hơn, nhiều Rollup cung cấp khái niệm "xác nhận trước", tức là sau khi giao dịch hoàn tất, bộ sắp xếp ngay lập tức đưa ra lời hứa: một giao dịch nhất định sẽ được bao gồm trong phần tiếp theo Trong một đợt, nếu một máy phân loại vi phạm, tiền đặt cọc của họ sẽ bị hủy. Nhưng tính bảo mật của sơ đồ này bị hạn chế ở cấp độ kinh tế, bởi vì bộ phân loại có thể thực hiện nhiều cam kết với nhiều người dùng cùng một lúc. Cơ chế này có thể được cải thiện?

tóm tắt

Cải thiện khả năng phản hồi đối với các bộ sắp xếp vắng mặt: Nếu bộ sắp xếp của một bản tổng số đột nhiên ngoại tuyến, làm thế nào để khắc phục tình trạng này nhanh nhất và rẻ nhất có thể, bằng cách thoát hàng loạt nhanh chóng và ít tốn kém sang một bản tổng hợp khác hoặc thay thế bộ sắp xếp. Phản ứng nhanh rất có giá trị.ZK-VM hiệu quả: Tạo bằng chứng ZK-SNARK để chứng minh rằng mã EVM chung (hoặc một VM khác mà hợp đồng hiện tại có thể được biên dịch thành) đã được thực thi chính xác và có kết quả rõ ràng.
ETH
nhà phát triển
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
Nhóm trò chuyện:
https://t.me/Odaily_GoldenApe
Tài khoản chính thức:
https://twitter.com/OdailyChina