[哈希学院]如何简单理解扩容新方案Plasma+ZK-SNARKs?

哈希 2023-11-23 76

上周以太坊创办人 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 设计空间的持续探索,我们期待能够找到在安全性、可扩展性和体验之间取得更好折衷的新方案。

相关推荐