Bình minh của các giao thức lớp 2 lai
Lưu ý của biên tập viên: Bài viết này đến từChuỗi tin tức Chuỗi tin tứcLưu ý của biên tập viên: Bài viết này đến từ

Chuỗi tin tức Chuỗi tin tức
Chuỗi tin tức Chuỗi tin tức
, Tác giả: Vitalik Buterin, do Lianwen biên soạn, được ủy quyền sao chép bởi Odaily.
Các giải pháp mở rộng Lớp 2 Ethereum hiện tại (chủ yếu đề cập đến các kênh trạng thái và Plasma) đang chuyển từ lý thuyết sang thực tiễn. Nhưng đồng thời, ngày càng rõ ràng rằng những công nghệ này có những thách thức cố hữu và vẫn còn một khoảng cách nhất định so với công nghệ mở rộng Ethereum trưởng thành.
Ở một mức độ lớn, Ethereum đã thành công vì trải nghiệm của nhà phát triển trên Ethereum rất tuyệt vời: viết một chương trình, xuất bản nó và bất kỳ ai cũng có thể tương tác với nó. Mặt khác, việc thiết kế một kênh trạng thái hoặc ứng dụng Plasma dựa trên rất nhiều lý do rõ ràng về các khuyến khích và độ phức tạp của việc phát triển trường hợp sử dụng dành riêng cho ứng dụng. Các kênh trạng thái phù hợp với các trường hợp sử dụng cụ thể, chẳng hạn như nhiều khoản thanh toán định kỳ giữa hai nhà giao dịch hoặc hai người chơi trò chơi (đã triển khai thành công trong Celer), nhưng các trường hợp sử dụng chung hơn dường như vẫn khó khăn. Plasma (đặc biệt là Plasma Cash) có thể được sử dụng trong các tình huống thanh toán, nhưng có một số thách thức nhất định trong việc triển khai các trường hợp sử dụng cho mục đích chung: ngay cả việc triển khai một sàn giao dịch phi tập trung cũng yêu cầu khách hàng lưu trữ nhiều dữ liệu lịch sử hơn và triển khai thông minh cho mục đích chung theo phong cách Ethereum của Plasma hợp đồng dường như cũng rất khó khăn.

Nhưng đồng thời, lớp giao thức "bán lớp 2" bị lãng quên đã xuất hiện trở lại - loại này không thể cải thiện khả năng mở rộng, nhưng có thể đạt được một mô hình an toàn và tổng quát hơn.
Trong một bài đăng trên blog được xuất bản vào năm 2014, tôi đã giới thiệu khái niệm "chuỗi bóng tối", là một kiến trúc xuất bản dữ liệu khối trên chuỗi, nhưng không xác minh khối theo mặc định. Thay vào đó, các khối được chấp nhận tạm thời và sau đó được hoàn thiện sau một khoảng thời gian (giả sử là hai tuần hoặc lâu hơn). Trong hai tuần này, khối được chấp nhận tạm thời có thể được thử thách và khối được xác minh thông qua thử thách. Nếu khối cuối cùng được chứng minh là không hợp lệ, chuỗi nơi đặt khối sẽ được khôi phục và Khoản tiền gửi bảo mật của nhà xuất bản ban đầu sẽ bị trừ tiền phạt. Hợp đồng không theo dõi trạng thái hoàn chỉnh của hệ thống, chỉ có trạng thái gốc và chính người dùng có thể xử lý dữ liệu được gửi tới chuỗi khối từ đầu đến cuối để tính toán trạng thái.
Một đề xuất gần đây có tên ZK Rollup sử dụng ZK-SNARK để xác minh tính hợp lệ của các khối. Mặc dù không có thời gian thử thách nhưng vẫn có thể đạt được hiệu quả tương tự.
Ảnh trên: Cấu tạo của gói ZK Rollup được xuất bản trên chuỗi. Hàng trăm "giao dịch nội bộ" ảnh hưởng đến trạng thái của hệ thống ZK Rollup (nghĩa là số dư tài khoản) được nén thành một gói chứa mỗi giao dịch nội bộ có kích thước khoảng 10 byte và khóa được sử dụng để chứng minh tính hợp lệ đầy đủ của quá trình truyền có liên quan (kích thước khoảng 100-300 byte) SNARK, kích thước khoảng 100-300 byte.
Trong trường hợp trên, chuỗi chính được sử dụng để xác minh tính khả dụng của dữ liệu, nhưng không (trực tiếp) xác minh tính hợp lệ của khối hoặc thực hiện bất kỳ tính toán quan trọng nào (trừ khi có thách thức được nêu ra). Do đó, công nghệ này không có bất kỳ lợi thế chính nào về khả năng mở rộng dung lượng, vì tải dữ liệu trên chuỗi cuối cùng sẽ trở thành nút cổ chai, nhưng không thể phủ nhận rằng nó vẫn là một phương tiện rất quan trọng.
Dữ liệu rẻ hơn so với tính toán và có nhiều cách để nén dữ liệu giao dịch một cách đáng kể—chủ yếu là do phần lớn dữ liệu trong giao dịch là dữ liệu chữ ký và nhiều chữ ký có thể được nén thành một chữ ký duy nhất thông qua nhiều hình thức tổng hợp. ZK Rollup hứa hẹn sẽ xử lý 500 giao dịch mỗi giây, hiệu quả gấp 30 lần so với chính Ethereum, vì nó nén mỗi giao dịch chỉ còn 10 byte và tính hợp lệ của giao dịch được xác minh bằng bằng chứng không có kiến thức, do đó không cần Chữ ký để được bao gồm. Mặt khác, thông lượng tương tự có thể đạt được trong "chuỗi bóng tối" bằng cách sử dụng chữ ký tổng hợp BLS (tương tự như Optimistic Rollup, một kiến trúc mới được phát hành gần đây bởi nhà phát triển lõi Ethereum Casper Karl Floersch). Hard fork Istanbul sắp tới sẽ giảm chi phí gas của dữ liệu từ 68 đơn vị trên mỗi byte xuống còn 16 đơn vị trên mỗi byte, đồng thời tăng gấp bốn lần thông lượng (tức là hơn 2000 giao dịch mỗi giây).
Vì vậy, lợi ích của các kỹ thuật dữ liệu trên chuỗi như ZK/Optimistic Rollup so với các công nghệ mở rộng quy mô ngoài chuỗi như Plasma là gì?
Đầu tiên, ZK/Bản tổng hợp lạc quan không yêu cầu toán tử "bán tin cậy". Trong ZK Rollup, vì tính hợp lệ của giao dịch được xác minh bằng bằng chứng mật mã, người gửi gói thực tế không có nhiều cách để "làm điều xấu" (tất nhiên, theo cài đặt, người gửi ác ý có thể khiến hệ thống tạm dừng trong vài giây, nhưng đó là mức độ thiệt hại mà chúng có thể gây ra cho hệ thống). Trong Optimistic Rollup, một người chuyển giao độc hại có thể xuất bản một "khối xấu", nhưng người chuyển giao tiếp theo có thể ngay lập tức thách thức khối đó trước khi xuất bản khối của họ. Trong ZK Rollup và Optimistic Rollup, đủ dữ liệu sẽ được phát hành vào chuỗi, cho phép mọi người tính toán trạng thái bên trong hoàn chỉnh, tất cả các vùng đồng bằng đã gửi cần được xử lý theo thứ tự và không có "cuộc tấn công giữ lại dữ liệu" nào hủy bỏ thuộc tính này ". Nói cách khác, việc trở thành nhà điều hành có thể hoàn toàn "không cần xin phép" và khoản tiền gửi bắt buộc (chỉ 10 ETH) chỉ được sử dụng cho mục đích chống thư rác.
Thứ hai, việc triển khai Optimistic Rollup được tổng quát hơn.Chức năng chuyển đổi trạng thái trong hệ thống Optimistic Rollup có thể được sử dụng để thực hiện các phép tính tổng quát hơn trong giới hạn gas của một khối đơn lẻ (bao gồm các nhánh Merkle cung cấp phần trạng thái cần thiết để xác minh quá trình chuyển đổi Giai đoạn). Về lý thuyết, ZK Rollup cũng có thể đạt được điện toán đa năng theo cách tương tự, nhưng trên thực tế, rất khó sử dụng ZK SNARK cho điện toán đa năng (chẳng hạn như thực thi trong EVM), ít nhất là cho đến nay.
Một lần nữa, Optimistic Rollup dễ xây dựng ứng dụng khách hơn vì nó yêu cầu ít cơ sở hạ tầng mạng Lớp 2 hơn và có thể thực hiện rất nhiều công việc chỉ bằng cách quét chuỗi khối.
Tuy nhiên, những ưu điểm của một thứ như ZK/Optimistic Rollup là gì? Trên thực tế, đây là một vấn đề kỹ thuật cao, còn được gọi là vấn đề về tính khả dụng của dữ liệu. (Chi tiết tham khảo tài liệu thuyết minh

https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding và video giải thích: https://www.youtube.com/watch?v=OJT_fR7wexw)
Về cơ bản, có hai cách để "gian lận" trong hệ thống Lớp 2: cách thứ nhất là xuất bản dữ liệu không hợp lệ lên chuỗi khối và thứ hai là hoàn toàn không xuất bản dữ liệu (ví dụ: trong Plasma, gốc của khối mới Plasma hash được xuất bản trên chuỗi chính, nhưng nội dung khối không được tiết lộ cho bất kỳ ai).
Xuất bản dữ liệu không hợp lệ thực sự rất dễ xử lý, bởi vì một khi dữ liệu được xuất bản trên chuỗi, có nhiều cách để xác định xem nó có hợp lệ hay không và dữ liệu không hợp lệ đã gửi sẽ bị đánh dấu là không hợp lệ và người gửi sẽ bị trừng phạt nghiêm khắc cho việc này. Mặt khác, dữ liệu không khả dụng khó xử lý hơn vì không thể phát hiện ra tính không khả dụng ngay cả khi bị thách thức và không thể xác định chính xác lỗi của những dữ liệu không được công bố này, đặc biệt là khi dữ liệu được giữ lại theo mặc định, chỉ được hiển thị theo yêu cầu nếu một số cơ chế xác thực cố gắng xác minh tính khả dụng của nó. Điều này được minh họa trong thế tiến thoái lưỡng nan của Ngư dân, trong đó trong một trò chơi thử thách-đáp trả, không thể phân biệt được giữa những người đệ trình ác ý và những người thách thức ác ý:
Ảnh trên: Thế tiến thoái lưỡng nan của ngư dân. Nếu bạn chỉ bắt đầu xem dữ liệu cụ thể đã cho tại thời điểm T3, thì bạn không có cách nào biết mình đang ở Trường hợp 1 hay Trường hợp 2, và do đó bạn không biết đó là lỗi của ai.
Các kênh trạng thái và plasma giải quyết hiệu quả vấn đề "thế tiến thoái lưỡng nan của ngư dân" bằng cách đẩy vấn đề lên người dùng: nếu bạn là người dùng và quyết định tương tác với người dùng khác (đối tác trong kênh trạng thái hoặc người điều hành trong Plasma ), giả sử người dùng đó không gửi cho bạn dữ liệu mà họ nên gửi, thì bạn sẽ rời đi và chuyển sang đối tác/nhà điều hành tiếp theo. Việc bạn, với tư cách là người dùng, sở hữu tất cả dữ liệu trước đó và tất cả dữ liệu giao dịch do bạn ký cho phép bạn chứng minh trong chuỗi khối rằng bạn sở hữu tài sản trong giao thức Lớp 2, do đó lấy những tài sản đó ra khỏi hệ thống một cách an toàn. Ngoài ra, bạn cũng cần có chứng từ nghiệp vụ (đã thỏa thuận trước) về việc nhận tài sản, đồng thời không ai khác chứng minh được bạn đã gửi tài sản liên quan cho người khác thì bạn mới có được tài sản này.
Kỹ thuật này thực sự tao nhã, nhưng nó dựa trên một giả định chính: mỗi đối tượng trạng thái có một "chủ sở hữu" hợp lý và không có sự đồng ý của chủ sở hữu, trạng thái đối tượng không thể thay đổi. Vì vậy, kỹ thuật này hoạt động đối với các giao dịch thanh toán dựa trên kết quả giao dịch chưa chi tiêu (UTXO) (chứ không phải giao dịch thanh toán dựa trên mô hình tài khoản, vì trong trường hợp này, bạn có thể chỉnh sửa số dư tài khoản của người khác mà không cần sự đồng ý của họ, đó là lý do tại sao Plasma của mô hình tài khoản rất khó) và thậm chí có thể được sử dụng trong các sàn giao dịch phi tập trung, nhưng thuộc tính "chủ sở hữu" này vẫn chưa đủ. Một số ứng dụng (chẳng hạn như Uniswap) không có chủ sở hữu tự nhiên và ngay cả trong những ứng dụng có chủ sở hữu đó, thường có nhiều người có thể chỉnh sửa đối tượng được đề cập một cách hợp pháp. Không có cách nào để cho phép các bên thứ ba tùy ý rút tài sản mà không đưa ra khả năng bị tấn công từ chối dịch vụ (DoS), vì không ai có thể chứng minh liệu người phát hành hoặc người gửi có lỗi hay không.
Ngoài ra, các kênh trạng thái và trạng thái tương ứng có một số vấn đề khác. Đối với những người dùng chưa tham gia kênh trạng thái, các giao dịch ngoài chuỗi không được phép. Plasma yêu cầu người dùng lưu trữ một lượng lớn dữ liệu lịch sử, dữ liệu này thậm chí còn lớn hơn khi các tài sản khác nhau được kết hợp với nhau (ví dụ: điều kiện chuyển một tài sản dựa trên chuyển tài sản khác, như trong một giai đoạn ( một giai đoạn) như xảy ra trong các sàn giao dịch phi tập trung với cơ chế đặt lệnh mua).

Bởi vì công nghệ Lớp 2 của tính toán dữ liệu trên chuỗi và ngoài chuỗi không có vấn đề về tính khả dụng của dữ liệu, nên không có điểm yếu như vậy. Bản tổng hợp ZK và Bản tổng hợp lạc quan rất cẩn thận để đưa đủ dữ liệu vào chuỗi để cho phép người dùng tính toán toàn bộ trạng thái của hệ thống Lớp 2, đảm bảo rằng nếu bất kỳ người tham gia nào biến mất, một người mới có thể dễ dàng thay thế. Vấn đề duy nhất với công nghệ Lớp 2 là xác minh tính toán mà không thực hiện tính toán trên chuỗi, nhưng đó thực sự là một vấn đề dễ giải quyết. Hơn nữa, việc mở rộng quy mô sẽ mang lại nhiều lợi ích hơn: mỗi giao dịch trong ZK Rollup là khoảng 10 byte và Optimistic Rollup có thể đạt đến mức tương tự bằng cách sử dụng chữ ký tổng hợp BLS. Về mặt lý thuyết, nó có thể đạt tới 500 giao dịch mỗi giây và sau khi nâng cấp Istanbul, con số chỉ báo có thể đạt tới 2000 giao dịch mỗi giây.
Nhưng nếu bạn muốn khả năng mở rộng cao hơn thì sao?
Trên thực tế, có một nền tảng trung gian lớn giữa các giao thức liên kết trên lớp 2 và lớp 2 ngoài liên kết và nhiều giải pháp kết hợp tận dụng lợi thế của cả hai. Lấy một ví dụ đơn giản, bằng cách xuất bản bản đồ khớp lệnh (dưới 4 byte) trên chuỗi, có thể ngăn chặn sự cố bùng nổ lưu trữ lịch sử của sàn giao dịch phi tập trung được triển khai trên Plasma Cash:
Phía trên bên trái: Người dùng Plasma Cash sở hữu mã thông báo cần lưu trữ dữ liệu lịch sử;
Ở trên: Người dùng Plasma Cash cần lưu trữ dữ liệu lịch sử khi sở hữu mã thông báo và mã thông báo có được thông qua hoán đổi nguyên tử;
Phía trên bên phải: Người dùng Plasma Cash cần lưu trữ dữ liệu lịch sử nếu khớp lệnh được công bố trên chuỗi;


