Solana 费用(第 1 部分)

新手Jan 10, 2024
本文探讨了 Solana 当前的费用机制,形式化了费用机制的设计空间,并分析了对 Solana 费用机制的一些拟议变更。
Solana 费用(第 1 部分)

介绍

费用机制是区块链的一个重要特征。像验证者这样的网络维护者拥有有限的资源,因此以反映网络成本的方式对稀缺资源进行收费非常重要。费用还可以激励网络参与者,例如用户、应用程序开发人员和验证者。

在本系列中,我们将探讨 Solana 当前的费用机制,形式化费用机制的设计空间,并分析对 Solana 费用机制的一些拟议变更。

本篇文章是该系列的第一部。在这里,我们解释了 Solana 目前的费用如何运作,重点是基于交易的费用。

定义

这些是理解费用机制所需的 Solana 特定定义。

签名:每笔交易至少包含一个,通常只有一个签名。

Lamport:SOL 的最小原子单元。 1 SOL 等于十亿 (10^9) Lamport。

计算单元 (CU):每个 Solana-BPF 指令的计算单元,旨在估算执行指令的成本。类似于以太坊上的燃气Gas单位。

使用的 CU:用于执行交易的计算单元的数量,仅在执行后才知道。

CU请求:由交易指定;如果事务在执行期间超出此计算预算,则执行将停止并且事务失败。每笔交易请求(和使用)的最大 CU 为 1,400,000 个 CU。

账户:Solana 区块链上的单个状态。

Scheduler:连续区块构建机制,默认包含在 Solana Labs 构建的 Solana 客户端中。

Solana 的费用

交易费用

如今,Solana 交易包含两项费用:基本费用 和一个优先费。

每个签名的基本费用固定为每个签名 5000 lamports(0.000005 SOL,0.0003 美元,60 美元/SOL);绝大多数 Solana 交易都有一个签名。

可选的优先权费用在交易中指定,并以每个 CU 请求的Lamport计价。请注意,这不是每个使用的 CU,因为在执行事务之前,所使用的 CU 是未知的。具有较高优先级费用的交易由调度程序不确定地确定优先级。具体机制描述于Solana 事务的生命周期

费用在交易执行开始时从费用支付者处扣除。如果付款人无法支付所需费用,则跳过执行,交易被视为无效,并且不被计入。

对于基本费用和优先费,领导者保留 50% 作为将交易包含在区块中的激励,50% 被销毁。

在这个交易示例,该交易请求 600,000 个计算单元,并将每个 CU 请求的优先费设置为 ​​2500 个 microlamport。由于交易只有一个签名,因此交易的总费用为 5000 lamports + 请求的 600,000 CU * 2500 microlamports / 请求的 CU = 6500 lamports,即 0.0000065 SOL。

状态费用

Solana 还额外收取创建新状态的费用租金豁免 (旧术语)。当前的租金豁免成本为每 MB 静态 6.96 SOL。创建新帐户时,费用将分配给该帐户;当帐户被删除时,其租金减免费用可以被收回。

评论

效率激励

由于基本费用对使用的 CU 或请求的 CU 不敏感,因此基本费用没有动力来优化计算使用,也没有动力请求接近实际使用数量的 CU。实际上,Solana 上的许多交易请求的 CU 远多于最终使用的 CU。这会导致调度程序效率低下。

在上面的交易示例,该交易请求 600,000 个 CU,但使用量少于 250,000 个。

虽然优先费确实包括减少所请求的 CU 以及因此使用的 CU 的激励措施,但这种激励措施在大多数情况下都很弱,并且仅在拥塞期间才会生效。一项简单的修改是扩大基本费用,要求每个 CU 请求都收取费用。这将激励开发人员和交易发送者减少计算使用量,并仅请求所需的资源。

激励相容性

一个机制是激励兼容 如果该机制的所有参与者都按照自己的真实偏好行事,从而达到最佳结果。在费用机制的背景下,这大致意味着验证者通过运行默认的区块构建算法来最大化费用,而交易发送者通过根据其真实的支付意愿提交优先费用的交易来最大化福利。

Solana 的费用机制与当今的验证者和交易发送者的激励不兼容。如上所述,50% 的交易费用由领导者保留,50% 被销毁。由于并非所有费用都归领导者所有,因此这会激励交易发送者与领导者勾结:发送者可以与领导者创建一项附带交易来支付交易费用,而不是指定优先费用来获得优先包含。网外优先费,在仍获得优先权的同时减少烧毁。

理论上,运行这种机制的验证者会收到更多费用,因此可以为其委托的利益相关者提供更高的奖励,从而形成中心化力量。

除了直接的垂直整合之外,我们目前在市场上看到这种附带交易的主要方式是通过 Jito 拍卖。运行 Jito-Solana(Solana Labs 客户端的修改版)的验证者打破了连续区块构建机制,在其时隙的前半部分运行区块空间拍卖。

目前我们尚未在市场上观察到其他此类附带交易。这是因为:

  • 验证者客户端及其调度程序很难修改,因此创建这种安排的成本需要很高的固定成本。像 Jito-Solana 这样的协议外软件和以太坊上的 PBS 这样的委托区块构建安排可以在所有参与验证者之间分摊固定成本。
  • 验证人的收入绝大多数来自通胀奖励,而不是交易费用,因此收益相对较低。

本地费用市场

与大多数其他区块链不同,Solana 要求交易发送者指定执行交易需要哪些状态。这开启了并行交易执行和本地化费用市场,其中不同的州根据特定州的争议程度有不同的费用。局部状态热点不需要增加整个区块链的竞争或费用。

关于 Solana 的一个常见误解是它现在具有本地费用市场。虽然支付较高优先级费用的交易更有可能被包含在更高的区块中,并且竞争状态可能需要更高的优先级,但这种行为是不确定的,并且是 Solana 默认值实施的结果调度算法。我们对此进行了更多探索Solana 事务的生命周期

特别是,这种行为不是通过共识强制执行的,并且无论是通过共识还是通过调度程序实现都不能保证按优先级费用进行确定性排序。 Solana 的连续区块构建和区块传播可防止确定性排序,除非发生较大变化(例如确定性排序和异步执行)已实施。

基于历史竞争的、强制执行的、可预测的状态访问基本费用可以提高访问高度竞争状态的效率和用户体验。这会增加垃圾邮件的成本,同时还会激励交易发送者锁定他们实际需要的最少量状态。它无法解决垃圾邮件的根本原因,垃圾邮件来自连续的块构建(因此延迟很重要)和抖动。我们将在本系列的后面部分探讨这种设计。

外部性

由于交易主要按照到达领导者(调度程序)的时间进行排序,并且该顺序会受到网络抖动和并行调度程序实现导致的抖动的影响,因此当发送者希望尽快包含交易时,就会有动机发送垃圾邮件交易。可能的。此类交易以垃圾邮件登陆链上的形式给网络带来负外部性(截至 2023 年 1 月,Solana 58% 的链上计算用于恢复交易)和垃圾邮件到达领导者。

来自吉托实验室

结论

在本文中,我们描述了 Solana 的费用机制目前如何运作,及其对网络的影响。我们已经暗示了理想的费用机制将满足的一些属性,例如对调度程序的准确提示(CU 请求)、激励兼容性和真正的本地化费用市场。在下一篇文章中,我们将为费用机制应优化的目标定义形式主义。这将用于分析当前的费用机制,以及对该机制的拟议修改,比此处表达的更加严格。

声明:

  1. 本文转载自[Umbra Research],著作权归属原作者[@0xShitTrader],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!
立即註冊