Layer2的四大解决方案交易成本对比

22-03-16 20:00
阅读本文需 36 分钟
总结 AI 总结
看总结 收起
原文标题:《一文了解 Layer2 的四大解决方案交易成本对比》
原文作者:Xiang,W3.Hitchhiker
原文修订:Marina、Evelyn,W3.Hitchhiker

随着以太坊的兴起,我们看到了去中心化金融 (DeFi) 的高速发展,以及现在非同质化 Token (NFT) 的爆炸式增长。然而,以太坊每秒只能处理不到 20 笔交易(TPS),由于以太坊网络拥堵导致 gas fee 大幅上涨。在更广泛地有效采用这些网络之前,无疑需要更高的吞吐量和更便宜的费用。但 ETH 2.0 的扩容还需时间,在中短期内 Layer 2 的解决方案能够解决主要网络面临的低效率问题,同时仍能保持以太坊区块链的完整性。


Layer 2 值得关注的原因如下:


- Layer 2 网络将会更快、更便宜,能够让更多用户得以进入以太坊生态;

- 提前参与 Layer 2 网络的激励,能够获得奖励;

- 在 Layer 2 发展的预期下,用户可将资产迁移至二层网络上,将会有很大概率获得空投;


因此,Layer 2 也是今年最重要的看点之一。对于用户来说,除了体验舒适之外,最关心的还是交易成本。本文从对比 Layer 2 各种解决方案的交易成本出发,方便各位读者能够更加清晰的了解到每个解决方案的优劣势。


一、Layer 2 的扩容技术


据 L2BEAT 的数据显示,当前 layer 2 共计 19 个项目,总 TVL 从 2021 年初的$48.2M 增长到$5.63B,总 TVL 涨幅达 11580%。Layer 2 的快速增长与资本涌入、背后的技术方案调整有着密切的关系。


目前主要有四种技术方案:Optimistic Rollup、ZK Rollup、Plasma、Validium。



二、各解决方案的 Gas 费用



四大方案各自费用


【 以上计算前提是以当前 Eth 价格为 2500u,区块 gaslimit 为 30000000,gas 费用为 30Gwei,平均 13 秒的出块时间计算,极限 TPS 指对应运行环境占领了所有以太坊区块空间 (在证明验证上花费 500000 gas),普通 TPS 指对应运行环境占领了所有以太坊 1/3 的区块空间。】


计算方法



如上图,普通转账 eth 需要字节数 112 左右,ZK 压缩为 12 个字节,op 系压缩为 78.4(不固定,假设压缩了 30% 的空间),假设 swap 转账需要字节数约 180 左右,ZK 压缩为 14 个字节,op 系压缩为 126 个字节。


在现有的以太坊链上,gas 上限为 3000 万,交易中每个非 0 字节的 calldata 数据需要 16 个 gas,0 字节需要 4 个 gas。如果 ZK 占领了以太坊所有的区块空间(在证明验证上花费 500k gas),忽略 0 字节的数量。


那么该批次可以有(2950 万 / 16)= 1,843,750 字节的数据。如上所示,每次用户操作的 ETH 转账汇总只需要 12 个字节,这意味着该批次最多可以包含 153,645 笔交易。在 13 秒的平均出块时间下,这转化为 ~11,818 TPS(相比之下,直接在以太坊本身上传输的 ETH 传输为 1300 万 / 21000 / 13 ~= 101 TPS)。


由上可知 ZK Rollup 转账 eth 的可扩展性提高了 100 + 倍,而 zk 最大优势不在于转账 eth,相比转账 erc20 的合约 Token ,与 uniswap 交易来算,主网消耗的 gaslimit 的更多,ZK Rollup 压缩的性价比也越高,ZK Rollup 相比主网的 uniswap 交易拓展可提高 400+倍。


同理,也可计算 Optimistic 系的扩展性与极限 tps。


注意:EIP-4488、EIP-4844 将对 rollup 的成本大幅降低。


1、ZK Rollup 的交易费用


在 zkSync 中,每笔交易的成本有两个组成部分:


链下部分(存储 + 证明者成本):状态存储和 SNARK(零知识证明)生成的成本。


(这部分依赖于硬件资源的使用,因此是不变的。我们的基准估计每次转账约为 0.001 美元。)


链上部分(gas 成本):对于每个 zkSync 区块,验证者必须支付以太坊 gas 来验证 SNARK,另外每笔交易额外支付约 0.4k gas 来发布状态。


(链上部分是一个变量,取决于以太坊网络中当前的 gas 价格。但是,这部分比普通 ETH/ERC20 转账的成本要便宜几个数量级。)



(1)交易费用地板价


ZK rollup 的交易地板价依赖于 eth 主网 gas 的费用。


链上 gas fee = 每 wei 的价格 * 交易大小 * gas 的费用 * Token 的风险系数



ZK Rollup 是不是用得多费用越低 OP ,AR 是有类似这样的机制?用户的状态数更新,用户用的越多,ZK 支付给 layer1 层的 Gas 费用是会相对变少,但是并未平摊至用户。


链下部分: SNARK(零知识证明)生成的成本。这部分依赖于硬件资源的使用,因此是不变的。我们的估计每次转账基准约为 0.001 美元。


实际大小 = (zkp_cost_chunk * op_chunks) * token_usd_risk;

普通交易的链下 gas 成本 = 0.001 * 2 * 1 = 0.002u

交易接收者为新地址的链下 gas 成本 = 0.001 * 6 * 1 = 0.006u

swap 的链下 gas 成本 =0.001 * 5 * 1 = 0.005u


验证流程参考下方代码块:



链上部分(gas 成本):对于每个 zkSync 区块,验证者必须支付以太坊 gas 来验证 SNARK,另外每笔交易额外支付约 0.4k gas 来发布状态。链上部分是一个变量,取决于以太坊网络中当前的 gas 价格。但是,这部分比普通 ETH / ERC20 转账的成本要便宜几个数量级。


实际大小= 每 wei 的价格 * 交易大小 * gas 的费用 * 当前 gas 价格 * Token

的风险系数

= wei_price_usd*gas_tx_amount*scale_gas_price*token_usd_risk


假设 ETH 价格为 2500u,当前 gas 价格为 30Gwei


普通交易的链上 gas 成本 = 2500/10^18*(0+300+2002)(30*10^9)1.31 = 0.068u

交易接收者为新地址的链上 gas 成本 = 2500/10^18*(0+940+2006) (30*10^9)1.31 = 0.20865u


假设 eth 价格为 2500u, 当前 gas 价格为 30Gwei


普通交易的链上 gas 成本 = 2500/10^18*(0+300+200*2)* (30*10^9)*1.3*1 = 0.068u

交易接收者为新地址的链上 gas 成本 = 2500/10^18*(0+940+200*6)* (30*10^9)*1.3*1 = 0.20865u


swap 的 gas_tx_amount = 链上验证成本 + 提交成本 + Chunk * Swap Chunk 参数(0 + 710 + 200*5)

swap 的链上成本 = 2500/(10^18)*(0+710+200*5)* (30*10^9)*1.3*1 = 0.1667u


验证流程如下:



总成本 = 链上 + 链下

普通交易总成本 = 0.002 + 0.068 =0.07 u

交易接收者为新地址的总成本 = 0.005 + 0.20865 = 0.21365 u

swap 总成本 = 0.005 + 0.1667 = 0.1672 u


(2)影响地板价的因素


Rollup 的交易地板价依赖于 ETH 主网 calldata 的费用。


ETH 的 gas 的相关处于草案阶段的 EIP 主要为 EIP4488,该方案将 calldata 非 0 字节数据由 16gas 降低至 3 gas,对 layer2 TPS 的影响较大,利好 layer2 的 Rollup,可以大大降低 Rollup 主网的交易成本,非 0 字节的数据可以降低为当前的 1/5 的成本不到,0 字节的也可以微微降低(ab,op,zk 等预计都可以下降至目前 1/5 的手续费)。


(3)费用支付方式


zkSync 中的转账天然支持「无气体交易」:用户在被转账的 Token 中支付交易费用。因此,例如,如果您想交易 DAI 稳定币,您无需拥有 ETH 或任何其他 Token 。只需支付一小部分 DAI 的费用。


2、zkPorter 的交易费用


目前 github 无 zkPorter 相关代码,由于 zkPorter 不需要链上数据可用性,预计成本将大大降低。


主要为链下成本,交易可以控制在 1 到 3 美分的恒定费用。引用自官方文档。



在zkSync 2.0中,L2 状态将分为 2 个方面:具有链上数据可用性的 ZK Rollup 和具有链下数据可用性的 zkPorter。



这两部分将是可组合和可互操作的:ZK Rollup 端的合约和账户将能够与 zkPorter 端的账户无缝交互。


从用户的角度来看,唯一明显的区别是 zkPorter 账户的费用减少了 100 倍。


想象一下应用场景:Uniswap 在 ZK Rollup 端部署他们的智能合约,zkPorter 账户可以以低于 0.03 美元的费用进行 swap。zkPorter 账户可以在 Uniswap 合约上进行数千次交换,但只需将一次更新发布到以太坊。


zkPorter 账户的数据可用性将由 zkSync Token 持有者(称为监护人)保护。他们将通过签署区块来跟踪 zkPorter 端的状态,以确认 zkPorter 帐户的数据可用性。


监护人使用 zkSync Token 参与权益证明 (PoS),因此任何数据可用性故障都将导致他们被削减。这为数据可用性提供了加密经济保证。需要注意的是,zkSync 中的 PoS 比侧链等其他系统中的 PoS 安全得多。这是因为 zkSync 监护人本质上是无法窃取资金。他们只能冻结 zkPorter 状态(冻结他们自己的权益)。每个用户都可以自由选择自己的安全阈值。任何想要所有链上可用数据的用户都可以完全留在 Rollup, 使用 ZK Rollup 账号。


zksync2.0 主网上线时间


根据官方文档 2022 年 1 月 31 日的文章内容可得知,6 个月内,zkPorter 将与 zksync2.0 一起上线主网。



3、Arbitrum Gas 机制


Arbgas 费用将根据用户与 Arbitrum 的交互方式而有所不同,但下表可用作一般参考:



部分代码:



4、optimism Gas 机制


optimism 交易中的两个成本来源:L2 执行费和 L1 数据/安全费。


(1)L2 执行费


就像在以太坊上一样,Optimism 上的交易必须为他们使用的计算量和存储量支付 gas。每笔 L2 交易都会支付一定的执行费用,等于交易使用的 gas 数量乘以交易附带的 gas 价格。这也是以太坊的收费方式。


这是(简单的)公式:


l2_execution_fee = transaction_gas_price * l2_gas_used


使用的 L2 气体量取决于您尝试发送的特定交易,交易在 Optimism 上使用的 gas 量通常与在 Ethereum 上的大致相同。


(2)L1 数据费


Optimism 与以太坊不同,因为 Optimism 上的所有交易也都发布到以太坊。此步骤对于 Optimism 的安全属性至关重要,因为这意味着同步 Optimism 节点所需的所有数据始终在以太坊上公开可用。这就是使 Optimism 成为 L2 的原因。


Optimism 上的用户必须支付向以太坊提交交易的费用。称之为 L1 数据费用,这是 Optimism(和其他 L2)与以太坊之间的主要差异。由于以太坊上的 gas 成本非常昂贵,因此 L1 数据费用通常会在 Optimism 上占据交易的总成本。该费用基于四个因素:


- 以太坊当前的 gas 价格。

- 将交易发布到以太坊的 gas 成本。这交易长度的大小(以字节为单位)成比例。

- 以 gas 计价的固定费用。当前设置为 2100。

- 一种动态的间接费用,按固定数字支付的 L1 费用。当前设置为 1.24。


公式:


L1_data_fee = L1_gas_price * (tx_data_gas + fixed_overhead) * dynamic_overhead

三、总结


随着越来越多的应用程序接入区块链,用户的采用和交易量将呈指数级增长。从 DeFi 、NFT 到 DAO,它们最终将消耗以太坊上更多的吞吐量和产生更多交易成本,使其使用体验感降低,从而阻碍了区块链向更多人口的扩展的机会。


L2s 是目前以太坊扩展的最佳解决方案,在提供高吞吐量和更便宜的费用的同时,可以很好的利用 L1s 的安全性。但由于 Layer 2 的扩容解决方案也在不断的更新和调整,每种方案都有其各自的优劣势,总体来说,zk rollup 的交易费用更低、极限/部分 TPS 更快、最大拓展性也大大的得到提高以及在安全性上也有保证,zkporter 次之;其他解决方案的交易费用也有所降低,但是同 zk rollup 相比略逊色。


未来,我们将看到许多项目在 L2 上迁移或创建,从而改善用户体验。作为 2022 年最热门的趋势之一,L2s 将继续建立庞大而忠诚的用户群,这将成为以太坊最重要的发展之一。


原文链接


欢迎加入律动 BlockBeats 官方社群:

Telegram 订阅群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方账号:https://twitter.com/BlockBeatsAsia

举报 纠错/举报
选择文库
新增文库
取消
完成
新增文库
仅自己可见
公开
保存
纠错/举报
提交