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

GAS:MOVE语言首个GAS设计:Aptos 链上的GAS 花费如何计算?_Baby Aptos

作者:

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

AptosLabs于10月14日公布了Aptos的GAS计划,因为MOVE语言的上一个版本其实是打算在没有GAS的前提下运行的,所以并没有为GAS计划做好准备,所以Aptoslabs此次为Aptos建立的GAS计划是MOVE语言首个GAS设计,被官方称为「一场冒险」。

在Aptos的GAS计划中,AptosLabs表明了自己制定GAS的原则、流程、如何计算GAS、后期GAS费调整以及积极接受Aptos社区的建议,本文由AptosGlobal编译。

GAS计量是Aptos和其他很多区块链的基本概念,它定义了执行和存储链上交易所需的计算和存储资源量的抽象计算。GAS计划将链上所有执行所消耗的成本确定,用于计算执行交易期间使用的GAS花费。

流程

为了有效的执行,我们在Aptos链上的流程是:

1)定义我们的原则;

2)准备一个评估框架,以确定每个执行的价格;

3)为Move建立GAS计量系统和安全GAS代数;

4)将上游GAS框架导入Aptos;

5)使GAS框架具有存储意识;

6)最后,进一步细化GAS计划。

原则

我们的定义原则是:

1、操作的成本应该与网络上的可用资源直接相关(例如CPU、内存、网络、存储I/O和空间使用等)。此外,当技术和流程改进后,GAS所需的成本应该要随之降低。

钓鱼网站在OpenSea盗取了3枚NFT:金色财经报道,据PeckShieldAlert监测,钓鱼网站在OpenSea将3枚NFT盗取,包括Otherdeed Otherside #55196、Moonbirds Oddities #1754 在InfernoDrainer。[2023/6/19 21:46:37]

2、Gas应该由链上治理设置,并且可以无缝配置。

3、Gas可以防止对网络中固定资源集的DoS攻击,并且可能需要根据网络情况通过治理建议迅速进行调整。

4、Aptos的GAS价格反映了Aptos基金会加速增长和保持区块链人人可及的愿望。

5、鼓励在设计中做出好的选择——例如优先考虑安全性、模块化、断言等事件。

计算GAS

当用户提交交易时,他们还必须在事务中指定两个数量:

Maxgasamount:?以GAS单位计量。这是用户(即,交易发送者)愿意为执行交易花费的最大GAS单位数。

Gasunitprice:以每单位GAS的八进制计算,其中1八进制=0.00000001APT(=$10^{-8}$)。这是用户愿意支付的GAS价格。

在执行过程中,交易将被收取:

1)固定成本,固定基数加上大额交易的额外费用。

纽约监管机构正在调查稳定币发行人Paxos:金色财经报道,纽约金融服务部 (NYDFS) 正在调查稳定币发行商 Paxos。调查的全部范围尚不清楚。Paxos 的稳定币包括 Pax Dollar (USDP) 和 Binance USD (BUSD),这是一种通过白标服务提供的 Binance 品牌稳定币。NYDFS 发言人表示,该机构无法对正在进行的调查发表评论。纽约州监管机构正在进行的一项调查表明,这家于 2021 年从 OCC获得临时银行牌照的公司确实受到了比同行更严格的审查。Paxos 还持有 NYDFS 颁发的BitLicenses虚拟货币许可证。

金色财经此前消息,NYDFS 在2022年 6 月发布了稳定币指南,指示发行人确保其稳定币得到与发行人资金隔离并定期证明的资产的充分支持。该指南是在 Terra/Luna 稳定币生态系统崩溃后发布的,重点关注资产支持的稳定币。[2023/2/10 11:58:12]

2)执行成本,用于执行Move指令。

3)读取成本,用于从持久存储读取数据。

4)写入成本,用于将数据写入持久存储。

最终的交易费用可以用消耗的GAS总量(以GAS单位计算)乘以GAS单价来计算。例如,如果一笔交易消耗670个GAS单位,而用户在交易中指定的天然气单位价格为每单位100Octa,那么最终的交易费用为670*100=67000Octa=0.00067APT。

荷兰合作银行与欧洲清算银行、北方信托公司开展区块链商业票据试点工作:金色财经报道,荷兰合作银行利用区块链在19个试点交易中发行了4000万欧元的一周到期的欧元商业票据。该商业票据以欧元和英镑计价,由荷兰国家财政部、荷兰合作银行财政部和奥地利的Erste银行发行,投资者为北方信托资产管理公司。公告称,这些证券是在欧洲清算银行的基础设施上以法币现金即时发行和结算的。

荷兰合作银行基于R3的企业区块链Corda开发了该平台,该平台去年也被用于试点。该解决方案与传统系统集成,包括用于风险,荷兰金融市场管理局可以访问区块链进行监督。(ledgerinsights)[2022/12/16 21:48:57]

如果一个交易在执行过程中耗尽了gas,那么发送方将根据最大gas量收取费用,并且该交易所做的所有更改都将被恢复。?

建立一个GAS计划表

1、基本配置

GAS计划中有几个组成部分与单个操作的细节无关,包括交易大小和最大GAS单位(不同于用户在交易中指定的最大GAS量)。

2、交易规模?

对于大多数交易,交易规模可能在千字节的数量级。然而,Move模块的发布很容易就有几千字节,而Aptos框架大约有100KB。大多数用户模块的大小一般在4KB到40KB之间。最初,我们将交易规模的值设置为32KB,但根据社区的反应,要求提供更多空间以简化应用程序开发,因此我们将交易规模调整为64KB。

Web3风险投资工作室SuperLayer推出2500万美元基金 Polygon领投:金色财经报道,Web3风险投资工作室SuperLayer宣布了一项新的2500万美元的基金,由锚定投资者和战略合作伙伴Polygon领投。

SuperLayer于2021年10月推出,得到了Animoca Brands的Yat Siu和安德森·霍洛维茨(Andreessen Horowitz)的克里斯·迪克森(Chris Dixon)等投资者的支持,专注于资助和支持使用RLY协议实现令牌化经济的品牌和公司。[2022/8/18 12:34:34]

非常大规模的交易会导致整个网络的带宽成本提高,并可能对性能产生负面影响。如果被滥用,内存池会被鼓励忽略规模更大的交易,因此我们的方法是在最大规模交易的大小和可访问性之间取得平衡。?

3、最大GAS单位

GAS计划中的的最大GAS单位定义了一个交易最多可以执行多少操作。注意!这不同于用户在交易中指定的最大GAS量。

GAS计划的最大GAS单位直接影响到一个交易可以执行多长时间,将其设置过高可能会导致对区块链产生负面性能影响交易。例如,用户可能忘记在while循环中有一个增量,从而导致无限循环,这是一个常见错误。我们发现,即使我们进行了最大的框架升级,我们仍然不到gas计划的最大gas单位的90%。?

4、执行?

KuCoin与巴西支付网关Capitual合作,支持通过支付系统PIX进行BRL充提:6月19日消息,加密货币交易所KuCoin宣布,在巴西中央银行最近变更政策后,其已成为第一家支持巴西雷亚尔(BRL)充值、提现的主要交易所。KuCoin通过与巴西支付网关Capitual合作,允许当地投资者通过政府支持的支付系统PIX进行BRL充值和提现操作。

据悉,为确保法币-加密交易的安全性和合规性,巴西中央银行规定更新用户身份验证流程以使用BRL支付服务的最后期限。未能满足新KYC要求的交易所必须终止巴西用户的BRL交易服务。(Businesswire)[2022/6/19 4:38:46]

为了评估执行成本,我们构建了一个基准框架,并在执行该框架时使用

Valgrind来分析MoveVM。它的输出是一组带注释的源代码,它告诉我们每行代码产生了多少机器指令。

在上述分析的帮助下,我们粗略估计了所有Move指令和本机函数的相对成本。然而,我们注意到这个方法与内联函数存在一些问题:它们不会自动包含在调用者的计数中。我们还看到,这只发生在我们分析某些Move指令时,我们可以通过将数字相加来解决这个问题。

随后,通过考虑增强系统稳健性和安全性的编码范例,团队得出了最终执行的机器指令数量。这个数字依次与存储和最大GAS单位进行权衡,以确定它们在GAS计划中的当前值。

5、存储

每当访问存储在持久存储中的账本状态项或数据时,Aptos节点都会向存储设备发出读取或写入。每秒的数据访问总数取决于存储设备的带宽和IOPS容量。与gas调度计算部分的CPU周期类似,数据访问是区块链用户在系统负载时通过费用市场竞争的瞬时稀缺性,此外,写入数据的磁盘占用成本在链上是永久的。Aptos团队通过考虑这些成本来设计存储GAS计划。

访问和存储任何状态项都会产生与验证整个区块链状态的数据结构

水母默克尔树:

https://github.com/aptos-labs/aptos-core/blob/main/developer-docs-site/static/papers/jellyfish-merkle-tree/2021-01-14.pdf)相关的成本。此成本与不同状态项的基数有关。还有一个成本与每个项目的大小成正比。要对一个状态项进行操作,费用为:

存储GAS费=item_fee+(byte_fee*bytes)

读、创建和写

对状态项的任何访问都属于以下三种类型之一:读、创建或写。访问按项目费和字节费收费,如上面的等式所示。

读操作是最常见的操作,它只受瞬时资源稀缺的限制。因此,读取费用是根据磁盘IOPS(项目费用)和参考硬件规范的带宽容量进行校准的。

create是在状态存储中添加一个新项。因此,create增加了身份验证数据结构,使一切都变得更昂贵,因此成本最高。创建费用是根据网络拥有的参考磁盘空间进行校准的。因此,用项目(item_fee)和字节(byte_fee)填满磁盘需要大量的GAS。

写操作更新状态存储中的现有项。因此,写操作不会在身份验证数据结构中产生额外的开销。然而,通过修改现有的条目到更大的字节,仍然可以破坏磁盘。因此,我们对更新项中的字节收取与创建时相同的费用。

应该注意的是,与存储相关的成本是基于每一笔交易进行评估的:即使您多次读取/写入相同的资源,也只需要支付一次费用。

基于上述考虑,我们定义了6个GAS参数,它们构成了GAS总费用的组成部分。见以下:

per_item_read:根据IOPs进行校正

per_byte_read:根据实际带宽校准

per_item_create:根据目标总项目进行校准

per_byte_create:根据目标总大小进行校准-每个项目包含的第一个1KB

per_item_write:与per_item_read相同

per_byte_write:与per_byte_create相同

更多信息,请访问

https://aptos.dev/concepts/base-gas/#storage-gas。

稳定的GAS单位成本

无论以APT或法定货币的市场价值计算执行操作的成本如何,每个操作和交易本身都需要相对于存储和执行成本的固定单位成本。固定的gas单位成本有助于保持gas计划不变,并与APT的自由市场价值脱钩。此外,正确选择GAS单位的精确位数有助于保持GAS计划不变。考虑到这一点,Aptos团队以大约3位数的精度来表示GAS单位。因此,转账交易的成本大约是700个gas单位。

社区参与

即使我们对GAS计划投入了大量的精力,但是它还远远不够完善。作为一个社区项目,Aptos社区成员可以选择:

1)根据你的经验,找出GAS计划不合理的地方;

2)说出你对GAS计划的担忧,并参与社区讨论。

3)就Aptos上与GAS相关的治理提案进行投票。

如何调整GAS成本?

GAS计划作为链上配置被存储,但是可以通过Aptos治理提案进行更改,并且可以无缝添加新指令或原生功能。

GAS计划被设计为可扩展的,允许通过治理提案对其进行升级。随着Aptos和Aptos社区不断改进MoveVM并纳入用户反馈,GAS参数可以随着时间的推移进行调整。

有时,GAS公式可能需要超出链上配置的复杂更改。这些GAS公式通常用Rust编码,并通过链上GAS特征标志来区分。要升级这些公式,必须使用新公式更新节点软件,并以不同的GAS特征标志进行区分。然后必须发布节点软件并为节点运营商大量采用,最后,必须发布并批准治理提案才能使用新的gas版本。?

未来的工作

这是Move的第一个可行的GAS框架。它需要对MoveVM和Aptos-Core进行大量修改。我们希望这项工作为今后的工作铺平道路:

1)降低执行成本,拥有一个真实的GAS模型表明编译器和虚拟机在哪里有效率,团队可以改进其中的大部分以降低执行成本。

2)多维GAS计算,允许用户为执行和存储指定单独的预算。这样,用户就不必为因为代码编写不佳的应用程序花费过长的执行时间,支付高昂的gas价格。它还将允许对区块链端交易的最大Gas价格进行更细粒度的定义;

3)缓解臃肿状态,目前没有简单的方法来缩小状态集,除了合约显式删除事物。用户付钱删除数据可能会带来套利机会,用户在便宜的时候创建存储,在昂贵的时候删除它。Aptos推迟了解决这一挑战,这可能会削弱开发人员删除链上数据的动力。该团队正在探索每个项目TTL的概念,该概念将在TTL到期时删除未访问的状态项目。

责任编辑:Felix

标签:GASAPTTOSAptosGasgainsRAPTORaptos币价最高Baby Aptos

酷币交易所热门资讯
XEN:数据角度拆解,XEN Crypto项目爆火背后的流量密码_0XENCRYPT

#01IntroXENCrypto恐怕是上周讨论度最高的项目了,当全网都在热议到“XEN的铸造导致以太坊过GAS暴涨时“,作为营销人,我们更关心的是XEN是怎么火起来的.

1900/1/1 0:00:00
ETH:Paradigm:如何使用链上数据进行策略研究?_togetherbnbH补丁

I.引言Crypto政策在制定时很少会用到真实且细化的数据,原因主要有以下三点:1.新兴技术领域的相关政策大多还停留在理论及定性分析层面,早期阶段很少会使用到数据.

1900/1/1 0:00:00
ASP:详解以太坊PoS共识Gasper:现在的以太坊是如何运行的_ASP价格

众所周知,PoS以太坊的共识协议是「Gasper」,它是在LMD-GHOST之上应用CasperFFG构建的。所以要想搞清楚完整的以太坊共识协议,就必须了解这两个部分。此外,这些设计真的很有趣.

1900/1/1 0:00:00
以太坊:跨链漫谈:深度解析16个跨链方案权衡_DEF

跨链桥不是一个新话题,市面上的文章从桥的基本要素、跨链技术等对跨链桥进行了全面的分类和解读。但是目前文章对于跨链桥的分类使人眼花缭乱,阻碍了人们对跨链桥性能的宏观理解.

1900/1/1 0:00:00
加密货币:Argent联创:5分钟看懂账户抽象到底是什么?_dogenft

通过10X扩展加密的用户体验和安全性Vitalik说,账户抽象是“我们一直想要的东西”,它“长期以来一直是以太坊开发者的梦想社区”.

1900/1/1 0:00:00
MAN:Mango 被盗 1 亿美元背后:一场利用闪电贷和 DAO 治理的双重攻击_Mango Markets

今晨,Solana生态DeFi项目Mango被盗约1亿美元,也是Solana生态历史上最大的安全事故之一.

1900/1/1 0:00:00