我該關心Infura停機嗎?聽聽官方解釋與業者想法

Elponcho
分享
我該關心Infura停機嗎?聽聽官方解釋與業者想法

昨日下午 (12日) 以太坊 API 服務商 Infura 出現多個 API 發生服務中斷的事件,導致多家交易所短暫停止 ETH 以及 ERC20 代幣充提服務、以太坊錢包 MetaMask 出現餘額顯示異常、數據延遲以及異常 Gas Price 估算等情況。

區塊鏈不是很去中心化嗎?為什麼 Infura 一家公司可以引起大規模的影響呢?到底 Infura 的功能是什麼,問題又是怎麼發生的呢?鏈新聞從詢問區塊鏈錢包業者 Blocto 共同創辦人李玄,以及整理出 Infura 所分析的原因。

Infura 的功能是?

Blocto 共同創辦人李玄表示,以太坊去中心化應用程式 (Dapp) 的前端要跟區塊鏈進行互動,像是查帳戶餘額、智能合約資料等行為,都需要透過 RPC 節點 (基本上就是不出塊的完整節點)。儘管 RPC 節點可以由 Dapp、交易所等有數據需求的用戶自己架設,但是會有基礎營運成本與維運工作。

他表示,Infura 就是專門提供「可靠的」RPC 節點服務。儘管也有其他公司提供這項服務,但 Infura 是最大的服務商。

Blocto 共同創辦人李玄
Blocto 共同創辦人李玄

服務中斷的原因是?

Infura 表示服務中斷的根本原因是因為內部系統所使用的軟體版本不同 (客戶端軟體 Geth v.1.9.9 跟 Geth v.1.9.13),導致區塊同步在多個子系統間產生延遲。

Infura 表示過去他們總在 Geth 或是 Parity 推出更新時就立刻升級,但後來不這麼做是因為這些更新有時候會造成不穩定,或是為用戶帶來不良影響。由於沒有軟體是完全沒有漏洞的,因此在更新節點方面 Infura 會更為謹慎。原本預定在這個月初要更新的軟體,也是為求穩定性而延遲。

但是這一次的服務中斷,正是因為 Infura 沒有發現到 Geth v.1.9.9 跟 Geth v.1.9.13 兩版本的差異會造成「共識漏洞」(consensus bug) 所導致。

該怎麼避免?

Infura 表示在更新版本中開發團隊沒有提到將更新「共識漏洞」,可能是為了避免在修復漏洞的過程中遭到攻擊,而保持低調。(下圖連結為開發者 Nikita Zhavoronkov 表示,以太坊悄悄進行了一個未公開硬分岔,用來修復漏洞。)

因此以 Infura 的立場,他們可以做的是盡量去優化更新版本的流程,以平衡可能的共識漏洞修復與系統穩定性。他們也會檢討這次事件,找到縮短復原時間的方法。

對於數據需求方,李玄表示,這種情況應該是可以避免,儘管 Infura 服務中斷會讓轉帳、使用 dapp 等功能暫時無法運作,但由於他們自己也有架設 RPC 節點,所以切換到自己的節點之後就正常了。

我該關心 Infura 停機嗎?

李玄表示:「這次的事件的確是一個警訊吧。」

他告訴鏈新聞,從這次事件就能發現還是有很多關鍵元件是很中心化的。如果 Infura 有心作惡,例如阻礙連線,趁著許多人無法與以太坊網路連線時,操縱幣價觸發抵押清算之類的,可能可以造成很大的傷害。