編者按: 11月24日,以太坊基礎設施開發公司ConsenSys(MetaMask和Infura開發主體)於11月23日在官網上更新了其隱私政策, 聲明MetaMask將在默認RPC為Infura的情況下收集用戶信息。這一政策更新引發市場強烈反響,Infura過於中心化問題再次被擺到台前。本文為區塊律動於今年3月4日撰寫的《是時候正式面對Infura帶來的「中心化」問題了》和《除了Infura,還有哪些API項目可用? 》兩篇文章集合,前篇文章闡明了當前Infura這一重要基礎設施面臨的中心化問題及風險,後篇文章則盤點了5個Infura替代方案。
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。
盤點5個Infura替代方案
QuikNode
自己搭建以太坊節點需要解決的問題較多,如安全問題、網速問題以及存儲空間問題,QuikNode 作為一個區塊鏈開發平台,可以通過直接提供全節點來解決這些問題。它曾獲Reddit 聯合創始人領投的530 萬美元融資,又在去年10 月完成Tiger Global 領投的3500 萬美元融資。
QuickNode 為用戶的應用程序和DApps 提供彈性和專用節點的服務,也就是應用程序編程接口(API),可查詢區塊鏈數據並促進操作去中心化應用程序,與Infura 類似,降低了訪問以太坊數據的門檻。
不過需要注意的是QuickNode 提供的不是共享的公共節點,而是專用節點。只接受用戶DApp 的調用,提高了區塊鏈訪問性能。其目前支持11 個區塊鏈,有BSC、Bitcoin、Solana、Optimism、Fantom、Terra、Arbitrum、Gnosis、Polygon、Ethereum 與Celo。
Alchemy
Alchemy 是一款被廣泛使用的blockchain API。 Alchemy 的超級節點服務被Ethereum, Polygon, Arbitrum, Optimism, Flow 和Crypto.org 所採用。該服務提供了廣泛的API 支持,讓開發者可方便的通過一個節點獲得多種功能,包括JSON-RPC 支持,同時提供了在區塊鏈上運行世界級應用程序所需的強大的可靠性、數據正確性和彈性。
在Alchemy 官網的介紹上,一個簡短的概括性總結是「使用專用分佈式系統擴展每個節點功能,並使用專有的協調器服務維護實時數據正確性。」而將之換成廣大互聯網用戶更熟悉的概念,可將Alchemy 的願景理解為這一個blockchain 版本的AWS、阿里雲。
正如在Web2 中,開發者租用AWS 可免去服務器維護、運維等一系列的煩惱一樣。 Alchemy 也未開發者提供了一個基礎的去中心化架構,將不同類型的數據分離到特殊的數據存儲中,提高速度和可靠性,也就是說,用更少的工程資源就可以在鏈上構建應用程序,和亞馬遜的AWS 很相似。
OpenSea 聯合創始人Alex Atallah 曾盛讚Alchemy:「使用自己的節點或容易出錯的服務意味著在無關緊要的問題上浪費寶貴的工程時間。Alchemy 的可靠性、速度和支持令人驚嘆。」
除了主要服務以外,Alchemy 還提供了多種多樣的其他服務,如開發解決方案、一體化監控儀錶盤、Web 3.0 推送服務等。
Pocket Network
Pocket Network 也是一個服務於Web3 的去中心化API 協議。基於Pocket DAO 指導著協議的長期發展,它提供了一個由全節點供需端所組成的雙邊市場,一端為應用程序,另一端為運行全節點基礎設施供應商。
其Token 為POKT,開發者可根據自身需求質押POKT,從而獲得API 服務,不需要使用其服務時則可隨時取出質押Token,不過為調動POKT 的流動性,Pocket 又發布了wPOKT,吸引其他應用的加入。
其由數万個分佈式節點共同運行網絡,不存在中心化服務器和單點故障,也就是說即使為開發者提供服務的一個節點故障了,也會有其他節點繼續提供服務,由此,提供了一個容錯率較高、低成本且靈活API 服務的解決方案。
Moralis
Moralis 是一個Web3 開發中間件,它為開發者提供了可擴展的後端基礎設施,讓用戶專注於應用程序的前端。與鏈上交互的一系列複雜過程均可通過Moralis 簡單的完成,以此來節約開發成本並提高鏈上交互功能的可靠性。
與其他競品類似,Moralis 也為開發者提供了鏈上警報推送、智能合約監控等功能。目前,Moralis 支持
Ethereum,BSC,Polygon,Solana 和Elrond 等多條網絡。開發者基於Moralis 可快速開發跨鏈DApp。
此外,Moralis 還為一般的DApp 開發提供了其他出色的工具。一些示例包括對IPFS 的原生支持、跨鏈兼容性以及對開發人員的大力支持。 Moralis 博客還提供出色的指南,供你查看並更好地了解Moralis 用戶的可能性。
目前,已有SuperFarm、1inch、Chainlink、utrust、Covalent 等產品接入了Moralis 的服務。
Bware Labs
Bware Labs 是一個分佈式API 基礎設施初創公司,在建立一個基於多鏈訂閱式的API 平台,在區塊鏈API 消費者和節點提供商之間提供了一個接口,允許企業和開發人員執行對多個集成區塊鏈的數據請求。
在開始,所有基礎設施需求將由Bware Labs 自身的服務器提供,其表明這可以全面了解合作夥伴的需求,還可以在接受第三方節點提供商之前調整基礎設施。不過當有足夠多的第三方節點提供商加入時,其自身大部分節點將退出,從而轉變為監控角色。
Bware Labs 在2 月23 日其披露完成了600 美元的融資。其團隊成員多由前Ankr 開發人員構成,部分成員還曾在Google 任職。
其Token 簡稱BWR,可用於從平台委託節點提供商從而賺取利潤、質押、參與協議治理,以及從驗證者處獲得獎勵,目前暫未披露分配數據。