

Cơ quan nghiên cứu: Seer Labs
lời tựa
lời tựa
Cho dù bạn có phải là chuyên gia về công nghệ blockchain hay không, miễn là bạn ở trong thế giới Crypto đủ lâu. Các từ mở rộng Ethereum, layer2 và Rollup đã quen thuộc với bạn. Nhiều người đã quen thuộc với một hoặc nhiều khái niệm này, nhưng chúng liên quan với nhau như thế nào? Tại sao chúng ta cần những công nghệ này? Họ đang cố gắng giải quyết vấn đề gì?
Nếu bạn muốn biết câu trả lời cho những câu hỏi trên, tôi hy vọng bài viết này sẽ giúp ích cho bạn:
chữ
chữ
từCryotoKittyKể từ ngày gây ra tắc nghẽn trên chuỗi Ethereum, các nhà phát triển Ethereum đã không ngừng khám phá các giải pháp để cải thiện thông lượng của Ethereum.
Về nguyên tắc, nó có thể được chia thành hai loại:
(1) Đó là tự biến đổi khối Ethereum. Hãy gọi nó là giải pháp Lớp 1. Giải pháp chính ở đây là sharding.
(2) Đó là thay đổi cách chúng ta sử dụng Ethereum, đặt việc thực hiện và xử lý các giao dịch ngoài chuỗi. Bản thân Ethereum chỉ được sử dụng để xác minh tính hợp lệ của các giao dịch và cung cấp bảo mật. Đây là những gì chúng ta thường nghe nói về Layer2.
Ý tưởng cốt lõi của Layer2 là thực hiện và tính toán một số lượng lớn giao dịch thực ngoài chuỗi, sau đó xác minh tính hợp lệ cuối cùng của giao dịch thông qua một số lượng rất nhỏ giao dịch trên Ethereum. Cho dù đó là State Channel, Plasma hay Rollup, tất cả đều tuân theo nguyên tắc này.
tiêu đề phụ
1. Kênh trạng thái
Sau đây là cấu trúc nguyên thủy nhất của kênh trạng thái:
Các kênh trạng thái là một giải pháp mở rộng chuỗi khối đã tồn tại từ lâu, ứng dụng nổi tiếng nhất của nó là Lightning Network của Bitcoin.
So với việc mô tả nguyên tắc của mình,Một ví dụ có thể giải thích rõ hơn kênh trạng thái là gì:
Bạn rất thích tiệm cắt tóc ở tầng dưới, mỗi lần bạn đến tiệm cắt tóc, ông Tony luôn ghé tai bạn xin thẻ.
Một ngày nào đó bạn cuối cùng quyết định, chỉ cần đăng ký thẻ, dù sao, tôi sẽ đến trong tương lai. Vì vậy, bạn chuyển 1.000 nhân dân tệ đến tiệm cắt tóc để lấy thẻ.
Sau này mỗi lần đi cắt tóc, bạn không cần chuyển tiền cho tiệm cắt tóc, mà số dư trong thẻ sẽ bị trừ, đồng thời bạn đã hoàn thành một giao dịch thực tế với tiệm cắt tóc mỗi khi cắt tóc.
Sau một tháng, bạn chuẩn bị chuyển đi nhưng tiền trong thẻ vẫn chưa được sử dụng hết. Vì vậy, bạn đến tiệm cắt tóc để trả lại thẻ và ông Tony ở tiệm cắt tóc hoàn lại cho bạn 200 nhân dân tệ.
Trong tháng này, bạn đã hơn chục lần đến tiệm cắt tóc, nhưng thực chất bạn và tiệm cắt tóc chỉ chuyển tiền cho nhau 2 lần.
Đưa quy trình này lên blockchain, quy trình mua thẻ thực chất là gửi tiền vào một hợp đồng thông minh, đồng thời mở ra một kênh trạng thái giữa bạn và tiệm cắt tóc. Quá trình trả lại thẻ của bạn sẽ đóng "kênh trạng thái" giữa bạn và thợ cắt tóc. Việc chuyển giao lẫn nhau giữa bạn và tiệm cắt tóc tương đương với hai giao dịch trên chuỗi chính Ethereum.
Hãy tưởng tượng rằng bạn không có thẻ và bạn cần chuyển tài khoản cho tiệm cắt tóc mỗi khi cắt tóc xong.
Kịch bản ứng dụng
Kịch bản ứng dụng
(1) Kênh trạng thái có thể đóng một vai trò rất quan trọng trong một số tình huống đơn giản như thanh toán trực tuyến. Nó ghi lại dữ liệu giao dịch bằng cách ký các thông báo ngoài chuỗi và đơn giản hóa một số lượng lớn giao dịch đã xảy ra một cách hợp lý thành Hai giao dịch chính trên xích.
(2) Do chi phí thấp nên kênh trạng thái rất phù hợp với một số tình huống thanh toán vi mô, chẳng hạn như mua cà phê bữa sáng bằng ETH hoặc BTC.
giới hạn
tiêu đề phụ
2. Huyết tương
1: Nguyên tắcBây giờ tất cả chúng ta đều biết những hạn chế của kênh trạng thái và để giải quyết vấn đề này-Plasma đã ra đời. Nó giải quyết vấn đề gửi tài sản cho bất kỳ người mục tiêu nào và cũng có thể đảm bảo cải thiện TPS. Trên thực tế, trong một thời gian dài khi các nhà phát triển bắt đầu nghiên cứu các giải pháp Layer2, Plasma đã từng được coi là "một".
Để hiểu về Plasma, trước tiên bạn phải hiểu rằng nó không phải là một công nghệ thực tế, nó giống một ý tưởng thiết kế hoặc kiến trúc kỹ thuật hơn.
Plasma thường là một chuỗi, có thể có cơ chế đồng thuận khác với chuỗi chính hoặc có thể có các công cụ khai thác riêng. Nhưng điều quan trọng nhất là sẽ có một chuỗi Plasma được gọi là "OperatorVai trò “tạo ra mộtcây thủy sinhvà gửi giá trị băm gốc của cây Merkle này tới chuỗi chính để xác minh và ghi lại. Tại sao cây Merkle và hàm băm gốc của chúng có thể được sử dụng để xác minh chuyển đổi trạng thái sẽ được thảo luận trong Rollup, cũng sử dụng ứng dụng này.
Theo cách này, bất kể có bao nhiêu giao dịch xảy ra trên chuỗi phụ trong hai lần gửi, thì chuỗi phụ chỉ cần gửi thông tin trạng thái do việc thực hiện giao dịch gây ra cho chuỗi chính.
Sau đây là sơ đồ đơn giản sử dụng cơ chế Plasma:
Người dùng muốn tham gia chuỗi Plasma cần ánh xạ tài sản trên chuỗi chính Ethereum và khi họ cần chuyển tài sản trên chuỗi Plasma hoặc chuỗi chính, họ cần trải qua giai đoạn thách thức người khác sử dụng "bằng chứng gian lận". “ Cơ chế xác nhận hiệu lực của việc chuyển giao tài sản.
"Bằng chứng gian lận"Điều đó có nghĩa là trong khoảng thời gian thử thách này (thường là 7 ngày hoặc lâu hơn), bất kỳ ai cũng có thể gửi bằng chứng cho thấy việc rút tài sản của người dùng là bất hợp pháp thông qua xác minh cây Merkle.
Nhưng điều này tạo ra hai vấn đề:(1) Nếu bạn muốn xác minh tính chính xác của việc rút tiền này, bạn cần có một nút để lưu thông tin giao dịch và trạng thái trên Lớp 2, vì Plasma sẽ chỉ gửi kết quả chuyển trạng thái của nó và bạn phải có thông tin trên Lớp 2 gửi bằng chứng gian lận, điều này sẽ làm tăng đáng kể chi phí cho vai trò của người xác minh.
(2) được gọi là"Dữ liệu không tồn tại"tiêu đề phụ
3. Tổng hợp
Chúng ta có thể thấy rằng một vấn đề rất quan trọng với Plasma là "không có dữ liệu" của nó. Chuỗi chính sẽ chỉ nhận được kết quả chuyển trạng thái do Người vận hành gửi và nó chỉ có thể mong đợi rằng ai đó đã lưu trữ thông tin giao dịch và trạng thái dưới chuỗi. Cơ chế bằng chứng được sử dụng để đảm bảo tính xác thực của việc gửi chuỗi con. Nó chỉ đảm nhận vai trò của người xác nhận trong quá trình này và mức độ bảo mật của nó kém.
1. Hiểu cụ thể về "không có dữ liệu"
Ethereum công khai tất cả dữ liệu xảy ra trên chuỗi của nó và mọi người đều có thể truy vấn dữ liệu đó. Tuy nhiên, Plasma không gửi các dữ liệu giao dịch này đến chuỗi chính mà chỉ gửi kết quả thực hiện, vì vậy hiệu quả của nó được cải thiện rất nhiều, nhưng cái giá của việc làm đó là Plasma không thể thiết lập mức độ tin cậy như chuỗi chính Ethereum.
Rollup thực sự có thể được coi là sự thỏa hiệp giữa phương thức xử lý chuỗi chính ban đầu và phương thức Plasma, nó sẽ gửi dữ liệu đến chuỗi chính, nhưng nó sẽ tối đa hóa việc nén những dữ liệu này thông qua các phương pháp mã hóa thông minh, đồng thời xóa và giảm một cách thích hợp dựa trên các đặc điểm của chính Rollup Một phần của dữ liệu, miễn là việc gửi cuối cùng có thể được xác minh bởi bất kỳ ai.
Sau khi dữ liệu giao dịch được tải lên chuỗi, bất kỳ ai cũng có thể xác minh xem kết quả do Rollup gửi có chính xác hay không dựa trên dữ liệu này. Do đó, Rollup an toàn hơn Plasma.
dữ liệu sẵn códữ liệu sẵn có”, nó sẽ gửi dữ liệu đến chuỗi chính, điều này giúp tăng cường bảo mật rất nhiều.
Vậy Rollup được triển khai chính xác như thế nào?
2. Nguyên tắc
(1) State Root: Đầu tiên, Rollup có một (hoặc một loạt các hợp đồng có liên quan với nhau) trên chuỗi chính:
Hợp đồng này được sử dụng để duy trì bản ghi trạng thái trong lớp Tổng số. Bản ghi trạng thái này thực sự là một giá trị băm được lưu trữ tại nút gốc của cây Merkle. Giá trị băm này được gọi làstate root。
Và nút lá của cây Merkle này là thông tin trạng thái tài khoản trong Rollup. Nếu bạn không biết cây Merkle là gì, đây là một ví dụ đơn giản:
Có thể thấy rằng đây là một cây nhị phân và thông tin trạng thái của tài khoản lớp tổng số hiện tại được ghi lại trên các nút lá của cây nhị phân.
Với mỗi thông tin hai trạng thái (chẳng hạn Trạng thái 1/Trạng thái 2), chúng ta có thể tính toán một giá trị băm duy nhất (ví dụ: Hash(1,2) ) theo một công thức băm nhất định với tư cách là nút cha của hai nút lá này. một, v.v. và cuối cùng nhận được giá trị băm được lưu trữ trong nút gốc:
Bạn không cần biết cách tính hàm băm, bạn chỉ cần nhớ một số điều.
1 Sự thay đổi của bất kỳ nút lá nào sẽ làm cho giá trị của nút gốc thay đổi (Mọi thay đổi trạng thái sẽ khiến hàm băm gốc thay đổi)
2 Nếu giá trị băm gốc của hai cây giống nhau, điều đó có nghĩa là thông tin được lưu trữ trong các nút lá của chúng hoàn toàn giống nhau(Như vậy chỉ cần so sánh giá trị băm của hai nút gốc để xác nhận tính nhất quán của thông tin trạng thái cơ sở)
chữ
chữ
Khóa là địa chỉ tài khoản và giá trị chứa thông tin trạng thái như số dư/Nonce/mã hợp đồng/lưu trữ (đối với tài khoản hợp đồng)
Khi một giao dịch xảy ra trên tổng số, rõ ràng, trạng thái của các tài khoản này sẽ thay đổi, dẫn đến trạng thái gốc mới.
Mặc dù điều này có thể cung cấp phản hồi rất chính xác và kịp thời về các thay đổi trạng thái mới nhất trên Rollup, nhưng nếu gốc trạng thái được cập nhật trên chuỗi chính mỗi khi giao dịch xảy ra, chi phí phát sinh sẽ cao hơn so với thực hiện các giao dịch này trên Lớp 1.
Do đó, để giải quyết vấn đề này, các giao dịch được tạo trong tổng số sẽ được đóng gói và tổng hợp theo lô và gốc trạng thái mới sẽ được tạo theo trạng thái sau khi tất cả các giao dịch trong lô này được thực thi. Bất kể ai gửi gói giao dịch cho hợp đồng thông minh trên chuỗi chính, anh ta cần tính toán gốc trạng thái mới này và gửi nó cùng với gốc trạng thái và dữ liệu giao dịch trước đó.
Phần này của gói được gọi là "lô". Sau khi người gửi gửi lô tới hợp đồng Rollup, chuỗi chính sẽ xác minh xem gốc trạng thái mới có đúng không. Nếu quá trình xác minh được thông qua, gốc trạng thái sẽ được cập nhật thành Gốc trạng thái được gửi mới nhất. Và cuối cùng hoàn thành xác nhận chuyển trạng thái trong một bản tổng hợp.
chữ
Do đó, bản chất của Rollup là tổng hợp một lượng lớn các giao dịch thực sự được tạo thành một giao dịch trên chuỗi chính, các giao dịch này được thực hiện và tính toán bởi chuỗi Rollup, nhưng dữ liệu sẽ được gửi đến chuỗi chính và chuỗi chính sẽ đóng vai trò "cao nhất" Vai trò của một "thẩm phán tòa án" cuối cùng xác nhận những thỏa thuận này. Do đó, chúng tôi tận dụng sự đồng thuận và bảo mật của chuỗi chính, đồng thời nâng cao hiệu quả giao dịch thực tế và giảm chi phí giao dịch.
3: Nghi ngờ
Sau khi đọc mô tả trên, bạn có thể có một số câu hỏi, đừng lo lắng, chúng tôi sẽ suy luận và giải thích từng bước.
(1) Nếu gửi đầy đủ dữ liệu giao dịch thì vẫn khó mở rộng đúng không? Việc nén dữ liệu được đề cập ở trên có giải quyết được vấn đề này không? Bạn làm nó như thế nào?
Hai giải pháp kỹ thuật này có thể đạt được sự mở rộng và cốt lõi là nén và đóng gói các giao dịch. Điều này là do giới hạn khí khối của Ethereum có giới hạn trên, giao dịch được nén càng nhỏ thì càng có nhiều giao dịch có thể được gửi tới chuỗi chính cùng một lúc. Vì vậy, làm thế nào để làm điều này?
Sau đây là chế độ nén được Vitalik mô tả trong bài viết của mình, làm ví dụ để giúp chúng tôi hiểu
Một giao dịch đơn giản trên chuỗi chính Ethereum (chẳng hạn như gửi ETH) thường tiêu tốn khoảng 110 byte. Tuy nhiên, việc gửi ETH trên Rollup có thể giảm xuống còn khoảng 12 byte.
Để đạt được hiệu ứng nén như vậy, một mặt, mã hóa nâng cao và đơn giản hơn đã được áp dụng và RLP hiện tại của Ethereum lãng phí 1 byte trong độ dài của mỗi giá trị. Mặt khác, có một số thủ thuật nén gọn gàng:
Nonce: Có thể bỏ qua hoàn toàn nonce trong rollup
Gasprice: Chúng tôi có thể cho phép người dùng thanh toán với một phạm vi gasprice cố định, chẳng hạn như 2 mũ 16
Gas: Chúng ta cũng có thể đặt gas thành bội số của 2. Ngoài ra, chúng ta cũng có thể đặt giới hạn gas ở cấp độ lô.
Đến: Địa chỉ có thể được xác định bằng chỉ mục trên cây Merkle
Giá trị: Chúng ta 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 đến 3 chữ số có nghĩa để chuyển.
Chữ ký: Chúng tôi có thể sử dụng chữ ký tổng hợp BLS để kết hợp nhiều chữ ký thành một
Những kỹ thuật nén này là chìa khóa để mở rộng rollup. Nếu chúng ta không nén dữ liệu giao dịch, rollup chỉ có thể cải thiện hiệu quả khoảng 10 lần trên cơ sở chuỗi chính, nhưng với những kỹ thuật nén này, chúng ta có thể đạt được 50 lần Hiệu quả nén gấp 100 lần hoặc thậm chí cao hơn.
Đồng thời, để tiết kiệm xăng, các dữ liệu giao dịch nén này sẽ được lưu trữ trong tham số calldata. EIP-4488 nổi tiếng đã đề xuất giảm mức tiêu thụ gas của từng byte dữ liệu trong calldata, nhằm tối ưu hóa hơn nữa lượng dữ liệu giao dịch trong lớp cuộn có thể được thực hiện bởi một giao dịch chuỗi chính. Đối với hiệu ứng nén cụ thể, chúng tôi sẽ hiển thị dữ liệu đơn giản khi so sánh hai ZK-Rollup khác nhau bên dưới.
(2) Làm cách nào để xác minh rằng thông tin có thể kiểm chứng đã gửi là chính xác?
Vì xác nhận chuyển đổi trạng thái cuối cùng (cũng đại diện cho xác nhận giao dịch) được xác định bởi bản cập nhật của trạng thái gốc, nhưng có vẻ như người gửi trên Rollup có thể gửi dữ liệu giao dịch và trạng thái gốc mà anh ta muốn, vậy làm thế nào để xác minh đã gửi của mình Thông tin này có chính xác không?
Đối với vấn đề này, thường có hai giải pháp và theo các giải pháp khác nhau, tổng số cũng được chia thành hai loại:
4:Optimistic Rollup
Đúng như tên gọi của nó, giải pháp này chọn cách tin tưởng một cách lạc quan rằng lô do người gửi gửi là chính xác, trừ khi ai đó chứng minh thông qua bằng chứng gian lận rằng người gửi thực sự là một kẻ xấu đã gửi nhầm lô.
(1) Đây là một ví dụ đơn giản về xây dựng bằng chứng gian lận (một lần nữa xin cảm ơn Vitalik):
Để gửi bằng chứng gian lận nhằm chứng minh rằng lô đã gửi là sai, thông tin có trong phần màu xanh của hình bên dưới là bắt buộc:
1. Lô do người nộp
2. Một phần của cây Merkle (thực sự đại diện cho thông tin trạng thái tài khoản thực) được đại diện bởi gốc trạng thái trước đó và một cây Merkle hoàn chỉnh có thể được xây dựng dựa trên phần này
Dựa trên cây Merkle được xây dựng trong phần thứ hai, chúng tôi đã mô phỏng việc thực hiện các giao dịch được gửi trong lô, nhờ đó có được trạng thái tài khoản mới, cây Merkle mới và gốc trạng thái mới.
So sánh gốc trạng thái thu được ở bước trước với gốc trạng thái trong lô để xác minh rằng lô là chính xác
(2) Quy trình xác minh
Chúng tôi đã sắp xếp hợp lý quá trình Lạc quan để đảm bảo tính xác thực của gốc trạng thái. Trên thực tế, để đảm bảo rằng người gửi có thể được ngăn chặn làm điều ác, người gửi thường cần phải cam kết tài trợ. Khi việc gửi của anh ta được xác minh là sai, một phần của số tiền cam kết sẽ bị Khấu trừ như một hình phạt. Đồng thời, những người xác minh gửi bằng chứng gian lận tương ứng sẽ bị khấu trừ tiền trong một số giải pháp, để khuyến khích hành vi theo dõi và gửi bằng chứng gian lận.
Nếu chúng ta so sánh OR và Plasma, chúng ta sẽ tìm thấy một số điểm tương đồng, chẳng hạn như cả hai đều sử dụng cơ chế chống gian lận và cần có vai trò xác thực để giám sát việc gửi OR vào chuỗi chính. Tuy nhiên, do OR đồng thời gửi dữ liệu giao dịch lên chuỗi chính, nên người xác minh trên OR không cần phải tự lưu và ghi lại các giao dịch trên OR.
5:ZK-Rollup
(1) Cốt lõi của Zk-rollup
Một loại giải pháp khác là ZK Rollup, không giống như OR (Optimistic Rollup), ZK Rollup đưa ra các giả định cơ bản như sau:
Tôi không tin rằng người nộp có thể chủ động gửi đúng lô, hoặc nó tương tự như "suy đoán có tội" trong luật học. Ngoài dữ liệu giao dịch và trạng thái gốc sau/trước đó, người gửi cũng cần mang theo chứng chỉ ZK-SNARK khi gửi lô.
Giấy chứng nhận hiệu lựcGiấy chứng nhận hiệu lực", anh ta có thể được sử dụng trực tiếp để xác minh rằng lô đã gửi là chính xác. Sau khi bằng chứng này được gửi tới hợp đồng Tổng số, bất kỳ ai cũng có thể sử dụng nó để xác minh một loạt giao dịch cụ thể trong lớp Tổng số và điều này có nghĩa là quá trình tổng số không Sau đó bạn cần đợi 7-14 ngày sau khi gửi để xác minh.
(2) Sự khác biệt giữa bằng chứng hợp lệ và bằng chứng gian lận
Vậy làm thế nào để mọi người hiểu được sự khác biệt giữa "bằng chứng hợp lệ" như ZK-Rollup và "bằng chứng gian lận" được sử dụng bởi Plasma/Optimsitic Rollup?
Trước hết, cả ba giải pháp đều yêu cầu ai đó sắp xếp, thực hiện và đóng gói các giao dịch trên Lớp 2. Chúng ta hãy gọi vai trò này là "người thực thi".
Những người thực thi của Plasma sẽ chỉ gửi kết quả thực hiện. Tuân thủ nguyên tắc người khác tin hay không tin, không tin tôi thì mới khởi tạo thử thách, khởi tạo thử thách yêu cầu bạn phải lưu dữ liệu giao dịch cơ bản bản thân bạn.
OR cũng vậy, nhưng người thực hiện cũng sẽ đưa dữ liệu giao dịch lên khi gửi lên, tin hay không cũng là chuyện, không tin thì bạn có thể tự mình kiểm chứng dựa trên dữ liệu giao dịch .
Nhưng ZK thì khác, ZK nói rằng tôi không muốn đợi bạn vài ngày để bạn thách thức tôi, thật lãng phí thời gian, tôi đang vội xác nhận giao dịch của mình. Vì vậy, ZK trực tiếp tạo chứng chỉ khi gửi, đặt chứng chỉ này lên đó và hoàn tất xác minh trong khi gửi.
Đồng thời, cả Plasma/OR đều cần phải cam kết đảm bảo rằng người thi hành công vụ sẽ mất tiền nếu làm điều ác, nhưng ZK thì không, vì không cần người khác phải tin và anh ta sẽ chứng minh mình vô tội mỗi khi phạm tội. .
Ngoài sự khác biệt này, một điểm có ý nghĩa khác là ZK-SNARK cho phép chúng tôi chứng minh tính hợp lệ của lô giao dịch này mà không cần gửi tất cả dữ liệu giao dịch, điều này rất quan trọng đối với Rollup, như sau Chúng tôi sẽ giải thích điều này.
(3) Logic triển khai của ZK-Rollup
Trước hết, ZK-Rollup thực chất là một giải pháp Rollup nên nó vẫn cần thực hiện 2 việc sau:
Đóng gói và nén một lô dữ liệu giao dịch
Tạo một gốc trạng thái mới
Sự khác biệt duy nhất là phương pháp xác minh, ZK-Rollup sẽ không đợi người xác minh bắt đầu quy trình chứng minh gian lận mà trực tiếp tạo bằng chứng ZK-SNARK và thêm nó vào Lô và gửi nó vào hợp đồng cuộn chuỗi chính.
Như thể hiện trong hình, nội dung được gửi thêm ZK-Proof so với OR và vai trò của người xác minh bị ẩn.
Sau khi gửi hợp đồng rollup, bất kỳ ai cũng có thể xác minh. Sau khi xác minh thành công, hợp đồng rollup chuỗi chính sẽ cập nhật State root thành dữ liệu được gửi mới nhất.
(4) Làm cách nào để tạo bằng chứng hợp lệ ZK-SNARK?
A ZK-SNARK là gì?
Tên đầy đủ của ZK-SNARK là "Lập luận kiến thức ngắn gọn không tương tác về tri thức."
Bằng chứng không kiến thức không tương tác ngắn gọn. Tôi sẽ cố gắng giải thích ý nghĩa của từng phần:
Succint (súc tích): So với lượng dữ liệu chứng minh trên thực tế, phương pháp này tạo ra các bằng chứng nhỏ hơn rất nhiều.
Ví dụ: nếu chúng tôi muốn chứng minh rằng một loạt các giao dịch tồn tại và xảy ra, lượng dữ liệu bằng chứng được tạo phải nhỏ hơn lượng dữ liệu của chính các giao dịch này.
Không tương tác (không tương tác): Sau khi xây dựng bằng chứng, người chứng minh chỉ cần gửi một tin nhắn đơn giản đến người xác minh một lần và thường cho phép bất kỳ ai xác minh mà không cần xin phép.
Điều này rất quan trọng đối với các ứng dụng ZK-Rollup hoặc ZK trên blockchain, bởi vì một số bằng chứng ZK yêu cầu nhiều tương tác giữa người chứng minh và người xác minh (đoán vấn đề màu sắc là một ví dụ điển hình) và đưa nó vào chuỗi sẽ có nghĩa là bắt đầu nhiều giao dịch, không thể chấp nhận được về mặt chi phí.
Đối số: có thể chống lại sự tấn công của người châm ngôn với khả năng tính toán hạn chế
Phần này có nghĩa là độ phức tạp của thuật toán mã hóa được sử dụng để tạo bằng chứng không thể bị bẻ khóa một cách thô bạo ở thời gian chấp nhận được và chi phí kinh tế trong các điều kiện sức mạnh tính toán hiện có.
Kiến thức: Không thể xây dựng một bằng chứng mà không biết những gì đang được chứng minh
Điều này cũng rất quan trọng đối với ZK-Rollup, vì chúng tôi không thể cho phép ai đó tạo Bằng chứng ZK dựa trên dữ liệu phi giao dịch và gửi nó cho hợp đồng chuỗi chính.
Cuối cùng nhưng không kém phần quan trọng"Zero-Knowledge”:
Kiến thức không có nghĩa là khi người chứng minh chứng minh một tuyên bố (Tuyên bố) cho người xác minh, anh ta không tiết lộ bất kỳ thông tin hữu ích hoặc bất kỳ thông tin nào liên quan đến chính thực thể được chứng minh.
B Một trong những ví dụ chứng minh không kiến thức đơn giản nhất là đây
Alice muốn chứng tỏ với Bob rằng cô ấy biết mật khẩu của một chiếc két sắt nào đó.Mật khẩu là cách duy nhất để mở chiếc két sắt nhưng cô ấy lại không muốn cho Bob biết mật khẩu của chiếc két sắt.Tôi phải làm gì?
Tình cờ là Bob biết trong két sắt có một bức thư tình do bạn gái cũ của Bob viết, trên đó có dấu vân tay của cả Bob và bạn gái cũ.
Thế là Alice mở chiếc két sau lưng Bob, lấy bức thư tình ra và đưa cho Bob.
Điều này chứng tỏ Alice biết mật khẩu của két sắt và Alice đã không nói cho Bob biết mật khẩu là gì, thành công!
C Làm cách nào để tạo bằng chứng ZK-SNARK cho ZK-Rollup?
Tóm lại, việc tạo bằng chứng ZK-SNARK được chia thành các bước sau:
Xác định các quy tắc kiểm chứng logic của bài toán (chẳng hạn như kiểm tra xem số dư và nonce có đáp ứng yêu cầu không, v.v.)
Chuyển đổi các quy tắc xác minh logic thành mạch cổng Các vấn đề về vòng tròn
Biến đổi bài toán Vòng tròn cổng thành dạng R1CS (hệ thống ràng buộc bậc 1, hệ thống ràng buộc bậc nhất)
Chuyển đổi R1CS sang QAP (Chương trình số học bậc hai)
bài viết nàybài viết này。
Nếu bạn nghĩ phần này phức tạp hơn mọi phần trước thì bạn đã đúng. Điều phức tạp nữa là nhà cung cấp giải pháp ZK-Rollup hiện tại, đây là một trong những lý do khiến tiến độ nghiên cứu và phát triển ZK-Rollup hiện tại và ứng dụng thực tế chậm hơn so với Optimstic Rollup. Nếu bạn không phải là chuyên gia toán học/mật mã hoặc nhà phát triển Matter Labs, đây chỉ là một số điều bạn cần biết:
Tạo bằng chứng ZK-SNARK tốn nhiều thời gian và tính toán hơn so với xác minh cây Merkle
Không chỉ bất kỳ ngôn ngữ, môi trường biên dịch, máy ảo và tập lệnh nào cũng có thể hỗ trợ liền mạch cho việc hoàn thành quy trình nêu trên và cần có sự điều chỉnh bổ sung.
Đối với điểm đầu tiên, đây là hướng mà các nhà cung cấp giải pháp ZK lớn hiện đang thực hiện. Đầu tiên là chi phí thời gian, nếu phải mất một giờ để tạo ZK-Proof có thể sử dụng được thì thời gian rút tiền của người dùng gián tiếp cũng sẽ lâu hơn. Chi phí tính toán bao gồm hai phần, một phần là khối lượng dữ liệu của ZK-Proof được tạo và phần còn lại là sức mạnh tính toán cần thiết để xác minh Proof. Hai phần này càng lớn thì lượng Gas cần tiêu thụ trên Ethereum càng nhiều, do đó ảnh hưởng đến hiệu suất tối ưu hóa của ZK-Rollup.
Đối với điểm thứ hai, đây là một lý do chính hiện đang hạn chế sự phát triển của ZK-Rollup. Khi bắt đầu thiết kế EVM, các nhà phát triển không biết rằng công nghệ ZK sẽ được sử dụng sau này. Do đó, gần như không thể tạo ra các bằng chứng không kiến thức có thể sử dụng cho các hoạt động EVM, do đó dẫn đến nhu cầu về ZK-EVM.
D Tại sao ZK lại khó tương thích với EVM?
Mở DeFillama và bạn sẽ thấy rằng các giải pháp Lớp 2 hàng đầu trong TVL đều là OR. Điều này là do các giải pháp OR này đã có mạng riêng và các mạng này tương thích với EVM. Các nhà phát triển có thể tích hợp liền mạch Các hợp đồng thông minh trên Ethereum được cấy vào mạng của họ và người dùng cũng có thể thực hiện các hoạt động như hoán đổi, thế chấp và cung cấp thanh khoản trên mạng của họ.
Tuy nhiên, ZK-Rollup vẫn khó đạt được điều này và nhiều giải pháp hiện tại chỉ có thể hỗ trợ các kịch bản thanh toán và hoán đổi đơn giản.
Tại sao lại như vậy Trước hết, chúng ta cần làm rõ rằng trên Lớp 1, mã byte của các hợp đồng thông minh đã triển khai đều được lưu trữ trong bộ lưu trữ Ethereum (các mục lưu trữ). Sau đó, giao dịch sẽ được lan truyền trong mạng ngang hàng, đối với mỗi giao dịch, mỗi nút đầy đủ cần tải mã byte tương ứng và thực thi nó trên EVM để có được trạng thái giống nhau (giao dịch sẽ được sử dụng làm dữ liệu đầu vào).
Ở Lớp 2, mặc dù mã byte của hợp đồng thông minh cũng được lưu trữ trong mục lưu trữ, nhưng phương thức hoạt động của người dùng cũng giống nhau. Nhưng giao dịch của nó sẽ được gửi đến một nút zkEVM tập trung trong chuỗi, đồng thời, zkEVM không chỉ cần thực thi mã byte mà còn phải tạo Bằng chứng để cho biết rằng trạng thái đã được cập nhật chính xác sau khi giao dịch hoàn tất. Cuối cùng, hợp đồng lớp 1 có thể xác minh bằng chứng và cập nhật trạng thái, và tại thời điểm này không cần thực hiện lại giao dịch trên lớp 2.
Điều đó có nghĩa là, việc thực hiện các giao dịch trên zk-Rollup là một logic và đường dẫn hoàn toàn khác. Đồng thời, zkEVM cũng điều chỉnh để tạo ra các bằng chứng mạch zk trong khi thực hiện các giao dịch. EVM hiện tại tạo ra các bằng chứng ZK-SNARK như sau: câu hỏi:
Một số hoạt động đường cong elip theo yêu cầu của ZK-SNARK không được hỗ trợ
So với các máy ảo truyền thống, EVM có nhiều opcode độc đáo, khó thiết kế mạch
EVM chạy trên số nguyên 256 bit (giống như hầu hết các máy ảo phổ biến chạy trên số nguyên 32-64 bit) và bằng chứng không kiến thức "tự nhiên" chạy trên các trường nguyên tố.
Đây chỉ là một số vấn đề khi tạo Bằng chứng ZK trong EVM. Mặc dù OR cũng cần xây dựng một máy ảo để thực hiện các hoạt động của EVM, nhưng vì nó chỉ cần hoàn thành việc đóng gói giao dịch và các chức năng khác trên cơ sở thực hiện các giao dịch, nên nó cần phải đơn giản hơn nhiều. Đối với ZK-Rollup, ngoài khó khăn trong việc tạo ZK-Proof trong khi tương thích với EVM, không dễ để xác minh bằng chứng này trên Layer1.
Nếu muốn biết thêm về độ khó của ZK-EVM, bạn có thể đọc bài viết này: https://hackmd.io/@yezhang/S1_KMMbGt
Sau khi đọc nội dung trên, không thể phủ nhận rằng việc triển khai zk-Rollup có độ khó kỹ thuật cao, vậy tại sao chúng ta không trực tiếp sử dụng công nghệ Optimistic Rollup “đơn giản” hơn?
Bây giờ chúng ta hãy so sánh đơn giản hai kỹ thuật Rollup này.
6:Optimstic VS ZK
(1) Tối ưu hóa hiệu quả (TPS/phí giao dịch)
nguồn
Cảm ơn nhóm @W3.Hitchhiker vì những đóng góp của họ!
Từ hình vẽ, chúng ta có thể thấy rằng sơ đồ ZK hiệu quả hơn sơ đồ OR.
Đối với sơ đồ Tổng số, điều quan trọng nhất là có thể mang bao nhiêu dữ liệu giao dịch Lớp 2 trong một giao dịch Ethereum và điều này liên quan đến hai tham số:
Mức tiêu thụ gas của một giao dịch được nén bởi Rollup
Giới hạn gas tối đa của khối Ethereum
Trong số đó, Rollup có thể giải quyết điểm đầu tiên, mặc dù việc lưu trữ và xác minh bằng chứng ZK-Rollup cần tiêu tốn một lượng dung lượng lưu trữ và gas nhất định (dữ liệu đáng tin cậy là khoảng 500K). Tuy nhiên, do khả năng nén giao dịch tốt hơn và mức tiêu thụ lưu trữ dữ liệu giao dịch chiếm phần lớn mức tiêu thụ Gas, ZK-Rollup hoạt động tốt hơn so với tối ưu hóa hiệu quả HOẶC.
Ngoài ra, bạn có thể nhận thấy rằng ZKPort có TPS và tối ưu hóa chi phí giao dịch tốt nhất trong bảng. hoàn toàn được quyết định bởi hiệu quả xử lý của chuỗi Plasma, nhưng nó cũng phải đối mặt với vấn đề không có sẵn dữ liệu về mặt bảo mật.
Tính toán ở trên giả định giá gas là 30 Gwei và tất cả chúng ta đều biết giá gas sẽ tăng như thế nào khi hoạt động của Ethereum tăng đột biến. Khi đó, hiệu quả tối ưu hóa chi phí của Rollup, đặc biệt là sơ đồ ZK, sẽ rõ ràng hơn.
(2) Chi phí thời gian
Chúng tôi đã đề cập trước đó rằng việc rút tiền trên Optimtisc Rollup yêu cầu thời gian gửi từ 7-14 ngày do cơ chế chứng minh gian lận để những người khác bác bỏ hành vi sai trái tiềm ẩn.
Tất nhiên, chúng tôi có thể giảm thời gian rút tiền thông qua một số hành vi độc lập với chính cơ chế Tổng số, tương tự như cơ chế nhóm thanh khoản được đề xuất bởi các giải pháp Tổng số tối ưu như Mạng Boba.
Chúng ta hãy giả sử một kịch bản như vậy:
Alice là người dùng OR có tài sản 5ETH trên L2.
Nhóm thanh khoản B khác trên L1 được chuyển sang cung cấp thanh khoản cho người dùng OR như ALice.
Bây giờ Alice muốn lấy lại tất cả tài sản từ OR, và bây giờ anh ấy thực hiện giao dịch với B:
Alice có thể nhận 5ETH trực tiếp từ Bob và đồng thời trả một khoản phí xử lý nhất định
Sau 7 ngày, tài sản của Alice sẽ được mở khóa và 5ETH mà Alice đã lấy sẽ được trả lại cho nhóm.
Điều này có rủi ro nhất định đối với nhóm thanh khoản, vì vậy anh ta có thể theo dõi hợp đồng OR và bị phạt vì đã nộp không trung thực để phòng ngừa rủi ro, đồng thời, phí xử lý được tính cũng là một khoản dự phòng để giảm thiểu rủi ro.
Nhưng phương pháp này không phù hợp với NFT, vì NFT không thể chia nhỏ và nhóm thanh khoản không thể sao chép một NFT cho người dùng một cách đơn giản.
Tuy nhiên, ZK-Rollup không gặp vấn đề này. Người gửi phải chứng minh mình vô tội khi gửi và cung cấp chứng chỉ ZK-SNARK có thể kiểm chứng. Thời gian tạo chứng chỉ ZK-SNARK hiện tại có thể mất vài phút. Người dùng chỉ cần đợi đợt tiếp theo được gửi và xác minh.
Chi phí thời gian là thiếu sót của OR, và nó cũng là một trong những lợi thế đáng kể của ZK-Rollup.
(3) Khả năng thích ứng
Cả Optimsitic và ZK đều phải đối mặt với vấn đề tương thích và thích ứng với các hoạt động gọi hợp đồng EVM phức tạp, nhưng rõ ràng Optimsitic dễ triển khai hơn.
Các giải pháp OR bao gồm Arbiturm và Optimsim có các máy ảo tương thích với EVM cho phép chúng xử lý tất cả các giao dịch xảy ra trên chuỗi chính Ethereum. Một số giao thức DeFi cấp OG như Uniswap/Synthetix/Curve cũng đã được triển khai trên mạng OR.
Việc xây dựng một ZK-SNARK tương thích với EVM tỏ ra rất khó khăn, cho đến nay vẫn chưa có giải pháp ZK-Rollup nào được công khai. Tuy nhiên, chúng tôi có một số tin tốt gần đây: Mạng thử nghiệm công khai zkSync 2.0 đã chính thức ra mắt vào cuối tháng 2. Đây cũng là Bản tổng hợp ZK tương thích với EVM đầu tiên trên mạng thử nghiệm Ethereum. Có lẽ việc sử dụng thực tế quy mô lớn chính thức của ZK Rollup sẽ nhanh hơn chúng ta nghĩ.
(4) Bảo mật
Câu trả lời cho câu hỏi này là rõ ràng, tính bảo mật của OR đến từ kinh tế học. Để hoạt động tốt, OR phải thiết kế một cơ chế khuyến khích hợp lý để thúc đẩy một nhóm người xác thực trên chuỗi chính giám sát người gửi bất cứ lúc nào và chuẩn bị gửi bằng chứng gian lận. Đối với người gửi, nó cũng cần đảm bảo rằng nút sẽ phải trả giá tương ứng cho việc làm xấu thông qua cầm cố và các phương pháp khác.
Tính bảo mật của ZK đến từ toán học hoặc mật mã, giống như nền tảng của niềm tin vào chuỗi khối: mã sẽ không làm điều ác. Những đảm bảo được cung cấp bởi toán học và mật mã ổn định hơn nhiều so với niềm tin lạc quan rằng bản chất con người sẽ không làm điều ác.
Tất nhiên, bản thân cơ chế Rollup hiện tại có một số vấn đề bảo mật nhất định, mặc dù rollup gửi dữ liệu đến chuỗi chính để giải quyết vấn đề về tính khả dụng của dữ liệu. Nhưng chúng ta chưa thảo luận ai chịu trách nhiệm xử lý giao dịch, đặt hàng, nén, đóng gói và gửi. Một số giải pháp chính hiện tại, chẳng hạn như Arbitrum, Optimism và StarkNet, sử dụng một vai trò gọi là trình sắp xếp thứ tự, là một nút duy nhất mà chúng tự chạy.Kết quả của phương pháp này là mức độ tập trung hóa cao.
Chúng tôi biết rằng phi tập trung hóa là tiền đề của mọi bảo mật. Ưu điểm của mô hình trình sắp xếp thứ tự này là hiệu quả cao. Nó có thể được lặp lại nhanh chóng khi quá trình triển khai vẫn đang trong giai đoạn khám phá. Các giải pháp này cũng tuyên bố rằng quá trình phân cấp của trình sắp xếp thứ tự sẽ được dần dần được thực hiện trong tương lai. . Ví dụ: sử dụng PoS hoặc dPoS để chọn các nút trình tự sắp xếp, các giải pháp mới như Metis đã được khám phá.
(5) Tóm tắt
Hãy hình dung cuộc thảo luận ở trên dưới dạng một bảng:
Nhìn chung, OR là giải pháp trưởng thành hơn ở giai đoạn này và thực tế là như vậy, với các sản phẩm từ Optimtic và Arbiturm đã có sẵn cho các nhà phát triển Ethereum. Tuy nhiên, do sử dụng cơ chế chống gian lận, thời gian rút tiền và tính bảo mật của nó hiện đang bị nghi ngờ và khả năng tối ưu hóa chi phí của nó cũng kém hơn một chút so với ZK.
Điểm yếu của ZK Rollup về cơ bản là các vấn đề kỹ thuật.Với một số lượng lớn các nhà phát triển xuất sắc đầu tư vào nghiên cứu liên quan, hầu hết mọi người, kể cả Vitalik, đều đồng ý rằng ZK Rollup sẽ là một giải pháp mở rộng tốt hơn trong tương lai.
7: Rollup có hoàn hảo không?
Sau phần giải thích ở trên về ba loại giải pháp Lớp 2, tôi tin rằng bạn đã có hiểu biết nhất định về chúng. Trên thực tế, thứ tự viết các bài báo cũng là thứ tự các nhà phát triển nghiên cứu các giải pháp mở rộng Lớp 2. Thường sau khi phát hiện ra các vấn đề với một giải pháp nhất định, một giải pháp khác tốt hơn được đề xuất để giải quyết các vấn đề liên quan. Không chỉ trong lĩnh vực nghiên cứu mã hóa, quá trình này có thể được mở rộng cho tất cả các vấn đề kỹ thuật:
Các ý tưởng được phát triển, thử nghiệm, lặp đi lặp lại, tối ưu hóa cho đến khi tìm ra giải pháp khả thi nhất.
Giờ đây, có vẻ như Rollup là câu trả lời mà chúng tôi đang tìm kiếm. Nó giải quyết vấn đề về tính phổ biến và tính sẵn có của dữ liệu. Đồng thời, nó có vẻ tốt về mặt bảo mật và hiệu quả. Vì vậy, nó là một trong những hoàn hảo?
Câu trả lời là không, không có giải pháp nào có thể hoàn hảo, Rollup cũng có nhiều vấn đề, ngay cả ZK-rollup nhìn đẹp hơn cũng không tránh khỏi.
(1) Có mức trần tối ưu hóa hiệu quả:
Khi chúng tôi nói về sự khác biệt chính giữa rollup và plasma, chúng tôi đã nói về việc đảm bảo tính khả dụng của dữ liệu. Rollup cần gửi dữ liệu giao dịch đến chuỗi chính, đó là lý do chính khiến sơ đồ rollup đánh bại plasma.
Nhưng mặt khác, chúng ta phải thấy rằng, giao dịch trực tuyến có nghĩa là việc triển khai sẽ vẫn bị giới hạn bởi khả năng của chuỗi chính Ethereum:
Tính toán đơn giản:
Giới hạn gas tối đa của khối Ethereum hiện tại: 12,5 triệu gas
Chi phí dữ liệu trên mỗi byte được lưu trữ trên chuỗi: 16 gas
Số byte tối đa trên mỗi khối: ~781.000 byte (12500000/16)
Lượng dữ liệu cần thiết cho Tổng số để thực hiện chuyển ETH: 12 byte (xem chi phí gas trong phần trước)
Giao dịch mỗi khối: ~65.000 (781.000 byte/ 12 byte)
Thời gian khối trung bình trên Ethereum: 13 giây
TPS:~5000(65,000 tx/13 s)
Ở đây chúng tôi đưa ra rất nhiều giả định, ví dụ: chúng tôi giả định rằng tất cả các giao dịch đều là chuyển ETH đơn giản. Giao dịch thực tế sẽ chứa rất nhiều yêu cầu hợp đồng phức tạp và mức tiêu thụ gas sẽ cao hơn. Và đối với ZK-Rollup, chúng tôi cũng cần tính chi phí xác minh ZK-Proof (một nửa trong số đó là khoảng 500K gas).
Mặc dù vậy, TPS mà Rollup có thể đạt được chỉ khoảng 5000. Chúng tôi cũng thấy rằng việc tối ưu hóa hiệu quả trực tiếp do sử dụng cơ chế Plasma mang lại cao hơn nhiều so với Rollup.
Ethereum Foundation cũng rất ý thức được vấn đề này, hiện tại giải pháp chính của họ là sharding + rollup, điều này sẽ làm tăng TPS do rollup mang lại theo một mức độ lớn khác.
(2) Phân mảnh thanh khoản:
Dưới ảnh hưởng của cấu trúc đa chuỗi hiện tại, sự phân mảnh thanh khoản của chính nó ngày càng trở nên nghiêm trọng.
Tuy nhiên, do sự tồn tại của nhiều giải pháp kỹ thuật và nhiều giải pháp, số lượng mạng cuộn trong tương lai sẽ chỉ tiếp tục phát triển, điều này sẽ dẫn đến sự phân mảnh thanh khoản nghiêm trọng hơn.
Nhìn vào TVL hiện tại của Ethereum và mạng lớp 2 của nó
Tin tốt là giao tiếp xuyên chuỗi có thể giải quyết vấn đề này, sự kiện tiêu biểu là Synthetix đã làm việc để hợp nhất các nhóm nợ của mình trên chuỗi chính Ethereum và Optimism. Nếu quá trình này được hoàn thành thuận lợi và suôn sẻ, người ta tin rằng xu hướng hợp nhất thanh khoản trên chuỗi chính và chuỗi phụ sẽ được thúc đẩy ở một mức độ nhất định.
Xét cho cùng, mô hình nhóm nợ của các dự án tài sản tổng hợp phức tạp hơn nhiều so với mô hình nhóm thanh khoản phổ biến hơn hiện tại và có thể thấy trước rằng các dự án DeFi chính thống như Uniswap sẽ tiếp tục quá trình này.
(3) Giảm khả năng kết hợp do khó khăn trong giao tiếp và trở ngại kỹ thuật:
Trong câu hỏi trước, chúng ta đã nói về vấn đề giao tiếp làm chia rẽ tính thanh khoản. Hiện tượng này cũng áp dụng cho sự tương tác giữa dapp chuỗi chính và dapp chuỗi phụ. Mọi giao thức mới được xây dựng trên Ethereum đều giống như các khối Lego. Các giao thức khác có thể là dễ dàng xây dựng trên đó, đó là một trong những lý do tại sao DeFi đang phát triển nhanh chóng.
Nếu vấn đề giao tiếp không thể được giải quyết, thì các dapp trên chuỗi con cần thiết lập lại hệ sinh thái của chính chúng, điều này gây ra sự lãng phí tài nguyên lớn hơn. Không chỉ giữa sub-chain và main chain mà giữa sub-chain với sub-chain cũng cần xây dựng cơ chế giao tiếp.
Một lần nữa, một số nhà phát triển giỏi cũng đang nghiên cứu vấn đề này, hãy hy vọng họ đơn giản hóa các hoạt động và quy trình này. Xét cho cùng, bản thân hoạt động của Layer1 đã đủ rườm rà, nếu tăng thêm độ phức tạp của Layer2, điều này sẽ khiến giới hạn của thế giới Web3 càng cao hơn.
(4) Rủi ro tập trung hóa
phần kết
phần kết
Toàn văn đã vượt quá 10.000 từ, vượt xa sự mong đợi của tôi. Bản thân việc mở rộng Ethereum là một chủ đề rất lớn và phức tạp. Trong bài viết này, chỉ liên quan đến một phần của giải pháp Layer2. Các giải pháp mở rộng Layer1 (sharding) và các giải pháp Layer2 khác như Side Chain, Validium, v.v. không được đề cập. Trên thực tế, việc mở rộng Ethereum không phải là một giải pháp duy nhất có thể giải quyết một lần và mãi mãi. Nhiều nhà cung cấp giải pháp cũng đang khám phá nhiều con đường và các công ty như Polygon đã đầu tư vào một số lượng lớn các loại giải pháp Lớp 2 khác nhau.
Đồng thời, nhiều điều trong bài viết bị giới hạn bởi độ dài của bài viết và vẫn cần được khám phá, chẳng hạn như loại hỗ trợ giao tiếp nào là cần thiết cho việc gửi giữa Layer2 và Layer1. Bằng chứng gian lận/bằng chứng hợp lệ được triển khai như thế nào trên Lớp 1, sự khác biệt cụ thể giữa các chương trình triển khai ZK/OR khác nhau, v.v. Hiểu những điều này là rất quan trọng đối với các nhà nghiên cứu muốn hiểu Layer2, đặc biệt là mở rộng Rollup. Để tiện cho việc tìm hiểu và phân loại một số khái niệm trong bài viết, chúng tôi đã khái quát hơn, chẳng hạn như OR/ZK có các giải pháp rất khác nhau về nén dữ liệu giao dịch, v.v... Ví dụ về Vitalik được sử dụng trong bài viết là thiên về giải pháp ZK hơn. Trong quá trình viết, chúng tôi cũng có tham khảo một số nội dung Layer2 đặc sắc, chúng tôi đã đánh dấu vào nội dung văn bản và cuối văn bản, chúng tôi cũng hy vọng sẽ xuất hiện ngày càng nhiều nội dung hay hơn để giúp mọi người củng cố thêm nhận thức phù hợp.
Cuối cùng, từ quan điểm của hai giải pháp Rollup mà chúng tôi đã giới thiệu,Optimtic Rollup đã dẫn đầu thị trường, đồng thời tung ra các sản phẩm có sẵn, dần dần thu hút các Dapp chính thống hòa nhập vào hệ sinh thái, không thể phủ nhận sự đóng góp to lớn của các nhà phát triển có liên quan. Nhưngngười giới thiệu:
người giới thiệu:
1.An Incomplete Guide to Rollups (Vitalik)
2.Nhóm W3hitchhiker so sánh chi phí của bốn giải pháp Layer2
