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跌破68000美元

    行情显示,BTC跌破68000美元,现报67992.68美元,24小时跌幅达到3.77%,行情波动较大,请做好风险控制。

  • 韩国或将禁止企业投资稳定币

    韩国金融服务委员会正在制定的《企业虚拟货币交易指南》可能将稳定币排除在允许的投资范围之外。该指南将概述上市公司和注册专业投资公司出于投资或金融目的交易数字资产的标准。为防止市场初期出现盲目投资,监管机构在界定允许投资范围时,决定将以美元计价的稳定币(例如 Tether (USDT) 和 USD Coin (USDC))排除在外。

  • 美国现货比特币ETF昨日净流出3.489亿美元

    据Farside Investors监测数据,美国现货比特币ETF昨日净流出3.489亿美元。

  • 波斯湾仅剩九艘空载超级油轮 中东储油能力逼近极限

    船舶追踪数据显示,目前波斯湾地区可供储油的中东主要产油国油轮数量正迅速减少,仅剩9艘空载的超大型油轮。一旦这些油轮被装满,陆上储油罐将迅速填满,从而导致更多油田停产。每艘超大型油轮可装载约200万桶原油,仅相当于沙特全国约5小时产量。目前,伊朗已兑现其威胁,用无人机和导弹袭击了霍尔木兹海峡的多艘船只。沙特和阿联酋是仅有的两个能够借助管道将原油分流、避开霍尔木兹海峡的地区产油国。这两个国家一直在增加从该地区以外终端的出口量,但两国都没有完全避开该水道的运力。

  • 以色列军方:对伊朗的打击中已投掷超过6500枚弹药

    以色列军方称,自战争爆发以来,以色列空军在对伊朗的打击中已投掷超过6500枚弹药。以色列国防军表示,以空军战斗机总共执行了2500架次作战任务,并发动了150波次的单独打击。军方称,随着战争进入新阶段,目前正在加大对德黑兰境内伊朗政权目标的打击力度,并加强对伊朗全国范围内武器生产设施的攻击——包括那些用于制造导弹和发射装置的设施。军方官员表示,以色列国防军计划在未来数周内继续在伊朗境内开展行动,如有必要,行动将持续更长时间。

  • BTC跌破68000美元

    行情显示,BTC跌破68000美元,现报67797.17美元,24小时跌幅4.35%,行情波动较大,请做好风险控制。

  • 美股大幅低开,标普500指数跌1.22%

    美股开盘,道指跌1.28%,标普500指数跌1.22%,纳指跌1.45%。明星科技股普跌,阿斯麦(ASML.O)跌超5%,台积电(TSM.N)跌近3%,亚马逊(AMZN.O)、英伟达(NVDA.O)、AMD(AMD.O)跌约2%。

  • WTI原油日内暴涨12.00%,现报88.42美元/桶

    WTI原油日内暴涨12.00%,现报88.42美元/桶。

  • 加密货币总市值为2.44万亿美元,24小时跌幅达4.50%

    当前加密货币总市值为2.44万亿美元,24小时蒸发1150.63亿美元,跌幅达4.50%。其中,比特币市值占比为56.33%,以太坊市值占比为10.05%。

  • 美国总统特朗普:除了无条件投降,否则不会与伊朗达成协议

    美国总统特朗普:除了无条件投降,否则不会与伊朗达成协议!此后,将选出一位伟大且可接受的领导人。