新消息:Helius 收购 Light Protocol
Solana 节点——Solana RPC、验证者和 RPC 提供商入门指南
博客/基础知识

Solana 节点——Solana RPC、验证者和 RPC 提供商入门指南

联合创始人兼 CEOX 上的 Mert MumtazLinkedIn 上的 Mert Mumtaz
阅读需 7 分钟

简介

区块链由一组相互通信的节点组成,这些节点会就新信息达成共识。区块链与传统系统的不同之处在于,节点不需要相互信任。因此,系统中不存在单点故障,并且能够抵御任意故障。

这是所有区块链的核心理念,但每条链都有自己的实现方式。在这篇简短的文章中,我们将深入了解 Solana 如何实现这一理念。我们将介绍什么是节点、RPC 节点与验证者节点之间的区别,以及如何评估节点提供商。

什么是节点?

节点本质上就是一台计算机。Solana 节点是运行 Solana 区块链客户端的计算机。并非所有节点都相同,有些节点专门执行投票或数据流传输等特定功能。所有节点的核心共同点是,它们都会跟踪区块链的状态。也就是说,它们可以看到每一次状态转换(例如,账户 X 向账户 Y 发送了 5 SOL)。

验证者节点

验证者是一种 Solana 节点,它通过 i) 生成区块和 ii) 对其他区块的有效性进行投票来帮助保护网络安全。前面提到,所有 Solana 节点都会跟踪区块链的状态。因此,如果某个验证者生成了错误区块,其他验证者就会检测到并据此投票。

一个很自然的问题是:“它们为什么要这样做?是什么激励它们不说谎?”

无需深入探讨博弈论,验证者会出于多种原因诚实投票,其中最主要的是经济收益。验证者可以从交易费、最大可提取价值 (MEV) 和代币通胀中获得奖励。要详细了解验证者经济模型,请参阅这篇入门指南。

RPC 节点

区块链正常运行后,就会开始处理和存储新信息。对于 Solana 而言,它会以极快的速度处理和存储新信息。开发者需要访问区块链中存储的信息,以便在自己的系统中使用。然而,不同应用有不同的要求。用例可以简单到转移一个代币,也可以复杂到以极低延迟执行原子套利交易,与其他高频交易者竞争。

你可能已经注意到了一个问题:我们现在需要一个节点,既能处理差异极大的信息请求,又能对区块的有效性进行投票,甚至生成新区块。虽然这样的节点可以实现,但其系统要求会高到让节点运行变得难以普及。

Solana 通过引入一种新的节点类型来解决这个问题。它仍会跟踪区块链上的所有信息,但不会对信息进行投票或生成区块。换句话说,这种节点类型——RPC 节点——只响应数据请求,不参与共识。要查看 Solana 节点可用 API 请求的完整列表,请参阅此处的官方规范。

Solana 节点要求

与普遍认知不同,运行 Solana 节点不需要任何 SOL(Solana 区块链的原生货币)。只有当你想参与共识时才需要 SOL,因为发送投票需要支付少量交易费。

具体的系统要求取决于节点的用途(对于自定义场景,可以进行大量调整),但以下是一些大致的入门配置建议:

  • 至少配备主频 2.8GHz 的 12 核 CPU
  • 128/256GB RAM(RPC 节点可能需要更多内存来支持自定义数据库索引)
  • 2-4 块容量至少为 1TB 的 NVME 硬盘
  • 10 Gbps 网络

需要注意的是,目前有多个验证者软件重写项目,旨在让配置较低的硬件实现更高性能,其中最知名的是 Firedancer。

Solana RPC 提供商

网络的安全性和可访问性由节点本身决定。因此,运行 Solana 节点是一项严肃的工作,也意味着重大责任。如果你的节点基础设施不可靠,你将遭受经济损失。对于 RPC 节点,你的应用、系统和用户也会受到影响。后果可能非常严重,从返回错误数据(可能影响税务和财务数据)到应用完全无法使用。

因此,多家公司应运而生,专门致力于全面改进这一流程。RPC 提供商在设计这些系统时会充分考虑可靠性、性能和可扩展性,让开发者只需专注于打造出色的产品。

如何选择 RPC 提供商

应从多个维度评估 RPC 提供商:

领域专业知识

你的 RPC 提供商对其提供基础设施支持的链了解多少?他们是否深入理解系统架构、及时跟进所有更新并参与治理进程?还是因为支持多条要求各异的链而分身乏术?RPC 提供商必须始终是你可信赖的信息来源,确保链拥堵、宕机和安全事件等非线性事件得到妥善处理。

可靠性

大多数 RPC 在流量较低时都能正常工作,但在高流量下是否依然稳定?发生故障的频率有多高?这些故障会如何通知你?只有在生产环境中经受压力测试后,你才会了解其后果。通常来说,选择拥有可靠过往记录的团队更明智。

可扩展性

RPC 能否处理突发流量?如果你的业务越来越成功,每月使用量持续增长,会发生什么?延迟会不会变高?你的 RPC 提供商是否会帮助你优化调用,以构建可扩展的系统?他们是否会主动采取行动?

正确性

你如何确保 RPC 返回的数据是正确的?节点基础设施是否始终与链保持同步,还是会返回过时的数据?对于多链节点提供商来说,这是一个非常常见的问题,因为他们往往会尝试在性能特征不同的多条链上复用同一套架构。

延迟

你的 RPC 提供商支持哪些地理区域?例如,亚洲用户的延迟是否会高于美国用户?

支持

区块链仍处于非常早期的阶段,每天都会发现新问题。RPC 提供商能否快速响应、提供领域专业知识和咨询服务至关重要,这样你才能调试自己的系统。

价格

定价是否透明?所有 RPC 方法的费用是否相同?如果超出每月使用量会发生什么?价格能否随使用量合理扩展,还是你必须重新协商合同或更换提供商?

考虑额外的 API 和功能也很重要。

你是否需要集成许多其他服务提供商才能构建应用,还是你的 RPC 提供商也提供许多其他 API,帮助你在所选链上进行开发?如果你需要数据流、专用基础设施或其他特定领域的 API,该怎么办?

顶级 Solana RPC 提供商

选择合适的 RPC 提供商,是你作为加密领域开发者最重要的决定。这项决定会从产品、财务以及最终能否成功等方面直接影响你的业务。

根据上述标准,以下是顶级 Solana RPC 提供商列表:

Helius

我们专注于 Solana 基础设施。因此,每个系统的构建都以 Solana 开发者及其需求为核心。Solana 开发节奏很快,需要全面的支持、领域专业知识和可靠性。Helius 为 Solana 历史上规模最大的事件提供过支持,其中包括 Helium 的区块链迁移。

Triton

一家专注于 Solana 验证者和 RPC 的服务商,经常为生态系统贡献开源代码。

Alchemy

如果你的应用本质上是多链应用,并且希望尽量减少节点提供商的数量,Alchemy 提供强大的多链服务。

Blockdaemon

如果你想运行验证者而不是 RPC 节点,并且是企业级客户,Blockdaemon 可能很适合你。

后续步骤

现在,你已经全面了解了 Solana 节点的工作原理。如果你想开始在 Solana 上进行开发,又不想操心自行运行节点所涉及的运营、维护和成本,可以在这里免费试用 Helius RPC。如果遇到任何问题,我们全天候在 Discord 上为你提供支持——祝你开发顺利!

订阅 Helius

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