是時候正視 Infura 帶來的「中心化」問題了
作者:律動BlockBeats
3 月 4 日,有用戶在社交媒體表示自己在委內瑞拉無法使用 MetaMask 錢包,查明原因,發現是 API 服務商 Infura 出現了問題。
Infura 回應,在配合美國和其他司法管轄區的新制裁指令而改變某些配置時,錯誤地配置了些許設置,導致部分地區服務中斷。而作為 Infura 的本家並使用 Infura 服務的 MetaMask 也因此次錯誤出現了問題。導致部分地區用戶短時無法訪問 MetaMask。
這已經是 Infura 第 N 次出現問題導致以太坊生態受到影響了。雖然這個問題從多年前就被討論過,但如今面對以太坊不可同日而語的超級生態,有些問題應該重新引起關注。尤其在動盪期間,因為國家間的問題導致被標榜為「去中心化」的 Web3.0 世界也開始有了準入門檻,實在汗顏。
我們並沒有否認 Infura 的重要價值,只是如果我們可以嘗試通過其他方式,是不是可以緩解這個問題呢?
Infura 是什麼?
專業一點講,Infura 是一種 IaaS(Infrastructure as a Service)產品,目的是為了降低訪問以太坊數據的門檻。通俗一點講,Infura 就是一個可以讓你的 DApp 快速接入以太坊的平台,不需要本地運行以太坊節點。
從程序員的角度講,Infura 就是一個 Web3 供應商,背後是負載均衡的 API 節點集群。
再簡單一點理解,Infura 就是一個公開的以太坊節點,可以看到以太坊整條鏈上的所有數據。這個節點的優勢在於,Infura 是對外服務的,項目方或者交易平台其實完全可以自己部署節點,實現的功能和 Infura 完全一樣,但是很麻煩,成本高。於是 Infura 的服務就有了市場。
在整個以太坊網絡中,需要一種能夠降低進入門檻並簡化對以太坊數據訪問的實用程序。其中最重要的是基礎架構即服務(IaaS)產品,而在這方面較為領先的則是 Infura,它為跨行業的開發人員,DApp 團隊和企業提供了一套工具,可將其應用程序連接到以太坊網絡和其他去中心化平台。
Infura 是由開發者 Michael Wuehler 開發的以太坊基礎設施,最開始時處於獨立運營狀態。在 2019 年被 ConsenSys 全資收購,變為其下業務部門。在推出之初 Infura 是免費使用的。隨後推出了訂閱服務,收費標準在每月 50 美元至 1000 美元不等。不過對於需求較小的開發者或者項目而言,Infura 還是十分友好的。開發者可以免費在 Infura 中創建 3 個項目,每日使用 Infura 的 API 服務提交 10 萬次請求。
Infura 有什麼用?
Infura 首席系統工程師 Nicola Cocchiaro 說:「我們的使命是促進以太坊的訪問及其提供的機會。」他們確實已經實現了這個使命,遠超預期。
以太坊許多知名的項目(MetaMask,Aragon,Gnosis,OpenZeppelin 等)都利用 Infura 的 API 將其應用程序連接到以太坊網絡。作為以太坊生態中最大的 API 提供方,Infura 的存在的確讓開發者方便了不少。
Infura 基礎設施最著名的部分是托管的以太坊客戶端網絡,通過客戶端兼容的 JSON-RPC,在 HTTPS 和 WSS 之上支持主網和測試網。以太坊節點只是 Infura 標籤的一部分,同時他們還有 IPFS 的服務,不過在生態與以太坊天差地別,關注度自然也沒那麼大。
采用 Infura 的項目和公司
在 Infura 的官方網站上,律動發現有很多我們熟知的公司和項目都利用了 Infura 服務。例如,以太坊輕錢包 MetaMask 使用 Infura 的零客戶端方式,連接 Infura 的遠程基礎設施,以服務超過數百萬的用戶。(注:MetaMask 除了使用 Infura 服務之外,也運行了自己的節點)
對於像謎鏈貓這種更看重可擴展性的項目來說,Infura 會與整個生態系統的開發人員合作,以保持網絡的平穩運行。
當然,還有很多交易平台也采用了 Infura 的服務,例如 Upbit、Bithumb 等。其中也不乏一些去中心化協議,如 0x 和 MyCrypto 等都依賴 Infura 向以太坊主網廣播交易數據和智能合約。
Infura 官網列出的一些客戶案例
對於過於依賴 Infura 的擔憂
目前以太坊全網節點 6300 個,Infura 曾經在 2018 年表示過,通過 Infura 接入以太坊網絡的節點數占總節點數的 5-10%。隨著維護節點的成本越來越大,這個比例現在只會更多。
這不是 Infura 第一次出現問題,2020 年 11 月,Infura 沒有運行最新版本的 Geth 客戶端,而某些特殊的交易觸發了這個版本的客戶端的 bug,隨後 Infura 當機了。
這被認為是 The DAO 後最嚴重的一次以太坊事故,雖然不是以太坊網絡的問題,但當時 Infura 當機造成的連鎖反應幾乎可以認為以太坊網絡短時癱瘓:主流交易平台無法充提 ERC-20 的 Token,MetaMask 無法使用等等。
小問題也不斷,今年 2 月,OpenSea、Uniswap 等平台又出現了問題,原因是 Infura 的流量激增當機了。Infura 顯然已經成為了這棟市值 3200 億美元大廈的地基。
早在 2018 年,就已有開發者對於 Infura 表示出了擔憂。Parity Technologies 的一位以太坊開發者 Afri Schoedon 表示,以太坊網絡不能依賴 Infura 來處理每天 100 億次請求。Schoedon 認為,過度依賴 Infura 將增加協議的中心化。
而除了項目方或者用戶自己搭建節點,我們還有不少其他項目可以選擇,比如 Alchemy,或者呼聲甚高的 Pocket Network 等等,雖然不會讓 Infura 的故障問題影響完全消失,但至少可以縮小。
我們並不是否定 Infura 的價值,Infura 對以太坊非常重要,但如果,有更多的節點激勵方案,或者降低節點運行成本的解決方法出現,以太坊會更加完美,甚至要完美過 ETH2.0。