月亮链 月亮链
Ctrl+D收藏月亮链

GAS:深?理解以太坊Gas机制:零字节地址能节省Gas?_ETH以太坊今日行情

作者:

时间:1900/1/1 0:00:00

0x00000000a03396F6F864B496713f2623b6756Be2。这个地址是以0?x?00000000开头,抱着探索未知的心理对该地址进行了简单的搜索,发现该地址并不简单,它不仅构造独特同时,还能节省?Gas费。

什么是Gas

在讲这个地址之前,我们首先需要理解什么是Gas。

Gas是用于测量在以太坊区块链上执行特定操作所需的计算工作量的单位,即以太坊网络上的计算单位。我们可以简单的把Gas理解为汽油,其保证了以太坊网络的正常运行。在以太坊区块链上,执行写入操作都需要支付一定的Gas费用。

在以太坊中,货币是以太币(ether),?1ether=1?x?10?18?Wei。在以太坊区块链上进行操作,如发送代币、调用合约等都要支付相应Gas,且以Wei作为单位来计算。Wei是ETH原生最小的单位,ETH消耗的Gas单位是Gwei,?1Gwei=1?x?10?9?Wei。

Vitalik:跨链证明是实现跨链社交恢复钱包的关键,ZK-SNARK等是可行选择:6月20日消息,以太坊联合创始人VitalikButerin在最新文章《更深入探讨钱包和其他用例的跨L2读取》中指出,实现跨链社交恢复钱包的一个可行方案是维护一个存放在特定位置的密钥库,以及多个不同位置的钱包,这些钱包可以读取密钥库来更新自身的验证密钥视图或在每次交易验证过程中。跨链证明是实现这个功能的关键,需要对其进行深度优化,可能的方案包括零知识证明(ZK-SNARK)、等待Verkle证明或自定义KZG解决方案。

从长远看,我们需要实现聚合协议,通过生成聚合证明来打包所有用户提交的操作,以此来降低成本。这可能需要将其集成到ERC-4337生态系统中,可能需要对ERC-4337进行一些修改。同时,为了减少从L2内部读取L1状态的延迟,L2应被优化。

钱包不只可以放在L2上,也可以放在与以太坊连接程度较低的系统上,如L3或只同意包含以太坊状态根的独立链。然而,密钥库应放在L1或高安全性的ZK-rollupL2上。尽管这样会增加复杂性,但从长期来看,可能在L2上设置密钥库才是成本更低的方案。在这个过程中,我们也需要致力于提供保护隐私的解决方案,并确保我们的方案可以与隐私保护方案兼容。[2023/6/21 21:50:47]

钱包里都会有调整Gas费的高级选项,GasPrice越高,打包的优先级就越高。2.2GasLimit

币安AI驱动的NFT生成器Bicasso已完成首个试点,发布后2.5个小时达到铸造上限:3月2日消息,币安创始人赵长鹏昨日晚间在推特上表示,Bicasso的第一个试点已完成,在2.5小时内铸造了1万枚NFT(达到铸造上限)。

官方数据显示,Bicasso AI试点藏品目前唯一持有者有9907人。这些图像是试点的一部分,因此不可转售。据币安官方推特,错过1万枚NFT配额的用户仍然可以注册完整版的候补名单。

此前昨日消息,币安推出可将创意转化为NFT的AI产品Bicasso。[2023/3/2 12:38:18]

GasLimit是消耗Gas的限制单位,即交易发送方在完成每笔交易时最多能使用的用于执行交易的Gas量。如果没有GasLimit做限制,可能会导致交易发送方的账户余额因错误操作而消耗完,GasLimit是安全机制,防止把账户中所有ETH消耗掉。

BlockSec:SushiSwap的KashiPairMediumRiskV1合约存在逻辑漏洞:12月16日消息,BlockSec表示,SushiSwap 的 KashiPairMediumRiskV1合约因一处逻辑漏洞遭遇两次攻击,导致代币价格计算错误,造成资产损失。Sushi团队随即采取行动,保护一些有价值但易受攻击的资金池免受攻击,并且提供程序以补偿那些因漏洞而损失资金的用户。

BlockSec提示,有数十个建立在以太坊和BNB Chain上的资金池可能会受此漏洞的影响,解决该问题的临时办法是偶尔或定期调用UpdateExchangeRate函数来减少或消除偏差。[2022/12/16 21:49:06]

2.3固有成本Gas

发送一笔交易的成本包括两部分:

1、固有成本

BNB信标链测试网Godel将于7月18日进行硬分叉升级:7月12日消息,官方消息,BNB信标链测试网Godel预计将在区块高度28,250,000进行硬分叉升级,此次升级命名为Kurt G?del。根据当前的区块生成速度,预计硬分叉将在7月18日 6:00 (UTC) 发生。测试网上的全节点运行者必须在7月18日之前将其软件版本切换到v0.10.0。[2022/7/13 2:08:48]

2、执行成本

执行成本顾名思义和执行有关,执行一笔交易的操作越多,它所需要的使用的EVM资源就越多,执行成本就越高。

而固有成本由交易的负载决定:

1、创建智能合约的负载是创建智能合约的EVM代码

2、调用智能合约函数的负载是执行消息时输入的数据

3、两个账户之间转账的负载为空

我们从以太坊黄皮书附录G中可得知创建合约和执行交易的相关成本Gas。

我们假设$N{zeros}$代表的是交易负载中字节为0的字节总数,$N{nonzeros}$代表交易负载中字节不为0的字节总数,根据黄皮书6.2章节关于执行的描述,可以得到固有成本。

以太坊地址中零开头的地址

由于Gas费用现在比较昂贵,所以优化Gas变得很重要,优化Gas费用的方法有很多,这里我们不一一列举,本文只以以太坊地址中0字节降低Gas费来讨论,这是从EVM层面来优化Gas。通过使用比平时更多的0字节的地址,并且在某些情况下,地址开头有更多的0字节,我们可以在许多类型的交易中节省汽油。

汉明重量是一串符号中非零符号的个数。全零符号的汉明重量为0?,?1101的汉明重量为3?。

在以太坊黄皮书附录G中可以看到,使用0字节时需要4Gas,而使用非0字节时需要16Gas:

每次使用0字节代替非0字节时,就可以节省16个Gas,因此,每次在msg.data中用一个0字节代替一个非0字节,都将给我们节省12个Gas。在以太坊中,地址是由0?x开头的40个随机字符的16进制字符串,当以16进制形式查看字节串时,由于每对数字构成一个字节,所以单个16进制的0?,或相邻的0分布在两个不同的字节中,不会减少字节串的汉明重量,所以只有连续2个16进制的0才会减少汉明重量。0字节的排序对所产生的Gas优化也没有影响。

在ERC?20的transfer()函数中,msg.sender的汉明重量没有区别,而作为transfer()函数的一部分传入msg.data的_to地址参数就有区别。

使用OpenZeppelin的StandardToken作为参考实例。向一个没有0字节的地址进行标准转账需要花费35039Gas,然而向一个有4个0字节的地址进行转账只需要34991Gas,他们相差了$?35039-34991=48\,Gas$。而我们前面说到每次使用0字节代替非0字节时,可以节省12个Gas,这里的48Gas可以表示成$?4\times12=48\,Gas$,和我们从黄皮书中得到的期望值一样。

而2个0字节的地址0x00a0009e638D25EFE5a894f6a36F42734477dECa和上面2个差值分别都是24Gas,说明也是符合期望的。

但是如果我们地址尾部存在0字节时,又容易被短地址进行攻击,所以以0?x?00开头的具有多个0字节的地址就成为了更好的选择。如果地址至少有4个前导0字节,那么每个地址将只需要占用16个字节,这样两个地址就可以装入一个32字节包了。这样的优化不仅在于使用了$G_{txdatazero}$带来的Gas优化,而且由于不用从调用数据中读写更多的字节,我们还能省下更多的Gas,所以向这样的地址转账时,不管该地址是合约地址还是普通账户地址,都能省下5%左右的费用。

由去中心化交易所聚合器1inch.exchange开发的CHIGasToken就是采用这样的原理,也有不少的普通账户地址使用前导0作为自己的地址。

如何得到更多前导0开头的地址呢,这里就和大家看到的以太坊靓号生成是一样的,这里就不提供生成方法了。当然了,想要得到的开头0越多,难度就越大,需要的时间也就会越久。

92.47%的机会在地址上找到0个0字节。

7.25%的机会找到1个0字节。

0.27%的机会找到2个0字节的机会。

0.00635%的机会找到3个0字节的机会。

0.00000106%的机会找到4个0字节的机会。

参考文章

以太坊黄皮书2022-10-24?

深入理解以太坊Gas机制:从概念起源和21个EIP开始

OnEfficientEthereumAddresses

标签:GAS以太坊ETHWEIgas币是什么币ETH以太坊今日行情ETHFIN价格ANDROTTWEILER

币安app官网下载热门资讯
Gate.io 将进行现货交易引擎升级公告(明晚22:00)

Gate.io将于2022年12月20日22:00~22:30进行现货交易引擎升级,时间约为30分钟。升级期间可能带来现货交易部分服务不可用,预计会有1s以内的交易中断时间和查询中断时间.

1900/1/1 0:00:00
OIN:Coinbase获得爱尔兰央行批准可以向欧洲的个人和机构提供服务_BASE

金色财经报道,Coinbase已获得爱尔兰中央银行的批准,可以作为虚拟资产服务提供商(VASP)运营,这意味着Coinbase可以继续从爱尔兰向欧洲和国际上的个人和机构提供产品和服务.

1900/1/1 0:00:00
DOD:12 月 20 日每日市场更新_DODO

主要亮点:加密货币总市值在过去24小时内从$826.02B增加到$828.96B,涨幅为0.36在过去24小时内上涨0.52%后,截至发稿时比特币价格为16.

1900/1/1 0:00:00
SDT:BiKing币王-去中心化媒体_METADAO

去中心化内容创建是从web2.0移植的拟物化心智模型。Web2社交应用程序已经为去中心化内容创建提供了条件.

1900/1/1 0:00:00
UTC:欧易关于2022年12月18日 (UTC 8) 交易恢复后资金费结算的公告_DEF

尊敬的欧易用户:由于欧易所使用的云服务商机房故障问题,导致期间交易服务中断,交易恢复后,对于2022年12月18日(UTC8)的资金费结算如下:1、12月18日下午4:00(UTC8)计算基于1.

1900/1/1 0:00:00