Solana 机制设计和架构深度解析

作者:Pavel Paramonov 来源:X,@paramonoww 翻译:金色财经

过去的六个月,我阅读了无数关于 Solana 机制设计和架构的文章和文档。我将最重要的信息汇总在一篇长文中。内容涵盖机制设计、费用市场、MEV 等主题。

以下是对所有问题的解答:

Solana 的共识模型:

‣ Solana 的历史证明(Proof of History, PoH)共识模型本质上是“权益证明(Proof of Stake)+ 时间变量”。

‣ PoH 实质上是网络的时钟,用于跟踪事件及其顺序(不需要验证者就时间达成共识)。

‣ Solana 没有内存池(mempool)。

‣ 目前,大多数验证者使用由 @solanalabs 提供的 Solana 客户端中的调度器实现。不过,验证者也可以选择运行不同的区块构建算法。

‣ 时间变量允许为每次轮换分配领导者,这些领导者将负责生产区块。

详细机制:

  • 当某验证者被选为领导者时,它负责生产新区块并将其提议到网络中。
  • 领导权以固定间隔(称为槽,slots)在验证者之间轮换。
  • 每个槽持续 400 毫秒,在这段时间内,验证者可以生成一个区块。槽是按顺序一个接一个地进行的。
  • 每个槽都会分配一位领导验证者,用以提议新区块,其他验证者对区块的有效性进行投票,最终确认区块。
  • 如果验证者错过了其分配的槽,网络将继续处理下一个槽。

特点与流程:

  • Solana 使用基于分叉的投票机制,而不是单个区块的投票。验证者会连续生成区块,并实时添加有效的投票。
  • 验证者和委托者可以在一个周期(epoch)内质押或撤销质押 SOL 代币。
  • 根据质押的 SOL 数量,验证者在共识过程中的参与度将在周期开始时确定。

Solana 的质押模型:

‣ Solana 在每个周期(epoch)结束时处理质押更新,每个周期大约持续 2-3 天,由 432,000 个区块(槽)组成。

‣ 下一个周期的验证者调度表基于更新后的质押信息确定。

验证者的三大主要收入来源:

  • 交易手续费
  • 协议奖励(通胀)
  • 最大可提取价值(MEV)

‣ 领导者收到的区块奖励包含基础费用和优先费用的 50%(其余 50% 被销毁)。

‣ 更长的区块时间可能会减少年度奖励,因为周期数量减少,从而影响 $SOL 的总体分配。

‣ Solana 为每个周期计算通胀生成的 SOL 奖励池,并根据上一周期的投票和质押状态分配奖励给验证者和质押者。

Solana 的质押模型:

‣ Solana 在每个周期(epoch)结束时处理质押更新,每个周期大约持续 2-3 天,由 432,000 个区块(槽)组成。

‣ 下一个周期的验证者调度表基于更新后的质押信息确定。

验证者的三大主要收入来源:

  • 交易手续费
  • 协议奖励(通胀)
  • 最大可提取价值(MEV)

‣ 领导者收到的区块奖励包含基础费用和优先费用的 50%(其余 50% 被销毁)。

‣ 更长的区块时间可能会减少年度奖励,因为周期数量减少,从而影响 $SOL 的总体分配。

‣ Solana 为每个周期计算通胀生成的 SOL 奖励池,并根据上一周期的投票和质押状态分配奖励给验证者和质押者。

Solana 的投票模型:

Solana 对验证者没有严格的最低 SOL 要求,但参与共识需要一个投票账户。

‣ 验证者对槽领导者的提案进行投票,这需要一个投票账户,并为每次投票支付交易费用。

‣ Solana 的链上投票机制为每次投票收取交易费用。较高的 $SOL 价格会因交易费增加而提高验证者投票的运营成本。

费用详情:

  • 每次投票成本为 0.000005 SOL,验证者在每个周期大约花费 2-3 SOL 进行投票。
  • 一个周期持续 2-3 天,每年大约花费 300-350 SOL,折合每天约 1 SOL。

Solana 的费用市场:

‣ Solana 的费用机制包括两个部分:基础费用和优先费用。

‣ 费用被拆分为分配给验证者和销毁的部分,但现有机制存在一些局限性:

  • 它未能激励高效使用资源或对齐各方激励。

‣ 创建新账户需要支付费用(租金豁免费)。

  • 费用按固定费率计算,每 MB 存储需支付 6.96 SOL。
  • 该费用分配到新创建的账户中,若账户被删除可取回。

局限性:

  • 基础费用未考虑实际计算单元(CU)使用 -> 导致资源浪费
  • 优先费用较弱 -> 仅在拥堵时有效
  • 验证者只获得费用的 50% -> 激励不足(依赖通胀补贴)

基于质押权重的服务质量(SWQoS):

‣ 在网络拥堵情况下,SWQoS 机制可用于优先处理某些类型的交易。

‣ SWQoS 根据验证者的质押数量优先处理网络流量,防止低质押验证者通过垃圾交易淹没网络。

连接类型:

  • 开放连接:公共使用
  • 基于质押权重的连接:保留给验证者使用,RPC 节点可通过信任关系利用验证者连接。

优势:

  • 提升有质押验证者的交易性能
  • 增强网络韧性
  • 提高 Sybil 攻击抵抗力

挑战:

  • 质押集中化风险
  • 验证者与 RPC 节点之间的信任问题
  • 小型验证者的进入壁垒

‣ SWQoS 优先考虑网络访问,而优先费用优先考虑交易排序

关于节点与验证者:

‣ 所有验证者都是节点,但并非所有节点都是验证者。

‣ 节点的类型:

  • 验证节点:负责签名和投票
  • RPC 节点:处理钱包和 DEX 请求

‣ 交易会指定可写账户:

  • 影响相同账户的交易按顺序处理;
  • 影响不同账户的交易可顺序或并行处理。

Solana 的流动质押(Liquid Staking):

‣ Solana 采用委托权益证明(Delegated PoS, DPoS)。

‣ 用户将 SOL 质押到验证者池中,并可以获得 LST(流动质押代币)。

‣ 质押奖励直接与借贷收益竞争:

  • 如果借贷收益高于质押奖励,验证者可能会撤回资金,可能对网络安全产生影响。

LST 代币的两种类型:

  1. 奖励型代币或再基础代币。
  • 用户质押 10 SOL 至质押池,获得 10 个 LST 代币。
  • 质押池将这些 SOL 分配给多个验证者,获得 vSOL。
  • 这些 vSOL 代表验证者的质押奖励。
  • LST 代币由这些 vSOL 支持。
  • 验证者 LST 代币(专属代币)。
  • 用户质押 10 SOL 至验证者 LST,获得 v_lstSOL 代币,代表其质押 SOL 的权益。
  • 验证者将质押池内的 SOL 质押至 Solana 网络,获得 sSOL。
  • 这些 sSOL 代表验证者对质押 SOL 和相关奖励的权益。

Solana 的 MEV:

‣ 当前区块的领导者对区块生产和调度有完全控制权。

‣ 领导者被激励通过优先费用处理交易,但未必强制执行。

‣ MEV 对 Solana 的负面影响:

  • 超过 50% 的计算资源被浪费在失败的套利尝试上。

‣ Solana 没有公共内存池(mempool),交易直接转发给当前和下一个领导者。

Ethereum MEV 与 Solana MEV 的区别:

区块生产方式:

  • Solana 的默认验证者持续生产区块,流畅处理和包含交易。
  • 以太坊则按 12 秒为一批次处理交易。

MEV 的影响:

  • 以太坊:
  • 网络费用高
  • 区块空间减少
  • 用户被夹击和抢跑
  • Solana:
  • 搜索者通过垃圾交易尝试挤入交易。
  • 失败的交易浪费计算资源。
  • 少数搜索者获得大部分利润。
查看原文
  • 赞赏
  • 评论
  • 分享
评论
暂无评论