Vitalik 长文:EVM Validiums 的
Vitalik 长文:EVM Validiums 的退出游戏和 Plasma 的回归
撰文:Vitalik Buterin
编译: jk,Odaily 星球日报
Plasma 是一类区块链扩容解决方案,它允许所有数据和计算(存款、提款和默克尔根除外)保持在链下。这为实现不受链上数据可用性限制的巨大可扩展性打开了大门。Plasma 首次在 2017 年被提出,并在 2018 年经历了多次迭代,尤其是最小可行 Plasma、Plasma Cash、Plasma Cashflow 和 Plasma Prime。不幸的是,由于(i)大量的客户端数据存储成本和(ii)Plasma 的基本限制使其难以推广到支付之外的应用,Plasma 已经在很大程度上被 rollups 所取代。
有效性证明(又称 ZK-SNARKs)的出现使我们有理由重新考虑这一决定。使 Plasma 在支付方面发挥作用的最大挑战,客户端数据存储,可以通过有效性证明得到有效解决。此外,有效性证明提供了一系列工具,使我们能够创建运行 EVM 的类 Plasma 链。Plasma 的安全保证不会覆盖所有用户,因为将 Plasma 风格的退出游戏扩展到许多复杂应用的根本原因仍然存在。然而,实际上仍然可以保护非常大比例的资产安全。
下文中,我将详细介绍 Plasma 是如何实现这点的。
概述:Plasma 如何工作要理解的最简单的 Plasma 版本是 Plasma Cash。Plasma Cash 通过将每个单独的代币视为一个独立的 NFT,并为每个代币跟踪一个单独的历史来工作。Plasma 链有一个运营者,负责制作并定期发布区块。每个区块中的交易都存储为一个稀疏的默克尔树:如果交易转移了代币 k 的所有权,它就出现在树的 k 位置。当 Plasma 链运营者创建一个新区块时,他们将默克尔树的根发布到链上,并直接将与用户所拥有的代币相对应的默克尔分支发送给每个用户。
假设这些是 Plasma Cash 链中最后三个交易树。那么,假设所有之前的树都是有效的,我们知道 Eve 目前拥有代币 1 ,David 拥有代币 4 ,George 拥有代币 6 。
任何 Plasma 系统中的主要风险都是运营者的不当行为。这可能以两种方式发生:
1. 发布无效区块(例如,运营者包含了一个交易,将代币 1 从 Fred 转给 Hermione,即使 Fred 那时并不拥有该代币);
2. 发布不可用区块(例如,运营者没有将他的默克尔分支之一发送给 Bob,阻止他向其他人证明他的代币仍然有效且未花费)。
如果运营者的行为与用户的资产相关,则用户有责任立即退出(具体来说,在 7 天内)。当用户(「退出者」)退出时,他们提供一个默克尔分支,证明了将该代币从前一个所有者转移给他们的交易的包含。这启动了一个为期 7 天的挑战期,在此期间,其他人可以通过提供以下三种之一的默克尔证明来挑战该退出:
1. 非最新所有者:退出者签署的后续交易,将退出者的代币转移给其他人;