GAS:StarkNet Alpha 的费用机制_ugas币最新资讯

StarkNet Alpha 在几周前登陆了主网,上线初期并没有应用费用机制,而与 L1 交互的 gas 成本实际上是由 StarkWare 补贴的。我们针对目前 StarkNet Alpha 版本提出了一种估算和收取交易费用的方式。

随着网络的不断升级,我们认为网络计算和收取费用的方式也相应地更新。我们在这里提出了一个初步的费用计算和收费方法,目的是随着 StarkNet 的发展对其进行完善。了解这些参数有助于构建者在设计他们的 StarkNet dApp 时更好地进行规划。

StarkNet 的交易成本

通常来说,一笔交易的成本由几个因素决定:

1、数据 —— 发送至 L1 的数据量:

1.1 状态差异信息

亿万富翁Stan Druckenmiller:包括加密货币在内的一切资产都存在泡沫:11月8日消息,亿万富翁Stan Druckenmiller在波士顿投资会议上表示:一切都在泡沫中,包括加密货币、meme股票、其他股票以及债券,这个泡沫笼罩了地球上的一切资产。Druckenmiller是Duquesne Family Office LLC董事长兼CEO,此前曾担任Soros Fund Management董事总经理。Druckenmiller强调当前的泡沫不像互联网泡沫那么狭窄。但他认为很多投资者都活在当下,长期看,泡沫的确会酿成灾难。但短期内投资会有收益。Druckenmiller早前透露他持有比特币,并表示比特币是比黄金更有吸引力的价值存储手段。(news bitcoin)[2021/11/8 21:33:08]

1.2 L2 → L1 信息的数量

机构加密公司Stack Funds:比特币的价格“非常接近底部”:机构加密货币公司Stack Funds认为,比特币的价格“非常接近底部”并且仍然保持长期看涨的观点。该公司的分析师Lennard Neo表示,尽管价格崩溃,但还是没有理由改变观点看跌BTC。(Cointelegraph)[2021/6/23 0:00:24]

1.3 已消耗的 L1 → L2 信息

这些数据都会在不同的 StarkNet L1 交易中以 call data 的形式发送到 L1。

2、计算成本 —— 这是针对跟踪步骤 (trace steps) 的计费,包括操作系统 (OS) 步骤 (如系统调用)。包括:

L1 证明验证

L2 计算成本 (SHARP)

Shadows Network将于3月2日在DuckStarter和Ignition进行双平台IDO:据官方消息,Shadows将于北京时间2021年3月2日22:00通过DuckStarter&Ignition进行双平台IDO。

Shadows Network由RioFund投资,基于Substrate开发的DeFi合成资产发行协议,专注于将传统金融资产映射合成上链。

Ignition是PAID Network的DEX产品,PAID Network是利用区块链技术开发去中心化金融智能协议的波卡生态DApp,旨在让商业活动的效率呈指数倍增加。

DuckStarter是DuckDAO的Token发行平台,DuckDAO是一个由社区支持的区块链孵化器平台。[2021/3/2 18:06:51]

3、存储成本:在交易执行期间需要进行多少读/写操作。

加密投资者Salim Satir对加密货币交易所Gatehub和Bitstamp提起诉讼:加拿大加密投资者Salim Satir已对加密货币交易所Gatehub和Bitstamp提起诉讼,原告声称损失是由Gatehub网站上的误导性声明造成的,这些声明旨在详细说明其BTC对XRP的交易功能,以及在2017年8月的比特币分叉中错误地保留了872 BCH。(cointelegraph)[2020/4/20]

4、交易的 L2 网络传输成本:它的调用数据和发出的事件。

目前的费用机制

概括来讲,目前的解决方案是让用户/应用程序使用定序者 (Sequencer) 来估算接受 “交易” 所需要花费的成本:

用户要求一个新的服务 ("gas 估算服务,estimate gas service") 来估算在当前状态下运行给定 “交易” 所需的费用。该服务根据下文中的公式进行估算。这项服务由 Sequencer 公开。在内部,它将尝试根据当前的 StarkNet 状态估算处理该交易所消耗的资源。

正如下文所解释的,这个估算值将是交易成本的首个粗略的近似值。费用本身将以 ETH (支付货币) 来指定,而 gas 价格作为估算服务的参数提供。

在这一点上,用户可以选择是否接受所估算的费用,或标记更高/更低的费用。然后,用户确定其愿意支付的费用并进行签名,这个签名也作为交易的一部分被发送到 Sequencer 中,以便执行这笔交易并添加到未来的区块中。

成本公式

对于费用的首个近似值,我们考虑了服务提供商 (sequencer 定序者 + prover 证明者) 支付的一些外部成本,如用于数据和计算的 L1 gas (上述的第 1 和 2.1 项)。计算的费用可能包括一个加价,以补偿 L1 gas 成本的波动。在这一点上,我们忽略了证明创建、存储操作和网络的 L2 成本 (上述的第 2.2、3、4 项)。

因此,在这个阶段,计算费用的公式将是:

其中:

1、gas_price 是服务中配置的 gas 价格,每 gas 单位使用多少 ETH。这个价格以后可以通过 API 查询。

2、gas_per_byte 是存储调用数据时单个字节的 gas 成本,目前为每个字节 16 gas。

3、?(msgs) 是交易从 L2 到 L1 发送的信息数量。

4、bytes_per_msg 是消息的字节数。当然,每个消息的字节数都可以不同,所以我们可以使用所有消息的平均消息字节大小。额外的 5000 gas 是用来更新一个内部计数器的。

5、?(state_dif f_items) 是该交易所做的状态差异的数量。2?31 分别代表每次存储写入时需写入两个字段元素,每个字段元素由 31 个字节组成。

6、gas_per_step 是 (L1 上) 单步验证的一个常数定价。stepstxn 是该函数执行的步骤数。

注意:该交易费成本的大头在于 L1 数据部分。这包括状态差异和消息。换句话说,与在 L1 上发布数据的成本相比,计算成本可以忽略不计。(gas_per_step << gas_per_byte)

未来的计划

这个机制在未来可能会有几种变化。

首先,我们希望进行一些优化以减少成本。具体来说,当几笔交易共享相同的证明时,它们也共享一些开销,因此会降低生产区块和验证的成本。在这种情况下,可以对原始交易的估算费用进行一些削减。

引入 volition 用于数据可用性 (即链下数据可用性),从而可以提供另一个节约成本的方式,我们希望将其纳入成本估算的因素。为基于 L2 的数据所做的存储修改可能会产生不同的成本。

当网络变得去中心化时,我们会采用其他机制和市场设计,其中细节目前正在研究中。一个例子是使用 “费用拍卖” 模式 —— 用户可以使用不同成本组成的某种线性组合进行付费,并允许 sequencer 挑选付费最高的交易。

最后,引入费用抽象将允许网络参与者使用 ETH 以外的代币进行付费。

来源 | community.starknet.io

作者 | Lior Schejter

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:0ms0-4:550ms