Bitcoin-Core

自託管比特幣節點與使用第 3 方服務的優缺點?

  • February 7, 2021

我們是一家建構區塊鏈應用程序的中型公司,需要我們與比特幣區塊鏈(+其他幾種加密貨幣)進行互動。一種選擇是我們使用第 3 方服務,該服務為我們提供了與區塊鏈互動的統一 API(例如 BitPay、BlockCypher、BitGo 和 CoinPayments)。另一種選擇是在我們的伺服器上自行託管區塊鏈節點並與區塊鏈進行本地互動(不涉及中間人)。

如果我們使用第 3 方服務,通常會按月收取費用和/或每次提款收取一小部分費用(介於 0.25% - 1% 之間)。因此,這將是使用 3rd 方服務的一大缺點。另一方面,如果我們自己託管區塊鏈,我們將需要執行持續維護、伺服器升級、實施額外的安全協議等。

一位同事警告我,對於我們希望支持的每一枚硬幣,我們都需要聘請專門的專家開發人員來維護每個節點,每個節點每年的成本為 40,000 美元

需要明確的是,我們並不關心節點的初始設置,因為我們有專家開發人員會幫助我們。我們主要關心的是維護、升級、調試和處理在我們自己的伺服器上執行大量節點的持續安全問題的持續成本。

與支付月費和/或提款費相比,我們聘請將在我們的伺服器上設置所有節點的開發人員更便宜。我們唯一擔心的是與自託管節點相關的長期維護成本。

我同事的擔憂是正確的還是沒有根據的?是否有充分的理由相信我們會因為持續的維護成本而長期後悔自託管?如果是這樣,我們在自助託管方面忽略了哪些問題?

謝謝

筆記:

我確實看到了這個部分解決了這個問題的SE 答案。但是,答案的很大一部分集中在自託管的初始設置成本上:

對本地比特幣節點使用 RPC 呼叫需要一些開發人員知識或開發團隊。這可能會增加設置環境的成本

正如我在問題中所說,這對我們來說並不是真正的問題。我們唯一擔心的是自託管與使用第三方服務的持續成本。

真相在中間的某個地方。您的同事正確地指出,維護您自己的完整節點需要持續成本。除了員工成本之外,還有實際伺服器基礎設施的成本,如果您認為您需要維護高可用性、冗餘、測試實例,並且您應該將每個外國軟體與您的自己的網路和其他節點。

總體而言,您可以避免基礎架構工程師數量少於支持的加密貨幣數量,因為維護一個完整節點不應該是一項全職工作。例如,比特幣與比特幣衍生的山寨幣(如萊特幣和 BCH)之間的維護工作會有很大的重疊。具有不相關程式碼庫和更強烈偏離 API 和資料結構的加密貨幣將顯著增加工作量。坦率地說,一些“前 20 名”加密貨幣的參考實現不足以用於生產。如果您以基礎設施即程式碼的形式部署您的節點,您可以在前期進行更多的開發工作,但之後的工作量會大大減少。

但是,最大的成本差異是您需要投入的時間和精力來建構您自己與每個不同完整節點的集成。全節點打包的錢包通常無法滿足企業的需求,因此您可能需要投資自定義區塊鏈索引、錢包軟體、地址管理、密鑰管理、交易建構、餘額跟踪、使用者管理等。是上述服務可以提供大量繁重工作的地方。如果您最終開發了自己的集成,我絕對建議您為每種受支持的加密貨幣配備至少一名對它充滿熱情的工程師。

即使您決定與上述服務提供商之一合作,我也衷心建議您執行自己的完整節點,以協調服務提供的資訊與相應的區塊鏈數據。這仍將使您免於進行自己的錢包管理、地址管理、交易建構、多重簽名設置、簡化擴展,並讓您專注於更快地開展業務。您甚至可以考慮間歇性地使用服務提供商,然後在完成自己的集成工作後過渡到自託管。

*需要明確的是:您將公司的未來存在*完全委託給這樣的服務提供商。我希望這至少會讓您感到有些不舒服,並且您在做出決定時會徹底考慮他們的安全方法以及您對他們的交易對手風險。

在過去的幾年裡,我觀察到一些公司非常成功,並通過只關注比特幣而完全迴避山寨幣,從而迅速提升了他們的使用者體驗。您甚至可以考慮一種混合方法,您可以建構自己的比特幣解決方案,並為您必須支持的任何替代方案使用單獨的服務以限制您的曝光。

披露:在我之前的工作中,我是 BitGo 的 UTXO Coin 負責人。

引用自:https://bitcoin.stackexchange.com/questions/102273