BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%
BNB
$710
3.05%
lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
Trang chủ
AI AI
Tin nhanh
Bài viết
Sự kiện
BlockBeats Pro
Thêm
Thông tin tài chính
Chuyên đề
Hệ sinh thái chuỗi khối
Mục nhập
Podcast
Data
OPRR

Bài viết mới của Vitalik: Plasma trở lại – lối thoát của các xác nhận EVM

Đọc bài viết này mất 33 phút
Vitalik lấy lại Plasma và đề xuất hướng khám phá mới về ZK+Plasma.
Tiêu đề gốc: "Thoát trò chơi dành cho các xác nhận EVM: sự trở lại của Plasma"
Tác giả gốc: Vitalik
Bản tổng hợp gốc: Luccy, BlockBeats

Ghi chú của người biên tập:
Các chủ đề trong lĩnh vực mã hóa đang nóng lên gần đây và bài viết của Vitalik đề cập đến Plasma đã trở thành một trọng tâm thảo luận khác trong cộng đồng. Trong bài viết, ông đã đề xuất cơ chế “thoát trò chơi” giống như sổ cái UTXO và hướng khám phá ZK+Plasma.

Plasma được đề xuất vào năm 2017, nhưng dần dần được thay thế bởi Rollups trong quá trình phát triển tiếp theo. Trong bài viết, Vitalik trình bày chi tiết cách Plasma hoạt động và cách phiên bản Plasma Cash kích hoạt tính toán và dữ liệu ngoài chuỗi bằng cách đặt từng mã thông báo độc lập dưới dạng mã thông báo không thể thay thế. Ông lưu ý rằng rủi ro chính của Plasma nằm ở hành vi sai trái của nhà điều hành, có thể bao gồm việc xuất bản các khối không hợp lệ hoặc không thể sử dụng được. Để giải quyết những rủi ro này, Plasma đã giới thiệu một cơ chế thoát, trong đó người thoát cung cấp các nhánh Merkle để chứng minh quyền sở hữu tài sản và những người tham gia khác có thể thách thức bằng chứng do người thoát cung cấp.

Về khả năng ứng dụng của Plasma đối với các token và NFT có thể hoán đổi cho nhau, cũng như vấn đề chống phân mảnh cho các token có thể hoán đổi cho nhau, Vitalik đã đề cập đến việc thiết kế lại hệ thống. Khả năng là xem xét phương pháp truyền thống Mô hình đầu ra giao dịch chưa chi tiêu (UTXO) và hai phương pháp triển khai được giới thiệu. Tuy nhiên, cả hai phương pháp đều gặp phải vấn đề chống phân mảnh cần được giải quyết. Dựa trên những hạn chế của Plasma trong EVM, Vitalik dự định đưa các bằng chứng hiệu quả vào Plasma.

Mặc dù Rollups vẫn là tiêu chuẩn vàng, Vitalik tin rằng Plasma là một lĩnh vực thiết kế bị đánh giá thấp và khuyến khích việc tái khám phá lĩnh vực thiết kế này trong tương lai để đưa ra những giải pháp hiệu quả hơn Được xây dựng để đơn giản hóa trải nghiệm của nhà phát triển và bảo vệ tiền của người dùng. BlockBeats biên dịch văn bản gốc như sau:


Đặc biệt cảm ơn Karl Floersch, Georgios Konstantopoulos và Martin Koppelmann vì những đóng góp của họ trong việc phản hồi, đánh giá và thảo luận.


Plasma là một nhóm giải pháp mở rộng quy mô chuỗi khối cho phép tất cả dữ liệu và tính toán bên ngoài tiền gửi, rút tiền và gốc Merkle được thực hiện ngoài chuỗi. Điều này mở ra khả năng đạt được khả năng mở rộng cực lớn mà không bị giới hạn bởi tính sẵn có của dữ liệu trên chuỗi. Plasma được đề xuất lần đầu tiên vào năm 2017 và đã trải qua nhiều lần lặp lại vào năm 2018, đáng chú ý nhất là Plasma nhỏ và di động, Plasma Cash, Plasma Cashflow và Plasma Prime. Tuy nhiên, Plasma đã được thay thế phần lớn bằng Rollups do những hạn chế cơ bản liên quan chủ yếu đến chi phí lưu trữ dữ liệu lớn phía khách hàng và Plasma gây khó khăn cho việc khái quát hóa các ứng dụng sẽ phải trả thêm chi phí cho độ phức tạp.


Sự xuất hiện của các bằng chứng hợp lệ (ZK-SNARK) cho chúng tôi lý do để xem xét lại quyết định này. Một trong những thách thức chính trong việc làm cho Plasma trở nên hữu ích cho thanh toán, lưu trữ dữ liệu phía khách hàng, có thể được giải quyết một cách hiệu quả thông qua bằng chứng về hiệu quả. Ngoài ra, bằng chứng hợp lệ cung cấp nhiều công cụ khác nhau cho phép chúng tôi tạo chuỗi Plasma để chạy Máy ảo Ethereum (EVM). Những đảm bảo về bảo mật của Plasma có thể không đến được với tất cả người dùng, vì những lý do cơ bản khiến các trò chơi thoát kiểu Plasma khó khái quát hóa cho nhiều ứng dụng phức tạp vẫn còn tồn tại. Tuy nhiên, trên thực tế, một tỷ lệ rất lớn tài sản vẫn có thể được bảo đảm.


Bài viết này mô tả cách tổ chức lại Plasma để đạt được mục tiêu này.


Tổng quan: Cách thức hoạt động của Plasma


Phiên bản dễ hiểu nhất của Plasma là Plasma Cash. Plasma Cash hoạt động bằng cách xử lý từng mã thông báo riêng lẻ như một NFT độc lập và theo dõi lịch sử riêng cho từng mã thông báo. Chuỗi Plasma có một người vận hành chịu trách nhiệm tạo và xuất bản các khối một cách thường xuyên. Các giao dịch trong mỗi khối được lưu trữ dưới dạng cây Merkle thưa thớt và nếu giao dịch chuyển quyền sở hữu mã thông báo k, nó sẽ xuất hiện ở vị trí thứ k trong cây. Khi người vận hành chuỗi Plasma tạo một khối mới, họ xuất bản gốc của cây Merkle lên chuỗi và trực tiếp gửi cho mỗi người dùng các nhánh Merkle tương ứng với các token mà người dùng sở hữu.


Giả sử đây là ba cây giao dịch cuối cùng trong chuỗi Plasma Cash và giả sử tất cả các cây giao dịch trước đó tất cả các cây đều hợp lệ và chúng tôi biết rằng Eve hiện sở hữu mã thông báo 1, David sở hữu mã thông báo 4 và George sở hữu mã thông báo 6.


Trong bất kỳ hệ thống Plasma nào, rủi ro chính là hành vi sai trái của người vận hành, xảy ra theo hai cách:


Xuất bản các khối không hợp lệ. Ví dụ: nhà điều hành bao gồm một giao dịch gửi Mã thông báo 1 cho Hermione mặc dù Fred không sở hữu nó tại thời điểm đó.

Xuất bản các khối không có sẵn. Ví dụ: người điều hành đã không gửi cho Bob các nhánh Merkle của một trong các khối của anh ta, khiến anh ta không thể chứng minh cho người khác rằng mã thông báo của anh ta vẫn hợp lệ và chưa được sử dụng.


Người dùng có trách nhiệm thoát ngay lập tức (cụ thể là trong vòng 7 ngày) nếu nhà điều hành có hành vi không phù hợp liên quan đến tài sản của người dùng. Khi người dùng ("người thoát") thoát, họ cung cấp chi nhánh Merkle để chứng minh việc chuyển mã thông báo đó từ chủ sở hữu trước đó sang giao dịch của họ. Điều này bắt đầu giai đoạn thử thách kéo dài bảy ngày, trong đó những người khác có thể thách thức việc rút lui thông qua bằng chứng Merkle về một trong ba điều sau:


Chủ sở hữu không hiện tại: Người tiếp theo giao dịch được ký bởi người thoát để chuyển mã thông báo của người thoát cho người khác.

Chi tiêu gấp đôi: Giao dịch chuyển mã thông báo từ chủ sở hữu trước sang người khác, bao gồm các giao dịch diễn ra trước giao dịch của người thoát.

Lịch sử không hợp lệ: Các giao dịch đã chuyển mã thông báo trong vòng 7 ngày qua mà không có chi tiêu tương ứng. Người thoát có thể phản hồi bằng cách đưa ra các khoản thanh toán tương ứng; nếu không, việc thoát sẽ thất bại.






Theo các quy tắc này, bất kỳ ai sở hữu token k cần xem tất cả các cây lịch sử ở vị trí k trong tuần qua. Các nhánh Merkle để đảm bảo rằng chúng thực sự sở hữu token k và có thể thoát ra. Họ cần lưu trữ tất cả các fork có chứa hoạt động chuyển giao tài sản để có thể đáp ứng các thách thức và thoát mã thông báo của họ một cách an toàn.


Tổng quát hóa cho các token có thể thay thế được


Thiết kế trên phù hợp với các token không thể thay thế được Coin ( NFT). Tuy nhiên, phổ biến hơn NFT là các token có thể thay thế được như ETH và USDC. Một cách để áp dụng Plasma Cash cho các token có thể thay thế được là chỉ cần đặt các mệnh giá nhỏ của mỗi token (ví dụ: 0,01 ETH) dưới dạng NFT riêng biệt. Tuy nhiên, nếu bạn làm điều này, chi phí gas thoát ra sẽ quá cao.


Một giải pháp là tối ưu hóa bằng cách xử lý nhiều mã thông báo liền kề dưới dạng một đơn vị duy nhất có thể được chuyển hoặc thoát cùng một lúc. Có hai cách để đạt được điều này:


Sử dụng Plasma Cash gần như bất biến nhưng sử dụng thuật toán nâng cao để tính toán nhanh cây Merkle cho số lượng đối tượng rất lớn , nếu Nhiều đối tượng liền kề giống hệt nhau, điều này không khó đạt được; bạn có thể xem cách triển khai Python tại đây.


Sử dụng Dòng tiền Plasma, đơn giản thể hiện nhiều mã thông báo liền kề dưới dạng một đối tượng.


Tuy nhiên, cả hai phương pháp đều gặp phải vấn đề phân mảnh: nếu bạn nhận được 0,001 ETH mỗi người từ hàng trăm người để mua cà phê, thì 0,001 ETH của bạn sẽ xuất hiện ở nhiều nơi. vị trí trong cây, do đó, việc thoát khỏi ETH đó thực sự vẫn sẽ yêu cầu phải thực hiện nhiều lần thoát riêng biệt, khiến phí gas trở nên quá cao. Mặc dù các giao thức chống phân mảnh đã được phát triển nhưng chúng có thể khó thực hiện.


Thay vào đó, chúng tôi có thể thiết kế lại hệ thống để xem xét mô hình "Đầu ra giao dịch chưa chi tiêu" (UTXO) truyền thống hơn. Khi bạn thoát mã thông báo, bạn cần cung cấp lịch sử tuần gần đây nhất của các mã thông báo đó và bất kỳ ai cũng có thể thách thức việc thoát của bạn bằng cách chứng minh rằng các mã thông báo lịch sử đó đã thoát.


0,2 ETH UTXO trong góc dưới bên phải Việc rút tiền có thể bị hủy bằng cách hiển thị việc rút bất kỳ UTXO nào trong lịch sử của nó (hiển thị bằng màu xanh lá cây). Đặc biệt lưu ý rằng UTXO ở giữa bên trái và UTXO ở phía dưới bên trái là tổ tiên, nhưng UTXO ở phía trên bên trái thì không. Cách tiếp cận này tương tự như ý tưởng tô màu theo thứ tự trong các giao thức mã thông báo màu vào khoảng năm 2013.


Có nhiều kỹ thuật khác nhau có thể được sử dụng để đạt được điều này. Trong mọi trường hợp, mục tiêu là theo dõi khái niệm “các mã thông báo giống nhau” trong các giai đoạn lịch sử khác nhau để ngăn chặn “các mã thông báo giống nhau” bị rút đi nhiều lần.


Những thách thức trong việc khái quát hóa EVM


Thật không may, việc khái quát hóa khái niệm này cho các Khu vực bên ngoài EVM là Khó hơn nhiều. Một thách thức chính là nhiều đối tượng trạng thái trong EVM không có "chủ sở hữu" rõ ràng. Tính bảo mật của Plasma phụ thuộc vào việc mỗi đối tượng có một chủ sở hữu, người chịu trách nhiệm giám sát và đảm bảo rằng dữ liệu của chuỗi luôn sẵn sàng và thoát khỏi đối tượng nếu có vấn đề xảy ra. Tuy nhiên, nhiều ứng dụng Ethereum không hoạt động theo cách này. Ví dụ: nhóm thanh khoản Uniswap không có một chủ sở hữu duy nhất.


Một thách thức khác là EVM không cố gắng hạn chế sự phụ thuộc. Trong khối N-1, ETH được giữ trong tài khoản A có thể đến từ bất kỳ đâu trong N. Để thoát khỏi trạng thái nhất quán, chuỗi EVM Plasma yêu cầu trò chơi thoát và trong trường hợp nghiêm trọng, ai đó muốn thoát bằng cách sử dụng thông tin từ khối N có thể phải trả phí để xuất bản toàn bộ trạng thái của khối N trên chuỗi: điều này sẽ dẫn đến tốn hàng triệu đô la chi phí gas. Sơ đồ Plasma dựa trên UTXO không gặp phải vấn đề này: mọi người dùng đều có thể rút tài sản của mình khỏi khối mới nhất mà họ có dữ liệu.


Thách thức thứ ba là sự phụ thuộc không hạn chế vào EVM khiến việc đạt được các khuyến khích nhất quán để chứng minh tính hợp lệ trở nên khó khăn hơn. Hiệu lực của bất kỳ trạng thái nào đều phụ thuộc vào mọi thứ khác, vì vậy việc chứng minh bất kỳ điều gì cũng đòi hỏi phải chứng minh mọi thứ. Việc giải quyết các lỗi trong tình huống này thường không duy trì được khả năng tương thích khuyến khích do vấn đề về tính sẵn có của dữ liệu. Một vấn đề đặc biệt khó chịu là chúng tôi mất đi sự đảm bảo tồn tại trong các hệ thống dựa trên UTXO rằng trạng thái của một đối tượng sẽ không thay đổi nếu không có sự đồng ý của chủ sở hữu. Sự đảm bảo này cực kỳ hữu ích vì nó có nghĩa là chủ sở hữu luôn biết trạng thái có thể chứng minh mới nhất của tài sản của họ và đơn giản hóa quá trình thoát ra. Nếu không có sự đảm bảo này, việc tạo ra các trò chơi thoát sẽ trở nên khó khăn hơn.


Làm thế nào để chứng minh một cách hiệu quả cách giải quyết những vấn đề này


Tính hiệu quả của bằng chứng là quan trọng để cải thiện thiết kế chuỗi Plasma Điều cơ bản nhất là chứng minh tính hợp lệ của từng khối Plasma trên chuỗi. Điều này giúp đơn giản hóa rất nhiều không gian thiết kế: nó có nghĩa là điều duy nhất chúng ta cần lo lắng là các cuộc tấn công khối không có sẵn vào người vận hành chứ không phải các khối không hợp lệ. Lấy Plasma Cash làm ví dụ, loại bỏ mối lo ngại về những thách thức lịch sử. Điều này giúp giảm số lượng trạng thái mà người dùng cần tải xuống từ một nhánh trên mỗi khối trong tuần gần đây nhất xuống còn một nhánh trên mỗi nội dung.


Ngoài ra, việc rút tiền ở trạng thái mới nhất (trong hầu hết các trường hợp người điều hành trung thực, tất cả các lần rút tiền sẽ từ trạng thái mới nhất) không được bảo vệ bởi tổ chức phi chính phủ. - thách thức của chủ sở hữu mới nhất, vì vậy trong chuỗi Plasma đã được xác minh, việc trích xuất như vậy sẽ không bị ảnh hưởng bởi bất kỳ thử thách nào. Điều này có nghĩa là trong những trường hợp bình thường, việc trích xuất có thể diễn ra ngay lập tức!


Mở rộng sang EVM: Đồ thị UTXO song song


Trong trường hợp EVM, bằng chứng hợp lệ vẫn cho phép chúng tôi làm điều gì đó thông minh: chúng có thể được sử dụng để triển khai các biểu đồ UTXO song song cho mã thông báo ETH và ERC20 cũng như bằng chứng SNARK tương đương giữa biểu đồ UTXO và trạng thái EVM. Khi đạt được điều này, bạn có thể triển khai hệ thống Plasma "thông thường" trên biểu đồ UTXO.



Điều này cho phép chúng tôi tránh được nhiều vấn đề phức tạp về tình dục EVM. Ví dụ: trong hệ thống dựa trên tài khoản, việc ai đó có thể chỉnh sửa tài khoản của bạn (bằng cách gửi mã thông báo và tăng số dư) mà không cần sự đồng ý của bạn không thành vấn đề vì cấu trúc Plasma không được xây dựng trên chính trạng thái EVM mà được xây dựng ở trạng thái UTXO song song với EVM và mọi mã thông báo bạn nhận được sẽ là các đối tượng riêng biệt.


Mở rộng sang EVM: thoát hoàn toàn trạng thái


Một số giải pháp đơn giản hơn đã được đề xuất để tạo một "Plasma EVM", chẳng hạn như Plasma Free và bài viết này từ năm 2019. Trong những trường hợp này, bất kỳ ai cũng có thể gửi tin nhắn trên L1, buộc nhà điều hành phải đưa vào một giao dịch hoặc cung cấp một nhánh cụ thể của tiểu bang. Nếu người vận hành không thực hiện được điều này, chuỗi sẽ bắt đầu quay lại các khối. Ngay sau khi ai đó xuất bản một bản sao hoàn chỉnh, tức là toàn bộ trạng thái hoặc ít nhất là tất cả dữ liệu mà người dùng đã đánh dấu là có khả năng bị mất, chuỗi sẽ ngừng quay trở lại. Việc khai thác có thể yêu cầu đăng một khoản tiền thưởng sẽ trả phần chi phí gas cho người dùng đó khi ai đó đăng một lượng lớn dữ liệu như vậy.


Hạn chế của các kế hoạch như vậy là chúng không cho phép khai thác ngay lập tức trong các trường hợp thông thường, vì luôn có khả năng chuỗi sẽ cần phải được khôi phục lại trạng thái ban đầu. trạng thái mới nhất.


Hạn chế của giải pháp EVM Plasma


Loại giải pháp này rất mạnh mẽ nhưng nó không thể được sử dụng bởi tất cả Người dùng được cung cấp bảo đảm an ninh hoàn chỉnh. Tình huống mà chúng có vấn đề rõ ràng nhất là khi một đối tượng nhà nước cụ thể không có “chủ sở hữu” kinh tế rõ ràng.


Hãy xem xét trường hợp Vị trí nợ được thế chấp (CDP), là một hợp đồng thông minh trong đó mã thông báo của người dùng bị khóa và chỉ có thể được đổi sau khi người dùng hoàn trả số tiền đó. được giải phóng nợ. Giả sử người dùng có 1 ETH bị khóa trong CDP (khoảng 2.000 đô la vào thời điểm viết bài này) và có khoản nợ 1.000 DAI. Hiện tại, chuỗi Plasma đã ngừng xuất bản các khối và người dùng từ chối thoát. Giờ đây, người dùng có tùy chọn miễn phí: họ có thể rời khỏi CDP nếu giá ETH giảm xuống dưới 1.000 USD và cuối cùng rút tiền nếu giá ETH vẫn ở trên. Nhìn chung, những người dùng độc hại như thế này có thể kiếm tiền từ nó.


Một ví dụ khác là các hệ thống bảo mật như Tornado Cash hoặc Privacy Pools. Hãy xem xét một hệ thống bảo mật với năm người gửi tiền:



Các hệ thống có thể chứng minh được kiến thức bằng không (ZK-SNARK) trong các hệ thống bảo mật sẽ bước vào thế hệ của hệ thống. kết nối giữa chủ sở hữu đồng xu và chủ sở hữu mã thông báo rời khỏi hệ thống vẫn bị ẩn.


Giả sử chỉ có người dùng màu cam mới trích xuất, lúc này nhà điều hành chuỗi Plasma sẽ ngừng xuất bản dữ liệu. Cũng giả sử chúng ta áp dụng cách tiếp cận biểu đồ UTXO, sử dụng quy tắc nhập trước xuất trước để mỗi mã thông báo khớp với mã thông báo bên dưới. Sau đó, người dùng Orange có thể rút các mã thông báo được trộn trước và sau khi trộn, hệ thống coi chúng là hai mã thông báo riêng biệt. Nếu người dùng màu xanh lam cố gắng rút mã thông báo trộn sẵn của họ, trạng thái mới nhất của người dùng màu cam sẽ ghi đè lên nó; đồng thời, người dùng màu xanh lam sẽ không thể rút mã thông báo trộn sẵn của họ.


Vấn đề này có thể được giải quyết nếu bốn người gửi tiền còn lại được phép rút chính hợp đồng bảo mật (sẽ ghi đè lên khoản tiền gửi) và sau đó rút mã thông báo trên L1. Tuy nhiên, việc thực sự triển khai một cơ chế như vậy đòi hỏi nỗ lực bổ sung từ phía các nhà phát triển hệ thống bảo mật.


Có các cách tiếp cận khác đối với các vấn đề về quyền riêng tư, chẳng hạn như cách tiếp cận Intmax, bao gồm việc sử dụng toán tử giống Plasma trên chuỗi hoạt động giữa những người dùng cá nhân. Một số byte được mang theo khi truyền thông tin.


Các vị trí Uniswap LP có một vấn đề tương tự: nếu bạn đổi USDC lấy ETH ở vị thế Uniswap, bạn có thể thử rút USDC trước giao dịch và sau giao dịch ETH. Nếu có sự thông đồng với các nhà khai thác chuỗi Plasma, nhà cung cấp thanh khoản và những người dùng khác sẽ không thể truy cập trạng thái sau giao dịch, do đó họ sẽ không thể rút USDC sau giao dịch. Logic đặc biệt là cần thiết để ngăn chặn điều này xảy ra.


Kết luận


Vào năm 2023, Plasma vẫn là một lĩnh vực thiết kế bị đánh giá thấp. Rollup vẫn là tiêu chuẩn vàng và mang lại hiệu quả an toàn chưa từng có. Từ góc độ nhà phát triển và đặc biệt là từ góc độ đơn giản hóa các nhà phát triển ứng dụng khỏi việc phải suy nghĩ về biểu đồ quyền sở hữu và các luồng khuyến khích trong ứng dụng của họ, không gì có thể sánh được với sự đơn giản của nó.


Tuy nhiên, Plasma cho phép chúng tôi loại bỏ hoàn toàn vấn đề về tính khả dụng của dữ liệu và giảm đáng kể phí giao dịch. Plasma có thể là một bản nâng cấp bảo mật quan trọng cho một chuỗi mà lẽ ra có thể hợp lệ. Năm nay ZK-EVM cuối cùng cũng bắt đầu thành hiện thực, tạo cơ hội tuyệt vời để khám phá lại lĩnh vực thiết kế này nhằm đưa ra những ý tưởng hiệu quả hơn giúp đơn giản hóa trải nghiệm của nhà phát triển và bảo vệ tiền của người dùng.


「Liên kết gốc"


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

24HBài viết phổ biến
Tải BlockBeats
home-down-code
Chọn thư viện
Thêm mới thư viện
Hủy
Hoàn thành
Thêm mới thư viện
Chỉ mình tôi có thể nhìn thấy
Công khai
Lưu
Báo lỗi/Báo cáo
Gửi