Jito 提出了 Solana 的 Block Assembly Marketplace (BAM),旨在通过可信执行环境(TEE)内的加密内存池,实现更私密、可编程和可验证的交易排序。
Jito 的区块组装市场(BAM)代表了迄今为止 Solana 区块构建过程中最雄心勃勃的重新设计。经过八个月的开发,BAM 的诞生源于对 Solana 上更多隐私、透明度和确定性 Slot内 执行的需求,以实现下一波高级应用程序。最终的结果是一个重新构想的交易流程,它用一个私有的、可编程的且可证明的公平的交易排序系统取代了当今不透明的、验证器驱动的排序模型。
BAM 引入了一个在可信执行环境(TEE)内运行的加密内存池,其中所有交易在执行前都保持机密。这种保护隐私的架构旨在显著减少,如果不是消除,许多最具提取性的 MEV 形式,为用户提供更强的执行保证和更好的定价。验证器获得了提供更高质量执行的能力,而开发者和搜索者可以直接构建在新的可编程区块空间层之上。
BAM 通过插件系统引入了应用程序控制执行(ACE)逻辑。这支持了诸如永续合约的做市商优先匹配、即时预言机更新、限时委托订单 执行以及其他形式的自定义路由和执行等用例。通过对交易排序的细粒度控制,开发者可以在 Solana 上构建更复杂和可靠的金融原语,包括中心限价订单簿、暗池和聚合器层。
通过这样做,BAM 直接解决了 Solana 区块生产模型长期以来受到的许多批评:不透明的验证器行为、不一致的执行质量,以及通过私人内存池和场外交易进行灰色市场的扩散。目前,Solana 领导者对其 Slot 内的交易排序拥有单方面控制权,但对最终区块的组建方式知之甚少。BAM 用一种可验证的、去中心化的替代方案取代了这一点,该方案仍然可以与 Solana 的高性能运行时干净地集成。
BAM 基于现实世界的先例,并从 Flashbots 的 BuilderNet 中汲取灵感,采用了在可信执行环境内构建区块的类似方法。在以太坊主网上,大约40% 的区块已经在 TEE 中构建,而在 Unichain(Uniswap 的自定义 L2)上,这个数字达到了 100%。BAM 将此模型扩展到 Solana,其优势在于对应用程序级可编程性的原生支持、低延迟执行,以及与 Jito 验证器客户端的深度集成,这些客户端目前在 Jito-Agave 和 Jito-Firedancer 上保护了超过 89% 的总质押。
至关重要的是,Jito 承诺最终将 BAM 开源,并将其设计为以透明性为核心。这标志着对当前 Jito 区块引擎的重大改进,该引擎是闭源的,由单个受信任方运行。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 在此 Slot 中被发送到 Helius 验证器。该系统提供实时的监控工具和分析,使用户能够跟踪他们的交易从提交到执行的过程。用户和应用程序将能够验证 BAM 验证器是否满足了排序,并确切地知道 BAM 节点中运行了什么代码。
BAM 节点在网络上是透明可见的,类似于现有的 Jito 中继器。当验证器连接到 BAM 时,它会通过其 TPU 和 TPU 转发端口来公布 BAM 实例,这些端口充当接收交易的入口点。
用户仍然可以通过他们常用的 RPC 客户端提交交易。但是,为了提高安全性,他们可以选择将交易直接发送到 BAM 实例,以防止恶意验证器拦截或查看交易数据包。
当交易进入 BAM 时,它会经历一个标准的清理过程,包括重复数据删除、签名验证以及检查有效的格式、区块哈希、费用支付者、nonce 和地址查找表。
验证后,交易进入 BAM 的内存池,在那里它们会参与频繁的周期性拍卖。拍卖结束后,交易会被分派给验证器。完整的交易序列由 BAM 软件签名并记录在数据库中。然后,验证器通过一个 API 将执行结果流回,该 API 模仿了 Anza 的模块化调度器提出的 API。
有了安全的调度环境和本地费用市场,验证器现在在更强的选择加入合同下运行。他们收到一个预定义的交易序列,必须按照提供的顺序准确地进行调度,从而消除了插入或重新排序交易以达到恶意目的的机会。
目前正在探索几种强制执行机制,以根据审计跟踪证据来解决任何验证器不当行为事件,例如夹攻击。虽然尚未最终确定,但潜在的响应包括:
Jito Labs 和 Jito 基金会正在共同起草一项 Jito 改进提案(JIP),该提案将把从 Block Engine 和即将推出的 BAM 系统中收取的所有协议费用中的 100% 重定向到 Jito DAO 金库。该提案预计将在未来几周内正式提交,代表了 Jito 经济模型的一个重大转变,并且需要获得 DAO 的批准。如果获得通过,它将加强 DAO 和 JTO 代币持有者在 Jito 生态系统中的核心角色。
目前,Jito 协议对 小费 收取 6% 的费用,Jito Labs 和 DAO 各自分摊一半。仅在 2025 年第二季度,DAO 就通过 小费 路由器从这些费用中赚取了 22,391.31 SOL(约 400 万美元)。DAO 的另一个主要收入来源是 jitoSOL 费用,在同一时期总计 13,223.73 SOL(约 238 万美元)。
可信执行环境(TEE)是一种硬件支持的架构,旨在确保计算和内存的机密性和完整性。TEE 也被称为 飞地,通常通过硬件级别的分离,将代码执行与宿主系统的操作系统、内核和 虚拟机监控器 隔离。这种隔离显著减小了攻击面,使得观察或篡改 飞地 操作变得极其困难(虽然不是不可能)。
自 2000 年代以来,TEE 已被用于数字版权管理、内容保护和安全支付系统等领域。如今,它们被广泛应用于消费设备和云服务中,以安全地处理敏感数据和代码。在智能手机和笔记本电脑上,Apple 的安全 飞地 和 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 将运行在 AMD 处理器上,这些处理器支持增强的 安全加密虚拟化与安全嵌套分页(SEV-SNP)。与较小的基于 飞地 的方法不同,SEV-SNP 可以保护整个 BAM 应用程序,且性能开销最小,使其非常适合高吞吐量、低延迟的交易系统。
由于硬件加速,SEV-SNP 仅引入 2-5% 的开销,速度足够快,可以进行实时处理。它可以支持复杂的、有状态的网络应用程序,而不仅仅是孤立的计算。该技术经过实战检验,已在包括 Google Cloud、Azure 和 AWS 在内的主要云提供商中进行部署,并得到多年安全研究和运营经验的支持。
BAM 中使用的 SEV-SNP 提供了多个关键的安全保证。每个 TEE 实例都在其自身的硬件隔离的虚拟机中运行,内存在运行时加密,以确保强大的 VM 级别隔离。BAM 利用硬件根信任的证明,允许每个 TEE 以加密方式证明其正在执行真实的、未修改的代码。此证明链锚定在 AMD 的硬件根密钥中,这些密钥在制造过程中物理嵌入 CPU 中。此外,TLS 密钥是使用处理器内部的硬件随机数生成器生成的,确保它们永远不会在未加密的内存中暴露。
当客户端连接到 BAM 时,他们会收到一个 TLS 证书,其中包含标准连接证书、AMD SEV-SNP 证明报告以及 TLS 私钥是在经过证明的 TEE 内部生成的加密证明。此证书链以加密方式绑定到 AMD 的硬件根信任。如果没有对 AMD 私有根密钥的访问权限,则无法伪造此证书链,从而无需信任 AMD 芯片制造过程之外的任何中介机构。
目前,Solana 上的应用程序只能通过 优先级费用 或带有相关 小费 的 捆绑交易 来影响交易排序。由于 Agave 和 Firedancer 等客户端之间存在多个 排序器,因此无法保证将应用哪种排序逻辑,从而导致应用程序对交易的排序方式的控制受到限制。
插件解决了这个问题。
通过 BAM 的插件框架,开发者可以实现定制的排序逻辑并引入新的调度原语。它们支持 应用程序控制执行(ACE),允许应用程序定义自定义交易调度策略。虽然 ACE 有许多潜在的应用,但最广泛认可和讨论的用例是对订单簿 取消订单 进行优先级排序——这种机制可以减少逆向选择并允许更严格的 点差。
目前,Solana 上的链上订单簿做市商处于不利地位。做市商通过在公平价格发生变化时不断更新或取消过时的报价来管理风险。当市场价格变动时,他们需要在知情的 吃单方 利用该机会之前取消现有的订单。
如果没有对交易排序的细粒度控制,他们的报价很容易受到利用其过时定价的 有毒流 的影响。即使做市商迅速采取行动,他们也可能会蒙受损失,因为 Jito 拍卖优先考虑出价而不是意图。从本质上讲,无论哪一方支付更多费用,都会首先进行排序。
这种动态迫使做市商扩大他们的 点差 以管理风险,从而降低了整体流动性,并导致用户的定价更差。这些 有毒交易(即 吃单方 从过时的定价中获利并且 对手方 在交易完成后几乎立即后悔交易的交易)对用户体验几乎没有增加,但大大增加了做市商和 流动性提供者 的摩擦。
BAM 插件允许在应用程序级别强制执行 "cancel-before-take" 策略。通过让程序对交易排序进行细粒度控制,应用程序可以选择在 吃单交易 之前处理 做市商的取消订单。这种简单的策略更改具有深远的影响:
应用程序专用插件的另一个示例是 Pyth 计划实现的及时预言机更新。作为 Solana 领先的预言机提供商,Pyth 维护着超过 1,700 个单独的价格 信息流。每个区块更新所有这些 信息流 在区块空间方面将是极其昂贵且低效的。
有了 BAM,Pyth 可以在用户交易之前直接插入预言机更新,从而精确地更新特定价格 信息流。这降低了与过时预言机数据相关的风险,例如低效的 清算 和预言机操纵,使 DeFi 应用程序能够更可靠和更具竞争力地运行。
最终,BAM 旨在成为一个无需许可的平台,应用程序开发者可以在该平台上构建、测试和部署插件以控制其交易排序。预计会有更多的插件陆续推出,BAM 节点最终将支持数百个可自定义的扩展。虽然大多数应用程序将继续使用默认调度器运行,但那些需要自定义排序逻辑的应用程序将负责开发和维护自己的插件。
此外,应用程序将能够通过收费来将插件功能货币化,其中一部分收入可能会与 治理代币 持有者或验证器分享。
插件不限于单个应用程序。Jito 已经提出了几个可以为 BAM 开发的通用、跨应用程序插件的示例:
区块空间期货: 使用户和应用程序能够预留或交易在未来某个时间使用区块空间的权利,即使在网络需求高峰期也能提供可预测的访问和定价。
限时委托(TIF): 指的是订单在自动取消之前保持活动状态的持续时间(如果未完全执行),例如,使订单簿交易仅在 20 毫秒内有效。如今,通过故意使用较旧的 区块哈希 以确保交易仅对最近的区块有效,可以使用更粗略版本实现此目的。
预确认: 在执行交易并将其传播到网络之前,用户可以收到交易转发给验证器的通知。尽早地确认具有一定信心的交易。
无手续费的交易: 允许用户使用 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 验证器和开发者社区的杰出 利益相关者(包括 Solana 基金会)组成的生态合作咨询委员会将为 Jito Labs 提供建议。该委员会将帮助指导 BAM 的扩展、促进去中心化和培养社区主导的创新。
截至目前,BAM 代码库仍然是闭源的,并计划在不久的将来将其开源,以支持第三方插件的开发。开源后,BAM 将欢迎社区在以下几个关键领域做出贡献:
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 和“新”客户端的开发都有其自身的影响。
BAM 从根本上改变了 Solana 的 MEV 格局,从不受控制的提取转变为更结构化的价值重分配模型。在传统设置中,MEV 通常通过抢先交易或垃圾邮件泄漏用户价值,验证器或机器人通过有害策略(例如 夹攻击)获取价值。但是,BAM 的 TEE 加密内存池会在执行之前隐藏交易,从而限制了负面 MEV 的可见性。相反,价值通过插件和自定义排序在内部实现。反过来,这允许应用程序、开发者和搜索者获取积极形式的 MEV,从而提高生态系统的效率(例如,更严格的 DeFi 点差、减少预言机垃圾邮件)。
这种重新分配将 MEV 利润返还给其 利益相关者,因为插件费用在 BAM 节点运营商、验证器、质押者 和 Jito 的 DAO 之间共享。这有可能创造可持续的收入来源。例如,DEX 可以拥有一个优化订单匹配的插件,并将验证器提取的潜在 MEV 转换为应用程序生成的费用,这些费用可以重新分配给代币持有者。这种“受保护的”交易者活动方法可以将 MEV 从零和游戏转变为加深流动性并吸引机构资本的游戏。
但是,重新分配存在风险。需要注意的重要一点是,BAM 并未消除 MEV,而是重新定位了它。这种重新定位有可能使早期插件作者、BAM 节点运营商和与 Jito 相关的实体获得过高的收益。尽管受到加密证明的约束,但如果出现 TEE 漏洞(例如,旁道攻击),搜索者的特权访问权限可能会启用新的细微提取向量,最终破坏隐私保证。这也为“受保护的”尾随交易 打开了大门,由此搜索者可以部署代码以在用户之后附加交易(例如,从价格变动的 互换 中获取 套利)而无需暴露策略或启用 抢先交易。此外,在没有程序化削减的情况下,适应性攻击者可能会围绕证明采取有害策略,这些证明是在执行后进行的,目前依赖于社区执行。
最终,虽然 MEV 重新分配将 BAM 定位为 Solana 北极星(即去中心化的 NASDAQ)的催化剂,但其成功取决于公平费用模型和稳健的 TEE 安全性的采用。如果处理不当,可能会导致网络分裂、削弱用户信任,并引发对“受保护的”但不透明的搜索者活动的审查。
大多数区块链的设计方式都是相同的实体既提议又构建区块,这使他们对指定 Slot 内的交易排序和包含拥有垄断控制权。这对这些实体是有利的,因为它们可以自由地审查或以其他方式操纵交易流。例如,他们可以使用复杂但有害的策略来提议和构建区块,以按特定顺序包含交易,从而最大限度地提高 MEV。
提议者-构建者分离(PBS)是一种设计模式,通过将区块构建与区块提议分离来解决此问题。在此设计下,区块构建者创建排序的交易列表并提交这些区块的出价。然后,区块提议者(通常是验证器)接受并提交出价最高的区块,并通过拍卖或 小费 重新分配任何 MEV,而无需自己运行复杂的排序策略。
自 2022 年合并以来,PBS 已通过以太坊上的 MEV-Boost 在协议外实现。MEV-Boost 是一个“附加组件”,与验证器的双重执行层和共识层客户端软件一起运行。运行 MEV-Boost 的验证器可以连接到多个中继并接受来自区块构建者的预构建区块。它们在链上包含之前看不到区块的内容,因为它们仅从中继接收区块奖励金额和区块头。请注意,此设计仍处于积极的研究阶段,因为 PBS 等待 完整的协议代码实现(ePBS),这可能包括包含列表等功能,以进一步减轻审查。
借助 BAM,Solana 正在朝着类似于 PBS 的未来发展,这将区块构建(即在 TEE 保护的 BAM 节点中进行排序)与执行(仍由验证器负责)分离开来。这有可能通过插件为应用程序和搜索者实现积极形式的 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) | BuilderNet | Solana BAM(类 PBS) | Solana 的主要风险 |
角色分配 | 构建者组装/优化;提议者通过中继提交 | 构建者在 TEE 中组装;提议者提交(中继是可选的) | BAM 节点在 TEE 中排序;验证器执行 | 硬件障碍可能会排除小型运营商 |
MEV 处理 | 拍卖/小费 重新分配 MEV | TEE 拍卖/小费 重新分配 MEV | 插件与 DAO/质押者 共享费用 | 经济效益可能会集中财富 |
中心化 | 前 3 名构建者约占 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 节点网络的引入建立了一个新的基础设施层。这种演进将 Jito 从仅仅是“增强型 Agave”转变为一个更独特的客户端,拥有自己的可编程生态系统用于嵌入应用程序特定的逻辑。
这种差异在 Agave 即将推出的调度器绑定 中显而易见,Anza 于 5 月宣布了这一消息。随着 Solana 上 MEV 的成熟,自定义调度器实现变得越来越普遍。虽然定制调度器可以增加其运营商的收入,但其目前的实现方式存在一些缺点,包括需要运行不同的验证器版本二进制文件,依赖于闭源代码以及潜在的活性问题。
Anza 即将推出的调度器绑定通过允许验证器连接到外部区块构建服务而无需更改核心验证器二进制文件,从而引入了模块化,从而支持自定义调度器。此设计可提高透明度、安全性和更轻松的 DevOps。但是,BAM 使 Jito 用户无需使用这些绑定,因为排序由 BAM 节点调度器在上游处理。这将绕过 Agave 计划的调度器绑定,从而可能简化操作,但引发了关于由于它们与 Anza 的标准化工作的差异(例如,复杂化 Firedancer 集成)而导致未来生态系统碎片化的问题。
但是,Jito 将 BAM 定位为统一验证器客户端的一部分。BAM 验证## 未解之谜
BAM 的设计从根本上改变了 Solana 的验证者格局,它将交易排序卸载到一个独立的、由 TEE 保护的 BAM 节点网络。这使得验证者主要负责执行、共识和状态管理。这种分离对应用程序是有益的,因为它为代币持有者实现了自定义排序和收入共享的可能性。它还通过减少负面 MEV 并提供更有利的价格来使使用者受益。然而,它也引发了关于验证者权力和经济激励减少的问题。
目前,当验证者作为领导者生成区块时,他们对交易顺序拥有完全的自由裁量权,允许他们运行自定义调度程序来优化他们的区块。BAM 将此责任从验证者处移除。现在,验证者收到预先排序好的交易,并按照严格的先进先出顺序执行,从而剥夺了他们在区块构建方面的自主权。在这种频谱的极端情况下,如果所有交易都通过 BAM,验证者就会变成单纯的“橡皮图章”,这让人质疑是否还需要去中心化的验证者。
然而,存在一些抵消因素。即,插件费用提供了与验证者和质押者分享的新的收入来源。BAM 的统一客户端和自动回退将自身利益与网络健康相结合,从而提高了整体弹性。选择加入的分阶段推出也保留了选择权,而且长期的开源允许验证者在 BAM 开发中拥有发言权,从而促进社区驱动的增强并保留权力的某些方面。验证者还将有可能向 BAM 提议改进调度程序,从而可能打开从更高交易量中获取费用的机会。此外,将验证者视为单纯的橡皮图章的想法可能是一种夸大,因为验证者在共识和分叉选择中仍然发挥着关键作用。真正的问题是验证者真正会失去多少权力?BAM 实际上能否增强验证者对活跃性和状态完整性的关注?
仍然存在一些问题:
BAM 的架构引入了关于验证者的新的信任假设。也就是说,验证者在与 BAM 节点交互时不会采取恶意行为,例如篡改预先排序好的交易或泄露数据。在启动时,由于 TEE 的限制,BAM 将依赖于许可的运营商集合。这个许可的集合将被委托运行更新的 Jito-Solana 客户端并忠实地执行转发的交易。这些验证者必须信任 BAM 节点不会操纵入口,从而创建双层信任(即,TEE 之前的 BAM 节点,TEE 之后的验证器),这在许可设置中会增加风险。关键的问题是:是什么阻止 BAM 节点运营商在交易到达 TEE 之前窥视交易?答案是经过验证的节点的 QUIC 加密——他们会将认证嵌入到 QUIC 证书中。观察 BAM 节点是否诚实的另一种方法是将其哈希值与 BAM 的开源存储库进行比较,以查看给定的 BAM 节点是否正在运行它所说的软件。假设没有人破坏 TEE,TPU 的 QUIC 证书将在 TEE 内部生成。因此,所有进出流量都将被加密。
然而,在网络入口和出口点审查和选择性操纵交易数据包是值得关注的问题。恶意运营商保持着显着的审查能力,尽管他们无法查看加密的交易细节。运营商可以通过 TLS 签名识别协议类型,根据连接端点进行过滤,执行时间分析以识别某些模式,并阻止与某些特征匹配的所有加密数据。因此,恶意运营商可能不知道正在传输的确切交易,但他们仍然可以根据元数据和某些流量模式丢弃数据包。为了缓解这种情况,可以通过结合 DoubleZero 的数据包过滤和时间戳功能来实现更高的透明度。最终,缓解网络审查攻击是许可推出的一个合理的理由。
此外,还有围绕物理访问的新信任假设,因为物理访问几乎总是一种安全漏洞,TEE 也不例外。虽然 TEE 提供了强大的安全保证,但如果攻击者获得对服务器的物理访问权限,它们仍然可能被攻破。与符合 SOC 2 标准的提供商建立独家合作伙伴关系将有助于缓解这种情况,确保数据中心级别强大的分层安全。然而,目前尚不清楚将与哪些符合标准的提供商合作。有趣的是,对于普通用户来说,找到关于符合 SOC 2 标准的验证者的信息可能有些困难。例如,大约一半的 Solana 验证者使用 TeraSwitch、Latitude 和 Cherry Servers。TeraSwitch 符合 SOC 2 标准,但其网站上所有公开可访问的信息均未提及这一点。Latitude 符合 ISO 27001:2013 标准,但不符合 SOC 2 标准,尽管出于合规原因,前者通常被认为与后者同义。Cherry Servers 完全没有提及有关合规性的任何信息。从表面上看,这种不透明性和对构成可信的 SOC 2 合规数据中心合作伙伴的最初困惑引发了对验证者多样性的担忧,尤其是在传统上高硬件要求已经限制了验证者多样性的网络中。
仍然存在一些问题:
对于 BAM 来说,最重要的未解之谜之一是插件在实践中将如何相互交互。单个交易可能同时依赖于多个插件,例如,使用预言机插件进行即时价格更新,使用 DEX 插件确定最佳交换路线,以及使用代币插件来处理特定的 SPL 代币行为。确保这些组件以可预测和安全的方式协同工作至关重要。
插件可能需要获取外部数据才能有效运行。然而,这会创建一个潜在的攻击面,因为恶意插件可能会滥用外部调用来泄露敏感的交易信息。围绕插件可以访问和共享的内容定义严格的界限对于维持对系统的信任至关重要。
另一层复杂性来自应用程序级别的插件逻辑与 Solana 的费用机制之间的相互作用。当多个插件竞争以影响区块构建时,插件执行顺序、Jito 小费和优先级费用如何交互?必须明确定义这些经济动态并以透明的方式执行,以避免意外的操纵或滥用。
为了管理这些风险,BAM 插件的推出预计将从许可的环境开始。这允许在逐渐转向无需许可的模型之前对插件行为进行早期阶段的实验和审计。
对 TEE 的依赖引入了新的信任假设,因为它使用了特殊的硬件飞地而不是创建无信任系统来保证可验证的计算。依赖像 Intel 或 AMD 这样的单一硬件供应商会引入单一文化风险——固件召回或漏洞利用可能会停止 BAM,并可能导致全网范围内的停机,具体取决于网络采用率。如果这些漏洞无法通过固件、微代码或 BIOS 更新来修复,更换硬件需要时间,并给 BAM 节点运营商带来经常性的资本支出,从而进一步加剧潜在停机的影响。
这些担忧基于历史漏洞,这些漏洞表明 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) 也有几个已披露的漏洞。值得注意的是,在二月份,披露了 CVE-2024-56161——一个允许使用管理员权限进行恶意微代码注入的漏洞。
用于缓解漏洞的更新并不总是向后兼容,可能需要物理升级。例如,CVE02020-12967 和 CVE-2021-26311 的披露意味着有可能在 AMD Secure Encrypted Virtualization-Encrypted State (SEV-ES) 机器(该公司上一代 TEE 实现)上的来宾虚拟机中任意执行代码。AMD 没有发布更新的固件来解决这些漏洞,并在 SEV-SNP 功能中提供了缓解措施,该功能仅在第 3 代 AMD EPYC(即“米兰”)处理器上支持。
BAM 的 TEE 基础设施建立在最新一代 SEV-SNP 架构之上,其中包括防止这些已知漏洞所需的硬件级保护。还值得注意的是,如果发现零日漏洞,网络可以保持运行,因为 Jito-Validators 在与 BAM 节点断开连接时可以自动回退到他们自己的 TPU。这种故障转移机制可确保验证者在应用安全补丁时继续运行。
仍然存在一些问题:
验证者最终可以自由运行他们选择的软件。作为在高度竞争的市场中运营的以利润为导向的企业,他们的决策受到他们自己及其委托人的潜在回报的影响,委托人可以自由地将股份转移到收益最高的地方。Jito 客户端的广泛采用反映了这种动态,它的成功很大程度上是由于它能够为运营商和委托人带来额外收入。BAM 的采用将取决于类似的动态。如果运行 BAM 被证明比现状始终更有利可图,验证者就会采用它。如果不是,即使 BAM 成功地为其他利益相关者提供了实质性的利益,他们也可能不愿意切换。
由于 BAM 只是最近宣布,关于其设计和运营的许多问题仍未得到解答。我们期待在未来几个月内获得更多关于这一激动人心的发展细节、文档和社区讨论。
- 原文链接: helius.dev/blog/block-as...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!