译者注:1月份,Optimism发推更新其Rollup的固定开销(Fixedoverhead)从2750gas减少至2100gas,动态开销(FeeScalar)从1.5倍降低到1.24倍;3月份又发布更新,称将对交易的calldata进行一次系统级别的压缩。而这一系列调整与更新将会给Optimism的开销带来极大的变化,进而影响用户的交易费(交易费平均减少30%-40%)。这些收费部分在Optimism的运作中分别扮演什么角色?本文先整体介绍了Optimism开销的组成部分,然后再分析对这些组成部分的调整如何影响用户的交易手续费。
Optimism交易费介绍
想要理解我们是如何减少开销的,首先需要了解Optimism交易费的组成部分:1)Rollup开销:将交易「rollup」(打包)进交易batch中然后提交至以太坊主网(L1)的开销;2)L2执行开销:在Optimism(L2)上运行交易的开销。想要深入研究,请阅读"Optimism是如何运作的"文档。1)Rollup开销在Optimism中用户不再需要支付整个交易执行的L1gas费用,而只需支付将你的交易数据通过交易batch提交至L1所产生的那部分费用。这笔费用包括你的交易的实际Calldata(输入数据)和固定开销(FixedOverhead)产生的费用,即在更大的交易batch中添加一个交易所需的额外处理费用。Optimism还增加了一个动态开销(FeeScalar,费用比例系数)作为附加费用。这给了我们一些额外资金用来作为缓冲,以防L1价格迅速上升,而多余的资金用于推动公共物品发展。(OptimismPBC发布的《追溯性公共物品募资》文章中有承诺这一点,还可以阅读我们首轮募资的回顾文章)Calldata的开销和L1gas价格是由以太坊L1决定的,但是固定开销(FixedOverhead)和费用比例系数(FeeScalar)是可以由Optimism调整的「花哨数字」。「L1gas费」代表这些rollup开销:Layer1GasFee=FeeScalar*L1GasPrice*(Calldata+FixedOverhead)目前Optimism一笔交易费中rollup开销占大概99.6%,所以我们可以通过优化这一部分大大地降低交易费用。2)L2执行开销Optimism上的交易使用的gas量与以太坊上的同等交易使用的gas量相同;但是,Optimism上gas的标准开销只有0.001gwei,比L1便宜很多倍。这个gas价格在使用率高期间会略有增加,但平均只占总交易费的0.4%。「L2gas费」代表着执行开销:Layer2GasFee=L2GasPrice*L2GasUsed交易费用的节省将rollup开销和L2执行开销相加,我们就得到了总的交易费用。对于简单的交易(如ETH转账),Optimism上的费用比以太坊便宜约5倍,但对于更复杂的交互(如进行一笔永续swap交易或者期权交易),Optimism能比直接使用以太坊L1便宜200倍以上。发现我们新的费用参数
Hicoin与徽商链(HSB)钱包达成深度合作:据官方消息,Hicoin与徽商链(HSB)平台达成技术与安全方面的深度合作,ChainUP旗下Hicoin将提供技术咨询、7*24小时运维、风控监测等服务,为徽商链(HSB)平台提供技术与安全双重保障,并于今日正式上线。
徽商链(HSB)总部位于新加坡,是由徽商联盟会与新加坡徽商链基金会研发创立,致力于赋能实体企业,帮助其解决资金、产品、流量等问题。
HiCoin以数字货币钱包解决方案为核心,实现零基础,极速搭建定制化钱包。经过3年的发展,已经累积了超100家钱包客户服务经验。[2021/4/22 20:47:30]
在我们降低费用之前,固定开销参数被设置在2750gas每笔交易,费用比例系数被设置在1.5倍。后来对它们都做了一些调整:1.更低的开销结构:由于Optimism在去年11月11日进行了EVM等同性(EVMEquivalence)升级,提交Optimism交易batch至L1需要的gas变少了。实际开销减少了将近25%,从2750每笔交易降至2100gas每笔交易。2.从经验中学得什么:虽然现在Optimism仍处于十分早期的阶段,但自我们上线主网这几个月以来,我们知道我们有能力将额外费用从35%的利润率减少至10%的利润率(利润率=/L2收集的费用)。
链上ChainUP WaaS联盟与欧赛Osasion达成深度战略合作:据官方消息,链上ChainUP WaaS联盟与欧赛Osasion宣布达成深度战略合作,将为欧赛Osasion链上稳定币UORA项目提供全方位的WaaS联盟服务,包含主链资产托管等,双方就区块链技术应用落地、区块链金融服务、资金安全等方面深度合作。
欧赛Osasion资产上链分布式交互生态公链,包含AUC主网架构,双智能合约体系下的平权治理型生态社区,一币双挖的代币分配模型嵌入到独创的Bayes(贝叶斯)生态网体。首创MPOS共识机制,打造一个由共识者主体共建共享的分布式去中心化金融赋能网体,为欧赛Osasion链上生态治理和发展打造高流量社区聚集地。
WaaS联盟是链上ChainUP集团依托3年时间所服务的300多家交易所经验,将底层资产托管和钱包封装而成的一套完整的服务,包含资产托管、节点服务、主链币种开发、热门币种一键接入、共管钱包、借贷理财等多种功能服务,通过开放钱包API与SDK,帮助交易所、项目方、媒体等快速高效接入,实现云端资产安全托管,联盟内部转账0手续费即时到账。目前,已有超过500家企业加入ChainUP WaaS联盟。[2020/12/2 22:52:57]
EVM等同性升级后开销gas降低预测和优化
下一步就是将更低的开销转化成Optimism用户更便宜的手续费。为了恰当地调整固定开销和费用比例系数这两个参数,我们必须理解什么影响了我们的费用:1.Calldata:Calldatagas的多少由交易类型决定(比如,ETH转账:0calldatagas、Chainlink预言机更新:890gas、UniswapV3交易:3200gas)。平均一笔交易使用1100calldatagas,但这个gas可能会变高,也可能会随着Optimism上不同的app被普遍采用之后变低。2.开销:随着总batch的尺寸变大,在一个batch中添加一笔交易的开销会减少。这是L2扩容与L1扩容不同的一个地方:交易越多,交易费就越便宜。开销已经从2750gas减少到2100gas,并会随着Optimism的使用率增加继续减少。3.L1Gas价格:交易在Optimism上发生了之后过几分钟就会被提交至L1,而L1gas价格在这段时间内变化相当大。如果L1gas价格升高,提交者需要支付比预期多的gas费;如果L1gas价格下降,那么就会支付比预期少的gas费。在gas价格波动期间,可以有10%的差距。
北京互联网法院出台意见:加快区块链等现代科技与互联网审判工作的深度融合:北京互联网法院正式出台《关于为促进北京数字经济创新发展提供有力互联网司法服务和法治保障的意见》(以下简称《意见》),以充分发挥互联网司法职能作用,为促进北京数字经济创新发展、国家服务业扩大开放综合示范区建设提供有力司法服务和保障。《意见》提出,在互联网司法智能化应用方面,加快实现人工智能、5G、区块链等现代科技与互联网审判工作的深度融合,持续落地互联网技术应用的司法新场景,以北京互联网法院建设成效,为世行评估提供新的最佳实践样本。(北京日报)[2020/9/21]
根据batch大小而变化的开销gas费用现在我们知道这些因素是什么样的了,但一旦我们降低费用,预计使用情况就会发生变化(比如,更多的交易,使用更多的calldata)。因此,我们做了一些假设,提出了一系列的方案,然后在这些范围内模拟了5000个随机日(参考蒙地卡羅方法,MonteCarlomethod)。之后我们得到一个简单的优化问题:通过调整固定开销和费用比例系数,尽可能地接近10%利润的目标。结论是:将固定开销调为2100gas,费用比例系数调为1.24倍。想了解最新的数据吗?请看我们的交易开销dashboard
最高院院长:推动区块链等现代科技在司法领域深度应用:4月28日,最高人民法院党组书记、院长周强在最高人民法院与科技部党组书记、部长王志刚一行座谈。周强强调,要积极推进现代科技与审判执行工作深度融合,推动5G、人工智能、大数据、云计算、区块链等现代科技在司法领域深度应用,完善智慧法院技术标准,提高司法大数据预警预测能力,为扎实做好“六稳”工作、落实“六保”任务提供精准司法服务。要加快探索互联网司法新模式,发挥互联网法院“样板间”和“试验田”作用,建立健全具有中国特色的互联网司法新模式和规则体系,积极开展国际司法交流合作,为世界法治发展贡献中国司法智慧。(人民网)[2020/4/30]
Optimisticrollup正迅速地走向成熟。我们度过了「0到1」的阶段之后,接下来要开始进行「优化」了——最实在的优化是开销方面的优化。在下个月之内,我们将在任意的产品级ORU网络上部署首个系统级别的calldata压缩,实现费用降低30-40%。未来,我们还有其他一些计划来节省更多的gas费,今年夏天会推出下一个主要版本:Bedrock。这篇文章深入探讨了calldata压缩的细节:特别是我们如何评价各类压缩算法,以及如何利用它们实现我们的亚美元级别的收费。Calldata概览
Optimism使用以太坊作为其数据可用性层。这意味着每一笔在Optimism执行的交易都会存储在以太坊上(但不在上面执行)。目前我们将Optimism的交易存储在calldata中。多笔L2交易被成批地打包进一个二进制blob中,并且该blob(加上其他信息)存储在交易的数据字段中。想要检索回那个数据,我们需要看回交易主体本身(存储在区块内)。因为以太坊的区块有保存下来,Optimism链的交易总是可以借助以太坊重构。虽然在区块中存储数据比在合约状态中存储数据要便宜得多,但永久保留历史区块确实会给节点运行者带来成本。因此,以太坊对calldata收费。每一个0字节的calldata消耗4gas,每一个非0字节的calldata消耗16gas(0字节类的在提交给Optimism的交易中占40%左右的字节)。虽然将calldata发布至L1是rollup节省gas费的一个重要部分,但这个费用同时也是二层用户进行交易的主要开销。也就是说,我们可以减少calldata发布的数据量越多,rollup的交易费就可以越便宜。走进压缩:缩小数据大小的艺术!下面将对实际运行的数据压缩进行深入分析:压缩的概览和结果
声音 | 广州港集团总经理:推动区块链等新技术与交通行业深度融合:据江门广播电视台报道,广州港集团总经理李益波表示,广州港集团将紧跟国家发展战略,抢抓“一带一路”、粤港澳大湾区和自贸试验区建设等机遇,大力发展广州港港口型国家物流枢纽,不断完善集疏运体系,打造融合发展的国际海港枢纽;大力发展智慧交通,推动大数据、互联网、人工智能、区块链、超级计算机等新技术与交通行业深度融合,推动北斗卫星导航系统、5G通信技术的应用;着力推进南沙疏港铁路等港口配套基础设施建设,提升和优化港口服务功能,推动广州国际航运枢纽高质量发展。[2019/9/26]
我们研究了Optimism提交给以太坊的2.2万个batch(将近300万笔单独交易),并以不同的配置对其进行压缩,以确定如何最好地执行压缩,并对可能的情况进行实验。我们还研究了各种压缩算法,并计算了压缩率(压缩后的数据大小占未压缩大小的百分比)和预估节省的费用(假设交易中40%的字节是0字节)。需要了解的一个配置选项是字典(dictionary)。提前创建一个字典,以显示现实数据中常用的算法数据分块。压缩算法使用字典来更好地压缩数据,特别是在一次性压缩少量数据时。通过随机抽取交易样本,我们可以为zlib和zstd创建一个字典,这可以在压缩单笔交易和交易batch时提高压缩率。由于以太坊交易中的大多数字段都是随机的(地址和函数选择器是哈希值,签名应该都是随机的),单笔以太坊交易的压缩率并不高。因为以太坊上0字节本身就很省gas,而压缩算法会迅速移除这些字节,所以节省的费用不会像压缩率那么多。因此,为了节省最多的费用,我们需要在尽可能多的数据上运行一个高级的算法。下面是对交易本身进行压缩的结果:
正如你所看到的,压缩单笔交易本身只会让我们节省10-15%。请注意,交易大小减少的幅度比这个还大,但节省的幅度较小——这是由于上面讨论的更便宜的0字节。带有字典的zstandard算法明显性能更好,因为每笔交易和存储在字典中的交易之间都有共通点。但是,当一次性压缩大量数据时,zstd的性能仍然更好。另一个极端就是一下子压缩所有单笔交易。这在实际中是不可能实现的,但可以作为最大压缩比率的例子研究。因此,在这个例子中,我们可以通过压缩节省10%-50%的开销。但在实践中,我们能实现什么呢?
当查看交易的压缩batch时(数百笔交易),它们的压缩率明显比压缩单笔交易的压缩率高,但是要比一次性压缩所有交易略低一些。这是因为用户倾向于与某些合约交互。此外,某些字段(如链ID和gas价格)在交易中趋于相似。压缩算法依赖于这些相似性来完成它们的工作。在比较不同的压缩算法时,我们发现zlib、zstd和brotli是压缩率最高的算法。我们排除了Brotli是因为在差不多的压缩率下,它比zstd或zlib慢得多。一般来说,某种算法的压缩率越高(或某个算法的设置压缩率越高),这个算法就运行得越慢。在通用基准测试中,在比较过一系列压缩速度/压缩率之后,zstd往往比其他压缩算法性能更好。还要注意的是,以太坊交易与基准测试中的数据具有不同的特征。Zlib和zstd十分接近,我们将在短期内推出zlib压缩(不带字典),因为它在不同的编程语言中都有良好的结果、速度和可用性。长期来看,我们希望zstd能够帮助实现尽可能高的压缩率和尽可能低的用户费用。总结
综上所述:如果按照这样的历史趋势继续下去,我们预计可以通过引入上述所说的压缩方法,将费用减少30%-40%。使用Zlib压缩算法的batch很快就会在Optimism上应用。3/17推出Kovan测试网3/24上线主网基于Zstd算法的压缩(带有字典的)在Optimism未来的升级路线规划中:Bedrock,将在今年晚些时候发布。除了通过压缩减少用户的费用之外,Optimism同时正研究如何通过EIP-4844和类似的方法来改善以太坊作为数据可用性层的能力,以进一步减少开销。附录:算法总结
ZLE是零字节运行长度编码(zero-byterunlengthencoding)的缩写。它是一种简单的压缩算法,将一串零替换成应该存在的多少个零。原地址
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。