首页 > Web3.0 > 开发者可以怎样降低以太坊Layer2上的交易费用
Xiaoz  

开发者可以怎样降低以太坊Layer2上的交易费用

摘要:自 2020 年以来,Ethereum 的扩张路线图一直围绕「Rollup」展开: 使用证明(无论是零知识证明还是 optimistic 欺诈证明)来继承 Ethereum 安全性的独立执行环境。经过多年的发展,Rollup 终于完成了部署,并正在获得采用。Arbitrum 的王牌 optimi

开发者可以怎样降低以太坊Layer2上的交易费用-iNFTnews

自 2020 年至今,Ethereum 的扩展路线地图一直紧紧围绕「Rollup」进行: 使用证明(不论是零知识证明或是 optimistic 诈骗证实)来传承 Ethereum 产品安全性单独实行自然环境。

经过多年发展趋势,Rollup 终于完成布署,并已经得到选用。Arbitrum 的最强 optimistic Rollup 早已发布近一年,期内有意义超出 27 亿美元财产存进跨链桥,而 Optimism 则略逊一筹。Loopring 和 dydX 等适用于特殊应用软件的零专业知识 Rollup 也获得了广泛应用,很多竞争的通用性零专业知识 Rollup 同样会在好多个月内发布。

虽然 Rollup 现在已经迅速快速,但一些人或是担忧其花费居高难度下。

开发者可以怎样降低以太坊Layer2上的交易费用-iNFTnews

实际上,Arbitrum 和 Optimism 的交易费用依然明显高过 Solana 和 Polygon 等「低花费」链。

那样,是啥限制了这种 Rollup 的高速发展?

Rollup 社会经济学

为了能了解交易费用,大家首先要分辨区块链交易所形成的各种各样成本费:

・实行

这是一个网络里全部连接点实行交易并认证结论是否有效所需要的成本费(比如:你具体有着你所能迁移 Token 的使用权)。

・存放/情况

这也是用新值升级区块链「数据库」成本(比如:在 Token 迁移后,发送方的额度降低,接受方账户余额提升)。

・数据可用性

为了能让区块链维持去信任化并可以被每个人认证,区块链务必保证所有关于交易的有关数据与任何互联网参加者公布分享。从根本上讲,这便是要确保全世界每一个人都能看见你的交易。要是没有这类确保,各种各样进攻就都可能会产生(被称作扣块进攻)。

如同他们所见,数据可用性是现代区块链的关键所在短板之一。

Rollup :将实行转移到链外

Rollup 的重要发展取决于,这将区块链的落实和存放转移到「链外」,即一组有限的资源连接点中进行。与其说让网络里的每一个 Ethereum 连接点实行全部交易或存放每一条升级,我们可以直接将今天的任务交由 Rollup 网络运营商。

但是,这是否代表着我们应该信赖这一群操作工?难道说这个不是去中心化吗?

Rollup 会用各种各样证实种类来传承 Ethereum 安全性。Optimistic Rollup 容许单一负责任的实体线递交一个「诈骗证实」,并为一个品行不端的编码序列器获得奖赏,而 ZK Rollup 应用零知识证明来验证 Layer-2 链早已恰当升级。

数据可用性的衡量

将实行从主链转移能够大幅度降低实行和心态存放成本,但是 Rollup 仍然需要将他的数据分享到 Layer-1 链上以保证数据的可用性。从根本上讲,Rollup 付款实惠的 Layer-2 实行和存储成本,但仍然需要缴纳 Layer-1 费用来公布他的数据。

这样可以在 ArbiScan 区块链网页中一切交易的「Advanced TxInfo」标识里看到。交易费用由分享到 L1 的调用数据成本费、L2 上所使用的运算 L2 存放组成,但在绝大多数的交易中,L1 的调用数据全是费用关键来源。换句话说,Rollup 上最应该解决问题就是将数据分享到 Layer-1 的费用等问题。

数据可用性未来的发展

尽管数据可用性针对 Rollup 而言仍然是一大短板,但随着时间的推移这样的事情也能得到减轻。

Ethereum 升级,如 Proto-Danksharding 和最后的彻底 Danksharding 将大幅度降低向 Ethereum 公布数据成本。除此之外,Celestia 这样的项目致力于给予单独的链,但这些链是专门针对给予便宜的数据可用性而创建的。

长远来看,Danksharding 和 Celestia 这种将自动减少数据可用性成本费并提高其多元性,与此同时把问题抛返回实行方面。但是,这种解决方法还要时长才可以彻底完善:Celestia 也有几个月的时间也才能公布其主网上线,但在 Ethereum 可以增加像 Proto-Danksharding 这种数据可用性更新以前,仍然需要一年多的时长。

调用数据缩小

数据缩小是一个比计算机本身还需要历史悠久的行业。莫尔斯电码创造发明于 1838 年,是已经知道最开始运用数据缩小的案例。随后,计算机的使用加快了人们对数据缩小的探索,因此上个世纪 50 时代哈夫曼编码这种优化算法就创造了出去。

由于 Rollup 的落实价格低廉,但数据可用性成本费价格昂贵,这种精英团队一直在把数据压缩算法融合到他的协议书之中。Optimism 已将 Zlib 压缩算法融合到他的 Rollup 中,而 Arbitrum 将要上线的 Nitro 全新升级则用了 brotli 压缩算法。

留意:这一试验可能在 Nitro 公布以前匆忙完成,便于在没有缩小的 Arbitrum 调用数据中进行试验。

数据压缩算法毫无疑问是有效的专用工具,有利于减少这种调用数据成本。但是,缩小区块链交易是一项艰巨任务:数据缩小作用是探寻同样的方式并减少他们。但是,交易中充满着详细地址、hash值和签字,对于这类压缩算法而言,他们实质上是「任意数据」,不具备相似度。

只有在开发人员逐渐关注怎样减少她们应用软件里的调用数据,此类数据成本才能做到真正减少。2020-2021 年的高价 Gas 价钱驱使开发人员提升他的编码,以尽量避免实行和心态存放。

开发者可以怎样降低以太坊Layer2上的交易费用-iNFTnews

在我们转换到 L2 世界时间,调用数据将在最便宜网络资源变为最昂贵网络资源,所以开发人员务必再度学习培训这种一个新的改进方案。

试验:我们可以将一次简单 Token 传送缩小到何种程度

如今让大家在 Arbitrum 上做一个实验:我们可以将一个简单的 Token 传送所需要的调用数据缩小到何种程度?这种提升可在多某种程度上减少交易费用?

实验设计方案与对照组交易

为了能开展我们自己的试验,我们将要创建一个简单的区块链智能合约,将一个 Token 从交易发送方转移至一切给出地址。

这一区块链智能合约真的需要客户在推送我们自己的具体检测交易以前,先推送一个 approve() 交易。由于这种限定,客户也许不会想要这个模式开展 Token 迁移。但是,本实验操作中需要用到的降低成本方式还可以用于别的合同(比如,改善的 Uniswap 无线路由器)。

在试验开始的时候,我们将要推送一个「操控」交易以获得标准成本费,他会调用一个简单的 Solidity 函数公式,用以传送 Token 详细地址、接受者地址信息要转移 Token 总数。

我们自己的检测交易用了 576,051 个 ArbiGas,成本费为 0.43 美金。

开发者可以怎样降低以太坊Layer2上的交易费用-iNFTnews

数据删剪

用以对照实验组的调用数据有许多我们可以脱离出的多余数据。最先,我们应该删除所有的零,这种零仅仅用以数据添充。尽管他们非零字节数比较便宜,但仍然也会产生成本费,因此我们必须把它删掉。

开始还有一个 4 字节数的函数签名,它就是我们尝试调用哪一个 Solidity 函数的标志符。我们可以删除这个数据,使我们编码推测他们所应采取行动。

通过这二步提升以后我们已将字节码从 100 降低到 43 了。这样一来,我们自己的检测交易用了 494,485 ArbiGas(降低了 14%),耗费 0.37 美金。

开发者可以怎样降低以太坊Layer2上的交易费用-iNFTnews

「小助手」合同

如今我们的大多数数据是通过调用数据中的两大详细地址所组成的:一个是我们应该转移 Token 详细地址,另一个是转移接受详细地址。

但是,我们可以假定大部分客户都是在迁移一样这几种 Token(WETH,Dai,USDC)。因此,从调用数据中删掉全部 Token 地址的其中一个方法是什么为 Token 布署一个特殊「小助手」合同。假如我们可以把交易发给这一小助手,就避免了推送 Token 地址的必需。

这样大家把数据字节码降低到了 23 字节数,检测交易用了 457,546 ArbiGas(比对照实验组降低了 21%),成本费为 0.34 美金。

开发者可以怎样降低以太坊Layer2上的交易费用-iNFTnews

详细地址表

上一阶段我们要用「小助手合同」从调用数据中删掉了一个详细地址,但我们的调用数据中仍包含了另一个详细地址。

我们是不是能够都可以找到另一种更可信赖的「缩小」详细地址办法呢?

庆幸的是,Arbitrum 有一个叫做「地址表申请注册」的内嵌合同,我们可以用它减少我们自己的调用数据。

这一合同实质上是一个「通信录」,能将 20 字节数的 Ethereum 网络地址转换为简单整数金额。想象一下,你的好朋友有一本传统通信录:与其说将你的全部联系电话读给他听,不如直接说「我就是通信录第 200 页里的第 4 个联系电话」,随后让她们查出你的电话号码。

因而,我们可以制定一个合同并且用「详细地址检索」代替详细地址,并在外部查到它。

那样我们不仅免去了 Token 详细地址又免去了接受详细地址,同时将将调用数据降低到 9 字节数。如此一来,我们自己的检测交易用了 428,347 ArbiGas(比对照实验组降低了 26%),成本费为 0.32 美金。

开发者可以怎样降低以太坊Layer2上的交易费用-iNFTnews

方式合拼

最终,我们要把每一个方式融合到一起:

・清除数据添充与函数公式选择符

・应用协助合同来删掉普遍地址

・应用 Arbitrum 地址表来减少别的详细地址

所有加在一起,我们自己的调用数据尺寸目前只有 6 个字节数了。最后检测交易用了 426,529 ArbiGas(都比对照实验组降低了 26%,比以前的测试组稍低),耗费 0.32 美金。

开发者可以怎样降低以太坊Layer2上的交易费用-iNFTnews

开发者可以怎样降低以太坊Layer2上的交易费用-iNFTnews

有损压缩

大家刚谈到的全部缩小方法都归属于「无损压缩」,即缩小后导出包括与初始键入同样的全部数据。

但就像图片和视频文档一般会应用「有损压缩」优化算法来删掉不必要信息内容一样,我们还可以在绝大多数情况下删掉不必要数据。

我们可以根据减少数据来清除不必要精密度。比如,ERC-20 Token 通常拥有 18 位小数的精密度,但大部分客户一般只关注小数点后 4 位。因此,我们可以建立一个合同,默认设置接纳小数点后 8 位数据并乘于 10 的 10 三次方,并且为需要大量测量精度客户提供对应的功能。

一样,日期一般表述为「1970 年 1 月 1 日至今的分秒」(又被称为 Unix 时长)。合同能通过设置的不同类型的时间单位换算,如min、钟头或来天降低这一整数金额大小,并能设自已的「世纪」,比如,2015 年 1 月 1 日。

经验交流

总而言之,调用数据逐渐从 Ethereum L1 上最便宜网络资源,成了 Ethereum Rollup 上最昂贵网络资源。Proto-Danksharding 和 Celestia 这种数据可用性技术性最终都会处理这一问题,但二者也还没有发布,并且数据可用性越来越便宜且广泛仍然需要几年的时间。

因而,区块链开发人员必须十分留意她们交易所需要的调用数据总数,由于这会对终端产品用户的交易费用也会产生深远影响。

本文简述了一些适合于降低调用数据的方法与技术,我坚信伴随着越来越多「提升精兵」将关注转为 Layer 2,该类方式将变的更加丰富多彩。

来源:Xiaoz

Tags:
免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。