Cảnh báo rủi ro: Đề phòng huy động vốn bất hợp pháp dưới danh nghĩa 'tiền điện tử' và 'blockchain'. — Năm cơ quan bao gồm Ủy ban Giám sát Ngân hàng và Bảo hiểm
Tìm kiếm
Đăng nhập
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
Xem thị trường
Bài viết dài của Vitalik: EVM Validiums rút khỏi trò chơi và sự trở lại của Plasma
jk
Odaily资深作者
2023-11-15 00:06
Bài viết này có khoảng 3992 từ, đọc toàn bộ bài viết mất khoảng 6 phút
“Plasma cho phép chúng tôi bỏ qua 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.”

Biên dịch - Odaily

Tổ chức - jk

Đặ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 loại giải pháp mở rộng quy mô blockchain cho phép tất cả dữ liệu và tính toán (ngoại trừ tiền gửi, rút ​​tiền và gốc Merkle) vẫn ở ngoài chuỗi. Điều này mở ra cơ hội cho khả năng mở rộng quy mô 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 lần đầu tiên được đề xuất vào năm 2017 và đã trải qua nhiều lần lặp lại vào năm 2018, đáng chú ý là Plasma khả thi tối thiểu, Tiền mặt plasma, Dòng tiền plasma và Plasma Prime. Thật không may, Plasma đã được thay thế phần lớn bằng các bản tổng hợp do (i) chi phí lưu trữ dữ liệu phía khách hàng đáng kể và (ii) những hạn chế cơ bản của Plasma gây khó khăn cho việc khái quát hóa các ứng dụng ngoài khả năng thanh toán.

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

Dưới đây, tôi sẽ mô tả chi tiết cách Plasma đạt được điề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 nhà điều hành chịu trách nhiệm sản xuất và xuất bản các khối 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: 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í 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 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ì vậy, giả sử tất cả các cây trước đó đều hợp lệ, chúng ta 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.

Rủi ro chính trong bất kỳ hệ thống Plasma nào là hành vi sai trái của người vận hành. Điều này có thể xảy ra theo hai cách:

1. Xuất bản khối không hợp lệ (ví dụ: nhà điều hành bao gồm giao dịch chuyển mã thông báo 1 từ Fred sang Hermione, mặc dù Fred không sở hữu mã thông báo tại thời điểm đó);

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

Nếu hành động của Nhà điều hành có liên quan đến tài sản của Người dùng thì Người dùng có nghĩa vụ thoát ngay lập tức (cụ thể là trong vòng 7 ngày). Khi người dùng (người thoát) thoát ra, họ cung cấp chi nhánh Merkle chứng minh sự bao gồm của giao dịch đã chuyển mã thông báo đó cho họ từ chủ sở hữu trước đó. Điều này bắt đầu một 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 tiền bằng cách cung cấp một trong ba chứng nhận của Merkel:

1. Chủ sở hữu không phải là chủ sở hữu mới nhất: Giao dịch tiếp theo được ký bởi người thoát sẽ chuyển mã thông báo của người thoát cho người khác;

2. 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 được bao gồm trước giao dịch chuyển mã thông báo cho người rút tiền;

3. Lịch sử không hợp lệ: Các giao dịch chuyển token trong vòng 7 ngày qua mà không có chi phí tương ứng. Người thoát có thể phản hồi bằng cách cung cấp khoản chi tiêu tương ứng; nếu họ không làm như vậy, 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 nhánh Merkle ở vị trí k trong tất cả các cây lịch sử trong tuần qua để đảm bảo rằng họ thực sự sở hữu token k và có thể thoát khỏi nó. 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ể xử lý các thách thức và thoát mã thông báo của mình một cách an toàn.

Mở rộng sang các token có thể thay thế được

Thiết kế trên áp dụng cho các mã thông báo không thể thay thế (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ế là xử lý từng token có mệnh giá nhỏ (ví dụ: 0,01 ETH) dưới dạng NFT riêng biệt. Thật không may, nếu chúng tôi làm điều này, hóa đơn xăng dầu khi xuất cảnh 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ề như một đơn vị có thể được chuyển hoặc thoát cùng một lúc. Có hai cách để làm điều này:

1. Sử dụng Plasma Cash gần như nguyên trạng nhưng sử dụng thuật toán phức tạp để tính toán rất nhanh cây Merkle cho một số lượng lớn đối tượng, nếu nhiều đối tượng liền kề giống hệt nhau. Điều này đáng ngạc nhiên là không khó thực hiện; bạn có thể xem cách triển khai Python tại đây.

2. Sử dụng Dòng tiền Plasma, biểu thị đơn giả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 cách tiếp cận đề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ê, bạn sẽ có 0,001 ETH ở nhiều nơi trên cây, vì vậy thực tế việc rút số ETH đó vẫn cần một cam kết Nhiều lối thoát riêng biệt, khiến chi phí gas quá cao. Các giao thức chống phân mảnh đã được phát triển nhưng rất khó thực hiện.

Một cách tiếp cận khác là thiết kế lại hệ thống để xem xét mô hình “đầu ra giao dịch chưa được 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ử này đã thoát.

Việc rút 0,2 ETH UTXO ở phía dưới bên phải 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ó, như thể hiện bằng màu xanh lục trong hình. Đặc biệt lưu ý rằng UTXO ở giữa bên trái và dưới cùng bên trái là tổ tiên, nhưng UTXO ở trên cùng 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ự được tìm thấy trong các giao thức mã thông báo màu vào khoảng năm 2013.

Có một số kỹ thuật để đạt được điều này. Trong mọi trường hợp, mục tiêu là theo dõi một số khái niệm về cùng một đồng tiền tại các thời điểm khác nhau trong lịch sử để ngăn cùng một đồng tiền bị rút hai lần.

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

Thật không may, việc khái quát hóa điều này cho EVM ngoài các khoản thanh toán còn khó khăn 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 tính sẵn có của dữ liệu trên chuỗi và thoát khỏi đối tượng nếu có vấn đề phát sinh. 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, ETH được giữ trong tài khoản A có thể đến từ bất kỳ đâu trong khối N-1. Để thoát khỏi trạng thái nhất quán, chuỗi EVM Plasma sẽ cần phải có 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 của khối N có thể phải trả phí để xuất bản toàn bộ trạng thái khối N lên chuỗi: chi phí lên tới hàng triệu USD. 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 vô hạn vào EVM khiến việc có được những động lực nhất quán để chứng minh tính hiệu quả trở nên khó khă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ứ. Trong trường hợp này, thường không thể làm cho việc giải quyết lỗi tương thích với các biện pháp 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 có trong các hệ thống dựa trên UTXO rằng trạng thái của một đối tượng không thể thay đổi nếu không có sự đồng ý của chủ sở hữu nó. 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. Không có nó, việc tạo ra các trò chơi thoát trở nên khó khăn hơn nhiều.

Hiệu quả chứng tỏ làm thế nào để giảm thiểu những vấn đề này

Chức năng cơ bản nhất của bằng chứng hợp lệ 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à chúng ta chỉ cần lo lắng về các cuộc tấn công khối không sử dụng được của người vận hành chứ không phải các khối không hợp lệ. Ví dụ, trong Plasma Cash, nó loại bỏ những lo ngại về những thách thức lịch sử. Điều này làm 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 cho mỗi khối trong tuần qua xuống còn một cho mỗi nội dung.

Hơn nữa, việc rút tiền từ trạng thái mới nhất (trong trường hợp thông thường là nhà điều hành trung thực, tất cả các lần rút tiền sẽ được thực hiện từ trạng thái mới nhất) sẽ không bị thách thức bởi chủ sở hữu không phải là chủ sở hữu mới nhất, vì vậy trong chuỗi Plasma có bằng chứng hợp lệ, việc rút tiền đó sẽ không bị thách thức. hoàn toàn có thể bị thử thách bởi bất cứ điều gì. điều này có nghĩa là,Trong trường hợp bình thường, việc rút tiền có thể được thực hiện 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ệ cũng cho phép chúng tôi thực hiện một số điều thông minh: chúng có thể được sử dụng để triển khai biểu đồ UTXO song song cho mã thông báo ETH và ERC 20, đồng thời chứng minh sự tương đương giữa biểu đồ UTXO và trạng thái EVM bằng SNARK. Khi đã có đượ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 bỏ qua nhiều điểm phức tạp của EVM. Ví dụ: trong hệ thống dựa trên tài khoản, ai đó có thể chỉnh sửa tài khoản của bạn mà không có sự đồng ý của bạn (bằng cách gửi mã thông báo cho bạn, do đó làm tăng số dư của tài khoản), điều này không thành vấn đề vì Plasma không được xây dựng ở trạng thái EVM. Trên trạng thái UTXO trong song song với EVM, mọi mã thông báo bạn nhận được sẽ là đối tượng độc lập.

Mở rộng sang EVM: Thoát với trạng thái đầy đủ

Đã có những giải pháp đơn giản hơn được đề xuất để tạo ra Plasma EVM, chẳng hạn như Plasma Free, và trước đó là bài viết năm 2019 này. 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 tiểu bang cụ thể. 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 hoàn nguyên các khối. Chuỗi sẽ dừng quay lại khi ai đó xuất bản bản sao hoàn chỉnh của toàn bộ trạng thái hoặc ít nhất là tất cả dữ liệu mà người dùng gắn cờ là có thể bị thiếu. Việc rút tiền có thể yêu cầu đăng một khoản tiền thưởng, khoản tiền thưởng này sẽ trả cho ai đó một khoản phí gas cho một chia sẻ của người dùng khi đăng một lượng lớn dữ liệu như vậy.

Một điểm yếu của các kế hoạch như thế này là chúng không cho phép rút tiền ngay lập tức trong các trường hợp thông thường, vì luôn có khả năng cần phải khôi phục trạng thái mới nhất.

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

Giải pháp như vậy rất mạnh mẽ nhưng không thể cung cấp sự đảm bảo an ninh hoàn chỉnh cho tất cả người dùng.Trường hợp thất bại rõ ràng nhất của họ là trường hợp 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 của CDP (Vị trí nợ được thế chấp), một hợp đồng thông minh trong đó người dùng khóa các mã thông báo chỉ có thể được giải phóng sau khi người dùng trả nợ. Giả sử người dùng có 1 ETH bị khóa trong CDP (khoảng 2.000 USD tại thời điểm viết bài) 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. Người dùng không bao giờ có thể thoát ra được. Giờ đây, người dùng có một tùy chọn miễn phí: Nếu giá ETH giảm xuống dưới 1.000 USD, họ sẽ từ bỏ CDP và nếu giá ETH vẫn trên 1.000 USD, cuối cùng họ sẽ yêu cầu điều đó. Trung bình, những người dùng độc hại như vậy kiếm tiền bằng cách này.

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:

ZK-SNARK trong hệ thống bảo mật giữ kết nối giữa chủ sở hữu mã thông báo vào hệ thống và chủ sở hữu mã thông báo rời khỏi hệ thống.

Giả sử chỉ có màu cam được trích xuất, lúc này người vận hành chuỗi Plasma sẽ ngừng xuất bản dữ liệu. Giả sử chúng ta sử dụng cách tiếp cận biểu đồ UTXO với 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 nó. Sau đó, Orange có thể rút các mã thông báo được trộn trước và sau khi trộn và hệ thống sẽ coi chúng là hai mã thông báo riêng biệt. Nếu Blue cố gắng rút các token đã trộn sẵn của họ, trạng thái cập nhật của Orange sẽ thay thế nó; đồng thời, Blue sẽ không có thông tin để rút các token đã trộn sẵn của họ.

Vấn đề này có thể được giải quyết nếu bạn cho phép bốn người gửi tiền khác rút hợp đồng bảo mật (sẽ thay thế 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 hiện một cơ chế như vậy trên thực tế đò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ó nhiều cách khác để giải quyết những lo ngại về quyền riêng tư, chẳng hạn như phương pháp Intmax, bao gồm việc đặt một vài byte trên chuỗi theo kiểu tổng hợp và toán tử giống như Plasma truyền thông tin giữa những người dùng cá nhân.

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

Tóm lại là

Ngay cả ở năm 2023, Plasma vẫn là một thiết kế bị đánh giá thấp. Bản tổng hợp vẫn là tiêu chuẩn vàng và có các thuộc tính an toàn vô song. Điều này đặc biệt đúng từ góc độ trải nghiệm của nhà phát triển: không có gì có thể đánh bại được sự đơn giản của việc các nhà phát triển ứng dụng thậm chí không cần 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ọ.

Tuy nhiên, Plasma cho phép chúng tôi bỏ qua 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 lớn cho các chuỗi mà lẽ ra chỉ là hợp lệ. ZK-EVM cuối cùng cũng sắp ra mắt trong năm nay, mang đến cho chúng tôi cơ hội hoàn hảo để khám phá lại không gian thiết kế này và tìm ra những cách hiệu quả hơn để xây dựng nhằm đơ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.


Vitalik
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký
https://t.me/Odaily_News
Tài khoản chính thức
https://twitter.com/OdailyChina