新消息:Helius 收购 Light Protocol
BAM 横幅
博客/研究

区块组装市场(BAM)

研究员X 上的 Lostin
Developer Experience EngineerX 上的 0xIchigoLinkedIn 上的 0xIchigoGitHub 上的 0xIchigo
阅读需 33 分钟

非常感谢 Lucas Bruder、Sebastian Hauer、Alejandro Morante 和 Mert 审阅本文的早期版本。

可行洞见

  • 目前,Solana 领导者在自己的时隙内对交易排序拥有全权控制,区块如何构建的透明度有限。BAM 引入了一种可验证的去中心化替代方案,使排序逻辑可供审计。
  • BAM 网络明确划分职责:BAM 节点负责获取、确定优先级和筛选 Solana 交易,BAM 验证者则负责执行、共识和状态管理。这种方式让 Solana 更接近提议者与构建者分离(PBS)架构。
  • BAM 的插件框架允许开发者定义自定义排序逻辑,并引入新的调度原语。这使应用控制执行(ACE)成为可能,让应用能够强制实施自己的交易调度规则。
  • Jito 已承诺最终将 BAM 开源,并以透明度为核心进行设计。相比当前闭源且由单一受信任方运行的 Jito 区块引擎,这是一项重大改进。
  • BAM 节点将在支持带安全嵌套分页的增强型安全加密虚拟化(SEV-SNP)的 AMD 处理器上运行。得益于硬件加速,SEV-SNP 仅增加 2–5% 的开销,速度足以满足实时处理需求。
  • BAM 节点首个实现的调度器将在其内存池中定期运行区块内拍卖,将区块细分为 N 个时隙,并在每场拍卖中平均分配 CU。
  • 应用控制执行(ACE)可能会减少为强制实施自定义逻辑而使用 rollup 或网络扩展的需求,从而帮助 Solana 主网留住更多活动。它也显著拓展了利用可编程区块空间构建新型应用的设计空间。
  • Jito 计划将区块引擎和即将推出的 BAM 系统产生的 100% 协议费用转入 Jito DAO 金库。目前,Jito 对小费收取 6% 的费用,由 Jito Labs 和 DAO 平分。2025 年第二季度,DAO 通过 Tip Router 从这些费用中获得了 22,391.31 SOL(约 400 万美元)。
  • BAM 从 Flashbots 的 BuilderNet 汲取灵感,采用类似的方式,在可信执行环境中构建区块。在 Ethereum 主网上,约 40% 的区块已经在 TEE 中构建。

简介

Jito 的区块组装市场(BAM)代表着迄今对 Solana 区块构建流程最具雄心的重新设计。BAM 历经八个多月开发,源于提升 Solana 隐私性、透明度和时隙内确定性执行能力的愿景,旨在支持下一波高级应用。由此产生的全新交易管线,以私密、可编程且可验证公平的交易排序系统,取代了当前不透明、由验证者驱动的排序模型。

BAM 引入了一个在可信执行环境(TEE)内运行的加密内存池,所有交易在执行前都会保持机密。这种隐私保护架构旨在显著减少乃至消除多种掠夺性最强的 MEV 形式,为用户提供更有力的执行保障和更优的价格。验证者能够提供更高质量的执行,而开发者和搜索者可以直接在新的可编程区块空间层上进行构建。

BAM 通过插件系统引入应用控制执行(ACE)逻辑。这支持永续合约中的做市商优先撮合、即时预言机更新、订单有效期强制执行,以及其他形式的自定义路由和执行。通过精细控制交易排序,开发者可以在 Solana 上构建更复杂、更可靠的金融原语,包括中央限价订单簿、暗池和聚合器层。

借此,BAM 直接回应了长期以来对 Solana 区块生产模型的诸多批评:验证者行为不透明、执行质量不一致,以及通过私有内存池和带外交易形成的灰色市场不断扩张。目前,Solana 领导者在自己的时隙内单方面控制交易排序,外界几乎无法了解最终区块如何组装。BAM 用一种可验证的去中心化替代方案取而代之,同时仍能与 Solana 的高性能运行时无缝集成。

BAM 建立在现实先例之上,并从 Flashbots 的 BuilderNet 汲取灵感,采用类似的方式在可信执行环境中构建区块。在 Ethereum 主网上,约 40% 的区块已经在 TEE 中构建;而在 Unichain(Uniswap 的自定义 L2)上,这一比例达到 100%。BAM 将此模型扩展至 Solana,并具备原生支持应用级可编程性、低延迟执行,以及与 Jito 验证者客户端深度集成的优势。目前,Jito-Agave 和 Jito-Firedancer 合计保护着超过 89% 的总质押量。

至关重要的是,Jito 已承诺最终将 BAM 开源,并以透明度为核心进行设计。相比当前闭源且由单一受信任方运行的 Jito 区块引擎,这是一项重大改进。BAM 会生成链上证明,即通过加密签名的证据,准确确认运行了哪些代码以及交易如何排序,让任何观察者都能验证执行是否公平。

BAM 高层概览

BAM 本质上是一个交易排序网络。BAM 节点负责获取、确定优先级和筛选 Solana 交易,BAM 验证者则专注于执行、共识和状态管理。这种职责分离将对网络活性至关重要的核心职责保留在验证者内,同时为 BAM 节点中的排序逻辑提供更大的灵活性和实验空间。

BAM 节点本身由交易处理单元(TPU)和交易调度器组成,并在 TEE 内运行。它还运行一个 gRPC 服务器,以便与连接的验证者通信。经过修改的 Jito-validator 客户端配备先进先出(FIFO)执行器,并通过可感知账户的锁定机制优化并发和并行执行。

每个 BAM 节点可以支持多个验证者,但每个验证者同一时间只能连接一个 BAM 节点。目前,Jito 运营着七个区块引擎。借助 BAM,该网络旨在实现显著扩展,目标是在所有主要地理区域部署 50 至 100 多个 BAM 节点,以提高去中心化程度和冗余能力。BAM 节点与验证者通过双向 gRPC 流通信,执行结果从验证者流式返回 BAM 节点,以提供实时反馈。

BAM 节点内的所有交易都会在可信执行环境(TEE)中加密,直至执行时刻,从而确保交易流在执行前保持私密。

为保证公平执行,交易顺序会使用证明进行可验证记录。这些证明由 BAM 节点签名并加盖时间戳,是用于确认观察到特定事件或条件的加密证据。最终形成不可篡改的审计轨迹,让观察者能够证明交易按正确顺序执行。

审计轨迹包括转发给验证者的交易及其排序,例如交易 A、B 和 C 在此时隙被发送至 Helius 验证者。该系统提供实时监控工具和分析功能,让用户能够从提交到执行全程跟踪交易。用户和应用将能够验证 BAM 验证者是否遵循既定排序,并准确了解 BAM 节点运行了哪些代码。

BAM 节点在网络上公开可见,类似于现有的 Jito 中继器。当验证者连接 BAM 时,它会通过自己的 TPU 和 TPU 转发端口公布 BAM 实例,这些端口是接收交易的入口。

用户仍可通过常用的 RPC 客户端提交交易。但为了增强安全性,他们也可以选择将交易直接发送至 BAM 实例,防止恶意验证者拦截或查看交易数据包。

交易进入 BAM 后,会经过标准的清理流程,包括去重、签名验证,以及检查格式、blockhash、费用支付者、nonce 和地址查找表是否有效。

验证完成后,交易进入 BAM 的内存池,参与频繁进行的周期性拍卖。拍卖结束后,交易会被分发给验证者。完整的交易序列由 BAM 软件签名并记录在数据库中。随后,验证者通过一个参照 Anza 模块化调度器提案设计的 API,以流式方式返回执行结果。

凭借安全的调度环境和本地费用市场,验证者现在受一份约束力更强的自愿加入合约约束。他们会收到预先定义的交易序列,并且必须完全按给定顺序调度,从而消除出于恶意目的插入交易或重新排序的机会。

为应对验证者基于审计轨迹证据实施夹击等不当行为,目前正在探索多种强制执行机制。虽然尚未最终确定,但潜在措施包括:

  • 将违规验证者从 BAM 网络中移除。
  • 要求验证者以保证金形式提供抵押品,并可在其行为不当时罚没(但这可能会提高新验证者的准入门槛)。
  • 使用黑名单或灰名单,部分限制违规者参与。

费用

Jito Labs 和 Jito Foundation 正在联合起草一项 Jito 改进提案(JIP),计划将区块引擎和即将推出的 BAM 系统收取的 100% 协议费用转入 Jito DAO 金库。该提案预计将在未来几周内正式提交,代表着 Jito 经济模型的一次重大转变,并需经 DAO 批准。如果通过,它将巩固 DAO 和 JTO 代币持有者在 Jito 生态系统中的核心地位。

目前,Jito 协议对小费收取 6% 的费用,由 Jito Labs 和 DAO 平分。仅在 2025 年第二季度,DAO 就通过 Tip Router 从这些费用中获得了 22,391.31 SOL(约 400 万美元)。DAO 的另一项主要收入来源是 jitoSOL 费用,同期合计达到 13,223.73 SOL(约 238 万美元)。

可信执行环境(TEE)

可信执行环境(TEE)是一种由硬件支持的架构,旨在确保计算和内存的机密性与完整性。TEE 也称为飞地,通常通过硬件级隔离,将代码执行与主机系统的操作系统、内核和虚拟机监控程序隔离开来。这种隔离显著缩小了攻击面,使观察或篡改飞地操作变得极其困难,但并非完全不可能。

自 21 世纪初以来,TEE 已用于数字版权管理、内容保护和安全支付系统等领域。如今,它们广泛用于消费设备和云服务,以安全处理敏感数据与代码。在智能手机和笔记本电脑上,Apple 的 Secure Enclave 和 Android 的 TrustZone 会保护生物识别数据、支付凭证和加密密钥。PlayStation 和 Xbox 等游戏主机使用基于 AMD 或 Pluton 的处理器来防止篡改和盗版。在云端,Azure 和 Google Cloud 等提供商使用 AMD SEV-SNP、Intel TDX 或 AWS Nitro Enclaves 隔离工作负载并支持机密计算。Ledger 和 Trezor 等加密钱包使用安全元件保护私钥,而新款 Solana Seeker 手机也依赖 TEE 实现同一目的。

TEE 是处理私密数据的标准硬件方案,为全同态加密(FHE)和安全多方计算(MPC)等纯加密方法提供了实用替代方案。虽然 FHE 和 MPC 具备强有力的理论保证,但由于复杂度和性能开销过高,它们在现实环境中往往并不实用。

BAM 依赖 TEE 的两项核心属性:

机密性: TEE 内的代码和数据经过加密,并与系统其余部分隔离。操作系统、虚拟机监控程序和任何外部软件都无法访问或检查飞地内运行的内容。

可证明性: TEE 支持证明机制,可生成有关飞地来源和当前状态的加密证据。这使第三方能够验证结果确实由运行可信代码的真实 TEE 产生,而不是由遭入侵或模拟的环境产生。

BAM 中的 TEE 实现

BAM 将在支持增强型带安全嵌套分页的安全加密虚拟化(SEV-SNP)的 AMD 处理器上运行。与较小型的飞地方案不同,SEV-SNP 能以极低的性能开销保护整个 BAM 应用,非常适合高吞吐量、低延迟的交易系统。

得益于硬件加速,SEV-SNP 仅增加 2–5% 的开销,速度足以满足实时处理需求。它不仅支持隔离计算,还能支持复杂、有状态的联网应用。该技术久经实战检验,已部署在 Google Cloud、Azure 和 AWS 等主要云服务提供商中,并有多年安全研究与运维经验作为支撑。

BAM 使用的 SEV-SNP 提供多项关键安全保障。每个 TEE 实例都在独立的硬件隔离虚拟机内运行,其内存在运行时加密,以确保强大的虚拟机级隔离。BAM 利用基于硬件信任根的证明,让每个 TEE 能够通过加密方式证明自己正在执行真实且未经修改的代码。该证明链锚定于 AMD 的硬件根密钥,这些密钥在制造期间被物理嵌入 CPU。此外,TLS 密钥使用处理器内部的硬件随机数生成器生成,确保它们绝不会暴露在未加密的内存中。

客户端连接 BAM 时,会收到一份 TLS 证书,其中包含标准连接证书、AMD SEV-SNP 证明报告,以及用于证明 TLS 私钥在已证明的 TEE 内生成的加密证据。该证书链通过加密方式绑定到 AMD 的硬件信任根。没有 AMD 的私有根密钥就无法伪造,因此除 AMD 的芯片制造流程外,无需信任任何中间方。

插件

目前,Solana 上的应用只能通过优先费或附带小费的捆绑交易影响交易排序。Agave 和 Firedancer 等客户端中同时存在多个排序器,无法保证最终会采用哪种排序逻辑,因此应用对自身交易的排序方式控制有限。

插件解决了这个问题。 

通过 BAM 的插件框架,开发者可以实现定制排序逻辑,并引入新的调度原语。它们支持应用控制执行(ACE),允许应用定义自定义交易调度策略。ACE 有许多潜在用途,其中最广为人知和讨论最多的用例是优先处理订单簿撤单。这种机制可以减少逆向选择,并缩小价差。

优先处理订单簿做市商撤单

目前,Solana 上的链上订单簿做市商处于不利地位。当公允价格变化时,做市商会持续更新或撤销过时报价来管理风险。市场价格发生变化时,他们需要在知情吃单者利用机会之前撤销现有订单。  

由于无法精细控制交易排序,他们的报价容易受到利用过时定价的有毒订单流攻击。即使做市商迅速行动,也可能遭受损失,因为 Jito 拍卖会优先考虑出价而非意图。本质上,支付更多的一方会优先获得排序。

这种机制迫使做市商扩大价差以管理风险,从而降低整体流动性,并让用户获得更差的价格。这些有毒交易中,吃单者利用过时定价获利,而交易对手在成交后几乎立即后悔。它们对用户体验几乎没有帮助,却大幅增加了做市商和流动性提供者面临的阻力。

BAM 插件允许在应用层强制实施“先撤后吃”策略。通过让程序精细控制交易排序,应用可以选择先处理做市商撤单,再处理吃单交易。这项简单的策略变更影响深远:

  • 减少逆向选择: 市场变动时,做市商不再经常遭到狙击。
  • 过滤有毒订单流: 虽然有毒交易减少可能导致总交易量下降,但订单流和执行质量会提高。
  • 缩小价差: 风险降低后,做市商可以更积极地报价。
  • 改善流动性: 专业做市商和散户交易者都会更有信心提供报价,从而带来更深的流动性。

即时预言机更新

应用专用插件的另一个例子是 Pyth 计划实现的即时预言机更新。作为 Solana 领先的预言机提供商,Pyth 维护着 1,700 多个独立价格源。每个区块都更新所有价格源会成本高昂,并会低效占用区块空间。

借助 BAM,Pyth 可以在特定价格源恰好需要时更新它,将预言机更新直接插入同一区块内用户交易之前。这可以降低预言机数据过时带来的风险,例如低效清算和预言机操纵,让 DeFi 应用运行得更加可靠且更具竞争力。

更多插件

BAM 的最终目标是成为一个无需许可的平台,让应用开发者能够构建、测试和部署插件,以控制自己的交易排序。预计后续将出现更多插件,BAM 节点最终将支持数百个可自定义扩展。大多数应用仍会继续使用默认调度器,但需要自定义排序逻辑的应用将负责开发和维护自己的插件。 

此外,应用还可以通过收费将插件功能商业化,并可能与治理代币持有者或验证者分享部分收入。

潜在的通用插件

插件并不局限于单个应用。Jito 已提出多个可为 BAM 开发的通用跨应用插件示例:

区块空间期货: 允许用户和应用预留或交易未来使用区块空间的权利,即使网络需求高涨,也能获得可预测的访问权限和价格。

订单有效期(TIF): 指订单在未完全执行时自动撤销前保持有效的时长,例如让一笔订单簿交易仅在 20 毫秒内有效。如今在 Solana 上可以通过故意使用较旧的 blockhash 来实现一种粗略版本,确保交易仅对最近的一个或多个区块有效。

预确认: 用户可以在交易执行并传播至网络之前,在交易被转发给验证者时收到通知,从而更早以一定的置信度确认交易。

免手续费交易: 允许用户使用 SPL 代币(例如稳定币)而非 SOL 支付交易成本,从而抽象掉原生代币要求,并实现灵活的费用支付。

低延迟聚合器和询价(RFQ): 用户直接向 BAM 提交交易意图,由本地运行的聚合器识别最优路径。

交易撤销与替换: 用户可以提交带有特殊标记的交易,从而撤销、丢弃或替换之前提交的交易。

推出计划

在发布阶段,Jito Labs 将运行首批 BAM 节点,以确保稳定性、性能和安全性。包括 Helius、SOL Strategies、Triton One 和 Figment 在内的一批需获许可的早期验证者合作伙伴将运行 BAM 客户端,并在发布后不久保护占网络总质押量较高个位数百分比的份额。 

与此同时,包括 Drift、Pyth 和 DFlow 在内的首批 Solana 应用将开始设计并测试第一批插件。到发布阶段结束时,BAM 预计将验证其核心功能,并为节点运营者和验证者更广泛地参与奠定基础。 

发布阶段扩展阶段加速阶段
BAM 节点网络由 Jito 运行的节点集由治理决定的运营者集合开源 BAM 节点代码
验证者集合Alpha 验证者集合(质押量占比 5% 以上)质押量占比 30%全网络采用
插件生态系统正在开发的 Alpha 插件首批插件上线开源插件框架

有意参与 BAM 的验证者、应用开发者或搜索者可以填写此表单。

一个由 Solana 验证者和开发者社区中的重要利益相关方组成的生态系统顾问委员会将为 Jito Labs 提供建议,其中包括 Solana Foundation。该委员会将帮助指导 BAM 扩展、推动去中心化,并促进社区主导的创新。

目前,BAM 代码库仍为闭源,计划在不久后开放,以支持第三方插件开发。开源后,BAM 将欢迎社区在多个关键领域贡献力量:

  • 插件开发:构建自定义插件以扩展 BAM 的能力。
  • 调度算法:设计并贡献针对特定用例的新交易排序策略。
  • 集成库:使用多种编程语言开发 SDK,简化 BAM 集成。
  • 分析工具:创建利用 BAM 证明数据的仪表板和监控系统。
  • 研究贡献:提出并实现用于缓解 MEV 和优化系统的新方法。

影响

BAM 是 Solana 的一个关键转折点。它有望通过解决 MEV 利用和高效区块打包方面的担忧,释放新一轮创新。由 TEE 保障安全的排序机制和 BAM 的插件框架,可以降低应用团队为了实施自定义逻辑或特定区块空间策略而构建网络扩展、rollup 或 Solana 许可环境的动机,从而将更多活动留在 Solana 主网上。此外,随着每个区块的计算限制提高,以及市场对使用更少 CU 的高效代币程序和框架的需求增加(例如 Pinocchio 和 p-token 日益普及),主网将拥有更多带宽,进一步降低开发者构建自定义解决方案的动机。

BAM 的隐私功能也应能显著减少三明治攻击,因为交易在执行前始终保持隐藏,从而限制机器人抢跑用户的能力。这可能提高 DEX 的效率,并为用户带来更具竞争力的价格。然而,BAM 不太可能彻底消除 MEV。MEV 本质上是一场猫鼠游戏,三明治攻击者会调整策略,可能利用隐蔽的插件漏洞,或操纵外部预言机(即没有自有插件的预言机),因为它们不属于加密流水线的一部分。 

通过 BAM 减少 MEV 可能会对 Jito 的收入产生负面影响,类似于其 2024 年关闭内存池的情况。该举措减少了短期收益,但最终让网络受益。BAM 带来的改进可能通过提高整体交易量和插件费用来抵消这一影响,并凭借更高的采用率增加长期收入。然而,BAM 的具体实现、分阶段推出方式和经济模型都带来了潜在的中心化风险和待解问题,我们将在后续章节中探讨。尽管如此,这些风险和问题也伴随着多种优势,而每项优势又会对 MEV 再分配、PBS 和“新”客户端的开发产生各自的影响。

MEV 再分配

BAM 从根本上重塑了 Solana 的 MEV 格局,使其从不受约束的价值提取转向更有组织的再分配模型。在传统架构中,MEV 经常通过抢跑或垃圾交易导致用户价值流失,验证者或机器人则利用三明治攻击等有害策略获取价值。然而,BAM 由 TEE 加密的内存池会在执行前隐藏交易,从而限制负面 MEV 的可见性。价值将改为通过插件和自定义排序在系统内部实现。这样一来,应用、开发者和搜索者就能捕获可提高生态系统效率的正面 MEV(例如缩小 DeFi 价差、减少预言机垃圾信息)。

这种再分配会将 MEV 利润返还给利益相关方,因为插件费用会在 BAM Node 运营商、验证者、质押者和 Jito 的 DAO之间共享。这有望创造可持续的收入来源。例如,DEX 可以部署一个优化订单匹配的插件,将原本可能由验证者提取的 MEV 转化为应用产生的费用,再将这些费用分配给代币持有者。这种对交易者活动的“保护”方式,可以让 MEV 从零和游戏转变为一套加深流动性并吸引机构资本的机制。

然而,再分配也伴随着风险。需要重点注意的是,BAM 并未消除 MEV,而是转移了它。这种转移可能让早期插件作者、BAM Node 运营商和与 Jito 关系密切的实体获得超额收益。尽管受到密码学证明的约束,但如果出现 TEE 漏洞(例如侧信道攻击),搜索者的特权访问可能会带来新的隐蔽价值提取途径,最终削弱隐私保障。这也为“受保护”的尾随交易打开了大门:搜索者可以部署代码,在用户交易之后追加交易(例如从引发价格变化的兑换中捕获套利机会),同时不暴露策略,也不给抢跑留下机会。此外,由于缺少程序化罚没机制,而证明是在执行后产生且目前依赖社区监督,自适应攻击者可能会围绕证明采取有害策略。

归根结底,MEV 再分配让 BAM 有望成为推动 Solana 实现其终极目标(即去中心化的纳斯达克)的催化剂,但能否成功取决于公平费用模型的采用和稳健的 TEE 安全性。如果处理不当,它可能会割裂网络、侵蚀用户信任,并因“受保护”但不透明的搜索者活动而招致审查。

提议者与构建者分离(PBS)

大多数区块链的设计都让同一个实体同时提议和构建区块,使其能够垄断控制指定时隙内交易的排序和纳入。这对这些实体有利,因为它们可以随意审查或以其他方式操纵交易流。例如,它们可以采用复杂但有害的策略来提议和构建区块,按特定顺序纳入交易,从而最大化 MEV。

提议者与构建者分离(PBS)是一种通过分离区块构建与区块提议来解决该问题的设计模式。在这种设计下,区块构建者会创建有序交易列表,并为这些区块提交竞价。随后,通常由验证者担任的区块提议者会接受并提交出价最高的区块,通过拍卖或小费重新分配 MEV,而无须自行运行复杂的排序策略。 

自 2022 年 The Merge 以来,以太坊已通过 MEV-Boost 在协议外实现 PBS。MEV-Boost 是一个与验证者的执行层和共识层双客户端软件并行运行的“边车”。运行 MEV-Boost 的验证者可以连接多个中继,并接受区块构建者预先构建的区块。在区块被纳入链上之前,验证者无法看到其内容,因为它们只能从中继处收到区块奖励金额和区块头。需要注意的是,这一设计仍处于活跃研究阶段,PBS 正等待完全纳入协议(ePBS),其中可能包含纳入列表等功能,以进一步缓解审查问题。

借助 BAM,Solana 正迈向类似 PBS 的未来,将区块构建(即在 TEE 保护的 BAM Node 中进行排序)与执行分离,而执行仍由验证者负责。这有望通过插件让应用和搜索者更公平地获得正面 MEV。然而,如果插件经济模型偏向现有参与者,也可能加剧 Solana 的质押中心化。以太坊已经显现出这一问题,目前三个构建者(即 Titan Builder、BuilderNet、Beaverbuild)主导了超过 ~90% 的区块,由此引发中继信任问题,并为较小的参与者制造了壁垒。 

尽管 MEV-Boost 将 PBS 引入了以太坊,但更恰当的比较对象是 BuilderNet。这是一个于 2024 年 11 月推出、由 Flashbots、Beaverbuild 和 Nethermind 运营的去中心化区块构建网络。BuilderNet 使用 TEE 进行私密区块构建,将这一过程分散到多个节点运营商,以消除独家订单流协议的影响并减少中心化。它侧重于价值创造(即与订单流提供者共享 MEV 退款,例如用户、钱包和应用),而不是订单流博弈(例如争夺私下协议)。BuilderNet 仍使用 MEV-Boost 中继,但并非强制要求,这意味着构建者与提议者可以在 TEE 中直接交互。 

BAM 分阶段、需许可的推出过程必须优先考虑公平费用和开源插件,以规避以太坊遇到的这些问题。考虑到其硬件依赖(即 TEE,而以太坊使用软件中继),这一点尤其重要,因为这种依赖会带来供应商锁定和维护成本。Solana 希望跳过订单流博弈,直接迈向类似 BuilderNet 的系统,将重点放在价值创造上。 

最终,区块构建和提议方式的这一转变会削弱验证者的作用,将排序复杂性转移出去,但如果费用未得到广泛分配,也可能降低验证者的自主权和收入。我们将在题为验证者作用减弱的章节中进一步探讨。

方面以太坊 PBS(MEV-Boost)BuilderNetSolana BAM(类似 PBS)Solana 面临的主要风险
角色分工构建者组装和优化;提议者通过中继提交构建者在 TEE 中组装;提议者提交(中继可选)BAM Node 在 TEE 中排序;验证者执行硬件门槛可能排除小型运营商
MEV 处理通过拍卖和小费重新分配 MEV通过 TEE 拍卖和小费重新分配 MEV插件与 DAO 和质押者共享费用经济模型可能导致财富集中
中心化前三大构建者占比 ~90%;依赖中继信任目前由三方主导(Flashbots、Beaverbuild、Nethermind)初期由 Jito 主导;目标为 50 多个节点可能进一步巩固 Jito 作为事实标准验证者客户端的地位
隐私与可验证性盲化竞价;ePBS 中的纳入列表TEE 加密;无须中继TEE 加密;用于审计的证明漏洞(例如零日漏洞)可能侵蚀信任
成熟度自 2022 年以来经过实战检验;ePBS 正在积极研究中自 2024 年 11 月以来经过实战检验新项目(2025 年 7 月);分阶段采用尚未经过大规模验证

上图:以太坊的 PBS 与 Solana 的 BAM 对比

一个“新”客户端出现

Jito-Agave 客户端与 Agave 核心代码库高度相似,主要区别在于增加了 MEV 功能。Jito 的“Agave 加 MEV”模式让其客户端能够顺利集成到 Solana 现有的验证者生态系统中,在尽量减少核心架构变更的同时提高奖励。因此,截至撰写本文时,Jito-Agave 客户端以验证者采用率 79% 的份额领先全网。验证者因此可以依赖 Agave 的基础逻辑,同时受益于 Jito 提供的额外收入来源。

BAM 不再延续 Jito 早期紧密复刻 Agave 的做法。专用 BAM Node 网络的引入建立了一个新的基础设施层。这一演变使 Jito 不再只是“增强版 Agave”,而是成为差异更明显的客户端,并拥有自己的可编程生态系统,可嵌入应用专属逻辑。

这种分化在 Agave 即将推出的调度器绑定中显而易见,Anza 已于 5 月公布了这一功能。随着 Solana 上的 MEV 日趋成熟,自定义调度器实现也越来越常见。虽然自定义调度器可能会增加运营商的收入,但当前实现存在若干缺点,包括需要运行不同版本的验证者二进制文件、依赖闭源代码,以及潜在的活性问题。 

Anza 即将推出的调度器绑定允许验证者在不修改核心验证者二进制文件的情况下连接外部区块构建服务,从而支持自定义调度器并引入模块化。这一设计可提高透明度和安全性,并简化 DevOps。然而,BAM 用户无须使用这些绑定,因为排序由上游 BAM Node 调度器处理。这绕过了 Agave 计划推出的调度器绑定,可能简化运营,但也因偏离 Anza 的标准化工作而引发未来生态系统割裂的疑虑(例如让 Firedancer 集成变得更复杂)。

不过,Jito 将 BAM 定位为统一验证者客户端的一部分。BAM 验证者将运行集成了 BAM 调度器的新版 Agave 客户端,并且只接受 BAM Node 按 FIFO 顺序发送的交易。这一设计在增强系统韧性的同时避免了客户端割裂。Jito 计划在 Anza 推出模块化调度器之前发布兼容 BAM 的客户端。此举凸显了 BAM 的双重影响:它可以促进创新并推动 Solana 的 MEV 基础设施发展,但也可能进一步巩固 Jito 作为主导验证者客户端的地位。

BAM 也可能会使用这些绑定。如果 BAM 在模块化调度器中运行,支持 Firedancer 将变得非常简单,同时也会产生一个新问题:Jito 是否真的还需要验证者客户端?我们只能等待 BAM 开源代码的实现与推出,时间会给出答案。

待解问题

验证者作用减弱

BAM 的设计将交易排序交给一个独立的、由 TEE 保护的 BAM Node 网络,从根本上改变了 Solana 的验证者格局。这使验证者主要负责执行、共识和状态管理。这种分离对应用有利,因为它支持自定义排序,并为代币持有者带来收入共享的可能性。它也能减少负面 MEV 并提供更有利的价格,从而惠及用户。然而,这也引发了有关验证者自主权和经济激励不断减弱的问题。

目前,验证者作为领导者生成区块时,可以完全自主决定交易顺序,并能够运行自定义调度器,以自己认为合适的方式优化区块。BAM 将这项职责从验证者手中移除。验证者现在会收到预先排序的交易,并严格按照 FIFO 顺序执行,失去对区块构建的自主权。在最极端的情况下,如果所有交易都通过 BAM,验证者就会沦为单纯的“橡皮图章”,这甚至会令人质疑是否还需要去中心化的验证者。 

不过,也存在一些抵消因素。具体来说,插件费用为验证者和质押者提供了新的共享收入来源。BAM 的统一客户端和自动回退机制让自身利益与网络健康保持一致,从而提高整体韧性。选择加入的分阶段推出方式也保留了选择权,而长期开放源代码则允许验证者参与 BAM 的开发,推动社区驱动的改进并保留部分自主权。 验证者还可以向 BAM 提议调度器改进方案,这可能为它们从更高交易量中获取费用打开大门。此外,将验证者称为单纯的橡皮图章可能有所夸大,因为验证者仍在共识和分叉选择中发挥关键作用。真正的问题是,验证者究竟会失去多少自主权?BAM 是否反而能让验证者更专注于活性和状态完整性?

仍有几个问题有待解答:

  • 如果 BAM Node 负责排序和 MEV 提取,验证者除了硬件和正常运行时间之外还能如何竞争? 
  • 在高采用率的情况下,验证者只专注于执行是否会降低 Solana 的整体去中心化程度?如果会,可以用哪些指标衡量这种下降?
  • 如果 BAM 迫使验证者为了寻找收入而转向更恶意的途径,除了证明之外,还有哪些保障措施可以在不进一步削弱激励的情况下阻止这种行为?
  • TEE 漏洞或插件漏洞是否可能导致验证者受到不公平惩罚? 
  • 借鉴以太坊采用 PBS 的经验,Solana 可以采取哪些措施来应对验证者自主权减弱的问题?

恶意节点运营商

BAM 的架构为验证者引入了新的信任假设。也就是说,需要假设验证者在与 BAM Node 交互时不会采取恶意行为,例如篡改预先排序的交易或泄露数据。推出初期,由于 TEE 的限制,BAM 将依赖一组许可运营商。这组许可运营商将受托运行更新后的 Jito-Solana 客户端,并忠实执行转发的交易。这些验证者必须相信 BAM Node 不会操纵入口,由此形成双层信任(即 TEE 之前的 BAM Node 和 TEE 之后的验证者),增加了许可架构中的风险。关键问题是:如何阻止 BAM Node 运营商在交易进入 TEE 前查看交易?答案是为已验证节点使用 QUIC 加密,它们会将证明嵌入 QUIC 证书。检查 BAM Node 是否诚实的另一种方式,是将其哈希值与 BAM 的开源代码仓库进行比对,确认特定 BAM Node 是否确实在运行其声称运行的软件。假设 TEE 尚未被攻破,TPU 的 QUIC 证书将在 TEE 内生成。因此,所有进出流量都会被加密。

然而,在网络入口和出口处审查并选择性操纵交易数据包,是值得关注的问题。尽管无法查看加密交易的详细信息,恶意运营商仍具备强大的审查能力。运营商可以通过 TLS 签名识别协议类型、根据连接端点进行过滤、通过时序分析识别特定模式,并阻止所有符合特定特征的加密数据。因此,恶意运营商可能不知道具体传输了哪些交易,但仍可根据元数据和特定流量模式丢弃数据包。为缓解这一问题,可以引入 DoubleZero 的数据包过滤和时间戳功能,以提高透明度。归根结底,缓解网络审查攻击是采用许可式推出方式的合理理由。

围绕物理访问也出现了新的信任假设,因为物理访问几乎总会导致安全防护失效,TEE 也不例外。虽然 TEE 提供了强有力的安全保障,但如果攻击者获得服务器的物理访问权限,它仍可能遭到入侵。与符合 SOC 2 标准的提供商建立独家合作关系将有助于降低这种风险,确保数据中心层面具备稳健的多层安全防护。

仍有几个问题有待解答:

  • 如果恶意运营商审查数据包或泄露数据,将如何实施惩处?
  • 在许可阶段,运营商筛选机制将如何避免串通?又可以使用哪些指标衡量去中心化进展? 

可组合性与插件交互

BAM 最重要的待解问题之一,是插件在实践中将如何相互交互。单笔交易可能同时依赖多个插件,例如使用预言机插件即时更新价格、使用 DEX 插件确定最佳兑换路线,以及使用代币插件处理特定的 SPL 代币行为。确保这些组件以可预测且安全的方式协同工作至关重要。

插件可能需要获取外部数据才能有效运行。但这会产生潜在的攻击面,因为恶意插件可能滥用外部调用来泄露敏感交易信息。必须严格界定插件可以访问和共享的内容,才能维持对系统的信任。

应用层插件逻辑与 Solana 费用机制之间的相互作用又增加了一层复杂性。当多个插件竞相影响区块构建时,插件执行顺序、Jito 小费和优先费将如何相互作用?必须明确定义并透明执行这些经济机制,避免意外操纵或滥用。

为了管理这些风险,BAM 插件预计会先在许可环境中推出。这样可以在逐步转向无许可模式之前,对插件行为进行早期试验和审计。

TEE 信任与责任

对 TEE 的依赖引入了新的信任假设,因为它使用特殊的硬件隔离区,而不是构建无需信任的系统来保证计算可验证。依赖 Intel 或 AMD 等单一硬件供应商会带来单一技术栈风险:固件召回或漏洞可能导致 BAM 停止运行,并且根据网络采用程度,甚至可能引发全网停机。如果这些漏洞无法通过固件、微码或 BIOS 更新修复,更换硬件将耗费时间,并让 BAM Node 运营商承担持续的资本支出,进一步加剧潜在停机的影响。 

这些担忧源于历史上已经发生的漏洞,它们表明 TEE 可能失效,并可能暴露加密数据。例如,Intel 的 Software Guard Extensions(SGX)一直受到影响区块链的各种问题困扰。2022 年 8 月,Secret Network 受到 xAPIC 和 MMIO 漏洞的威胁。这些漏洞结合使用,可以提取共识种子,即用于解密网络上所执行私密交易的主密钥。 

大量其他问题最终导致 Intel 在第 11 代和第 12 代 Intel Core 处理器中弃用 SGX。AMD 的 Secure Encrypted Virtualization-Secure Nested Paging(SEV-SNP)也已披露多个漏洞。值得注意的是,今年 2 月披露了 CVE-2024-56161,该漏洞允许拥有管理员权限的攻击者注入恶意微码。 

用于缓解漏洞的更新不一定向后兼容,并且可能需要进行物理升级。例如,CVE02020-12967 和 CVE-2021-26311 的披露意味着,在采用 AMD Secure Encrypted Virtualization-Encrypted State(SEV-ES)的机器上,来宾虚拟机中可能被执行任意代码。SEV-ES 是该公司上一代 TEE 实现。AMD 并未发布更新固件来解决这些漏洞,而是通过 SEV-SNP 功能提供缓解措施;该功能仅在第 3 代 AMD EPYC(即“Milan”)处理器上受支持。 

BAM 的 TEE 基础设施基于最新一代 SEV-SNP 架构构建,其中包含防范这些已知漏洞所需的硬件级保护。还需要注意的是,即使发现零日漏洞,网络仍可继续运行,因为 Jito-Validators 与 BAM Node 断开连接时,可以自动回退到自己的 TPU。这种故障转移机制可确保验证者在应用安全补丁期间继续运行。

仍有几个问题有待解答:

  • 鉴于过去发生过的漏洞,BAM 对硬件供应商的依赖会如何影响长期信任?能否使用零信任执行环境(ZTEE)等替代方案来降低这种依赖?
  • 如果私密交易数据从遭到入侵的 TEE 中泄露,谁应对经济损失负责?
  • 如果 TEE 发生故障,应如何恢复信任?能否提供替代方案?

结论

验证者最终可以自由选择运行哪种软件。作为在高度竞争的市场中逐利的企业,他们的决策取决于自身及委托人的潜在回报,而委托人也可以自由地将质押转移到收益最高的平台。Jito-client 的广泛采用正反映了这一机制,其成功很大程度上源于它能够为运营者和委托人带来额外收入。BAM 能否被采用也将取决于类似的机制。如果事实证明,运行 BAM 能够持续获得比现状更高的利润,验证者就会采用它。否则,即使 BAM 成功为其他利益相关者带来显著收益,验证者也可能不愿切换。

BAM 最近才刚刚发布,其设计和运行方式仍有许多问题尚未得到解答。我们期待在未来几个月看到关于这一激动人心的进展的更多细节、文档和社区讨论。

更多资源

订阅 Helius

及时了解 Solana 开发的最新动态,并在我们发布新内容时收到更新

放大图片