当前位置:首页 > 区块链新闻 > 正文

三分了解 Optimistic Rollup 工作原理:较 ZK Rollup 有何优劣势?

来源: 互联网时间:2020-10-15 11:00:11

从灵活性、扩展性和成本等角度对比 Optimistic Rollup 与 ZK Rollup。

原文标题:《从拓展性出发:认识 Optimistic Rollup 与 ZK Rollup》
撰文:William Wang

在之前的文章中,我们讨论了 ZK Rollup 在 Layer 2 拓展性的应用以及简单介绍了其原理。在这篇文章中,我们将介绍 Optimistic Rollup 的工作原理和与 ZK Rollup 的对比,以及 Findora 在这方面的创新。

什么是 Optimistic Rollup

Optimistic Rollup 是一种在 L2 上使用 OVM (Optimistic Virtual Machine)扩展以太坊通用智能合约的技术。OVM 的功能很齐全,可以与 EVM (Ethereum Virtual Machine)兼容执行环境,其主要用于第 2 层系统。它的外观,感觉和行为非常类似于以太坊主链。Optimistic Rollup 的构造大量借鉴了 Plasma 和 ZK Rollup 设计。但某种程度的在扩展性上进行了权衡,以允许在受 Layer 1 保护的 Layer 2 中运行完全通用的智能合约。

如果能在短期内部署,它可以通过在合理范围内将安全性 / 可扩展性折中的简便方法来迁移现有 dApp 和服务。满足了 ETH1.0 增长的需求。

为了更好的理解 Optimistic Rollup 的在以太坊主网的使用场景,我们先参考下面一个例子:

我们假设有一个开发人员编写了一个 Solidity 的智能合约。

  1. 开发人员将交易从链下发送到 Bonded Aggregator,即第 2 层区块的生产者,后者负责部署这个合约。其中任何有 Bond 的人都可以成为 Aggregator,并且同一条链上可以有多个 Aggregator。
  2. Aggregator 可以按照自己喜欢的方式收取费用,包括帐户提取或者元交易(Account abstraction or meta transactions)。
  3. 然后,Aggregator 需立即向开发人员保证,其交易将被包括在新的区块内,否则 Aggregator 将失去 Bond。
  4. Aggregator 接下来使用本地交易转账并计算新的状态根(State Root)。
  5. Aggregator 将一个新的包含交易和状态根的 Optimistic Rollup 区块作为一次转帐交易提交至以太坊主网。
  6. 如果有人下载了该块并发现该块无效,并且证明该块无效,就可以罢免恶意 Aggregator 以及在无效区块的基础上继续构建的 Aggregator 的 Bond。Aggregator 所拥有的一部分 bond 将会奖励给证明者。

这就是 Optimistic Rollup 智能合约最简单的运行逻辑。

由于每一个当前交易所产生的状态,都是之后每个有效 Optimistic Rollup 状态的一部分,所以这也是保证这个智能合约安全性的方法之一。这种智能合约的做法与我们今天在以太坊主网上看到的非常相似。那么,Optimistic Rollup 和 ZK Rollup 有什么相似之处和区别呢?

在 Optimistic Rollup 中,新的状态根由运营人员(Operator)发布的时候不会每次都被 Rollup 智能合约检查一遍。但是,如果发布了不正确的状态转换,其他操作人员或用户(必须观察 L1 Rollup 中合约的情况并且执行每一笔转账交易)可以观察到无效交易并还原不正确的块,从而罢免恶意攻击的运营方。

相比较之下,ZK Rollup 是一种更复杂的技术。现在已经有了用 ZK Rollup 来做代币转移和一些相对特殊的应用程序,但是还需要更长时间来用 ZK Rollup 实施通用智能合约,并且有效地将 EVM 整个包装进零知识证明中还需要更多的研究工作。但是,一旦 ZK Rollup 全面开发,所有现有的以太坊 dApp 和服务都将能够轻松地迁移到 ZK Rollup 中。

ZK Rollup 将解决 Optimistic Rollup 的几个基本问题:

  • 消除 Tail Risk:通过复杂但可行的攻击媒介从 OR 盗窃资金;
  • 将取款时间从 1-2 周减少到几分钟;
  • 赋能高交易确认速度,并能达到无限制的出仓流量;
  • 默认隐私。

Optimistic Rollup 对于 ZK Rollup 来说是也是一个很好的工具。过渡到 L2 的扩展要求用户对电子钱包,预言机,dApp 的使用习惯进行大幅度改变。Optimistic Rollup 帮这一举措已经提前准备好了一套生态系统,为目前尚不能在 ZK Rollup 上构建的 DApp 带来拓展的可能性。这将使 ZK Rollup 有足够的时间变得成熟并使其无缝对接,同时保持以太坊的发展趋势。下面我们通过几个方面简单对 Optimistic Rollup 和 ZK Rollup 做一个对比。

灵活性:通用计算

Optimistic Rollup

尽管 Optimistic Rollup 可以用于一些特殊的应用场景,但是这项技术中最重要的创新是 OVM:Optimistic 虚拟机。OVM 可以支持任意智能合约逻辑的实现。从这方面来看,在以太坊中几乎所有可能的事情在 OVM 中也都是可能的,也包括智能合约及其可组合性。OVM 可以以 EVM,EWASM 或者任何其他的虚拟机作为基础。

如果与 EVM 一起使用,OVM 的另一个好处是可以支持 Solidity 代码。因此 OVM 可以轻松地将大部分现有代码库直接转移过去。

OVM 直接使用现有的 EVM 代码是非常理想化的,实施起来必定不是那么简单。OVM 的落实将需要更改以太坊 CALLDATA 的格式,并采用复杂的响应协议实现欺诈证明。这可能会导致 OVM 与 EVM 产生分歧,从而无法正确处理边缘情况,这意味着把现有的合约改写到 OVM 上还存在着一定难度。

实施的另一个挑战在于,较大区块的欺诈证明可能会超出 L1 的 gas 限制。这就使得这些欺诈证明必须分解成多个 ETH 交易。

ZK Rollup

到目前为止,ZK Rollup 的所有现有操作都集中在代币转移或原子交换。有几个主要原因。

首先,目前仍然还没有一个有效的技术可用于针对不同的零知识证明(Zero Knowledge Proof)进行简洁的递归证明组合。在同一个区块中执行不同的智能合约需要递归组合不同的零知识证明。并且,每一个新版智能合约的出现都需要一个新的受信设置的过程,显然这个是不现实的。目前现有不需要受信设置的零知识证明技术 STARK 的验证方也只是针对性处理非常有限的一类问题。STARK 验证方必须对被证明的计算语句的每个限制条件都至少执行一次,这也意味着我们无法重复整合执行不同架构的智能合约。

随着 SNORK (Succinct Non-interactive Oecumenical (Universal) Arguments of Knowledge)的出现,上述的这些情况开始发生了变化,SNORK 是基于不同的一组被称作多项式承诺方案加密模型的新一代零知识证明。尽管仍然需要受信设置,但它现在已经是通用的并且可以更新。完成一次后,可以随时在任何不同的程序中继续使用。Findora 所研发的 Supersonic 正是一种全新的完全简洁且透明的 ZK-Snark 技术。

目前来看:现在在 ZKP 上建立通用智能合约的障碍已经消除。ZK Rollup 完全能够支持与 EVM 相同的编程模型(包括无缝对接的可组合性和互操作性)。尽管 Solidity 开发人员的学习时间不会超过 1 天,但最初的合同可能需要专用的 DSL。最终,鉴于零知识证明技术的最新发展步伐,我们希望所有现有的 ETH 合同都能以最小的努力有效地移植。

拓展性和交易成本

Optimistic Rollup

  • 目前的估算是每笔传输约有 4k gas/tx。
  • 相当于约 100 TPS
  • 使用 BLS 签名聚合时,此数字最多可以达到 500 TPS。
  • 如果 EVM 兼容性受到破坏,则吞吐量理论上可能会增长到 ZK Rollup 的极限。
  • 实际吞吐量上限(令牌传输):500 TPS。

ZK Rollup

  • 物质测试网中每次传输 tx 的公共数据成本目前为 16 字节,花费 272 gas/tx。
  • 此外,证明的费用,估计约为 30 万 gas。
  • 即使我们假设在最坏的情况下需要提供 1M gas 的证明成本,估算的交易上限仍将超过 2140 TPS。
  • gas 成本是一个很大的瓶颈,因为它具有去中心化防审查性。我们预计该因素会随着时间的推移而显着下降。
  • 实际吞吐量上限(令牌转移):超过 2000 TPS-类似于 VISA。

在许多案例中,ZK Rollup 是可以节省很大一部分的成本的,尽管 Optimistic Rollup 要求用户发布完整的交易输入,ZK Rollup 一个很大的区别是用户可以在两个选项中不需要很复杂操作再做出选择,在 ZK Rollup 中,我们可以在下列两个选项中灵活地选择:

  1. 交易输入减去见证人并不影响状态转换,
  2. 仅发布交易输出。

由于任何 Rollup 都将留在每个区块碎片中,因此除非带宽变得更便宜,否则 CALLDATA 的成本(以及 Rollup 交易成本)不会发生很大变化。

Optimistic Rollup 目前还在概念证明阶段。希望我们能够尽快看到主网上的版本。如果事实证明移植现有代码相对容易,则很多项目将会逐渐开始采用它并建立新的基础架构:例如 L2 技术支持将出现在钱包中等等。

对于以太坊来说,两种 Rollup 类型都必须在电子钱包,预言机和其他智能合约组件中进行类似的基础结构更改。

Findora 将从底层部署 ZK Rollup,直接支持这个在以太坊上只有在 L2 上才有的扩容解决方案。虽然以太坊里的 ZK Rollup 在一些应用场景方面,例如代币交易,已经十分成熟,但是完全通用的智能合约还是有一段时间才能到达可被主网采用的版本。

来源链接:mp.weixin.qq.com

免责声明:

1.本文内容综合整理自互联网,观点仅代表作者本人,不代表本站立场。

2.资讯内容不构成投资建议,投资者应独立决策并自行承担风险。