Tiêu đề gốc: "Bình minh của giao thức lớp 2 lai a>》
Tác giả gốc: Vitalik Buterin
Văn bản gốcBản dịch: Block Beats - HQ
Đặc biệt cảm ơn nhóm Plasma vì đã xem xét và phản hồi span>
( # BlockBeats Lưu ý: Plasma, kế hoạch mở rộng Ethereum do Buterin và Joseph Poon cùng phát hành vào ngày 10 tháng 8 năm 2017, là một công nghệ dành cho các giao dịch ngoài chuỗi và dựa trên chuỗi khối Ethereum cơ bản để đảm bảo tính an toàn của nó)
Các phương pháp hiện tại cho mở rộng quy mô lớp 2 về cơ bản là các kênh Plasma và trạng thái, đang chuyển từ lý thuyết sang thực hành, nhưng đồng thời, những công nghệ này được coi là vốn có đối với các giải pháp về khả năng mở rộng trưởng thành của Ethereum. Các thách thức sẽ ngày càng trở nên phổ biến. Thành công của Ethereum phần lớn nhờ vào trải nghiệm đơn giản và dễ dàng của nhà phát triển: bạn viết một chương trình, sau đó 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 vào nhiều điều khoản rõ ràng liên quan đến các biện pháp khuyến khích và sự phức tạp trong phát triển dành riêng cho ứng dụng. Các kênh trạng thái vượt trội trong các lĩnh vực sử dụng cụ thể, chẳng hạn như thanh toán lặp lại giữa hai bên giống nhau và giữa hai người chơi (như đã được triển khai thành công trong Celer), nhưng gặp khó khăn trong việc triển khai các ứng dụng chung hơn. Plasma, đặc biệt là Plasma Cash, hoạt động tốt trong thanh toán, nhưng ứng dụng rộng rãi cũng phải đối mặt với những thách thức: ngay cả khi áp dụng các giao dịch phi tập trung, khách hàng buộc phải lưu trữ nhiều dữ liệu lịch sử hơn. Việc thúc đẩy các hợp đồng thông minh kiểu Ethereum trên Plasma dường như vô cùng khó khăn.
(# BlockBeats Lưu ý: Các kênh trạng thái là một "chuỗi" được sử dụng để thực hiện các giao dịch và cập nhật trạng thái khác. Các giao dịch xảy ra “bên trong” kênh trạng thái vẫn duy trì mức độ bảo mật cao và bất biến. Nếu có vấn đề gì xảy ra, chúng tôi vẫn có thể chọn quay lại “sự ổn định” được xác định trong giao dịch trên chuỗi”. )
Nhưng đồng thời, một "nửa lớp-" bị lãng quên 2" Danh mục giao thức đã xuất hiện trở lại. Mặc dù danh mục giao thức này không thể đạt được khả năng mở rộng tối đa nhưng nó có thể dễ dàng triển khai các ứng dụng tổng quát hơn và các mô hình bảo mật tốt hơn. Một bài đăng trên blog đã bị lãng quên từ lâu từ năm 2014 đã giới thiệu khái niệm “chuỗi bóng tối”, kiến trúc trong đó dữ liệu khối được xuất bản trên chuỗi nhưng theo mặc định, các khối không được xác minh. Thay vào đó, các khối được chấp nhận tạm thời và chỉ được hoàn thành sau một khoảng thời gian (ví dụ: 2 tuần). Trong hai tuần này, một khối được chấp nhận tạm thời mới có thể bị thử thách; chỉ khi đó khối đó mới được xác minh và nếu khối đó được chứng minh là không hợp lệ, chuỗi từ khối đó sẽ được khôi phục và các nhà sản xuất Khối ban đầu sẽ bị phạt vì đặt cược. Hợp đồng không theo dõi trạng thái hoàn chỉnh của hệ thống; nó chỉ theo dõi trạng thái gốc và người dùng có thể tự tính toán trạng thái đầy đủ bằng cách gửi dữ liệu đến chuỗi để xử lý. Đề xuất mới nhất là ZK Rollup, xác minh tính hợp lệ của các khối bằng cách sử dụng ZK-SNARK, có thể đạt được điều tương tự mà không cần giai đoạn thử thách.

Cấu trúc 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 (tức là số dư tài khoản) được nén thành một gói. Mỗi giao dịch nội bộ được sử dụng để chỉ định chuyển đổi trạng thái có kích thước khoảng 10 byte, cộng thêm một giao dịch bổ sung khoảng 100 byte. -300 MỘT SNARK byte được sử dụng để chứng minh rằng chuyển đổi là hợp lệ.
Trong Trong cả hai trường hợp, chuỗi chính được sử dụng để xác minh tính sẵn có 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ỳ phép tính quan trọng nào trừ khi có thách thức được đưa ra. Kết quả là, công nghệ này không mang lại lợi ích lớn về khả năng mở rộng vì chi phí dữ liệu trên chuỗi cuối cùng sẽ trở thành một nút thắt cổ chai và là một vấn đề rất quan trọng ở đó. Dữ liệu rẻ hơn tính toán và có nhiều cách để nén dữ liệu giao dịch với số lượng lớn, đặc biệt vì hầu hết dữ liệu trong giao dịch là chữ ký và nhiều chữ ký có thể được nén thành một chữ ký thông qua nhiều hình thức tổng hợp khác nhau. ZK Rollup có khả năng 500-x/giây, cao hơn 30 lần so với Ethereum, nén mỗi giao dịch có kích thước chỉ khoảng 10 byte; không cần đưa vào chữ ký vì bằng chứng không có kiến thức có thể xác minh tính hợp lệ của chúng. Thông lượng có kích thước tương tự có thể đạt được trong chuỗi bóng bằng cách sử dụng BLS để tổng hợp chữ ký (gần đây được gọi là "Optimistic Rollup" để làm nổi bật những điểm tương đồng của nó với ZK Rollup). Hard fork Istanbul sắp tới sẽ tăng thông lượng của các công nghệ này lên gấp 4 lần bằng cách giảm chi phí gas của dữ liệu từ 68 mỗi byte xuống 16 mỗi byte (con số này sẽ đạt 2000 TPS).
Vì vậy, công nghệ dữ liệu trên chuỗi (chẳng hạn như ZK Rollup hoặc Optimistic Rollup ) so với các công nghệ dữ liệu ngoài chuỗi như Plasma, lợi ích là gì? Đầu tiên, không cần đến các nhà khai thác bán tin cậy. Trong ZK Rollup, vì tính hợp lệ được xác minh bằng bằng chứng mật mã nên người gửi gói không thể làm điều xấu (tùy thuộc vào cài đặt, người gửi độc hại có thể khiến hệ thống dừng trong vài giây, nhưng đó là thiệt hại lớn nhất mà nó có thể gây ra). Trong Optimistic Rollup, người gửi độc hại có thể xuất bản một khối độc hại, nhưng người gửi tiếp theo sẽ ngay lập tức thách thức khối đó trước khi xuất bản khối của chính mình. Trong ZK Rollup và Optimistic Rollup, vì đủ dữ liệu được xuất bản trên chuỗi nên bất kỳ ai cũng có thể tính toán trạng thái nội bộ hoàn chỉnh bằng cách xử lý tất cả các delta đã gửi theo thứ tự và không có "giữ lại dữ liệu" nào có thể xóa cuộc tấn công này (giữ lại dữ liệu. tấn công)". Do đó, việc trở thành nhà điều hành có thể "không có đặc quyền"; tất cả những gì cần thiết là đặt cọc để chống thư rác (ví dụ: 10 ETH).
Thứ hai, Tổng hợp lạc quan đặc biệt dễ triển khai các ứng dụng chung; chức năng chuyển đổi trạng thái trong hệ thống Tổng hợp lạc quan thực sự có thể là bất kỳ chức năng nào có thể được tính toán trong giới hạn gas của một khối duy nhất (bao gồm cả nhánh Merkle cung cấp trạng thái chuyển đổi xác minh). Ít nhất là hiện tại, về mặt lý thuyết, ZK Rollup có thể được triển khai theo cách tương tự cho các ứng dụng thông thường, mặc dù trên thực tế, rất khó sử dụng ZK SNARK cho các phép tính có mục đích chung (chẳng hạn như thực thi máy ảo). Thứ ba, Optimistic Rollup dễ dàng phát triển ứng dụng khách hơn vì không cần cơ sở hạ tầng mạng lớp 2; việc này có thể được thực hiện đơn giản bằng cách quét chuỗi khối.
Nhưng những lợi thế này đến từ Nó đâu rồi? Câu trả lời nằm ở một vấn đề mang tính kỹ thuật cao được gọi là vấn đề về tính sẵn có của dữ liệu (xem ghi chú, video). Về cơ bản, có hai phương pháp gian lận trong hệ thống lớp 2. Phương pháp đầu tiên là xuất bản dữ liệu không hợp lệ lên blockchain. Cách tiếp cận thứ hai là hoàn toàn không xuất bản dữ liệu (ví dụ: trong Plasma, xuất bản hàm băm gốc của khối Plasma mới lên chuỗi chính nhưng không tiết lộ nội dung của khối cho bất kỳ ai). Dữ liệu được xuất bản nhưng không hợp lệ rất dễ xử lý 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, trong khi việc gửi không hợp lệ rõ ràng là không hợp lệ và do đó người gửi sẽ bị phạt nặng. Mặt khác, dữ liệu không có sẵn sẽ khó xử lý hơn vì ngay cả khi tính không có sẵn có thể được phát hiện khi bị thách thức thì cũng không thể xác định chính xác lỗi của ai khiến dữ liệu không được phát hành, đặc biệt nếu dữ liệu được giữ lại bởi mặc định và chỉ được hiển thị khi một số cơ chế xác minh đang cố gắng xác minh tính khả dụng của nó. Điều này được minh họa bằng tình huống khó xử của Fisherman, cho thấy trò chơi phản ứng-thử thách không thể phân biệt giữa người gửi độc hại và người thách thức độc hại:

Thế lưỡng nan của ngư dân. Nếu bạn chỉ bắt đầu xem dữ liệu đã cho tại thời điểm T3, bạn sẽ không biết mình đang ở Trường hợp 1 hay Trường hợp 2 và do đó lỗi thuộc về ai.
Plasma và các kênh, cả hai đều giải quyết vấn đề nan giải của người câu cá bằng cách đẩy vấn đề lên người dùng: nếu bạn là người dùng và nghĩ rằng một người dùng khác mà bạn đang tương tác (đối tác của trạng thái kênh, nhà điều hành chuỗi Plasma) không xuất bản cho bạn những gì họ nên công bố dữ liệu, thì bạn có trách nhiệm thu hồi và chuyển dữ liệu đó cho đối tác hoặc nhà điều hành khác. Trên thực tế, với tư cách là người dùng sở hữu tất cả dữ liệu lịch sử và tất cả dữ liệu cho tất cả các giao dịch bạn đã ký, bạn có thể đưa những nội dung đó ra khỏi hệ thống một cách an toàn bằng cách chứng minh cho chuỗi những nội dung bạn sở hữu trong giao thức lớp 2. Bạn đã chứng minh được sự tồn tại của một hoạt động (đã được thỏa thuận trước đó) đã cung cấp tài sản cho bạn và không ai khác có thể chứng minh sự tồn tại của hoạt động đó (bạn đã chấp thuận gửi tài sản cho người khác), vì vậy bạn đã có được tài sản.
Kỹ thuật này rất thanh lịch của. Tuy nhiên, nó dựa trên một giả định quan trọng: mọi đối tượng trạng thái đều có một "chủ sở hữu" logic và trạng thái của đối tượng không thể thay đổi nếu không có sự đồng ý của chủ sở hữu. Điều này hoạt động tốt với thanh toán dựa trên UTXO (nhưng không phải thanh toán dựa trên tài khoản; với thanh toán dựa trên tài khoản, 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ọ; đây là lý do tại sao Plasma dựa trên tài khoản rất khó chạy), nó thậm chí có thể được áp dụng cho các sàn giao dịch phi tập trung, nhưng thuộc tính "quyền sở hữu" này vẫn chưa đủ cho các ứng dụng chung. Một số ứng dụng, chẳng hạn như Uniswap, không có chủ sở hữu đương nhiên và ngay cả trong những ứng dụng đó, thường có nhiều người có thể thực hiện các chỉnh sửa đối tượng một cách hợp pháp. Hơn nữa, chính vì không thể chứng minh được liệu lỗi là do nhà xuất bản hay người gửi gây ra nên việc rút tài sản của bên thứ ba một cách tùy tiện không thể đạt được nếu không gây ra khả năng xảy ra một cuộc tấn công từ chối dịch vụ (DoS).
(# block Nhịp điệu BlockBeats Lưu ý: UTXO, tên đầy đủ là Đầu ra giao dịch chưa được chi tiêu, là giải pháp chuyển tiền được sử dụng bởi mạng Bitcoin. Các ngân hàng hiện tại, thẻ tín dụng, hệ thống giao dịch chứng khoán và hệ thống thanh toán của bên thứ ba trên Internet đều dựa trên tài khoản. bởi cơ sở dữ liệu quan hệ Trong UTXO, cơ sở dữ liệu theo dõi việc chuyển quyền sở hữu Bitcoin chứ không phải trạng thái của tài khoản)
DoS là tên viết tắt của Denial of Service, tức là từ chối dịch vụ. Hành vi tấn công gây ra DoS được gọi là DoS. An cuộc tấn công có mục đích là ngăn chặn máy tính hoặc mạng cung cấp các dịch vụ bình thường. Các cuộc tấn công DoS phổ biến nhất là các cuộc tấn công băng thông rộng mạng máy tính và các cuộc tấn công kết nối. )
Ngoài ra Plasma và kênh Ngoài ra còn có vấn đề riêng của họ. Các kênh không thể thực hiện các giao dịch ngoài chuỗi cho người dùng không còn thuộc về kênh (Lý lẽ: Giả sử rằng 1 USD có thể được gửi cho bất kỳ người dùng mới nào từ trong kênh. Khi đó, công nghệ này có thể được sử dụng song song nhiều lần và 1 USD được gửi nhiều lần sẽ nhiều hơn. Có nhiều tiền hơn trong hệ thống, điều này đã làm suy yếu sự đảm bảo an ninh của nó). 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 liên kết với nhau (ví dụ: khi một tài sản được chuyển giao có điều kiện chuyển giao một tài sản khác, như ở một cấp độ như xảy ra trong phi tập trung). trao đổi với cơ chế đặt hàng).
Bởi vì dữ liệu trên chuỗi được xử lý Các công nghệ lớp 2 dành cho điện toán ngoài chuỗi không có vấn đề về tính khả dụng của dữ liệu nên chúng không có những điểm yếu này. ZK Rollup và Optimistic Rollup yêu cầu hết sức cẩn thận trong việc đặt đủ dữ liệu trên chuỗi để người dùng có thể tính toán trạng thái hoàn chỉnh của hệ thống lớp 2 nhằm đảm bảo rằng nếu bất kỳ người tham gia nào biến mất, những người tham gia mới có thể thay thế họ. Vấn đề duy nhất của họ là xác minh tính toán mà không thực hiện nó trên chuỗi, nhưng đây là một vấn đề dễ giải quyết. Hơn nữa, khả năng mở rộng được cải thiện đáng kể: trong ZK Rollup, mỗi giao dịch có dung lượng khoảng 10 byte và trong Optimistic Rollup, mức độ mở rộng tương tự đạt được bằng cách sử dụng BLS để tổng hợp chữ ký. Con số này tương đương với mức tối đa theo lý thuyết hiện tại là 500 TPS và sẽ vượt quá 2000 TPS sau đợt hard fork Istanbul.
Nhưng nếu bạn muốn đạt được nhiều khả năng mở rộng hơn thì sao? Có một điểm trung gian lớn giữa dữ liệu trên chuỗi lớp 2 và các giao thức dữ liệu ngoài chuỗi lớp 2, với nhiều phương pháp kết hợp mang lại một số lợi ích chung của cả hai. Một ví dụ đơn giản, có thể ngăn chặn sự bùng nổ lưu trữ lịch sử trong sàn giao dịch phi tập trung của Plasma Cash bằng cách xuất bản bản đồ thể hiện những đơn hàng nào trên chuỗi được khớp (mỗi đơn hàng nhỏ hơn 4 byte):

Trái: Dữ liệu lịch sử cần được lưu trữ khi người dùng Plasma Cash sở hữu 1 token. Giữa: Dữ liệu lịch sử cần được lưu trữ khi người dùng Plasma Cash sở hữu 1 mã thông báo và sử dụng hoán đổi nguyên tử để đổi lấy một mã thông báo khác. Phải: Dữ liệu lịch sử mà người dùng Plasma Cash cần lưu trữ nếu khớp đơn hàng được xuất bản trên chuỗi.
Ngoài các sàn giao dịch phi tập trung Ngoài ra, lượng dữ liệu lịch sử mà người dùng cần lưu trữ trong Plasma cũng có thể được giảm bớt bằng cách thường xuyên xuất bản một số dữ liệu của từng người dùng trên chuỗi thông qua chuỗi Plasma. Chúng ta cũng có thể tưởng tượng một nền tảng như Plasma, hay như ZK Rollup và Optimistic Rollup, hoạt động như thế nào ở một trạng thái nào đó không có "chủ sở hữu" logic. Các nhà phát triển plasma đã và đang nghiên cứu những tối ưu hóa này.
Do đó, đối với lớp 2 Có nhiều lý do chính đáng để các nhà phát triển giải pháp khả năng mở rộng thích xuất bản dữ liệu trên mỗi người dùng trên chuỗi, ít nhất là trong một số trường hợp: nó cải thiện đáng kể tính dễ sử dụng, tính linh hoạt và tính bảo mật của quá trình phát triển, đồng thời giảm tải cho mỗi người dùng. người dùng (ví dụ: không yêu cầu người dùng lưu trữ dữ liệu lịch sử). Nhưng tổn thất về hiệu quả của phương pháp này cũng đã bị phóng đại: ngay cả trong kiến trúc lớp 2 hoàn toàn ngoài chuỗi, việc gửi, rút tiền và chuyển động của người dùng giữa các đối tác và nhà cung cấp khác nhau là không thể tránh khỏi và xảy ra thường xuyên, vì vậy, dù thế nào đi nữa, mỗi người dùng sẽ tạo ra một lượng lớn dữ liệu trên chuỗi. Các giao thức kết hợp lớp 2 sẽ mở ra cơ hội triển khai nhanh chóng các hợp đồng thông minh kiểu Ethereum hoàn toàn chung trong kiến trúc gần như lớp 2.
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia