感谢大家参加本次Moonbeam Community Voice「社区之声」新系列活动。Moonbeam计划定期举行这个系列活动,分享Moonbeam社区近期状况,以及来自社区的建议和分享。顾名思义,这是基于社区的分享活动。
Community Voice「社区之声」旨在成为讨论影响网络、生态系统和社区的相关话题的空间。讨论处于投票之前阶段的提案,主要用于了解社区对于相关提案的反馈。Moonbeam是一个中心化的网络,社区也是其中一部分。因此,参与网络关键决策是一种参与社区的方式。
第一期「Moonbeam社区之声」将探讨关于在Moonbeam和Moonriver上的一个全新动态费用机制的最新提案。我们也很高兴邀请到了Moonbeam开发团队PureStake的产品负责人Yann参与本期活动,解释更多关于动态机制的信息。
Yann:我们提交给委员会的第一个提案是关于动态费用机制。我们开发团队花费了很多时间研究和分析动态费用如何运作。一开始大家并不能接受此项提案。但是这个提案在某种意义上非常简单,其重点是确保遵循EIP-1559更新,找出降低交易费用,提升有限网络运行效率。
如果把这个网络看作是一家公司,我们在某种意义上看到的是区块空间。区块空间在网络中是高质量的,因为我们提供这种EVM兼容性。因此,基本上用户能够从默认的生态系统NFT等交互中受益。
我们也可以找到与其他解决方案一样安全快速的方式来完成。因为区块空间数量有限,非常稀缺。所以我们建议用户可以使用的每个区块有1500万个gas单位来进行交易。
另外,作为一家公司,你必须激励区块生产者,我们称之为收集人,用Token持有者提交的交易来生产区块。
为此,收集人需要提供有竞争力的储能,同时也要连接到网络。这个对他们来说无需支付费用。这就是为什么区块链作为一家公司需要再次投入资金来支付生产者执行其工作。所以从区块链角度来看这是一种费用。
现在Token持有者能够提交交易,且该交易将保留在内存池(Mempool)中,该池子类似于一个等待队列,以便被这些区块生产者接受并编码到区块中。为此,他们必须以市场价格支付费用。这里所提及的是一级市场,即交易的实际成本。
举例而言,在这个过程中,Token持有者将向内存池发送交易,但这笔交易不会被处理。因此,当收集人进入后会问他们需要先处理哪些交易,以便填满此区块,即每个区块1500万个gas单位。
系统将允许区块生产者基于gas价格按优先级排序并处理内存池中的交易。在交易中投入的gas费用更高,您的交易在下一个区块中被处理的可能性就越大。
如图所示,紫色交易位于底部,现在我们按gas价格对其进行排序,排名第一个可能在后续先被处理。
现在尽可能地处理交易,直到1500万gas单位的区块填充满后,会将其打包到区块当中。随后区块大小将逐渐减小,其他交易可以随之进来。
此方法很好,已经在以太坊主网中运行多年,但现在有一些问题。假设Alice愿意以50 Gwei的gas价格将交易放入内存池中。交易排名处于第3或第4。但是30分钟之后,她返回查看交易尚未被处理。
其原因是有很多交易放置在内存池中,出现了交易卡顿,相比Alice的交易,其他交易支付更高的gas价格,而这些交易将被优先处理。因此会出现gas战争,要想快速处理交易必须以更高的gas价格进行支付,从而导致gas价格不断上升。
这对于用户体验来说并不是很好,这便是引入EIP-1559的重要性。
举例而言,之前Alice将50 Gwei作为gas费用,而现在引入了几个参数。
第一个参数是基本费用,其基本费用完全由网络管理。所以基本上网络会监控比例,比如上一个区块提交的区块在达到多少比例后被填充,在这基础上调整基数。
第二个参数是优先费用,也称之为小费,用于激励收集人或生产者首先处理交易,但你也可以设定一个最高费用,即你愿意支付的最高费用。
按之前Alice所设定的50 Gwei的gas价格,现在您可以设定一个合适的限制。所支付的gas价格会根据网络情况进行支付。因此,你无需支付固定费用,可能实际支付的价格低于之前所设定的。
基本上我们会查看最后的区块,及其区块填充比例。如果该比例低于50%,则减少基本费用;如果该比例等于50%,则维持基本费用;如果该比例高于50%,则增加基本费用。因此,可以基本上控制区块空间的成本。
第一,提供了透明性,基本上由网络自动管理,可以直接从网络读取。第二,提供了效率,为区块空间提供更好的供需匹配。第三,提供了可预测性,减少网络费用的波动性,使用户和开发人员更加稳定和可预测。
那么Moonbeam有什么提议呢?
关于Moonbeam有两方面需要了解,第一方面是我们有双重交易类型。我们可以从MetaMask提交交易至内存池或从Substrate提交交易至内存池。这两种类型计算费用的方式是不同的。
另一个方面Moonbeam是连接至波卡中继链的平行链,因此它必须符合一些规则,其中之一是确保我们提交给波卡上验证人的区块不能太大,从而保证验证仍然可以在特定时间内完成。因此,我们不能过多地增加区块大小,因其会在验证过程中消耗很多时间。
为此,我制作了一张表格,可以让大家清晰的了解不同的参数及其作用、当前的状态以及我们的提案与以太坊相比的不同之处。
Block Target是我们目标区块空间的百分比。目前为25%的区块空间,且该数值不会发生变化。
Block Size是包含在一个区块内的gas数量。目前为1500万,且该数值不会发生变化。关于以太坊基于网络所使用的,动态值可以为1500万至3000万。
Fee Management是特定于Moonbeam和Moonriver,其中费用的80%将销毁,剩下的20%将存入财政库。以太坊部分的费用将全部销毁,小费部分将用于奖励区块生产者。
Ethereum base-fee是用于以太坊费用定价,该数值由网络控制,这是我们提议改变的部分。当前的静态值为1 Gwei,我们提议使用pallet-transaction-payment逻辑,以实现基于Substrate交易的费用支付。
Substrate-txn multiplier是用于基于Substrate交易的乘数。当前主要是默认值,随着时间的推移,它们会趋向于0,且对外部的反应速度非常慢。我们需要有另外的算法能够快速对事件作出反应。
Multiplier Tuning是Substrate乘数的目标变化率。当前每天最大的上下幅度为23%。我们的提议是在一小时内翻倍/减半,从而反应的速度会便很快,以防止区块堵塞。
举个简单的余额转账的例子。这种余额转移的设计成本仅为21,000 gas。
提案目标
- 增加安全性:设置上限和下限以避免拥塞或非常便宜的交易
- 提高动态性:对填充率波动做出快速反应,以减少费用调整的惰性
- 建立一致性:基于Substrate和基于以太坊的交易费用保持一致
Moonbeam的动态费用机制
主要亮点:
- 遵循EIP-1559,提议采用基于网络堵塞的算法费用乘数
- 使用pallet-transaction-payments算法并将其转换为等效的EIP-1559以太坊交易基本费用
主要优势:
- 保持费用合理性(费用不会太高或太低)
- 基于Substrate的费用和基于以太坊的费用保持一致性
- 费用将像EIP-1559一样对区块堵塞做出反应
Moonbeam社区论坛
Moonbeam Community Forum旨在为Moonbeam社区提供公开讨论各类话题的平台,包括治理、技术开发、反馈以及更多。我们希望围绕不同的主题将社区聚集在一起,以使网络根据委员会的需求发展。该平台讨论的是决策过程,我们如何升级链,我们想要推出的pallet、工具、功能有哪些。社区成员可以查看目前进展并对其作出反应。
Moonbeam社区论坛页面右上角有两个按钮,一个是Requests,可以查看目前的请求,及其当前的状态。另一个是Governance,点击后会进入Polkassembly页面,供Token持有者参与民主提案投票。对于尚未接触过Moonbeam社区论坛的人,可以通过Discord登录。
Interim Treasury Program流程
正如我之前所说的,手续费的20%将存入财政库。Moonbeam财政库将协助维护重要项目的发展和Moonbeam网络的增长,并为其提供资金支持。如果项目感兴趣想要申请,可以前往论坛发帖,并接收来自社区和委员会的讨论和反馈。然后财政库委员会将举行会议,如果提案申请获得批准,则资金将直接分配给项目。