Rollup 用以太坊区块链来提供数据可用性,在链下执行交易和保存状态,以扩展区块链吞吐量。

原文标题:《引介 | Fuel:免信任的侧链》
演讲:John Adler

本文为 John Adler 代表 Fuel Labs 在 EthCC3 大会上的 演讲。Fuel 是一个志在用 Rollup 方法提供稳定币支付服务的项目。John 此番演讲实质上是在讨论 Layer-2 扩展方案的意义。

引介 | Fuel:免信任的侧链

在第一部分中,作者陈述了公链面临的可扩展性问题,并指出了大家在认识上的误区:共识节点的数量并不影响链的可扩展性,因为瓶颈不在于共识机制。真正的瓶颈在于社会契约(我们追求去中心化),因此不希望对共识节点投入的资源量提出更高的要求。

以太坊的扩展困境在于交易的复杂性,以及状态数据的增长和访问需求(这种复杂性使得节点在验证时要投入更多资源,而状态数据的取得正是验证的先决条件之一,因此必须访问硬盘中的状态数据)。

引介 | Fuel:免信任的侧链

引介 | Fuel:免信任的侧链

引介 | Fuel:免信任的侧链

引介 | Fuel:免信任的侧链

接下来,作者谈到了 Rollup 方案的核心思想:用以太坊区块链来提供数据可用性,在链下执行交易和保存状态。至于如何在链上保证上链 Rollup 区块的有效性,则各显神通:使用零知识证明的,称为 ZK Rollup;Optimistic Rollup 用的是错误性证明和同步假设;此外还有使用交互式挑战游戏的。

引介 | Fuel:免信任的侧链

那么,为什么 Rollup 可以扩展吞吐量呢?因为交易的执行完全放在链下。这一点意义重大,因为显然,这是最大限度解决了交易执行上的瓶颈。

但作者同样指出,大家对 Rollup 方案的吞吐量提升有一些误解。常见的方法是根据单区块的 Gas 上限和 calldata 的 Gas 使用量,以及出块的时间,得出 Rollup 的 TPS。但这样是很片面的。原因在于,如果大家只使用一条 Rollup 链,即交易不并行处理,则除非提高对节点的硬件要求,否则吞吐量跟原来应该是一样的(因为瓶颈不在共识,在交易的执行)。

所以,使用 Rollup 的好处,可以跟分片比拟。因为分片之所以能提高吞吐量,不是因为单分片上的节点更少,而是因为可以并行处理交易;此外,还能在不同分片上使用不同的交易执行规则。Rollup 其实是用同样的方式来拓展吞吐量的。

引介 | Fuel:免信任的侧链

引介 | Fuel:免信任的侧链

引介 | Fuel:免信任的侧链

最后,作者提到 Fuel 项目所用的 Rollup 方案:使用 UTXO 数据模型、还有高效的错误性证明方案、无状态的断言脚本。其设计哲学是高效并行执行、易用(无状态脚本,因此无需引入 Gas 概念)且便利(元交易化,使得用户可以不用 ETH 来支付手续费)。

引介 | Fuel:免信任的侧链

引介 | Fuel:免信任的侧链

引介 | Fuel:免信任的侧链

引介 | Fuel:免信任的侧链

引介 | Fuel:免信任的侧链

引介 | Fuel:免信任的侧链

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