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
Partnered With:

Bộ sưu tập "Hiểu biết toàn diện về quy mô Ethereum: Plasma"

Đọc bài viết này mất 65 phút
Huyết tương là gì? Nguyên tắc của nó là gì và tình trạng nghiên cứu kỹ thuật hiện tại của nó là gì?

Nguyên văn là từ Unitimes, đọc hết văn bản mất khoảng 10 phút.

Chơi với Plasma (1): Bắt đầu với Zero Basics

Ethereum mở rộng là Một thách thức chưa từng có và Plasma là khung mở rộng Lớp 2 được thiết kế để cải thiện thông lượng giao dịch.

Huyết tương là gì? Nguyên tắc của nó là gì và tình trạng nghiên cứu kỹ thuật hiện tại của nó là gì?

Giới thiệu

Vào tháng 8 năm 2017, Vitalik Buterin và Joseph Poon đã phát hành sách trắng Plasma, cho thế giới thấy một giải pháp mới và đầy hứa hẹn. Giải pháp này nhằm mục đích tăng thông lượng của các giao dịch tiền điện tử và giải quyết vấn đề tắc nghẽn đã gây khó khăn cho người dùng trong một thời gian dài. Dường như chỉ sau một đêm, Plasma đã trở thành khung mở rộng Lớp 2 phổ biến nhất trong hệ sinh thái Ethereum. Cuối cùng, Plasma về cơ bản đã trở thành một trò đùa.

Tất nhiên, đây vẫn là một mảnh Những thứ rất hay và rất thú vị. Thật không may, sự phát triển với tốc độ nhanh chóng của Plasma và sự phức tạp về mặt kỹ thuật của nó khiến những người không trực tiếp tham gia nghiên cứu và phát triển khó nắm bắt được những điều cần thiết của nó. Đối với những người tham gia bên ngoài, bạn có thể có nhiều câu hỏi hơn là câu trả lời cụ thể: Trên thực tế, chuỗi Plasma có những khả năng gì? Chúng ta phải đối mặt với những trở ngại gì trước khi có thể thấy Plasma được triển khai và hoạt động hiệu quả? Sự đánh đổi cho Plasma là gì? Làm thế nào nó hoạt động?

Phần một của loạt bài này sẽ bao gồm:

1. Plasma là nền tảng lý thuyết của công nghệ Lớp 2

2. Giới thiệu về phần bên trong của thông số kỹ thuật Plasma cụ thể đầu tiên "Plasma khả thi tối thiểu (MVP)" Giải thích về nguyên tắc làm việc

Tổng quan về nền: Lớp 2

Họ giao thức mà chúng tôi gọi là "Plasma" thực chất là một tập hợp con của các giải pháp Lớp 2 cho bộ vấn đề về khả năng mở rộng blockchain. “Vấn đề về khả năng mở rộng” ở đây đề cập đến vấn đề về khả năng giao dịch hạn chế mà các chuỗi khối công khai và không được phép phải đối mặt. Lớp 2 cố gắng khắc phục nút cổ chai này bằng cách cho phép hoàn tất các giao dịch (cụ thể nhất định) mà không cần phải chạm vào chính blockchain.

Nếu muốn, bạn có thể A Giao dịch lớp 2 được coi là séc. Số tiền trong tài khoản séc này có thể được xác minh trực tiếp mà không cần phải gửi chúng vào tài khoản ngân hàng của bạn. Séc như vậy có thể được xử lý một cách hiệu quả dưới dạng tiền giấy và được giao trực tiếp cho bên khác dưới dạng thanh toán - miễn là bên tiếp theo nhận séc cũng có khả năng tự xác minh tính hợp lệ của số tiền trong tài khoản.

Mô hình chung của hệ thống Lớp 2 là: lúc đầu, một lượng tiền nhất định sẽ bị khóa trên lớp cơ bản của chuỗi khối (được coi là Ethereum, bên dưới cũng vậy). Ngay sau đó, các bên khác (không nhất thiết phải là bên đã gửi tiền) có thể sử dụng số tiền bị khóa để thực hiện các giao dịch ngoài chuỗi thông qua hệ thống lớp trên và chỉ thỉnh thoảng tương tác với chuỗi chính (nếu có). Bất cứ lúc nào, chủ sở hữu của bất kỳ số vốn nào cũng có thể rút tất cả số tiền họ có.

Đặc tính xác định giúp phân biệt Lớp 2 (như chúng tôi đang sử dụng thuật ngữ đó) với các hệ thống thanh toán ngoài chuỗi khác là, mặc dù tránh được nhu cầu tương tác lớp cơ sở liên tục, các giao dịch Lớp 2 vẫn giữ được những gì chúng tôi mong đợi từ Phi tập trung Lớp 1 và đảm bảo an ninh không đáng tin cậy. Bằng cách giữ đúng khóa riêng cá nhân của bạn và chạy phần mềm cần thiết, bạn có thể đảm bảo rằng cho dù đối tác có làm điều xấu hay không, tiền cá nhân của bạn sẽ luôn được giữ trong tay bạn và nó sẽ an toàn trên chuỗi chính - " đối tác" ở đây Có thể là một cá nhân, một tổ chức, một cơ chế đồng thuận hoặc bất kỳ yếu tố nào khác nằm ngoài tầm kiểm soát của bạn. Ngay cả trong một "Truman Show" đầy âm mưu, đầy ác mộng, nơi tất cả những người dùng khác trong toàn bộ hệ thống đang bí mật âm mưu cố gắng đánh cắp tiền của bạn, họ sẽ thất bại.

Tại sao công nghệ này được gọi là Plasma?

Trong vài năm phát triển Lớp 2 vừa qua, một phương pháp phân loại đã dần xuất hiện. Chúng tôi khéo léo chia cơ chế Lớp 2 thành hai loại theo phương pháp phân loại này: "Plasma" và "công nghệ kênh" (chẳng hạn như "kênh trạng thái" hoặc "kênh thanh toán").

Cách đầu tiên để phân biệt giữa hai loại này là đánh giá chúng theo số lượng giao dịch trên chuỗi tối thiểu được yêu cầu: trong công nghệ kênh, việc hoàn tất các giao dịch kênh không yêu cầu bất kỳ tương tác nào với chuỗi chính ; Đối với các giao dịch Plasma nó phải tương tác với chuỗi chính một lần (được phát bởi người vận hành Plasma chứ không phải người dùng, phần này sẽ được giới thiệu bên dưới).

Plasma Lý do tại sao Plasma được định nghĩa là giải pháp Lớp 2 khả năng mở rộng (mặc dù cần phải có các giao dịch trên chuỗi thông thường) là vì trong Plasma mọi giao dịch  ;Lớp 1  Giao dịch có thể hoàn thành nhiều giao dịch một cách hiệu quả trong một lần. Bạn có thể tưởng tượng việc nén một loạt giao dịch Lớp 2 thành một giao dịch. Tuy nhiên, đây dường như là một phiên bản khuếch đại của công nghệ kênh. Không cần xác nhận khối trên chuỗi có nghĩa là (gần như) tính hữu hạn ngay lập tức và càng ít tương tác trên chuỗi càng tốt nói chung là một điều tốt.

Mặt khác, công nghệ kênh yêu cầu tất cả những người tham gia kênh phải hoàn toàn đồng ý về mọi cập nhật trạng thái trên toàn kênh, điều đó có nghĩa là rất khó triển khai một kênh duy nhất có nhiều bên trên thực tế. Khi cần thực hiện giao dịch với bên không chung kênh với mình, bạn cần “chuyển tiếp” giao dịch thông qua đối tác kênh của mình. Vì vậy, hoạt động tài chính của bạn sẽ bị giới hạn ở những người có thể tìm ra đường dẫn thanh khoản tương ứng thông qua sơ đồ mạng lưới kênh.

Tuy nhiên, trong Plasma chỉ người gửi giao dịch mới cần cho biết họ có đồng ý hay không. Ngoài ra, tất cả các bên liên quan không cần phải khóa/hạn chế thanh khoản để tham gia, thoát ra và giao dịch tự do (hóa ra "ai cần đồng ý cập nhật trạng thái" cũng là một cách tương đương để phân biệt giữa "Công nghệ kênh" và "Plasma") .

Do đó, từ góc nhìn một chiều, chúng tôi có thể nói rằng công nghệ kênh phù hợp hơn với các ứng dụng dựa vào tính năng hoàn thiện tức thì và có một nhóm người tham gia tương đối cố định sẽ tương tác, trong khi  Plasma  ; phù hợp hơn Trong các tình huống liên quan đến nhiều bên, thông lượng giao dịch cao được nhấn mạnh và tầm quan trọng của việc quyết toán ngay lập tức là tương đối thấp.

Plasma khả thi tối thiểu

Mặc dù sách trắng ban đầu chỉ giới thiệu khái niệm tổng thể về Plasma nhưng triết lý của nó rất rộng và đầy tham vọng (và thành thật mà nói, cực kỳ lâu dài). Một số ý tưởng được đề cập trong sách trắng—chẳng hạn như cây chuỗi Plasma lồng nhau—vẫn nằm ngoài phạm vi nghiên cứu Plasma hiện tại và thậm chí có thể không thực hiện được.

Vì vậy, bước quan trọng đầu tiên để có được mã hoạt động thực tế là thông số kỹ thuật được gọi là Huyết tương khả thi tối thiểu (MVP). Tối thiểu Viable Plasma, như tên cho thấy, nhằm mục đích lọc ra tất cả các tính năng huyền ảo và tinh chỉnh mọi thứ thành cách triển khai khả thi đơn giản nhất. “Khả thi” ở đây có nghĩa là nó chỉ cần đáp ứng các yêu cầu cơ bản của hệ thống Plasma lớp 2 được xác định ở trên và chỉ có chức năng tối thiểu, tức là một tài sản có thể thay thế được từ A đến B (được cho là Ethereum, nhưng đối với những người khác thì đó là cũng khả thi đối với các mã thông báo tuân thủ tiêu chuẩn ERC20).

Như chúng tôi đã đề cập trước đây, thuộc tính chính của Plasma là nhiều giao dịch được nén và hoàn tất và chỉ một giao dịch tương tác với chuỗi chính. Trong MVP, việc "nén" được thực hiện thông qua cây Merkle: các giao dịch được nhóm lại với nhau và được Merkleized để lấy gốc, tuy nhiên gốc này được đặt ở Lớp 1. Bản thân giao dịch tuân theo mô hình UTXO kiểu Bitcoin. Nghĩa là, một giao dịch sử dụng các đầu vào mà người gửi chứng minh quyền sở hữu của nó và tạo ra các đầu ra bị ảnh hưởng bởi địa chỉ công khai của chủ sở hữu mới. Điều đó có nghĩa là: bản thân chuỗi Plasma đã là một chuỗi khối! Bằng cách sử dụng dữ liệu khối Plasma ngoài chuỗi cần thiết và dữ liệu gốc Merkle trên chuỗi, người dùng có thể xác minh các quyền hợp pháp của mình và dựa vào các hợp đồng thông minh trên chuỗi của Ethereum để thực thi các quy tắc và giải quyết mọi tranh chấp.

Chúng tôi sẽ đề cập đến thực thể chịu trách nhiệm thực hiện quy trình trên (tức là Hợp nhất các giao dịch, phát sóng gốc và chia sẻ dữ liệu với người dùng) - "người tạo khối" Plasma - với tư cách là Người vận hành Plasma. Điều đáng chú ý là bản thân cơ chế Plasma hoàn toàn không biết đến sự tồn tại của người vận hành: nó có thể là một thực thể “tập trung” duy nhất, một chuỗi bên của tập đoàn và một hệ thống chứng nhận khối dựa trên bằng chứng về vốn chủ sở hữu, v.v. Mục tiêu cơ bản của cấu trúc Plasma là tất cả hoạt động quản lý quỹ đều không yêu cầu quyền giám sát. Và trong quá trình triển khai Plasma, yếu tố này sẽ được giữ nguyên bất kể ai chịu trách nhiệm tạo khối. Một cơ chế "phi tập trung" hơn có thể mang lại những lợi ích khác liên quan đến hệ thống ngang hàng phân tán, chẳng hạn như khả năng chống kiểm duyệt, khả năng chịu lỗi, v.v. - nhưng bản chất không ký quỹ sẽ không thay đổi. Do đó, để đơn giản, chúng ta có thể giả định rằng toán tử chỉ là một thực thể riêng biệt để rút ra cơ chế Plasma rõ ràng hơn.

Đầu tiên, Alice  gửi ether vào Plasma chuỗi bằng cách gửi giao dịch Ethereum trên chuỗi tới hợp đồng và nhà điều hành đưa giao dịch đó vào khối Plasma zone. Những đồng Ether này ban đầu thuộc về Alice dưới dạng UTXO. Như thường lệ, Alice muốn trả tiền cho Bob (Cần lưu ý rằng Bob không nhất thiết phải gửi tiền trên chuỗi. Có thể anh ấy sẽ không bao giờ cần gửi tiền trên chuỗi.) Để làm điều này, cô ấy tạo một khoản thanh toán có chi phí ;UTXO của cô ấy, và tạo giao dịchUTXO mới cho Bob và gửi giao dịch này tới nhà điều hành Plasma. Người điều hành kết hợp giao dịch này với các giao dịch khác (có thể không liên quan) thành khối Plasma, "Merkleize" chúng để lấy gốc Merkle, sau đó (và chỉ) gửi gốc này đến chuỗi chính.

Sau đó, nhà điều hành sẽ gửi khối Plasma này tới tất cả người dùng (bao gồm Alice và Bob). Sau khi nhận được khối mới nhất, Alice và Bob mỗi người sẽ xác minh nó. Quá trình xác minh này được thiết kế để đảm bảo rằng bản thân giao dịch là hợp lệ và khối tương ứng với gốc Merkle trên blockchain. Nếu mọi việc suôn sẻ, Alice, Bob và những người dùng khác có thể tiếp tục sống hạnh phúc mãi mãi.

Tuy nhiên, nếu tại thời điểm này Alice cảm thấy rằng cô ấy đã chán công việc kinh doanh Plasma điên rồ này - và cô ấy muốn rút tiền về chuỗi Ethereum - cô ấy có thể làm như vậy bằng cách gửi một giao dịch trực tuyến tới bắt đầu "Yêu cầu rút tiền" (xin lưu ý: yêu cầu rút tiền này không cần sự cho phép của nhà điều hành). Trong giao dịch này, cô ấy cần bao gồm UTXO của chuỗi Plasma mà cô ấy muốn rút, cũng như số khối Plasma mà UTXO thuộc về và đường dẫn Merkle chứng minh quá trình đưa vào. Bây giờ, trước khi có thể nhận được tài trợ, cô ấy phải chờ một "giai đoạn tranh cãi" (giả sử là một tuần) trôi qua. Trong khoảng thời gian này, nếu những người dùng khác phát hiện lỗi yêu cầu thì những người dùng này có thể thách thức hành vi thoát của Alice.

Điều này có thể dẫn đến hai tình huống:

(1) Mọi người đều vui vẻ: mọi người tham gia đều trung thực.

Khi Alice bắt đầu thoát ra, những người dùng khác duyệt qua các bản sao chuỗi Plasma tương ứng của họ để kiểm tra và xác nhận rằng UTXO Alice thực sự vẫn thuộc về cô ấy. Họ cũng xác minh tính hợp lệ của tất cả các khối theo những cách khác. Người dùng Plasma giờ đây có thể yên tâm: Alice chỉ có thể rời đi bằng tiền của mình và tiền của những người dùng khác vẫn an toàn.

(2) Xúc phạm: Alice là người xấu

Bây giờ, chúng ta có thể thay thế đoạn kết của cảnh trước: Ý định rút lui của Alice "là đủ chính xác "", do đó ban đầu nó đã được hợp đồng thông minh chấp nhận. Nghĩa là, đó là một thỏa thuận hợp lệ và bà Merkel đã chứng minh rằng nó phù hợp với cội nguồn cũ của bà Merkel - nhưng thực chất đó là một sự chi tiêu gấp đôi. Điều này có nghĩa là Alice đang cố gắng thoát bằng cùng một UTXO mà cô ấy đã gửi cho Bob trước đó.

Nhưng không sao đâu! Bob (hoặc bất kỳ người dùng nào khác) có một tuần để hành động. Anh ta sẽ kiểm tra UTXO của Alice với bản sao chuỗi Plasma của anh ta và nhận thấy rằng đó là một khoản chi tiêu gấp đôi. Để chứng minh tội lỗi của Alice, anh ta đã nộp "giấy chứng nhận gian lận". Bằng chứng này bao gồm giao dịch cũ của UTXO mà Alice đã chi tiêu trước đó, cũng như bằng chứng Merkle cho thấy giao dịch chi tiêu đã được đưa vào khối Plasma. Vì Bob cung cấp bằng chứng mật mã cho thấy Alice đã tiêu tiền, Alice đã bị bắt quả tang và yêu cầu rút tiền của cô ấy đã bị hủy bỏ.

Giải thích về "Hình phạt"

Tại thời điểm này, chúng tôi có thể muốn trừng phạt thêm tội ác của Alice theo một cách nào đó: Lý tưởng nhất là cô ấy nên loại bỏ loại hành vi này ngay từ trong trứng nước bằng cách tạo ra một mối đe dọa đáng tin cậy sẽ mang lại cho cô ấy những tổn thất lớn hơn. Những cơ chế phạt này là điển hình trong cấu trúc kênh. Ví dụ: trong kênh thanh toán Poon-Dryja (cấu trúc kênh thanh toán hiện được sử dụng trong Lightning Network của Bitcoin), việc cố gắng rút tiền từ một giao dịch đã hết hạn và bị bắt sẽ khiến tất cả số tiền trong kênh của bạn được chuyển cho đối tác. Mặc dù hình phạt này không thực sự cần thiết trong Plasma hoặc công nghệ kênh, nhưng được cho là cần có nó mạnh mẽ hơn trong Plasma. Nếu không có khái niệm về hình phạt, Alice có thể liên tục cố gắng rút tiền không đúng cách, buộc Bob (hoặc những người tham gia khác) phải trả phí gas mỗi lần. Tuy nhiên, trớ trêu thay, làm thế nào để thực hiện hình phạt này trong Plasma lại không hề dễ dàng như vậy. Để giảm số tiền của Alice trong chuỗi Plasma, chúng tôi cần xác định số tiền nào thuộc về Alice, điều này đòi hỏi cơ chế cửa sổ yêu cầu/tranh chấp - chúng tôi cũng có thể đi xuống hố thỏ đầy thử thách này.

Do đó, cấu trúc Plasma  thường yêu cầu Alice  "thoát tiền đặt cược" khi cố gắng rút tiền. Về cơ bản, việc đặt cược của Alice có nội dung "Tôi muốn rút 5 ether. Nếu bạn thấy rằng chứng chỉ thoát của tôi là gian lận thì bạn có thể lấy 1 ether từ tôi như một hình phạt." Chúng tôi có thể tự do đặt ra các điều khoản của hợp đồng, tức là. quy mô của tài sản thế chấp được yêu cầu cũng như các kịch bản ứng phó đối với các vi phạm cụ thể (chẳng hạn như đưa tiền đặt cọc cho người thách thức thành công dưới dạng tiền thưởng hoặc cắt nó xuống 0 hoặc chỉ trang trải chi phí  gas của người thách thức, v.v.) và điều chỉnh mức độ khoan dung/khắc nghiệt dựa trên sở thích cá nhân.

Tình huống bi thảm: Những kẻ điều hành tà ác

Mọi việc cho đến nay vẫn diễn ra tương đối suôn sẻ. Điều này phần lớn là do chúng tôi đưa ra giả định cực kỳ đơn giản rằng các nhà điều hành luôn đặt lợi ích tốt nhất của mọi người lên hàng đầu. Bây giờ là lúc xem xét điều mà chúng ta không muốn tưởng tượng: Điều gì sẽ xảy ra nếu người điều hành hoàn toàn là kẻ nói dối và trộm cắp?

Giả sử Alice  và Bob  đang điều hành công việc kinh doanh của họ. Một ngày nọ, họ phát hiện ra rằng người điều hành đã gửi cho họ một khối. Gốc Merkle của khối này đã được xác thực trên chuỗi, bao gồm một giao dịch không hợp lệ, chẳng hạn như chi 90% ether cho chuỗi Plasma. Hãy nhớ lại rằng người vận hành hoàn toàn chịu trách nhiệm tạo khối, vì vậy về mặt lý thuyết nó có thể chứa bất cứ thứ gì anh ta muốn. Tệ hơn nữa, tiếp theo, nhà điều hành yêu cầu giao dịch không hợp lệ này phải được sử dụng để rút tiền trên chuỗi.

Khác với hành vi lừa đảo của Alice  trong trường hợp trên, bởi vì đó chỉ là Alice  cố gắng chi tiêu gấp đôi và giao dịch đã chi tiêu một"UTXO" thậm chí không tồn tại ". Do đó, chúng tôi không thể sử dụng các tùy chọn trước đó của mình để thách thức và hủy việc rút tiền.

Mọi người có thể dễ dàng nghĩ rằng chúng ta có thể xây dựng một loại bằng chứng gian lận khác để đối phó với hành vi xấu xa khác nhau này, đó là "Điều gì sẽ xảy ra nếu chúng ta yêu cầu nhà điều hành chứng minh sự tồn tại của UTXO đầu vào này? Và, nếu điều này ; UTXO được "tạo ra từ hư không", vì vậy chúng tôi có thể yêu cầu bằng chứng về tính hợp pháp của điều này UTXO  không?"

Trong trường hợp này, bằng chứng gian lận sẽ phức tạp và thậm chí không thể đạt được. Nhưng ngay cả việc khám phá tuyến đường này cũng vô nghĩa và vô ích vì nó sẽ gặp phải những vấn đề lớn hơn. Vì chúng tôi cho rằng có một nhà điều hành độc ác, nên chúng tôi cũng có thể nỗ lực hết mình - nhà điều hành không chỉ tạo một giao dịch không hợp lệ và cố gắng rút tiền mà đồng thời, anh ta thậm chí còn chưa bao giờ chia sẻ khối Plasma không hợp lệ với người dùng của mình. Những gì Alice, Bob và những người tham gia khác hiện thấy là một yêu cầu thoát cực kỳ đáng ngờ chứa một số tiền khổng lồ, nhưng họ không biết chi tiết.

Vậy phải làm sao bây giờ? Làm thế nào để chúng tôi đảm bảo rằng nhà điều hành của chúng tôi không bỏ trốn với số tiền không thuộc về mình? Trong tình huống nghiêm trọng này, chúng tôi chuyển sang nút hạt nhân của MVP: vì chúng tôi không thể trực tiếp ngăn người vận hành thoát ra, chúng tôi có thể cho phép những người tham gia khác thoát ra trước: hợp đồng thông minh phải thực thi hàng đợi thoát ra và đảm bảo rằng hợp đồng thông minh trước đó  UTXO Thoát trước. Vì vậy, miễn là tất cả mọi người - vâng, theo nghĩa đen là tất cả mọi người - sử dụng chuỗi Plasma để rút tiền của họ trước khi đợt rút tiền lớn của nhà điều hành hoàn tất, thì số ether mà nhà điều hành muốn đánh cắp sẽ bị cạn kiệt, do đó, những nỗ lực độc hại của anh ta cuối cùng chẳng có kết quả gì.

Về mặt lý thuyết, giải pháp này có hiệu quả. Bất kể các bên khác có làm điều xấu hay không, người dùng luôn giữ được tiền của mình - đó là mục tiêu của chúng tôi. Nhưng hãy thành thật mà nói: tình huống mà một nhà điều hành độc hại (hoặc nhiều khả năng là một nhà điều hành bị tấn công/xâm nhập) chỉ sử dụng không quá một giao dịch để buộc tất cả người dùng rút khỏi chuỗi chính trong một khoảng thời gian nhất định là không lý tưởng. Trên thực tế, trong trường hợp thực sự xấu nhất, nếu khối chuỗi chính bị tắc nghẽn đủ lâu, người dùng có thể không thoát ra kịp thời và do đó thực sự có thể mất tiền. Về lý thuyết, chúng tôi có thể giảm số lượng giao dịch cần thiết cho việc thoát quy mô lớn thông qua các chiến lược thoát nâng cao hơn—chẳng hạn như hợp nhất hàng loạt nhiều giao dịch thông qua tổng hợp chữ ký—nhưng đây vẫn là một vấn đề nghiên cứu mở. Dù đây là giải pháp hiệu quả nhưng nó đòi hỏi sự phối hợp, hợp tác giữa những người dùng và do đó vẫn chưa tối ưu.

Nhưng có một lỗ hổng khác (được cho là) nghiêm trọng hơn trong cấu trúc MVP . Ngay cả trong trường hợp vui vẻ, chúng tôi yêu cầu tất cả người dùng phải xác minh đầy đủ toàn bộ chuỗi Plasma. Điều này giúp chúng tôi có sẵn Catch-22. Plasma rất hữu ích trong việc mở rộng thông lượng giao dịch của Ethereum, nhưng thông lượng giao dịch mỗi giây do chuỗi Plasma cung cấp càng cao thì gánh nặng đối với khách hàng về băng thông và bộ nhớ càng lớn. Hãy nhớ lại rằng ưu điểm chính của kiến trúc Plasma là nó có thể dễ dàng hỗ trợ nhiều người dùng, việc giới hạn cơ sở người dùng ở những người chỉ có thể chạy các ứng dụng lớn sẽ làm suy yếu nghiêm trọng đề xuất giá trị của nó.

Chơi với Plasma (2): Thảo luận ngắn gọn về Tiền mặt Plasma

Hãy quay lại lỗ hổng thoát hàng loạt bắt buộc của MVP: Theo một nghĩa nào đó, gốc rễ của "vấn đề" nằm ở khả năng thay thế của các nội dung được thảo luận trong bài viết. Ví dụ: giả sử Bob "nợ" 5 ether. Vì Ethereum là một tài sản có thể thay thế được nên sẽ không có ý nghĩa gì khi nói về “đồng Ether cụ thể nào” mà Bob nợ. Vì lý do này, trong "tình huống bi thảm (tức là trường hợp người điều hành làm điều ác)" của chúng tôi, khi người điều hành cố gắng thoát ra với số tiền lớn hơn phần của chính mình, chúng tôi không thể xác định rõ ràng "Ethereum mà anh ta đã đánh cắp thuộc về ai". Ethereum là Ethereum, vì vậy những gì nhà điều hành đã đánh cắp thực sự là số tiền trong nhóm Plasma Ethereum chung. Do đó, theo một nghĩa nào đó, những người dùng khác phải rút tiền từ chuỗi Plasma.

Vậy có cách nào để chỉ định chủ sở hữu của một “khối” Ethereum cụ thể không?

Plasma Cash đã có mặt!

Plasma Cash là một biến thể của cấu trúc Plasma. Kể từ khi ra đời, nó đã trở thành nền tảng cho hầu hết các nghiên cứu trong cộng đồng Plasma. Nó tuân theo cách tiếp cận “khả thi tối thiểu” tương tự như MVP, nhưng bổ sung thêm một hạn chế mới ngay từ đầu: tất cả tài sản trên chuỗi Plasma Cash đều là mã thông báo không thể thay thế. Một NFT (chúng tôi gọi là "đồng xu") có thể đại diện cho bất kỳ thứ gì: mệnh giá Ethereum cố định, mã thông báo ERC-20, một gói mã thông báo ERC-20, một lứa mèo tiền điện tử hoặc mã thông báo có thể được sử dụng trên Plasma chain. Quyền của người vận hành Plasma là tạo 100 khối liên tiếp (tuyên bố từ chối trách nhiệm: Tôi không biết hậu quả của việc làm này và không nên bắt chước theo ý muốn), v.v. Yêu cầu duy nhất là đối tượng được trình bày ở trên có thể được biểu diễn dưới dạng nội dung ERC-721. Nói cách khác, thứ này không thể phân chia hay hợp nhất, và nó là duy nhất.

Plasma Cash từ bỏ mô hình giao dịch UTXO kiểu Bitcoin trong MVP. Đối với các đồng tiền không thể thay thế, khái niệm tạo đầu ra giao dịch mới không còn được áp dụng. Thay vào đó, trong mỗi khối Plasma, mọi đồng xu đều cần được tính đến: sự tồn tại của một đồng xu cho biết chủ sở hữu của đồng xu trong khối Plasma đó đã thay đổi (tức là Alice đã gửi nó cho Bob); sự vắng mặt của đồng xu (tức là. không xuất hiện trong khối) có nghĩa là chủ sở hữu của đồng xu vẫn giống với chủ sở hữu trong khối trước đó. Do đó, toàn bộ lịch sử của một đồng xu có thể được mô tả bằng sự hiện diện hay vắng mặt của nó trong mỗi khối Plasma - chúng ta chỉ cần đi từ khối hiện tại trở lại khối nơi đồng xu được gửi lần đầu tiên.

Như chúng tôi sắp trình bày, lịch sử đầy đủ của một đồng xu bảo vệ hoàn toàn quyền sở hữu của người nắm giữ nó. Và tuyệt vời hơn nữa, trong mô hình này, lịch sử này không cần chứa tất cả dữ liệu trong mỗi khối Plasma: nếu Bob muốn chứng minh rằng đồng tiền của mình tồn tại trong một khối nhất định thì anh ta chỉ cần cung cấp giá trị mặc định của giao dịch. Con đường Kerr. Tuy nhiên, để chứng minh rằng đồng xu không được chuyển trong một khối, Bob cần phải chứng minh được sự vắng mặt của dữ liệu. Đây là điều mà cây Merkle mà chúng ta biết và yêu thích không hỗ trợ.

Vì vậy, để triển khai tính năng "bằng chứng vắng mặt" này,Plasma Cash sử dụng cái mà chúng tôi gọi là cây Merkle thưa thớt (SMT) cấu trúc cây Merkle nâng cao. SMT là cây Merkle có thêm một tính năng đặc biệt: mỗi lá của cây (trong trường hợp này là tiền xu) được cấp một số nhận dạng duy nhất được sử dụng để xác định vị trí của cây mà chúng cư trú. Về cơ bản, chúng tôi phân loại và sắp xếp những chiếc lá này và mỗi đồng xu chỉ có thể nằm trong "khe" được chỉ định cho chính nó. Điều này có nghĩa là nếu đồng xu vắng mặt thì chúng ta phải biết được nó tồn tại ở đâu; ngược lại, nếu đồng xu xuất hiện thì chúng ta có thể chứng minh rằng "slot là 'trống' (nghĩa là bằng một giá trị null) ). , chẳng hạn như 0 hoặc "không xác định", v.v.)" Chi nhánh Merkel để chứng minh rằng đồng tiền đã đổi chủ.

Vì vậy, bây giờ chúng ta có thể chứng minh sự tồn tại của một đồng xu trong mỗi khối, chúng ta có thể theo dõi toàn bộ lịch sử của đồng xu đó, có thể trông như thế này:

và sớm. Điểm mấu chốt là dữ liệu cần thiết để chứng minh lịch sử này chỉ là bằng chứng Merkel ít ỏi trong mỗi khối chứ không phải khối Plasma đầy đủ theo yêu cầu của MVP.

Bây giờ chúng ta hãy xem xét kỹ hơn tuyên bố rằng chuỗi bằng chứng Merkel là đủ để chủ sở hữu hiện tại của đồng xu bảo vệ tiền của chính họ. Nói cách khác, miễn là người dùng Steve này có toàn bộ lịch sử về đồng tiền của mình (theo mẫu được mô tả ở trên), thì anh ta được đảm bảo một cách khách quan:

1) Nếu/khi anh ta cố gắng rút tiền, thì anh ấy sẽ có khả năng trả lời thích hợp cho bất kỳ câu hỏi nào.

2) Nếu/khi những người tham gia khác cố gắng rút tiền của mình, thì anh ta sẽ có thể thách thức và lật ngược thành công yêu cầu rút tiền của người khác.

Trong ví dụ trên, tính đến khối thứ 505, Steve là chủ sở hữu hợp pháp của đồng xu. Một điểm quan trọng cần nhấn mạnh ở đây là nếu Steve muốn xác nhận rằng khoản thanh toán của anh ấy (trong trường hợp này là khoản thanh toán nhận được từ Bill người dùng khác ở khối 504) đã được hoàn tất, trước tiên anh ấy phải Nhận và xác minh toàn bộ lịch sử của đồng tiền này (tức là. xác minh bằng chứng Merkle trong mỗi khối trước đó). Khi đó và chỉ khi đó, anh ta mới thực sự có quyền sở hữu đồng xu.

Bây giờ, hãy suy luận tất cả những điều có thể xảy ra và Steve sẽ phản ứng như thế nào (một số giải pháp có công thức quen thuộc với MVP):

Kể từ khi Steve thiết lập quyền sở hữu đồng xu ở khối 504, kẻ bất lương có hai cách để đánh cắp đồng xu của Steve, đó là bằng cách đòi quyền sở hữu đồng xu ở khối trước đó hoặc khối tiếp theo.

Giả sử Alice cố gắng đánh cắp đồng xu bằng cách phát đi "bằng chứng về sự tồn tại" của cô ấy trong khối 501. Tại thời điểm này, Alice tự tin tuyên bố rằng giao dịch chuyển tiền xảy ra ở khối 501 là giao dịch tiền tệ mới nhất và hợp lệ. Nói cách khác, cô ấy không bao giờ tiêu số tiền đó nữa. Hành vi phản ứng của Steve về cơ bản giống với hành vi của Bob trong trường hợp “thái quá” MVP. Anh ta chỉ ra rằng Alice đã chuyển tiền cho Bill ở khối 502 (lưu ý rằng Steve không thể giả mạo bằng chứng này vì giao dịch cần phải có chữ ký của Alice). Alice đã bị bắt quả tang và yêu cầu rút tiền của cô ấy đã bị thu hồi. Một lần nữa, vì Steve có toàn bộ lịch sử của đồng tiền này nên anh ấy biết mình sẵn sàng ứng phó với bất kỳ nỗ lực thoát gian lận tương tự nào.

Bây giờ, giả sử Alice cố gắng rút đồng xu của mình ở khối 506 (nghĩa là sau khi Steve thiết lập quyền sở hữu đồng xu). Cần lưu ý rằng nếu bằng chứng bao gồm Merkle của Alice có thể được hợp đồng thông minh chấp nhận (tức là Alice thông minh), thì nhà điều hành có thể phải đưa khoản thanh toán không hợp lệ này vào khối thứ 506 một cách ác ý và gian lận. Như thường lệ, chúng tôi cho rằng bất kỳ nhà điều hành nào cũng có thể độc hại.

Trong trường hợp này, Steve phản hồi bằng cách cung cấp giao dịch của anh ấy xảy ra ở khối 504. Tại thời điểm này, anh ta cho thấy rằng anh ta không chỉ sở hữu đồng xu trong khối đó mà còn có thể tự tin tuyên bố rằng anh ta đã không tiêu xu đó kể từ đó. Bây giờ, Alice chịu trách nhiệm cung cấp cho Steve giao dịch để gửi đồng xu cho một bên khác, nhưng Steve biết rằng cô ấy không thể làm điều này vì anh ấy biết rằng anh ấy thực sự không tiêu xu nào cả (và anh ấy đã bảo vệ khóa riêng quý giá của mình. với cuộc đời của mình). Một lần nữa, yêu cầu thoát của Alice bị thu hồi.

Mặc dù các ví dụ trên che giấu một số trường hợp phức tạp, nhưng các trò chơi thoát này đủ để tóm tắt ý chính về các quy tắc thực thi của Plasma Cash.

Hãy nhớ lại trường hợp bi thảm của MVP đã đề cập trước đó: nhà điều hành đã ngừng cung cấp dữ liệu khối và sau đó tiếp tục thử rút tiền không hợp lệ. Chà, lần này, trong Plasma Cash, quá trình rút tiền này sẽ chỉ liên quan đến một đồng xu. Vì vậy, trong trường hợp làm điều ác, chỉ có chủ sở hữu thực sự của đồng tiền được đề cập mới cần phải hành động. Do hạn chế về tính không thể thay thế, nguy cơ tiền rút “tràn” vào miếng bánh tài sản trên chuỗi của người dùng khác sẽ không còn tồn tại. Điều này sẽ làm cho rủi ro buộc phải rút tiền ngang bằng với rủi ro của trung tâm kênh. Nếu chuỗi Plasma không hoạt động được, người dùng cuối cùng (có thể) sẽ bỏ cuộc. Nhưng một lối thoát như vậy sẽ đến mà không có bất kỳ sự hoảng loạn, nhạy cảm về thời gian và thất bại trong việc buộc phải rút lui hàng loạt.

Cuối cùng, chúng tôi đã dành chút thời gian để triển khai ý tưởng mà chúng tôi đã đạt được: chúng tôi đã nâng cấp cấu trúc MVP Plasma để giờ đây người dùng có thể chạy các ứng dụng khách nhẹ và về cơ bản đã loại bỏ lỗ hổng thoát hàng loạt xấu xí.

Điều này có nghĩa là chúng ta đã tìm thấy viên đạn bạc Plasma mà chúng ta hằng mong đợi phải không?

Không chính xác. Đầu tiên, mặc dù chúng tôi đã giảm thiểu lượng dữ liệu mà mỗi người dùng cần xử lý nhưng thực tế là lượng dữ liệu này vẫn còn rất lớn. Chúng ta có thể thực hiện một số phép tính nhanh và khi một đồng xu tồn tại trong chuỗi Plasma đủ lâu, kích thước của một bằng chứng Merkle duy nhất cho mỗi đồng xu trong mỗi khối Plasma sẽ trở nên khá lớn. Ngoài ra, hãy nhớ rằng mỗi khoản thanh toán có nghĩa là người dùng cần chuyển toàn bộ lịch sử có liên quan cho người nhận thanh toán.

Nhưng đừng quên giới hạn ban đầu mà chúng tôi đã triển khai trong Plasma Cash: tính không thể thay thế được. Điều này có thể cung cấp đủ chức năng cho một số ứng dụng - chẳng hạn như thị trường NFT - nhưng cuối cùng, chúng tôi muốn tài sản Plasma mang lại cho người dùng cảm giác và chức năng giống như tiền thật. Có thể chi tiêu tiền cá nhân theo bất kỳ mệnh giá nào là rất quan trọng. Nếu không có tính năng này, trải nghiệm người dùng của mạng thanh toán trên chuỗi Plasma Cash có thể giống như đang ở trong một nhà hàng chỉ dùng tiền mặt, nơi bạn không có tiền lẻ và bạn phải mở séc.

Nhấp để xem văn bản gốc

Chơi với Plasma (1): Bắt đầu với những điều không cơ bản;

Chơi với Plasma (2): Thảo luận ngắn gọn về Plasma Cash


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

举报 Báo lỗi/Báo cáo
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