Cointime

扫码下载App
iOS & Android

Plasma + zk-SNARKs:以太坊扩容新思路?

撰文:dt,DODO Research;0xNing0x,EMC Fund 高级研究员

编辑:Lisa

早前以太坊创办人 Vitalik (以下文章简称 V 神)于推特上发表了其最新的文章「Exit games for EVM validiums: the return of Plasma」,文章着重在对于 Plasma 扩容技术的介绍并有意引导目前日渐边缘的 Plasma 扩容方案与 ZK 零知识证明结合,此文一出许多与 Plasma 技术相关的项目随即大涨,也让这项被 Rollup 取代逐渐淡出众人视野的技术重新回到以太坊扩容赛道的竞争中。

本周的 CryptoSnap,让 DODO Research X NingNing (@0xNing0x) 用最简单易懂的方式来向大家科普下 Plasma 并阐述 V 神的最新文章在表达什么!

Plasma 是什么?

扩容问题一直是区块链世界开发者重点研究的项目,为了能够实现去中心化世界电脑的目标,打造一个便宜且快速的区块链势在必得,因此围绕着以太坊主网出现了各种的扩容方案,而 Plasma 便曾是以太坊扩容方案的主流。

Plasma 可以简单理解为在以太坊主网上架构一条链,透过智能合约控制主网与 Plasma 链之间的存取资金交互,与侧链(BNB Chain, Gnosis Chain) 不同的是 Plasma 链需要定期地将链上最终状态回传至以太坊主网中,而与 Rollup 技术不同的是 Plasma 链并未回传整条链上的交易数据而仅回传默克尔树的根也就是 Plasma 链上的状态。

Source: https://learnblockchain.cn/2018/10/20/plasma-framework

Exit Game 安全「退出游戏」机制

由于计算并不在主网进行,Plasma 链能够大大提升整个网络的可扩展性(Scalability),并且有相对安全的验证机制能预防作恶者。说到安全性那么就要提到 V 神标题所述的「Exit game」,Plasma 链的安全「退出游戏」机制。

在 Plasma 框架的设计中安全性由其退出机制来保护,当用户想返回主网或其认为 Plasma 链出现攻击时,用户得以向主网链上 Plasma 合约提出「退出」并提供证明若在七天的挑战期内没有挑战者反证来挑战该「退出」便能顺利在主网上取回资产,反之若被成功挑战则「退出」失败,恶意用户需要承担相应罚金。

而常见的的攻击的行为有下列三种:

  • 发送交易后立即退出(Not latest owner):这种攻击是指,当一个用户发送了转账交易后,在挑战期内立即进行资产退出。这是无效的,因为最新的资产拥有者应该是交易的接收者,网络可以挑战这个退出,证明资产已被转移给其他人。
  • 双花攻击(Double spend):双花攻击指的是同一个资产被非法花费两次或以上,比如 Alice 向 Bob 转账了 1 个 token,然后 Alice 再向 Charlie 转账同样的这个 token。网络可以检测到这个 token 被双重使用,因此可以挑战这个非法的转账。
  • 非法交易历史(Invalid history):这表示检测到资产交易历史中存在非法状态转换,例如存在未被对应消费的交易输出,用户可以通过提供相应的消费证明来回应这个挑战。

Plasma Cash

接着 V 神在此篇文章中介绍了使用 Plasma 框架的项目 Plasma Cash,在 Plasma Cash 中用户存款的每一笔代币都将视为一个 NFT,每一个 NFT 都有一条交易历史并将其以默克尔树形式记载,但由于 NFT 的独一无二不可拆分性,让 Plasma Cash 使用场景有限仅能为特定转账用途服务,此时便出现了以 UTXO 模型改进的版本,透过 UTXO 账本形式可以解决 Plasma Cash 原先 NFT 转账设计中无法拆分的困境,有助于再支付领域的发展但同时也让其难以与智能合约交互。

Source: https://vitalik.ca/general/2023/11/14/neoplasma.html

Plasma 技术瓶颈

Plasma 目前的技术瓶颈是难以实现 EVM,由于 EVM 合约中的许多状态对象没有明确的「所有者(Owner)」,这一点与 Plasma 的安全模型存在矛盾,Plasma 退出机制要求每一个状态对象都有一个明确的所有者,所有者有责任去监控这个状态对象的数据,必要时进行退出以保护资产安全。但是在 EVM 合约中有很多状态对象并没有明确的所有者,比如 Uniswap 中的流动性池或是 MakerDAO CDP 头寸就没有单一的所有者,在这种情况下,如果 Plasma 链出现问题将出现以下几种状况:

  • 没有所有者去进行状态退出,状态可能永远被锁在 Plasma 链上。
  • 即使外部人员可以发起退出,也容易出现 Exit Game 攻击,风险很大。
  • 复杂状态的合约难以验证。

Plasma + ZK-SNARKs

对于 Plasma 目前所遇到的技术瓶颈,V 神回应到假若能够结合目前已经成熟的有效性证明 (zk-SNARKs) 技术将有效解决部分瓶颈,具体可以分成以下五点:

  1. zk-SNARKs 可以在主链上证明 Plasma 区块的有效性,减轻对退出机制的依赖。
  2. 可以实现 Plasma 链上资产的立即提款,去除七天的欺诈证明挑战期,减少链重新组织的问题。
  3. 可以构建一个代表 EVM 状态的并行 UTXO 结构,用 zk-SNARKs 证明其等效性,规避 EVM 的部分问题。
  4. 使用 zk-SNARKs 将大大减少用户需要验证和存储的状态数据量,优化用户体验。
  5. 对于难以定义所有者的智能合约,如果关键部分可拆分为可验证对象,同样能获得部分安全保证。

仅管这些方法仍无法涵盖全部复杂 EVM 合约,但随着 ZK 技术进一步发展,结合 Plasma 设计空间的持续探索,我们期待能够找到在安全性、可扩展性和体验之间取得更好折衷的新方案。

笔者观点

DT @19971122::

在阅读 V 神的此篇文章之前,笔者并不熟知 Plasma 的技术架构,毕竟现在的以太坊扩容方案几乎可以说是 Rollup 技术的天下,各个团队争先恐后地推出 Rollup 技术的 L2 网路,也发展出将数据可用性层(DA 层)构建在其他网路的模块化架构(Celestia, EigenLayer, 以及 Avail),因此出现了像是以太坊基金会的研究员 Dankrad Feist 在推特上所说「不采用 ETH 作 DA 层(数据可用性层)的模块化区块链不是 Rollup,同时也不是以太坊 L2」的这番言论,谁才是以太坊发展的正统性一直是大家喜欢争论的点,正当大家对于 Rollup 发展讨论激烈之时 V 神此篇文章就像是给 Plasma 打了个鸡血,告诉以太坊社群,以太坊的扩容方案不只有 Rollup 一种,ZK+Plasma 的新方向不妨也是个选项。

笔者认为在去中心化世界中,多元发展本来是一个自然的过程,但当考量到资本效益时,模块化同质化的发展似乎更经济,便出现了 OP Stack 或 Polygon zkEVM CDK 这种标准化框架的产品来供各家资本构建其自己的 L2 网路,但同时也失去了部分多元性,V 神此举可能是认为以太坊扩容性方案发展失去了均衡而做出的方向引导,后续发展是否会有团队跳出来实作是非常值得我们追踪的一件事,笔者身为以太坊长期使用者、拥护者对于以太坊扩容技术的均衡发展也是乐见其成。

NingNing @0xNing0x:

Plasma 是一种旨在提高区块链可扩展性的解决方案,通过将大部分数据和计算从链上移到链下来实现。其最早出现于 2017 年,经历了多个迭代版本,包括 Plasma Cash、Plasma Cashflow 等。然而,由于 Plasma 在扩展到超出支付范围的应用时存在的基本限制(存在无主状态问题和激励流问题),Plasma L2 方案渐渐边缘化。

与此同时,Rollup 成为 L2 主流解决方案,其主要优势是设计简洁性和开发者友好性。然而,随着 ZkEVM 技术的实现和成熟,Plasma 迎来了新的设计空间,为简化开发者体验和保护用户资产提供了新的可能性。

Vitalik 此次推介 Plasma L2 的目的,或许在于强调 L2 范式多样化和创新的重要性,而不是认为新范式的 Plasma L2 解决方案能够挑战 Rollup L2 解决方案的主流地位。当前,Rollup L2 解决方案在 TVL 规模和用户数量方面处于绝对领先地位,而因为马太效应的存在,这个地位在可预期的未来会进一步加强。

近两天,Paradigm 和 Blur 团队合作推出的新范式 L2 Blast 展示了另一种探索路径。尽管其架构不符合 Vitalik 对 L2 的严格定义,但其在市场和社区中获得了相当大的成功,迅速吸引了社区关注和大量资金参与。这表明市场和社区在渴望 L2 范式的多样性,不再满足于只有一种或者两种标准设计。

总的来说,Plasma L2 解决方案具有一定潜力和创新性,但 L2 的发展不应依赖于一个具有至高理性的顶层设计师所设计的蓝图,而应该从复杂的、非线性的市场竞争中生长出来。

评论

所有评论

推荐阅读