以太坊上的可持续扩展方案:Fuel 侧链如何实现10 倍扩展代币支付吞吐量

作者: Fuel Labs
翻译: 阿剑
原文标题:《Fuel 侧链:10 倍扩展代币支付吞吐量》
两个月以前,一支由以太坊工程师和研究者组成的小队伍成立,致力于开发后来因 Vitalik Buterin 而知名为「optimistic rollup」的技术。我们的工作基于 ConsenSys 研究员 John Adler 的研究和工作,他在几个月前把该技术视作一项可行的可扩展性方案,并撰写了这一技术的详细描述。他所描述的可扩展方案不要求对 layer-1(以太坊底层)作任何共识规则上的改动,而且可以实现之后马上就可以改善以太坊的「状态膨胀问题」(这个问题主要是由 ERC-20 代币(尤其是 Tether 稳定币)的转账导致的)。
经过一番深度讨论,我们开始努力将一个个能解决单个问题的以太坊扩展方案实现组合起来,最终实现了一个可持续、可扩展、便宜且可靠的稳定币支付方案:Fuel。
我们相信区块链的杀手应用就是稳定币支付。如果某个区块链网络可以主导这个业务,它就可以为全球经济增加不可计数的价值、产生深远的影响。Fuel 正是认准这一点,才在以太坊上用最简单的 optimistic rollup 方法来解决吞吐量问题。
以太坊上的可持续扩展方案
我们一而再、再而三地看到,以太坊的交易吞吐量是非常有限的:ERC 20 代币的吞吐量不到 10 笔/秒。吞吐量受限在很大程度上是因为 状态数据(即账户余额以及合约存储槽等构成的数据)。以太坊的未压缩状态数据大小在 45 GB 级别,大到根本无法放进 RAM,因此节点需要大量访问硬盘,尤其是在处理代币转账的时候。
日益严峻的状态膨胀问题是以太坊当前最大的问题,因为状态,不像历史,是不能删除的。我们就是希望能够扩展以太坊吞吐量同时 不至于 加剧状态数据膨胀以及状态数据读写。实际上,只需通过交易 calldata 就能很轻松地实现这一点!只需将一条侧链的交易数据「发送」到链上并在链上默克尔化,我们就可以几乎消除对以太坊底层的状态访问,同时可持续地拓展吞吐量(即:不会需要全节点经常性投入大量资源或产生额外的长期成本)。
什么是 Optimistic Rollup?
Fuel 建立在 Adler 富有创见的文章《最基本可行型合并共识》之上。在该文中,Adler 为免信任、免许可、附带链上数据可用性、用错误性证明推动正确执行的侧链(也就是现在众所周知的「Optimistic Rollup」技术)作了可靠的最基本技术说明。
以太坊上的可持续扩展方案:Fuel 侧链如何实现10 倍扩展代币支付吞吐量
Optimistic rollup 有多种属性,可以将自身与早期的扩展提议如 shadow chains 和 Plasma 区别开来。不像 Shadow Chain,它不需要在链上执行状态转换,除非某人执意要这么做而且愿意出钱——在链上自动执行所有状态转换会导致状态膨胀(正是我们极力避免的问题)!也不像 Plasma,它是免许可的,而且用到了非交互式错误性证明,所以能强力抵抗链拥堵攻击(chain congestion attack)。
Fuel:概览
Fuel 侧链是专门设计用来处理以太坊上的大量支付交易的,而且在伊斯坦布尔升级激活以前就可以将 ERC-20 代币转账的成本降低 5 倍。与状态通道不同,Fuel 不承诺能实现即时确定性,但可以在以太坊区块时间内提供免信任且更便宜的交易吞吐量,而且不需要像状态通道那样要求用户全额预抵押资金。Fuel 侧链是通过准免许可型运营者模式来实现即时确定性的,在以太坊区块还没实现确定性以前,只要用户信任主要的区块委员会,就可以认为交易是即时确定的。
Fuel 链可以实现像 Burner 钱包那样的体验
Fuel 的首要用途就是降低在交易所出入资金的 gas 费用负担。使用 Fuel 可以立即让这部分成本降低 5 倍,而且不会压低相关 ERC-20 代币的价格。此外,Fuel 还可以用于执行免信任、非存托的原生原子化交易所(但要使用中心化的订单簿匹配模式)。
为最大限度提升客户端的扩展性,Fuel 使用了一种可并行处理的 UTXO 数据模型,任何电脑或者手机都能轻松完成验证。我们当前的估计是,在伊斯坦布尔更新激活以前,我们的侧链可以将以太坊的总 TPS(美妙交易处理量)提升到约 50,比起现在主链美妙只能处理约 10 笔 ERC-20 交易是 5 倍的提升。伊斯坦布尔升级(包含了 EIP-2028)之后,我们相信可以将上限进一步推高到约 200 TPS。再加上一些对 layer-1 的小升级,我们可以提高到 2000。还有呢,只要给以太坊整合了纠删码数据可用性证明,以太坊的 TPS 就可以呈平方级扩展,上升到十亿级别。
Fuel 关键点

以太坊上的 Optimistic Rollup 侧链
采用 UTXTO 数据模型
在以太坊区块时间内达成确定性
可选的近似于 Burner 的交易体验
运营者不能审查交易
支持所有 ERC-20 代币和 ETH 交易(当然重点在 DAI/Tether)
免信任、去中心化
客户端可并行验证(对浏览器友好)
致力于实现便宜的 ERC-20 交易
可以使用原子化交易和流动性提供者实现随时进入、退出
用户无需抵押或绑定流动性
在未来,我们会努力实现平方级扩展
钱包整合
我们正在将 Fuel 设计为对开发者友好的,因此整合工作会很简单,只需要添加一个库就可以处理存款、提款和 UTXO 交易了。任何以太坊账户和合约都可以处理 Fuel 交易,只要它们能够签署和发送交易。相对于普通钱包,合约钱包从 Fuel 中得到的 gas 节省量会小一点,但在代币转移的时候仍能节约大量成本。
拓展阅读
我们在 Devcon5 之前的 EthPlanet Lightning Talk 上的演讲幻灯
最基本可用的合并型共识
UTXO 链可用的紧凑型错误性证明(无中间状态序列化)
链上非交互式数据可用性证明
Eth1 链上的多线程数据可用性
EIP-2242: Transaction Postdata
我们的下一步?
我们的以太坊智能合约和安排在浏览器内的客户端都在执行安全审计,审计完成后就会在主网上线。想了解更多信息,请看下列信息,并 follow 我们的推特 @FuelLabs_;除了了解信息,还可以参与我们即将放出的测试网和我们的正式技术说明。
Website: https://fuel.sh Twitter: https://twitter.com/FuelLabs_ GitHub: https://github.com/FuelLabs
另外,也请对我们基于 UTXO 模型的定制化 scripting 系统保持耐心,有了它,我们就可以在 Fuel 侧链上支持智能合约功能啦。
想了解更多的技术细节,请在推特上联系我们的核心开发者:@IAmNickDodson。
原文链接:
https://medium.com/@fuellabs/fuel-scaling-stablecoin-payments-10x-today-50x-in-the-near-future-961e3113b39b