公開、私有與專屬 RPC 端點解析
作者 Max Crawford

每個錢包和鏈上應用程式都是透過 RPC endpoint 與區塊鏈溝通:這是一個接受「這個地址的餘額是多少?」或「廣播這筆交易」之類請求的 URL,並將其轉發給運行該鏈軟體的節點。大多數錢包內建的是該錢包所有使用者共用的預設 endpoint。這個預設 endpoint 背後的節點通常由專業的供應商運行,但在裡面你只是數百萬匿名使用者之一:你和其他所有人共用這個錢包的配額,你看不到也無法除錯自己的請求,而且當你的用量增加時也無法提高限制。私有 RPC endpoint 解決了這個問題,它給你一個屬於自己的連線,有自己計量的配額,來自你自己選擇的供應商。
在設定之前,值得先了解「私有 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 存取分為三個層級,右邊每一欄都能買到更高的隔離性。
前兩欄真正的差異在於「問責」,而非能力好壞。公開 RPC endpoint 是由鏈基金會、志工,以及提供免費試用的供應商所運行的,其中許多都運作得不錯。但它們都不欠你任何東西:沒有容量保證、沒有正常運行時間承諾、不保證資料是最新的,而且出問題時也沒有人可以找。它們適合用來做快速測試。
對絕大多數人來說,使用管理式供應商的私有 endpoint 是正確的預設選擇:不論是想要更快錢包交易的個人使用者、開發應用程式的開發者,還是要服務真實流量的正式團隊。供應商有責任讓其節點叢集保持快速、最新且正常運行,並公開其實測效能,讓你可以據此監督問責。
除了這些需求之外,Dedicated Clusters 也是為一小部分共用基礎設施在設計上就無法滿足其需求的工作負載而存在的。請注意上表中「客製化」那一列所隱含的意思:私有 endpoint 為每位客戶提供相同的標準 API,因為大家共用相同的節點。只有單租戶基礎設施才能運行僅屬於你自己的程式碼或設定。
私有 endpoint 能保護交易不受 MEV 影響嗎?
預設情況下不能,而這正是「私有 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 時,這筆交易才受到保護。如果你為了冗餘而透過多個供應商同時廣播同一筆交易,送到其他地方的副本會落入公開 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 交易的服務),讓送出的交易能更早到達。共用叢集的佈局是為了整體效能,而不是為了單一客戶的地理位置需求。
- 無上限的歷史查詢。 Oracle、索引器和分析平台需要不設限的 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 對所有人開放,並以盡力而為(best-effort)的方式運行:沒有速率限制保證、沒有正常運行時間承諾,出問題時也沒有人負責。私有 endpoint 則是供應商管理叢集上的一個帶 key 的 URL,其速率限制會隨你的方案調整、有公開的正常運行時間表現數據,並附有顯示你流量的儀表板。
私有 RPC endpoint 會讓我的交易變成私有的嗎?
單靠它本身不會。名稱中的「私有」指的是誰能使用這個 endpoint:每筆交易最終仍會在鏈上公開結算,而且與任何 RPC 供應商一樣,運行這個 endpoint 的供應商能看到你送出的請求。要讓交易在被打包之前不進入公開 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 仍是較好的預設選擇。
相關總覽

打造區塊鏈魔法
Alchemy 結合最強大的 Web3 開發者產品與工具,並提供資源、社群與卓越的支援。


