Buổi bình minh của các giao thức lớp 2 lai

Rate this post


2019 ngày 28 tháng 8
Xem tất cả bài viết
Buổi bình minh của các giao thức lớp 2 lai

Đặc biệt cảm ơn nhóm Nhóm Plasma đã xem xét và phản hồi

Các cách tiếp cận hiện tại đối với quy mô lớp 2 – về cơ bản là Plasma và các kênh trạng thái – đang ngày càng chuyển từ lý thuyết sang thực tiễn, nhưng đồng thời, việc xem những thách thức cố hữu trong việc coi các kỹ thuật này như một giải pháp mở rộng quy mô chính thức cho Ethereum trở nên dễ dàng hơn. Ethereum được cho là thành công phần lớn nhờ vào trải nghiệm rất dễ dàng dành cho nhà phát triển của nó: bạn viết một chương trình, xuất bản chương trình 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 ưu đãi và độ phức tạp phát triển dành riêng cho ứng dụng. Các kênh trạng thái hoạt động tốt cho các trường hợp 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à trò chơi hai người chơi (như đã triển khai thành công trong Celer), nhưng việc sử dụng tổng quát hơn đang tỏ ra khó khăn. Plasma, đặc biệt là Plasma Cash, có thể hoạt động tốt cho các khoản thanh toán, nhưng việc khái quát hóa tương tự cũng phát sinh những thách thức: ngay cả việc triển khai trao đổi 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à việc khái quát hóa các hợp đồng thông minh kiểu Ethereum trên Plasma dường như cực kỳ khó khăn.

Nhưng đồng thời, có sự trỗi dậy của một danh mục giao thức “bán lớp 2” đã bị lãng quên – một danh mục hứa hẹn ít đạt được lợi ích cực đoan hơn trong việc mở rộng quy mô, nhưng với lợi ích là việc khái quát hóa dễ dàng hơn nhiều và các mô hình bảo mật thuận lợi 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 ý tưởng về “chuỗi bóng tối”, một kiến ​​trúc trong đó dữ liệu khối được xuất bản trên chuỗi, nhưng các khối thì không xác minh theo mặc định. 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 2 tuần đó, một khối tạm thời được chấp nhận có thể được 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ệ thì chuỗi từ khối đó trở đi sẽ được hoàn nguyên và khoản tiền gửi của nhà xuất bản ban đầu sẽ bị phạt. Hợp đồng không theo dõi trạng thái đầy đủ của hệ thống; nó chỉ theo dõi gốc trạng thái và bản thân người dùng có thể tính toán trạng thái bằng cách xử lý dữ liệu được gửi tới chuỗi từ đầu đến cuối. Một đề xuất gần đây hơn, ZK Rollup, thực hiện điều tương tự mà không có giai đoạn thử thách, bằng cách sử dụng ZK-SNARK để xác minh tính hợp lệ của các khối.



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 (tức là số dư tài khoản) của hệ thống ZK Rollup được nén thành một gói chứa ~10 byte cho mỗi giao dịch nội bộ chỉ định chuyển đổi trạng thái, cộng với ~100-300 byte SNARK chứng minh rằng các chuyển đổi đều hợp lệ.

Trong cả hai trường hợp, chuỗi chính được sử dụng để xác minh dữ liệu khả dụngnhưng không (trực tiếp) xác minh khối hiệu lực hoặc thực hiện bất kỳ phép tính quan trọng nào, trừ khi có thử thách. Do đó, kỹ thuật này không phải là một mức tăng khả năng mở rộng khổng lồ đáng kinh ngạc, bởi vì chi phí dữ liệu trên chuỗi cuối cùng tạo ra một nút cổ chai, nhưng nó vẫn là một vấ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 rất đáng kể, đặc biệt vì phần lớn dữ liệu trong giao dịch là chữ ký và nhiều chữ ký có thể được nén thành một thông qua nhiều hình thức tổng hợp. ZK Rollup hứa hẹn 500 tx/giây, tăng gấp 30 lần so với chính chuỗi Ethereum, bằng cách nén mỗi giao dịch chỉ còn ~10 byte; chữ ký không cần phải được đưa vào vì tính hợp lệ của chúng được xác minh bằng bằng chứng không kiến ​​thức. Với các chữ ký tổng hợp BLS, có thể đạt được thông lượng tương tự trong chuỗi ẩn (gần đây được gọi là “tổng hợp lạc quan” để 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ẽ giảm chi phí gas dữ liệu từ 68 mỗi byte xuống còn 16 mỗi byte, tăng thông lượng của các kỹ thuật này thêm 4 lần nữa (đó là hơn 2000 giao dịch mỗi giây).


Vậy lợi ích của các kỹ thuật dữ liệu trên chuỗi như ZK/tổng ​​hợp lạc quan so với các kỹ thuật dữ liệu ngoài chuỗi như Plasma là gì? Trước hết, không cầ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 theo nghĩa đen, không có cách nào để trình gửi gói là độc hại (tùy thuộc vào thiết lập, trình gửi độc hại có thể khiến hệ thống tạm dừng trong vài giây, nhưng đây là tác hại lớn nhất mà có thể được thực hiện). Trong bản cập nhật lạc quan, một người gửi độc hại có thể xuất bản một khối xấu, 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 họ. Trong cả ZK và bản tổng hợp lạc quan, đủ dữ liệu được xuất bản trên chuỗi để cho phép mọi người tính toán trạng thái bên trong hoàn chỉnh, chỉ bằng cách xử lý tất cả các vùng đồng bằng đã gửi theo thứ tự và không có “cuộc tấn công giữ lại dữ liệu” nào có thể lấy đi thuộc tính này. Do đó, việc trở thành một nhà điều hành có thể hoàn toàn không được phép; tất cả những gì cần thiết là một khoản tiền gửi bảo đảm (ví dụ: 10 ETH) cho mục đích chống thư rác.

Thứ hai, tổng hợp lạc quan đặc biệt dễ khái quát hơn rất nhiều; chức năng chuyển đổi trạng thái trong một hệ thống tổng số lạc quan có thể là bất kỳ thứ gì có thể được tính toán theo nghĩa đen trong giới hạn gas của một khối đơn lẻ (bao gồm cả các nhánh Merkle cung cấp các phần của trạng thái cần thiết để xác minh quá trình chuyển đổi). ZK Rollup về mặt lý thuyết có thể khái quát hóa theo cách tương tự, mặc dù trong thực tế, việc tạo ZK SNARK qua tính toán cho mục đích chung (chẳng hạn như thực thi EVM) là rất khó, ít nhất là cho đến thời điểm hiện tại. Thứ ba, bản cập nhật lạc quan dễ dàng hơn nhiều để xây dựng ứng dụng khách vì không cần cơ sở hạ tầng mạng lớp thứ hai; có thể làm được nhiều việc hơn chỉ bằng cách quét chuỗi khối.

Nhưng những lợi thế này đến từ đâu? Câu trả lời nằm trong một vấn đề kỹ thuật cao được gọi là vấn đề sẵn có dữ liệu (xem ghi chú, video). Về cơ bản, có hai cách để gian lận trong hệ thống lớp 2. Đầu tiên là xuất bản dữ liệu không hợp lệ lên blockchain. 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 một 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ý, 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 rõ ràng liệu dữ liệu đó có hợp lệ hay không và việc gửi không hợp lệ rõ ràng là không hợp lệ nên người gửi có thể bị phạt nặng . Mặt khác, dữ liệu không có sẵn khó xử lý hơn nhiều, bởi vì mặc dù có thể phát hiện ra tình trạng không có sẵn nếu bị thách thức, người ta không thể xác định một cách đáng tin cậy việc không công bố là do lỗi của ai, đặc biệt nếu dữ liệu được giữ lại theo mặc định và chỉ được tiết lộ khi có yêu cầu khi một số cơ chế xác minh cố gắng xác minh tính khả dụng của nó. Điều này được minh họa trong “Tình thế tiến thoái lưỡng nan của ngư dân”, cho thấy cách một trò chơi thử thách-đáp trả không thể phân biệt giữa những người đệ trình ác ý và những người thách thức ác ý:


Tình thế tiến thoái lưỡng nan của ngư dân. Nếu bạn chỉ bắt đầu xem đoạn dữ liệu cụ thể đã cho vào thời điểm T3, bạn sẽ không biết mình đang sống trong Trường hợp 1 hay Trường hợp 2, và do đó ai là người có lỗi.

Cả Plasma và các kênh đều giải quyết được tình thế tiến thoái lưỡng nan của ngư dân bằng cách đẩy vấn đề cho người dùng: nếu bạn với tư cách là người dùng quyết định rằng một người dùng khác mà bạn đang tương tác (đối tác trong kênh trạng thái, nhà điều hành trong chuỗi Plasma) sẽ không xuất bản dữ liệu cho bạn rằng họ nên xuất bản, bạn có trách nhiệm thoát ra và chuyển sang một đối tác/nhà điều hành khác. Thực tế là bạn với tư cách là người dùng có tất cả Trước dữ liệu và dữ liệu về tất cả các giao dịch bạn đã ký, cho phép bạn chứng minh với chuỗi những tài sản bạn nắm giữ bên trong giao thức lớp 2 và do đó đưa chúng ra khỏi hệ thống một cách an toàn. Bạn chứng minh 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, không ai khác có thể chứng minh sự tồn tại của một hoạt động đã được bạn phê duyệt để gửi tài sản cho người khác, vì vậy bạn nhận được tài sản.

Kỹ thuật này rất tao nhã. Tuy nhiên, nó dựa trên một giả định chính: rằng mọi đối tượng trạng thái đều có “chủ sở hữu” hợp lý 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 đối với thanh toán dựa trên UTXO (chứ không phải thanh toán dựa trên tài khoản, nơi bạn có thể chỉnh sửa số dư của người khác trở lên không có sự đồng ý của họ; đây là lý do tại sao Plasma dựa trên tài khoản rất khó), và nó thậm chí có thể được tạo ra để hoạt động cho một sàn giao dịch phi tập trung, nhưng thuộc tính “quyền sở hữu” này không phải là phổ biến. Một số ứng dụng, vd. 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ể thực hiện các chỉnh sửa đối với đối tượng một cách hợp pháp. Và không có cách nào cho phép các bên thứ ba tùy ý thoát khỏi một nội dung mà không đưa ra khả năng bị tấn công từ chối dịch vụ (DoS), chính xác là vì người ta không thể chứng minh liệu nhà xuất bản hoặc người gửi có lỗi hay không.

Có những vấn đề khác đặc biệt đối với Plasma và các kênh riêng lẻ. Các kênh không cho phép giao dịch ngoài chuỗi đối với người dùng chưa là một phần của kênh (lập luận: giả sử tồn tại một cách gửi $1 cho một người dùng mới tùy ý từ bên trong kênh. Sau đó, kỹ thuật này có thể được sử dụng nhiều lần song song với gửi $1 cho nhiều người dùng hơn số tiền có trong hệ thống, điều này đã phá vỡ đảm bảo an ninh của hệ thống). 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ó thể được kết hợp với nhau (ví dụ: khi một tài sản được chuyển có điều kiện chuyển một tài sản khác, như xảy ra trong một sàn giao dịch phi tập trung với cơ chế sổ lệnh một giai đoạn ).

Bởi vì các kỹ thuật lớp 2 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 chúng không có điểm yếu nào trong số này. ZK và bản cập nhật lạc quan hết sức cẩn thận để đưa đủ dữ liệu vào chuỗi để cho phép người dùng tính toán trạng thái đầy đủ 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 thì một người mới có thể thay thế họ một cách tầm thường. Vấn đề duy nhất mà họ gặp phải là xác minh tính toán mà không thực hiện tính toán trên chuỗi, đây là một vấn đề dễ dàng hơn nhiều. Và mức tăng khả năng mở rộng là rất đáng kể: ~10 byte cho mỗi giao dịch trong Bản tổng hợp ZK và mức khả năng mở rộng tương tự có thể đạt được trong bản tổng hợp lạc quan bằng cách sử dụng tính năng tổng hợp BLS để tổng hợp chữ ký. Điều này tương ứng với mức tối đa theo lý thuyết là ~500 giao dịch mỗi giây hiện nay và hơn 2000 giao dịch sau Istanbul.


Nhưng nếu bạn muốn khả năng mở rộng nhiều hơn thì sao? Sau đó, có một nền tảng trung gian lớn giữa các giao thức lớp 2 dữ liệu trên chuỗi 2 và lớp 2 dữ liệu ngoài chuỗi, với nhiều phương pháp kết hợp mang lại cho bạn một số lợi ích của cả hai. Để đưa ra một ví dụ đơn giản, có thể ngăn chặn việc lưu trữ lịch sử trong một trao đổi phi tập trung được triển khai trên Plasma Cash bằng cách xuất bản ánh xạ về các đơn đặt hàng được khớp với các đơn đặt hàng nào (ít hơn 4 byte cho mỗi đơn hàng) trên chuỗi:



Bên trái: Dữ liệu lịch sử mà người dùng Plasma Cash cần lưu trữ nếu họ sở hữu 1 đồng xu. Tên đệm: Dữ liệu lịch sử mà người dùng Plasma Cash cần lưu trữ nếu họ sở hữu 1 đồng tiền đã được trao đổi với một đồng tiền khác bằng cách sử dụng hoán đổi nguyên tử. Đúng: Dữ liệu lịch sử mà người dùng Plasma Cash cần lưu trữ nếu khớp lệnh được xuất bản trên chuỗi.

Ngay cả bên ngoài bối cảnh trao đổi phi tập trung, lượng lịch sử mà người dùng cần lưu trữ trong Plasma có thể được giảm bớt bằng cách để chuỗi Plasma xuất bản định kỳ một số dữ liệu trên chuỗi của mỗi người dùng. Người ta cũng có thể tưởng tượng một nền tảng hoạt động giống như Plasma trong trường hợp một số trạng thái làm có một “chủ sở hữu” hợp lý và hoạt động như ZK hoặc tổng số lạc quan trong trường hợp không có. Các nhà phát triển plasma đã bắt đầu làm việc với các loại tối ưu hóa này.

Do đó, có một trường hợp mạnh mẽ được tạo ra cho các nhà phát triển giải pháp khả năng mở rộng lớp 2 để sẵn sàng xuất bản dữ liệu của mỗi người dùng trên chuỗi ít nhất một thời gian: nó làm tăng đáng kể tính dễ phát triển, tính tổng quát và bảo mật và giảm tải cho mỗi người dùng (ví dụ: không cần người dùng lưu trữ dữ liệu lịch sử). Thiệt hại về hiệu quả khi làm như vậy cũng bị cường điệu hóa: ngay cả trong kiến ​​trúc lớp 2 hoàn toàn ngoài chuỗi, việc người dùng gửi, rút ​​tiền và di chuyển giữa các đối tác và nhà cung cấp khác nhau sẽ là điều không thể tránh khỏi và xảy ra thường xuyên, do đó sẽ có một sự thay đổi đáng kể. lượng dữ liệu trên chuỗi của mỗi người dùng bất kể. Lộ trình kết hợp mở ra cơ hội triển khai tương đối nhanh chóng các hợp đồng thông minh kiểu Ethereum được tổng quát hóa hoàn toàn bên trong kiến ​​trúc gần như lớp 2.

Xem thêm:

Thanh Thuy

Leave a Reply

Your email address will not be published. Required fields are marked *