作者:Vitalik Buterin
译者:Alan,Plancker DAO
原文链接:https://vitalik.eth.limo/general/2023/11/14/neoplasma.html
2023 年 11 月 14 日
特别感谢 Karl Floersch、Georgios Konstantopoulos 和 Martin Koppelmann 的反馈、审阅和讨论。
Plasma 是一类区块链扩展解决方案,允许除存款、取款和默克尔根之外的所有数据和计算保留在链外。这就为获得非常大的可扩展性收益打开了大门,而不会受到链上数据可用性的瓶颈限制。Plasma 最早发明于 2017 年,在 2018 年经历了多次迭代,其中最著名的是最小可行 Plasma、Plasma Cash、Plasma Cashflow 和 Plasma Prime。遗憾的是,Plasma 后来基本上被 rollups 所取代,主要原因是:(1)客户端数据存储成本大;(2)Plasma 的基本局限性使其很难推广到支付以外的领域。
有效性证明(又名 ZK-SNARKs)的出现让我们有理由重新考虑这一决定。让 Plasma 适用于支付的最大挑战是客户端数据存储,而有效性证明可以有效地解决这个问题。此外,有效性证明还提供了大量工具,让我们可以制作一个类似于 Plasma 的链,运行一个 EVM。Plasma 的安全保证不会覆盖所有用户,因为无法将 Plasma 式退出游戏扩展到多种复杂应用的根本原因依然存在。不过,在实践中,很大一部分资产还是可以保证安全的。
本文章将介绍如何扩展 Plasma 的想法来实现这一目标。
概述: Plasma 的工作原理
最简单易懂的 Plasma 版本是 Plasma Cash。Plasma Cash 的工作原理是将每个独立的硬币视为一个独立的 NFT,并跟踪每个硬币的独立历史。Plasma 链有一个操作员,负责制作并定期发布区块。每个区块中的交易都存储为一棵稀疏的默克尔树:如果一笔交易转移了 k 币的所有权,它就会出现在树的 k 位。当 Plasma 链操作员创建一个新区块时,他们会将默克尔树的根发布到链上,并直接向每个用户发送与该用户拥有的硬币相对应的默克尔分支。
假设这是 Plasma Cash 链中的最后三棵交易树。那么,假设之前的交易树都是有效的,我们知道 Eve 目前拥有硬币 1,David 拥有硬币 4,George 拥有硬币 6。
等离子系统的主要风险在于操作员的失误。这可能通过两种方式发生:
如果运营商的不当行为与用户的资产相关,用户有责任立即退出(具体而言,在 7 天内)。当用户("退出者")退出时,他们会提供一个 Merkle 分支,证明包含了将该币从前任所有者转移给他们的交易。这将开启一个为期 7 天的质疑期,在此期间,其他人可以通过提供以下三种情况之一的 Merkle 证明来质疑退出者:
根据这些规则,任何拥有 k 币的人都需要查看过去一周所有历史树中位置 k 的所有 Merkle 分支,以确定他们确实拥有 k 币,并可以退出。他们需要存储所有包含资产转移的分支,以便应对挑战,安全地退出自己的钱币。