Cointime

扫码下载App
iOS & Android

一条Starknet新消息引发的做题:提高TPS,会降低gas么?

个人专家

原文作者:CryptoNerdCn

(Web3 降智系列) 一条 Starknet 新消息引发的做题:提高 TPS,会降低 gas 么? 此文是向 @StarkNetAstroCN 的投稿。

Web3 降智系列 2023 年新开始的一个 以日常交流中 Web3er 对一些知识和概念的误解为引子,以即使你在忙了一天后大脑停机的降智状态也能读懂为目的,通过讲述设计思想而不是外在表现,尽量不涉及具体公式和代码的 面向非技术人员的科普系列。

上个月底,@Starknet 宣布了他们正在开发一个新的由 Rust 编写的开源 Sequencer(定序器)—blockifier。

当看到这个消息时,蚌不住的 MAX 同学第一时间就在 Astro 群里激情转载,然后就被我叫去做家庭作业了:

所以,为什么新的定序器能降低 gas 这句话是错的呢?

我们先来简单的看一下 StarkNet 的架构和 Sequencer(定序器) 在架构中的位置和功能。

Sequencer 负责管理和协调交易的执行顺序。Sequencer 可以认为是一个交易队列,它确保在同一个区块内的所有交易按照指定的顺序执行,并且确保没有交易被重复执行。Sequencer 还负责验证交易的合法性,并将其写入区块链。

Prover 则负责生成关于 Sequence 执行轨迹有效性的加密证明。目前,这项工作是由单一的 Prover,即「Share Prover」或「SHARP」执行的。

Verifier 位于 L1,用于验证 Starknet Prover 产生证明的智能合约,如果运行成功,其将更新以太坊 L1 上的状态用于记录保存。

如果你不太了解 ZK 相关知识,那么你可以像 max 同学一样,把定序器想像成以太坊客户端(的一部分),如图所示。

那么问题来了,以太坊客户端性能的提升,能否带来 gas 消耗减少的效果呢?

要回答这个问题,我们需要知道 gas 是什么:

以太坊中的 Gas 是一种计价单位,用于衡量在 Ethereum 网络上执行智能合约的成本。Gas 被用于抵消执行智能合约所需的算力和网络资源。

当执行智能合约时,每个操作都需要消耗一定数量的 Gas,每个操作所消耗的 Gas 数量可以由它所需要执行的 EVM opcodes 所计算出来(具体数值参照 Evm opCodes Gas cost)。执行智能合约的发送者需要在交易中预先支付 Gas 费用,以确保矿工有动力执行智能合约。

如果在执行过程中 Gas 被用完,则智能合约将停止执行。因此,发送者需要估算所需的 Gas 量以避免交易失败。

Gas 价格是动态的,随着 Ethereum 网络的拥堵情况而变化。在繁忙的时候,Gas 价格可能会上涨,而在空闲时则可能下降。

因此,Gas 是一种确保智能合约执行的机制,它担负着两种责任:

1,gas 机制是一种保证计算资源不被滥用的机制。

2,gas 机制是一种竞价机制。

很明显,改善客户端的性能,并不会直接导致 gas 下降。如上所述,在 evm 上,每一步计算所消耗的 gas 是由需要执行的 opcodes 所决定的,而每个 opcode 所消耗的 gas 固定的,客户端的性能只影响 opcode 执行的快慢,不会影响 opcode 本身消耗 gas 的数量。因此我们可以说,客户端性能提升导致的 TPS 提升,不会直接影响到 gas 消耗。

但改善客户端的性能,是可以间接减少 gas 消耗的,这又是为什么呢?

因为 gas 同时也是一种竞价机制。相信大家都知道以太坊上,除了交易自身消耗的 gas,你是可以通过多付 gas,即 Priority fee (tips,交易小费) 来加速自己的交易的。你加的小费越多,越容易被优先执行。而加小费一般是因为以下两种情况:

1,你需要抢跑,比如 mev bot,还有一般用户抢 mint 限量 nft 时。

2,网络过于拥堵,即使只是一个简单的操作也需要你等上一个你无法接受的时间。

对于第一种情况,如果不是自建节点那么改善客户端性能对于降低你自己的 gas 没太大意义。而第二种情况比较普遍,就是 TPS 过低—这正好是新闻里所提到的 rust 重写定序器想要提高的地方。

举个例子,这就好比游乐园里的项目排队,如果这项目排队一两个小时起,那么愿意花钱的游客就会想着买快速通道票。改善客户端性能相当于游乐园把这个游乐设施扩容了,一次能容纳之前好几倍的游客,那么游客总数不变的情况下排队时间也会大大减少,快速通道票也就没那么必要了。

因此,改善客户端性能,所减少的 gas 消耗,其实减少的是消耗在这种小费上的 gas。

但当我们回到 StarkNet 的定序器话题,上面的结论还能适用么?很可惜,暂时还不能。

在新的开源定序器 blockifier 发布前,StarkNet Alpha 运行的是一个闭源的高度中心化的定序器,严格按照 FIFO(先进先出)来对交易进行定序,这上面是不存在 Priority fee 机制来调整交易顺序的。

而新的定序器 blockifier,根据目前的代码,其中并无有关 Priority fee 之类的机制,所以依然是 FIFO。因此很显然,这次开发新的定序器,短期内不会影响 StarkNet 上的 gas 消耗。

不过根据 @milancermak 这位资深爱好者透露,StarkNet 将来有可能引入一个 priority fee market。

最后在 Max 同学的强烈要求下(并没有),给 Starknet Astro 打一个广告:

Starknet Astro 是 Starknet 最具创意的媒体,提供最前沿、最深度的生态研究  。我们正在维护一个 Starknet 知识库。

评论

所有评论

推荐阅读

  • BTC跌破71000美元

    Cointime 报道,行情显示,BTC跌破71000美元,现报70974.17美元,24小时跌幅达到2.69%,行情波动较大,请做好风险控制。

  • 特朗普:美国海军将开始对霍尔木兹海峡实施封锁

    Cointime 报道,美国总统特朗普:(美伊)会谈进行得不错,大部分议题都达成了共识,但唯一真正重要的核问题没有谈拢。即刻起,美国海军将开始对任何试图进出霍尔木兹海峡的船只实施封锁。我还指示美国海军在国际水域搜查并扣押每一艘向伊朗缴纳过通行费的船只。

  • 美谈判代表团成员已全部离开巴基斯坦

    Cointime 报道,4月12日电,一名美国官员当地时间4月12日表示,在美伊会谈结束后,美国谈判团队成员已全部离开巴基斯坦。该官员表示,包括威特科夫、库什纳以及技术团队在内的人员均未留在巴基斯坦首都,这表明双方不会立即恢复直接谈判。当天稍早前,万斯在巴基斯坦首都伊斯兰堡召开的新闻发布会上说,美方尚未与伊朗达成共识,将返回美国。美伊在伊斯兰堡的谈判12日结束,双方未达成任何协议。伊朗方面说,谈判处于“不信任和猜疑的气氛中”,双方在两三个重要问题上存在分歧。美国方面称,美方已非常明确地说明自身“红线”,但伊方不接受美方条件。 (央视新闻)

  • ETH跌破2200美元

    Cointime 报道,行情显示,ETH跌破2200美元,现报2195.81美元,24小时跌幅达到1.97%,行情波动较大,请做好风险控制。

  • BTC突破73000美元

    Cointime 报道,行情显示,BTC突破73000美元,现报73010美元,24小时涨幅达到3.3%,行情波动较大,请做好风险控制。

  • 伊朗武装部队称随时准备开火

    Cointime 报道,4 月 10 日,伊朗武装部队哈塔姆安比亚中央总部发言人 10 日发表声明说,由于美国和以色列过去屡次失信,伊朗武装部队仍保持完全戒备,随时准备开火。(新华社)

  • 美国3月核心CPI同比增长2.6% 预估为2.7%

    Cointime 报道,4月10日电,美国3月核心消费者价格指数同比增长2.6%,预估为2.7%,前值为2.5%;环比增长0.2%,预估为0.3%。

  • 美国3月CPI同比增长3.3% 为2024年5月以来新高

    Cointime 报道,4月10日电,美国3月CPI同比增长3.3%,为2024年5月以来新高;预估为3.4%,前值为2.4%。美国3月季调后CPI环比增长0.9%,预期0.9%,前值0.30%。

  • 美联储戴利:认为加息的可能性低于降息或维持利率不变

    Cointime 报道,美联储戴利:如果伊朗冲突迅速解决、油价回落,���息“并非没有可能”。如果通胀持续高于预期较长时间,我们将保持观望,直至确信通胀问题已得到解决。在油价冲击之前,我们就有应对通胀的工作要做;如今,这项工作只是需要更长时间。认为加息的可能性低于降息或维持利率不变。

  • BTC突破72000美元

    Cointime 报道,行情显示,BTC突破72000美元,现报72004.75美元,24小时涨幅达到1%,行情波动较大,请做好风险控制。