
赢下毫秒之争:分片、LaserStream 与 Solana 的速度优势
如果你有一台能让你永远提前 10 毫秒看到未来的时间机器,你会怎么做?你会进行哪些交易?监控哪些账户?你能多赚多少钱?
LaserStream 是 Helius 的下一代 gRPC 流服务。它无需维护专用节点,就能在全球所有区域持续超越其他数据流服务。
以尽可能快的速度传输数据,对于检测链上事件(例如兑换、清算和价格更新)以及提交响应这些事件的交易至关重要。对于 RFQ 做市平台、清算机器人和高频交易而言,几毫秒的差距就决定了你是抓住机会,还是与机会失之交臂。
LaserStream 在延迟敏感型操作中拥有一流性能,很大程度上是因为它构建于低延迟分片之上。也就是说,LaserStream 会在传播的区块数据一经可用时立即接收,让用户更早看到 Solana 状态更新。凭借全球分布式管线、自动重放、自动故障转移和客户端 SDK,LaserStream 无疑是传输 Solana 实时数据最简单、最快捷的方式。这些优势使 LaserStream 成为交易所、交易应用、MEV 机器人以及所有重视延迟敏感型操作的用户不可或缺的集成方案。
本文将探讨 Solana 区块的最小单元——分片,说明它们为何重要,以及 LaserStream 如何利用分片打造速度尽可能快的数据流解决方案。本文的每一节都可以独立阅读。不过,如果你刚开始了解 Solana 上的分片和数据流,按顺序阅读每一节会更有帮助。
什么是分片?
分片是实现 Solana 高性能数据传播的基础单元,可让你更早获取链上状态变化。
Solana 以实现最高速度和吞吐量为设计目标。为此,它不能将区块作为单个大型单元在网络中传输。区块会被拆分成称为分片的较小数据包,它们是 Solana 数据传播的原子单元。
这些分片代表尚未组装成区块的部分交易数据。每个分片大小约为 1.2 KB,经过优化后可适配标准网络数据包的最大传输单元(MTU),从而避免分段并实现极速传输。
分片分为两种:
数据分片
数据分片封装区块中的核心交易数据,并将其拆分成固定大小的数据块。其中包含序列化的条目批次,也就是由计数作为前缀的一组交易,以便高效处理。
编码分片
编码分片使用 Reed-Solomon 擦除编码提供冗余。这是一种生成奇偶校验数据的前向纠错技术,可用于重建丢失或损坏的分片。编码分片会与数据分片共同组成前向纠错(FEC)集,通常采用均衡比例(例如 32 个数据分片对应 32 个编码分片),最多可容忍 50% 的数据包丢失。领导者可根据网络状况调整这一比例,以维持高可靠性。
分片如何在 Solana 上传播?
这个过程始于领导者(即当前负责生成区块的验证者)将交易批量处理并序列化为条目。随后,这些条目会被拆分,也就是被切分成称为分片的较小片段。根据 Solana 的分片规范,领导者会使用旧版系统(即逐个签署分片)或基于 Merkle 的方案(即签署整个 FEC 集的 Merkle 根)为所有分片签名,从而确保真实性和数据完整性。
分片通过 Turbine 发送给其他验证者。Turbine 是 Solana 基于多层扇出的传播系统。在 Turbine 中,领导者将分片传输到根节点,再由根节点通过树状结构将其分发到后续各层验证者。每一层都会向下一层转发,每层扇出 200 个节点;具体取决于活跃验证者的数量,通常需要经过 2 到 3 跳。这种树状结构既能最大限度地减少带宽占用,又能在几毫秒内将交易分发到整个网络。
按质押权重进行的洗牌会优先向质押量更高的验证者传输分片。Turbine 首先根据验证者持有的质押量(即质押权重)对其排序。质押量更高的验证者会更早出现在列表中,并且在确定性洗牌后,通常会进入树中更靠近领导者的前几层。因此,更少的跳数意味着更低的延迟。所以,质押量更高的验证者会更早收到分片。
注意: 实施 Alpenglow 后,Turbine 最终将被 Rotor 取代。即使完成这些变更,验证者的质押量仍会影响其向哪些对等节点广播。
分片如何重新组装成区块?
验证者收到分片后,会先验证其签名以确认真实性,再使用 Reed-Solomon 擦除编码,利用 FEC 集中可用的编码分片重建任何丢失或损坏的数据分片。
随后,重建的数据分片会被解分片。也就是说,系统会利用分片索引按顺序连接其有效载荷,重新组成序列化的条目批次。
接着,这些批次会被反序列化为单笔交易和条目,并组装成完整区块。
分片为何重要?
分片之所以重要,是因为在一个时机至关重要的网络中,它们缩短了响应窗口。
分片对于释放 Solana 的高性能优势至关重要,尤其适用于高频交易、询价(RFQ)做市平台、清算引擎和预言机更新等延迟敏感型应用。
分片让你能最早看到正在发生的链上事件。相比之下,在大多数其他区块链上,应用必须等待完整区块生成并确认,这会带来数百毫秒到数秒的额外延迟。
原始分片的处理可能比较麻烦,因为接收方必须验证其真实性、重建任何丢失的数据分片、将其解分片并反序列化为交易和条目,最后再解析兑换或账户变化等可执行事件。
如果你希望获得分片的延迟优势,又不想自行构建这套管线,Preprocessed Transactions 会替你完成解分片,并通过 WebSocket 在 processed 确认级别之前最多提前 8ms 传输已签名交易。
不过,这种对待处理交易和账户更新的“提前洞察”能够带来无可比拟的优势,并直接提高竞争场景下的成功率。
例如,监控抵押率的清算机器人可以利用分片,比使用 WebSockets 等较慢方式的竞争对手更早发现并处理风险仓位,从而赢得清算机会。
同样,寻找市场低效机会的套利交易者,以及提供报价的低延迟 DEX 聚合器,也能从这种延迟优势中受益,因为几毫秒就可能决定能否盈利。
注册 Helius 账户,然后在控制面板中购买原始分片。
分片延迟层级
需要注意的是,不同来源的分片延迟并不一致。
高质押验证者
拥有大量质押的验证者会在 Turbine 的传播树中获得最高优先级。它们通常直接从领导者或较早的扇出层接收分片,并受益于质押权重服务质量(SWQoS)。
已质押验证者
质押量适中的验证者在传播队列中的优先级较低,而且分片需要经过更多跳,因此会面临中等程度的延迟。它们参与共识,可以确保可靠访问,但延迟可能会因网络位置和当前质押分布而略有变化。与高质押验证者相比,低质押验证者不太适合竞争极其激烈、对时效要求很高的操作。
未质押验证者
没有质押的验证者不具备已质押节点的服务质量优势,不适合为延迟关键型操作传输 Solana 实时数据。它们位于 Turbine 扇出结构的最后端,最后收到分片。
在树中的位置越靠前,你就有越多时间在网络其他部分赶上之前采取行动。
全球差异
需要特别注意的是,Turbine 与地理位置无关。由于物理距离和网络状况会在 Turbine 跳数之外引入更多延迟,全球传播可能会放大延迟差异。
例如,分片在不同区域间传输时(例如从位于美国的领导者传输到亚太地区的验证者),可能会因跨洲路由、数据包重传,甚至对等互联问题而出现延迟,即使是位于 Turbine 前几层的高质押验证者也不例外。
这种地理分散为优化带来了机会。单个高质押验证者在本地可能表现出色,但如果位置不够理想,其全球表现就可能落后。可以通过分布式分片网络汇集不同来源中最快的分片,从而降低差异并实现稳定的接收速度。在全球场景下,这样的系统可以持续超越顶级质押验证者。
对于构建延迟关键型系统的开发者来说,从优化过的来源可靠获取分片是保持竞争优势的关键。不过,这需要强大的基础设施来有效处理恢复、验证和全球分发。此外,目前大多数常用的 Solana 实时数据流工具都没有利用分片。
在 Solana 上传输数据
在 Solana 上,希望传输实时数据的开发者有多种选择,每种方案都需要在延迟、可靠性和复杂性之间做出权衡:
webhook
webhook 支持事件驱动型更新。当特定账户或程序发生变化时,它会将数据推送到你的应用。以编程方式集成非常简单,你甚至无需编写代码,直接在 Helius 控制面板中即可完成设置。开发者可以传输特定交易类型的易读解析数据、原始交易有效载荷,甚至可以将这些更新作为格式化消息直接发送到特定 Discord 频道。
虽然 webhook 非常可靠,并且被 Solana 上许多知名公司采用,但它会在交易确认之后才发送通知。这意味着 webhook 可能比分片级数据晚数百毫秒,因此对于高频交易或清算等延迟关键型操作而言速度太慢。
标准 WebSockets
Solana 的 JSON RPC API 支持 WebSocket 订阅,例如用于账户变化的 accountSubscribe、用于交易日志的 logSubscribe,以及用于程序事件的 programSubscribe。WebSockets 会在客户端和 RPC 提供商之间维持持久连接,并在交易和账户变化处理完成后立即传输更新。WebSockets 支持双向通信,适合实时监控特定账户或事件,同时减少轮询开销。
不过,与 webhook 一样,WebSockets 会在分片重新组装后才传输数据(即在 processed、confirmed 或 finalized 确认级别),具体延迟从 400ms 到 30s 不等,取决于所选确认级别。
WebSockets 也被视为一种较脆弱的连接类型,连接可能因各种问题中断,因此需要自定义重试逻辑。如果没有轮询作为补充,断开连接可能造成永久性数据丢失,从而削弱实时可靠性。
Enhanced WebSockets
与标准 WebSockets 相比,Enhanced WebSockets 是一项显著改进,提供多项性能优化和增强的筛选功能。更出色的事件解析和更少的噪声,让它更适合开发者用于生产环境。
Enhanced WebSockets 可以降低标准 WebSockets 的延迟,非常适合通用流应用。例如,与标准 WebSockets 和 webhook 相比,使用 Enhanced WebSockets 传输 Pump AMM 数据时的性能提升十分明显。
不过,Enhanced WebSockets 本质上仍是在分片重新组装后传输数据。对于分秒必争的应用来说,这依然限制了它的实用性。此外,尽管经过增强,它仍缺乏自动重放或故障转移功能,需要手动处理数据缺口。
Yellowstone gRPC
Yellowstone gRPC 是一种从验证者到客户端的低延迟流协议,可以提供分片级数据访问。由于它能针对相应确认级别更快地传输更新,因此速度远快于 WebSockets 和 webhook。
Yellowstone 提供双向数据流,可立即创建和取消订阅,并具备高级筛选功能,让你能够精确控制在特定交易、账户或程序更新后收到哪些数据。
Yellowstone 非常适合希望获得无速率限制、无积分限制,以及为自定义节点配置提供有保障的隔离硬件的用户。不过,它也存在几项重大取舍:
1. 基础设施负担
要充分发挥 Yellowstone gRPC 的潜力,你需要拥有自己的专用节点。这要求你能够获取硬件、正确配置并持续管理这些硬件,还需要具备相应领域的专业知识,以调试任何与硬件有关的问题。
2. 延迟差异
Yellowstone gRPC 能够传输分片级数据,并不意味着它一定会以最佳方式传输。延迟可能因提供商而异,也取决于你的专用节点是否与针对分片优化的来源(即高质押验证者)配对。与普通质押或低质押验证者配对,意味着它们无法持续进入 Turbine 的第一层,因此对于许多分片,你仍会处于下游。
3. 故障风险
依赖单个专用节点会形成单点故障,而 Yellowstone gRPC 不具备任何原生重放能力,这进一步放大了风险。
4. 资源需求
在通过 Yellowstone 传输数据时,如果使用密集型 RPC 调用让专用节点过载,可能会导致性能下降。
长期以来,对于许多团队而言,Yellowstone gRPC 一直是传输 Solana 实时数据的首选服务。它速度快,适合高级用户,但如果无法使用遍布全球的专用节点集群,就很难将其投入运营并实现稳定、全球化的低延迟覆盖。
LaserStream
LaserStream 将分片级接收速度与全球分布式服务的可靠性和覆盖范围结合起来,同时无需承担运行多个专用节点的成本和运维负担。
LaserStream 通过以下方式实现这一点:
- 多源接收:LaserStream 接收延迟最低的分片,在全球范围内持续超越竞争对手。
- 全球覆盖:LaserStream 在全球多个区域可用,开发者可以使用距离其基础设施最近的端点。每个区域都会运行多台服务器以提供冗余,并支持自动故障转移。
- 零缺口:LaserStream 的历史重放允许开发者重放过去最多 48 小时内的近期区块链数据。这有助于处理连接中断并确保数据连续性。
- 开发者友好体验:LaserStream 可以直接替代 Yellowstone gRPC,无需迁移、无需学习新语法,也没有额外麻烦。
简而言之,LaserStream 是对 Yellowstone gRPC 和 WebSockets 的可扩展、低延迟且容错的升级。它无需数百万的质押,也无需你自行运营高性能基础设施,就能在链上事件一经发生时持续提供数据。
LaserStream 是利用分片能力,在 Solana 上实现超低延迟数据流的最简单方式。
申请免费试用,针对你的使用场景评估 LaserStream。
客户端与性能
LaserStream 提供客户端,支持 Go、Rust 和 JavaScript/TypeScript。这些客户端会持续跟踪已传输到哪个 slot,并在连接中断时自动执行重放。无论因何原因断开连接,客户端都会自动重新连接,并从最后处理的 slot 恢复数据流。
LaserStream 的 JavaScript 客户端尤其值得关注,因为它使用原生 Rust 绑定。因此,该客户端的吞吐量可达 1.3 GB/s。与当前 Yellowstone gRPC JavaScript 客户端相比,性能提升了 40 倍,后者的最高吞吐量仅为 30 MB/s。
随着 Solana 持续扩展,Yellowstone gRPC JavaScript 客户端将难以跟上。LaserStream 的 JavaScript 客户端拥有充足的性能余量,确保你的应用能随着网络需求增长而安全扩展。
真实成果
低延迟 DEX 聚合器 DFlow 最近集成了 LaserStream,用于向其价格引擎提供数据。他们决定集成 LaserStream,是因为它能够轻松扩展至全球,无需担心专用节点,还能节省工程资源,专注于路由和业务代码。
据报道,自集成以来,DFlow 已节省超过八小时的周期性工程维护工作,实现了 100% 正常运行时间和不间断的数据流,并借助更快的交易确认提高了报价速度。
我们最关心的是用户安全。为了向交易者提供最佳价格和最小价差,我们依靠 LaserStream 为价格引擎提供最新、最快的链上数据

即刻获得更快的数据流。
毫秒不只是延迟,更是机会。借助 LaserStream,你不只是跟上网络,而是始终领先一步。
希望为交易、清算或预言机获取亚秒级数据?使用 LaserStream,获取当前最快的 Solana 数据。
或者,如果你是高级用户并且对原始分片传输感兴趣,也可以填写以下表单联系我们。
更多资源
相关文章
订阅 Helius
及时了解 Solana 开发的最新动态,并在我们发布新内容时收到更新


