跳至内容
0%

公共、私有与专用 RPC 端点详解

发布于 2026年7月23日3 分钟阅读

公共、私有和专用 RPC 端点标题卡

每个钱包和链上应用都是通过 RPC endpoint 与区块链通信的:这是一个接受诸如“这个地址的余额是多少”和“广播这笔交易”之类请求的 URL,并将请求转发给运行该链软件的节点。大多数钱包内置了一个所有用户共用的默认 endpoint。这个默认 endpoint 背后的节点通常由专业提供商运营,但在其中,你只是数百万匿名用户中的一个:你和所有人共享这个钱包的配额,看不到也无法调试自己的请求,用量增长时也无法提高限额。私有 RPC endpoint 解决了这个问题:它为你提供一个属于自己的连接,配有你自己的计量配额,来自你选择的提供商。

在动手搭建之前,有必要先了解“private RPC”在这里可能指的几种不同含义:

  • 私有 RPC endpoint。 一个嵌入了你的 API key 的 URL,由节点提供商的托管基础设施提供服务,比如 Alchemy 的 RPC API。“私有”意味着只有你能使用这个特定的 API URL,因此你的请求不会排在一群人之后。这是大多数钱包和应用提到这个词时的含义。
  • 私有交易。 一种交易路由方式,使交易在被打包进区块之前不进入公共 mempool(等候中的交易在此明文可见的“候车室”)。这可以保护交易不受 MEV 机器人的侵害。私有交易是部分 RPC 提供商为其 endpoint 附加的一项功能,但并非每个私有 RPC endpoint 都必然具备这项功能。
  • 私有、单租户基础设施。 为单一客户保留的区块链节点,用于那些对隔离性、延迟或定制化有共享机器无法满足的要求的工作负载,比如 Alchemy 的 Dedicated Clusters

这三种定义并不是相互竞争的选项,而是层层递进的关系:私有 endpoint 是入口,私有交易路由是提供商可以附加在其上的功能,而单租户基础设施则是当“共享”本身成为问题时你需要升级到的方案。本指南将逐一说明这几种隐私选项,并对它们进行比较。

什么是私有 RPC endpoint?

私有 RPC endpoint 是一个带有唯一 URL、只有所有者才能使用的 RPC endpoint,它为你提供了一条通往节点提供商集群的、经过身份验证的专属通道,而不是公共网关中开放的排队通道。

可以把它想象成一栋公寓楼。私有 endpoint 给你自己的钥匙和自己的大门,但楼里的水管和电力是与其他所有租户共享的。正是这种共享,使得私有 endpoint 的创建免费且即时可用:你的 URL 是你独有的,而其背后的节点集群则是为众多客户大规模运营的。我们在 Alchemy 的节点集群,正是支撑 Robinhood、Coinbase、Polymarket 等团队每年超过 1 万亿美元交易量的同一套基础设施,而你可以免费访问这套相同的节点集群基础设施。

当你创建一个 Alchemy 账户时,endpoint 的 URL 中会嵌入一个 API key,正是它使你的连接成为私有连接。节点本身仍然是共享的,但你的请求配额不是:我们按 key 计量用量,因此你拥有一份预留的吞吐量份额,不会被其他人的流量占用。公共 endpoint 的运作方式则相反:一个容量池要在所有匿名调用者之间分配,通常按 IP 地址划分,所以随着使用者增多,你实际可用的额度会不断缩水。

与共用钱包的默认 endpoint 或调用公共 endpoint 相比,私有 endpoint 能为你带来四个方面的好处:

  • 速度。 你的请求会命中一个为低延迟调优的集群,而不必在公共 endpoint 中排在成千上万陌生人之后。你可以在 实时延迟基准测试 中比较各家提供商,再做选择。
  • 数据准确性。 落后于链头的节点会返回过期的余额并导致交易失败。托管集群会保持节点同步最新,让你的钱包和应用看到的是链的当前状态。
  • 可靠性。 在空投、铸造和剧烈交易的时间窗口中,公共 endpoint 往往最先出现性能下降,因为其共享池正是所有人同时涌入的地方。有了 API key,你的计量吞吐量不会受这种拥挤影响,而保持你的 endpoint 背后的集群性能良好、服务好你的全部流量,是提供商的职责。
  • 可见性。 公共 endpoint 通常是匿名的。用自己的 endpoint,你可以看到每一个请求、调试失败情况并设置告警,这在某笔交易悄无声息地失败时尤为重要。

对开发者而言,在代码中使用这个 endpoint 只需改一行:它是一个标准的 JSON-RPC URL,你可以将它作为 provider URL 传给 ethers、viem 或 web3.py,而同一 URL 的 wss:// 版本则用于订阅(subscriptions)。由于 key 就在 URL 中,如果这个 URL 会出现在前端代码里,请务必保护好它:控制台允许你将 key 限制为特定的域名和 IP 地址。

公共、私有和专属 endpoint 相比如何?

RPC 访问分为三个层级,右侧每一列都为你提供更高程度的隔离。

Public endpoint
Private endpoint
Dedicated cluster
Access
Open to everyone
Keyed URL, only you
Keyed URL, only you
Infrastructure
Shared, no commitments to you
Shared, provider-managed fleet
Single-tenant nodes
Rate limits
Low, shared across all callers
Metered per key, scales with your plan
Your provisioned capacity
Reliability
No guarantees
Provider-accountable (99.99% measured at Alchemy)
Redundant nodes plus failover
Customization
None
None
Custom tracers, binaries, regions
Cost
Free
Free tier, then usage-based
Fixed monthly, capacity-based
Best for
Quick tests
Most users, apps, and production workloads
Hard isolation, latency, or customization requirements

前两列之间的真正区别在于责任归属,而非能力高低。公共 RPC endpoint 由链基金会、志愿者以及提供免费样品的服务商运营,其中许多运营得都不错。但它们对你没有任何义务:不承诺容量,不承诺正常运行时间,不保证数据是最新的,出问题时也找不到人负责。用来做个快速测试还行。

对绝大多数人来说,托管提供商的私有 endpoint 是正确的默认选择:想要更快钱包交易的普通用户、构建应用的开发者,以及承载真实流量的生产团队。提供商有责任保持集群的快速、最新和可用,并公布其实测性能,供你据此追责。

除此之外,Dedicated Clusters 是为一小部分工作负载而存在的,这些负载的需求是共享基础设施在设计上就无法满足的。请注意上表中“Customization(定制化)”这一行所暗示的含义:私有 endpoint 向每位客户提供相同的标准 API,因为所有人共用同一批节点。只有单租户基础设施才能运行专属于你的代码或配置。

私有 endpoint 能保护交易免受 MEV 侵害吗?

默认情况下不能,这正是“private RPC”的第二层含义容易造成混淆的地方。私有 endpoint 中的“私有”指的是谁能使用这个 URL endpoint。而通过它发送的交易,在大多数网络和大多数提供商那里,仍然会进入公共 mempool——MEV 机器人可以在这些交易被打包之前看到它们,并对其进行抢跑(front-run)或三明治攻击(sandwich)。

要在交易被打包进区块之前将其排除在公共 mempool 之外,需要私有交易路由,而这是每个提供商各自决定是否提供的功能,并非 RPC 技术栈的标准组成部分。有些提供商完全不提供这项功能;另一些则将其作为附加服务或独立 endpoint 出售。

在 Alchemy,我们为将写入流量全部通过我们发送的客户,在 Ethereum、Solana、Base、Arbitrum 和 BNB Smart Chain 上免费提供 MEV 保护。通过我们标准 endpoint 发送的交易会 自动路由至私有提交通道。这些交易不会被广播到公共网络上供任何人查看,而是直接发送给负责组装区块的相关方,例如 Ethereum 上受信任的 block builder。

具体的通道因链而异,但效果是一致的:你的交易在被打包进区块之前始终不可见,从而免受抢跑和三明治攻击的影响。这不需要任何配置,不产生额外费用,也不会使你的执行价格变差。需要明确说明的是路由所站的立场:我们绝不会抢跑客户的交易,也不会从其订单流中攫取价值。我们流程中唯一存在的 MEV,是对你有利的那一种,比如更优的执行价格。

“必须独占”这一要求,正是保护机制得以生效的关键,而不是一条免责声明。只有当一笔交易的所有副本都不进入公共 mempool 时,它才受到保护。如果你出于冗余考虑,把同一笔交易通过多个提供商同时广播(multiplex),那么发往其他地方的副本会进入公共 mempool,MEV 机器人可以看到它们,这笔交易也就失去了保护。

如果你正在评估各家提供商,且 MEV 保护对你的用户很重要,请明确询问这项功能是否存在。一个 endpoint 是“私有”的,并不能说明它是如何路由交易的。

如何创建一个私有 RPC endpoint?

用任意 RPC 提供商创建私有 RPC endpoint 都很简单。只需 创建账户或登录,许多提供商会在你创建账户时提供一个带有一定用量限制的免费 API key,无需信用卡(提示:说的就是我们)。

接下来,选择你想使用该 endpoint 的链和网络。在 Alchemy,你只需一个 API key 就能访问我们支持的 100 多个网络,每个网络都有自己的 URL(如 eth-mainnet、base-mainnet 等),并附带你的 key。请记住:你的 URL 中包含 API key,要像对待密码一样对待它。

对于正在测试应用的开发者,接下来需要把钱包连接到你新建的 endpoint:打开你选用的钱包,进入网络选择器,输入你想连接的链的相关信息,以及你的私有 RPC URL。完成之后,与该钱包相关的所有交易都会通过你的私有 endpoint 路由!

什么时候私有 endpoint 还不够用?

私有 endpoint 为你保留了专属的吞吐量份额,但为其提供服务的机器仍与其他客户共享。对绝大多数工作负载而言,这正是恰当的取舍:即时开通、弹性扩展,按用量计费,无需容量规划。

不过,有一小部分工作负载存在共享集群在设计上无法满足的需求:

  • 节点上的自定义代码。 安全和取证团队会运行定制化的 tracer 和经过修改的节点客户端。共享集群无法为单一客户托管其自定义代码,因为所有客户共用同一个节点运行环境。
  • 监管隔离。 受监管的金融机构需要证明没有其他客户的流量、代码或数据接触过自己的运行环境。在多租户硬件上,这种证明在定义上就是不可能的。
  • 区域延迟。 以速度竞争的交易公司需要把节点部署在特定区域:紧邻自己的服务器以缩短读取的往返时延,或靠近某个 rollup 的 sequencer(负责接收和排序该 rollup 交易的服务)以使提交的交易更快到达。共享集群是为整体性能而部署的,而不是为某一客户的地理位置服务。
  • 无限制的历史查询。 预言机、索引器和分析平台需要不受限制的 getLogs 查询范围以及大量的归档访问,而共享集群出于保护其他租户的考虑会对这类请求进行限流。

对于这些工作负载,下一步升级的选择是像 Alchemy 的 Dedicated Clusters 这样的产品:由我们负责配置、运营和维护的单租户节点集群,可按你的需求进行配置。每个集群在每条链上都运行冗余节点,具备经我们 SOC 2 Type II 审计覆盖的单租户隔离性,可部署在你选择的区域,并按已配置容量收取固定月费。对于超出集群已配置容量的流量峰值,可以自动故障转移到我们的共享集群,而不是直接返回错误;对隔离性要求排除这一选项的团队,则可以按峰值负载来配置集群规格。像 Blockaid 这样的团队正是使用 Dedicated Clusters 来运行自定义 tracer,保护着超过 3120 亿美元的资产安全。

如果你正在权衡这个决定,我们关于 如何在共享与专属基础设施之间做选择 的指南对此有详细说明,此外还有更深入的文章分别介绍 专属基础设施的工作原理如何评估专属基础设施提供商。目前自行运维节点的团队可以了解 迁移到专属基础设施涉及哪些工作——这只是更换一个 endpoint,而不是推倒重建。

获得更快的链上连接

无论哪个层级适合你,升级路径的起点都是一样的。花几分钟在免费层级创建一个私有 RPC endpoint,让你的钱包或应用指向它,就能获得对所有主流网络更快、更可靠的访问。如果你的工作负载在隔离性、延迟或定制化方面存在共享基础设施无法满足的要求,欢迎 与我们的团队聊聊 Dedicated Clusters

常见问题

什么是私有 RPC endpoint?

私有 RPC endpoint 是一个带有唯一 URL、只有所有者才能使用的 RPC endpoint,它为你提供一条通往节点提供商的、经过身份验证的专属连接,而不是共享的公共网关。这个 URL 中嵌入了 API key,用量按 key 计量,因此其他人的请求无法占用你的容量。

公共 RPC endpoint 和私有 RPC endpoint 有什么区别?

公共 RPC endpoint 向所有人开放,按尽力而为的方式运行:没有速率限制的保证,没有正常运行时间的承诺,性能下降时也没有人负责。私有 endpoint 是提供商托管集群上的一个带 key 的 URL,其速率限制会随你的套餐扩展,提供商会公布正常运行时间数据,控制台中还能看到你的流量情况。

私有 RPC endpoint 能让我的交易变得私密吗?

单靠它本身不能。名字中的“私有”指的是谁能使用这个 endpoint:每一笔交易依然会在链上公开结算,运营该 endpoint 的提供商也能看到你发送的请求,这和任何 RPC 提供商都一样。要在交易被打包之前将其排除在公共 mempool 之外,需要私有交易路由,这是各家提供商各自提供的功能。Alchemy 在 Ethereum、Solana、Base、Arbitrum 和 BNB Smart Chain 上都包含这项功能;许多提供商并不提供。

Alchemy 会保护我的交易免受 MEV 侵害吗?

会。Alchemy 在 Ethereum、Solana、Base、Arbitrum 和 BNB Smart Chain 上的标准 RPC endpoint 都包含免费的 MEV 保护。交易会通过私有方式路由,使 MEV 机器人在其被打包之前无法看到它们,从而在不改变你发送交易流程、也不会使执行价格变差的情况下,防止抢跑和三明治攻击。要获得保护,你需要把写入流量全部通过 Alchemy 发送:如果你把同一笔交易同时发给多个提供商,发往其他地方的副本会进入公共 mempool,被 MEV 机器人看到,这笔交易也就失去了保护。

私有 RPC endpoint 和专属节点有什么区别?

私有 RPC endpoint 是由共享的多租户基础设施提供服务的一个带 key 的 URL:URL 是专属的,但背后的节点不是。专属节点或集群则是为单一客户保留的单租户基础设施,用于那些需要在节点上运行自定义代码、需要监管隔离、需要特定区域,或需要无限制历史查询的工作负载。Alchemy 两者都提供,而大多数工作负载在由共享基础设施支撑的私有 endpoint 上运行效果最好。

创建私有 RPC endpoint 需要技术技能吗?

不需要。用 Alchemy 创建一个私有 RPC endpoint 只需几分钟:创建一个免费账户,创建一个 app,然后复制它生成的 RPC URL。把它添加到像 MetaMask 这样的钱包中,只是一个设置上的改动,而不是编程任务。

我可以把私有 RPC endpoint 连接到 MetaMask 吗?

可以。打开 MetaMask 的网络菜单,添加一个自定义网络,然后粘贴你的私有 RPC URL,以及该网络对应的 chain ID、货币符号和区块浏览器地址。保存之后,该网络上的所有活动都会通过你的 endpoint 进行路由。

Alchemy 为哪些区块链提供私有 RPC endpoint 支持?

Alchemy 为 Ethereum、Solana、Base、Polygon、Arbitrum、Optimism 以及跨越各主要 layer 1 和 layer 2 生态系统的 100 多个其他网络提供私有 RPC endpoint 支持。

我应该在什么时候从私有 endpoint 转向专属基础设施?

当你的工作负载存在共享基础设施无法满足的硬性需求时,就应转向专属基础设施:在节点上运行自定义 tracer 或二进制程序、为合规目的证明单租户隔离性、为降低延迟部署在特定区域,或运行不受限制的归档和日志查询。如果这些情况都不适用,那么以共享基础设施为支撑的私有 endpoint 是更好的默认选择。

Background gradient

构建区块链应用

Alchemy 将最强大的 Web3 开发者产品和工具与资源、社区及专业支持结合在一起。