跳至內容
0%

自架節點的優缺點

Alchemy team headshot

作者 Alchemy

發布於 2023年3月26日閱讀時間 1 分鐘

執行節點是指在一台機器上安裝「客戶端」軟體,用來下載、驗證並在區塊鏈網路中傳播新的區塊。

目前節點客戶端軟體有兩種類型:執行客戶端與共識客戶端。執行層客戶端負責管理區塊鏈的整體狀態並完成交易,共識層客戶端則負責驗證交易。

為了在網路中傳播交易,節點會使用一系列 P2P 網路協定來發現新節點、建立安全連線,並同步狀態、區塊與待處理交易。

什麼是 Ethereum 節點?

Ethereum 節點是在 Ethereum 區塊鏈上運作的節點,主要分為三種類型:輕節點、完整節點與封存節點。

1. 完整節點

完整節點客戶端會驗證每個新區塊中的所有交易,協助確保網路安全,並確保交易資料有效。

2. 輕節點

輕節點儲存的是區塊標頭資料,例如前一個區塊的雜湊值與時間戳記,而非像完整節點那樣儲存完整的區塊資料。

輕節點會向完整節點發送隨選請求,只驗證使用者需要的部分狀態。

3. 封存節點

封存節點保存與完整節點相同的資料,同時還保存整個區塊鏈的歷史狀態資料,一路回溯至創世區塊(即第一個區塊)。

為什麼要運行 Ethereum RPC 節點?

Web3 開發者可能會選擇運行 Ethereum RPC 節點,以讀寫區塊鏈上的資料。有些開發者選擇自行運行節點,以便自訂節點設定、提升安全性,並進行使用 RPC 供應商提供的共享或專屬節點無法實現的系統層級最佳化。

自行運行 Ethereum 節點有哪些好處?

運行 Ethereum 節點主要有四項好處:隱私與安全性、抗審查性、去中心化,以及自主權。

1. 隱私與安全性

使用共享節點時,你的交易會與其他公司共用相同的硬體,這對你的特定產品而言,可能造成合規或安全風險。

有些團隊會偏好使用專屬節點,方式可以是自行運行節點以確保完全隔離與自主性,或是選用提供專屬節點的節點供應商。

2. 抗審查性

自行維護節點能讓你在任何時候,都能保證將交易廣播到網路的其他節點。若使用第三方節點,供應商有可能封鎖來自你特定 IP 位址的交易,或封鎖傳送到特定智能合約位址的交易。

3. 去中心化

自行運行節點代表你不需要依賴集中式的基礎設施供應商來運行節點。不過,仍有其他需要考量的集中化因素,例如你選擇的雲端供應商(例如 AWS、GCP 等),或若你是採用裸機(bare metal)配置,還要考量伺服器所在地點(例如維吉尼亞、德國等)。

一旦資料中心或雲端供應商發生中斷,自行管理節點的 web3 開發者應評估其供應商、建立具容錯能力的架構,並制定業務永續營運計畫。

4. 自主權

開發者自行運行節點,能完全掌控自己偏好的節點軟體客戶端、這些節點客戶端的設定方式、硬體的數量與規格,以及其他與硬體相關的決策。

這種彈性程度,對於特定 web3 應用情境而言可能意味著更好的效能,因為 RPC 節點供應商無法提供同等細緻的硬體與軟體設定選擇。

自建節點 vs. 使用節點服務商
說明自建節點與使用像 Alchemy 這樣的節點服務商有何不同的示意圖。

自行運行節點有哪些取捨?

相較於使用 RPC 節點供應商,自行運行節點主要有三項取捨,包括維護成本、時間成本與可靠性成本。

1. 維護成本

自行運行完整節點需要專用硬體(例如 RAM、儲存空間等)來下載、驗證並儲存交易資訊。維護硬體以應對不斷變化的產品使用量,對於在容量與容錯能力之間取得平衡、同時避免過度支出而言相當重要。

運行節點的維護成本,將高度取決於你是否使用像 Amazon Web Services 這類供應商、是否運行裸機伺服器、投入的工程時間,以及你特定應用所需的硬體與頻寬資源量。

2. 時間成本

運行與維護區塊鏈節點可能涉及大量技術問題,對初學者而言可能既困難又耗時。

對於資金與工程時間有限的 web3 新創公司而言,將可觀的工程資源投入自行管理基礎設施,代價就是無法專注於打造產品的核心功能。

此外,隨著你的 web3 產品規模擴大,你的工程資源也需要相應擴增,才能維持一批可靠的自行管理節點,以保證正常運行時間與容量足以支援更多使用者。

3. 可靠性成本

考慮自行運行節點的新創公司,會面臨許多可靠性問題,例如軟體更新中的錯誤、CPU 尖峰、記憶體洩漏、磁碟問題、對等連線不穩定,以及跨一批節點的資料準確性問題。

不可靠的節點不僅會佔用工程師原本可用於打造產品核心功能的時間,也會直接影響使用者體驗。

當節點停止運作時,使用者就無法使用你的產品,這會帶來許多潛在的後續影響,例如使用者轉而使用其他產品。

Alchemy 在節點基礎設施方面為 Web3 開發者提供的 4 種協助

Alchemy 是領先的 web3 開發者平台,為 Ethereum、Polygon、Optimism、Arbitrum 等鏈上的頂尖去中心化應用程式提供支援。

以下列出 Alchemy 打造的工具清單,確保開發者能取得可靠的節點基礎設施,以及一流的開發者工具。

Alchemy Supernode

Alchemy Supernode 是我們的 web3 引擎,用一批節點取代自行架設的區塊鏈節點,讓開發者能像與單一超級節點互動一樣使用這批節點。

Supernode 擁有無可比擬的優勢:

  • 99.9% 可靠性
  • 動態可擴展性
  • 資料正確性
  • 無需設定或同步時間
  • Testnets
  • 增強型 APIs
Alchemy Supernode 架構簡化示意圖。
Alchemy Supernode 架構簡化示意圖。

Alchemy build

Alchemy 也提供一套自有的開發者工具,協助抓出錯誤,讓開發速度更快。透過 Alchemy Build,開發者可以即時搜尋數百萬筆請求、查看即時的 mempool 交易、直接從瀏覽器發出 JSON-RPC 呼叫,以及更多功能。

Alchemy Build 的開發者工具套件包括:

  • Composer - 透過簡單的線上介面即時測試 API 呼叫
  • Explorer - 搜尋歷史請求以偵錯交易
  • Mempool Visualizer - 查看 mempool 中交易的即時狀態
開發者儀表板中的 Alchemy Build。
開發者儀表板中的 Alchemy Build。

Alchemy monitor

Alchemy 提供強大的指揮中心,協助監控應用程式的健康狀態,讓你能即時查看回應時間、使用量分析、洞察與警示,並搭配每日報告,確保你隨時掌握狀況。

Alchemy 的監控工具為開發者提供:

  • 應用程式監控與警示
  • 具備應用程式層級細節的儀表板
  • 地理視覺化,讓你了解使用者所在位置
  • 使用量測量,協助了解應用程式的使用情形

Alchemy support

Alchemy 提供專業且親力親為的支援服務,並管理 Alchemy Status Page,讓使用者隨時掌握我們 APIs 的狀態。

  • 98% 客戶滿意度(CSAT)分數
  • 可聯繫客戶產品工程師
  • 可與業界其他人士建立連結

如有緊急需求,請發送支援工單至 support@alchemy.com

Background gradient

打造區塊鏈魔法

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