Jump Crypto:詳解區塊鏈基礎設施細分賽道與版圖

買賣虛擬貨幣
  該機構認為,區塊鏈基礎設施主要包括0層基礎設施、中介軟體與區塊鏈開發三大部分。

原作者:rahul maganti/jump crypto合夥人,rahul maganti/jump crypto副總裁

原標題:《peeking under the hood: key pillars of crypto infrastructure》

編譯:澤禕,麟奇,鏈捕手

簡介

隨著跨鏈橋、新框架和其他核心加密協議的迅速出現,有效地規劃區塊鏈基礎設施仍然是使用者、開發人員和投資者的關鍵挑戰。“區塊鏈基礎設施”一詞可以涵蓋各種不同的產品和服務,從底層網路堆疊到共識模型或虛擬機器。我們保留對構成 l1/l2 鏈的各種“核心”元件進行更深入的分析,以供以後釋出(敬請關注!)。在這篇文章中,我們的具體目標是:

  • 提供區塊鏈基礎設施關鍵元件的廣泛概述。
  • 將這些元件分解成清晰、易消化的子部分。
  • 基礎設施地圖

我們將圍繞區塊鏈基礎設施的生態系統定義為旨在支援以下關鍵領域的 l1 和 l2 開發的協議:

  • 0層基礎設施:(1) 去中心化雲服務(儲存、計算、索引);(2) 節點基礎設施(rpc、質押 / 驗證器)
  • 中介軟體:(1) 資料可用性;(2) 通訊/訊息傳輸協議
  • 區塊鏈開發:(1) 安全和測試;(2) 開發者工具(開箱即用工具、前端/後端庫、語言/ide)。

第0層基礎設施

去中心化雲服務

雲服務對web2的發展至關重要——隨著應用程式的計算和資料需求的增長,專門以經濟高效的方式快速提供這些資料和計算的服務提供商至關重要。web3應用程式對資料和計算有類似的需求,但希望忠於區塊鏈的精神。因此,旨在建立這些web2服務的去中心化版本的協議已經出現了。去中心化的雲有3個核心部分:

  • 儲存 - 資料/檔案被儲存在由許多實體執行的伺服器上。由於資料在多臺機器上被複制或條帶化,這些網路能夠實現高度的容錯。
  • 計算--就像儲存一樣,計算在web2正規化中是集中的。去中心化計算關注的是將這種計算分佈在許多節點上,以實現更高的容錯性(如果一個或一組節點發生故障,網路仍然可以為請求提供服務,對效能的干擾最小)。
  • 索引--在web2世界中,資料已經儲存在一個實體擁有和運營的一臺或一組伺服器上,查詢這些資料相對容易。由於區塊鏈節點是分散式的,資料可能是孤立的,分散在不同的區域,而且往往在不相容的標準下。索引協議聚集了這些資料,並提供了一個易於使用和標準化的api來訪問這些資料。

有幾個專案提供了儲存、計算和索引(aleph和akash網路),而其他專案則更加專業(例如,the graph用於索引,arweave / filecoin用於儲存)。

節點基礎設施

遠端過程呼叫(rpc)是許多型別軟體系統功能的核心。它們允許一個程式呼叫或訪問另一臺計算機上的程式。這對於區塊鏈尤其有用,區塊鏈必須為來自不同區域和環境中執行的各種機器的大量傳入請求提供服務。alchemy、syndica和infura等協議將這種基礎設施作為服務提供,使建設者能夠專注於高階應用程式開發,而不是將呼叫傳輸和路由到節點所涉及的底層機制。

與許多rpc提供商一樣,alchemy擁有並運營所有節點。對於加密社羣的許多人來說,集中化rpc的危險是顯而易見的——它引入了單點故障,可能會危及區塊鏈的活躍性(即,如果alchemy失敗,應用程式將無法檢索或訪問區塊鏈上的資料)。最近,像pocket這樣的去中心化rpc協議出現了增長,以解決這些問題,但這種方法的有效性仍有待大規模測試。

質押/驗證器——區塊鏈的安全性依賴於一組分散式節點來驗證鏈上的交易,但必須有人實際執行參與共識的節點。在許多情況下,執行節點所需的時間、成本和能源都令人望而卻步,導致許多節點選擇退出,轉而依賴其他節點來承擔確保鏈安全的責任。

然而,這種態度帶來了嚴重的問題——如果每個人都決定將安全性轉移給其他人,就不會有人驗證。p2p和blockdaemon等服務執行基礎設施,允許不太成熟或資本不充足的使用者參與共識,通常是透過集中資本。一些人認為,這些質押提供商引入了不必要的集中度,但替代方案可能更糟——在沒有此類提供商的情況下,對於普通網路參與者來說,執行節點的進入壁壘太高,可能會導致更高的集中度。

中介軟體

資料可用性

應用程式大量消耗資料。在web2範例中,這些資料通常以集中的方式直接來自使用者或第三方提供商(資料提供商因將資料聚合並銷售給特定的公司和應用程式而直接獲得報酬——比如亞馬遜、谷歌或其他機器學習資料提供商)。

dapp也是資料的大量消費者,但需要驗證器使這些資料可供鏈上執行的使用者或應用程式使用。為了儘量減少信任假設,以去中心化的方式提供這些資料非常重要。應用程式可以透過兩種主要方式快速高效地訪問高保真資料:

pyth和chainlink等資料預言器提供了對資料流的訪問,從而允許加密網路以可靠和去中心化的方式與傳統系統以及其他外部資訊進行接入。這包括高質量的財務資料(即資產價格)。這項服務對於將defi擴充套件到交易、借貸、體育博彩、保險和許多其他領域的廣泛用例至關重要。

資料可用性層是專門對事務進行排序並使資料可供其支援的鏈使用的鏈。通常,透過使用區塊的一小部分,他們會生成證據,為客戶提供所有區塊資料已在鏈上釋出的高概率確認。資料可用性證明是保證rollup序列器可靠性和降低rollup事務處理成本的關鍵。celestia就是這一層的很好的例子。

通訊和訊息傳遞

隨著layer1及其生態系統數量的增長,對跨鏈管理可組合性和互操作性的需求更加迫切。跨鏈橋使原本孤立的生態系統能夠以有意義的方式相互作用,這類似於新的貿易路線幫助連線原本不同的地區,開創了知識共享的新時代!wormhole、layer zero與其他跨鏈橋解決方案支援通用訊息傳遞,允許所有型別的資料和資訊(包括逮捕)跨多個生態系統移動,應用程式甚至可以跨鏈進行任意函式呼叫,使它們能夠進入其他社羣,而不必部署到其他地方。synpase、celer等其它協議僅限於資產或代幣的跨鏈轉移。

鏈上訊息傳遞仍然是區塊鏈基礎設施的關鍵元件。隨著dapp開發和零售需求的增長,協議以有意義但去中心化的方式與其使用者互動的能力將成為增長的關鍵驅動力。以下是鏈上訊息傳遞可能有用的幾個潛在領域:

  • 代幣領取通知。
  • 允許在錢包中內建通訊訊息傳遞。
  • 關於協議重要更新的通知。
  • 跟蹤關鍵問題的通知(例如,defi應用程式的風險指標、安全漏洞)。

一些值得注意的開發鏈上通訊協議的專案包括dialect、以太推送通知服務(epns)和xmtp。

區塊鏈開發

安全與測試

加密技術的安全性和測試相對來說還處於初級不發達階段,但不可否認的是,它對整個生態系統的成功至關重要。加密應用程式對安全風險尤其敏感,因為它們通常直接關係著使用者資產。其設計或實施中的小錯誤往往會造成嚴重的經濟後果。

有7種主要的安全和測試方法:

  • 單元測試是大多數軟體系統測試套件的核心部分。開發人員編寫測試來檢查程式中小的原子部分的行為。有各種各樣實用的單元測試框架。例如以太坊上的waffle和truffle,solana的標準是anchor測試框架。
  • 整合測試將各種軟體模組作為一個組進行測試。因為庫和高階驅動通常會以各種方式相互互動,以及其他低階模組之間的互動(例如,一個typescript庫與一組底層智慧合約互動)。測試這些模組之間的資料和資訊流是至關重要的。
  • 審計已成為區塊鏈安全流程開發的核心部分。在向公眾釋出智慧合約之前,協議通常會利用第三方程式碼審計員來檢查和驗證每一行程式碼。我們非常重視稽覈員來確保最高程度的安全。trail of bits、open zeppelin和quantstamp是區塊鏈審計領域中值得信賴的幾個機構。
  • 形式化驗證涉及檢查程式或軟體元件是否滿足一組屬性。通常,有人會編寫一份正式的規範,詳細指出程式的行為方式。形式化驗證框架將把這個規範轉化為一組約束,然後對其進行解決和檢查。來增強智慧合約安全性的領先專案之一。certora是一個領先的專案,它使用runtime verification來實施形式化驗證以支援智慧合約的安全性。
  • 模擬—長期以來,定量交易公司一直使用基於代理的模擬來對演算法交易策略進行回測。鑑於在區塊鏈中進行實驗的高成本,模擬方法提供了一種引數化協議和測試各種假設的方式。其中,chaos labs和guantlet是兩個利用基於場景的模擬,來保護區塊鏈和協議的優質平臺。
  • 漏洞賞金有助於利用加密領域的去中心化精神來解決大規模的安全挑戰。高額獎金激勵社羣成員和駭客報告和解決關鍵漏洞問題。因此,賞金計劃在將“灰帽子”變成“白帽子”方面發揮了獨特的作用。例如wormhole建立的賞金平臺immunefi提供了價值高達1000萬美元的漏洞賞金!我們鼓勵任何人參與其中!
  • 測試網路提供類似主網網路的展現形式,支援開發人員在研發環境中對其測試和除錯引數。許多測試網路使用proof-of-authority/其他共識機制和少量驗證者進行速度最佳化,並且測試網路上的代幣沒有實際價值。因此,除了透過水龍頭外,使用者沒有其他方式獲取代幣。有許多測試網是為了模仿主網l1上的一些專案而構建的(如以太坊的rinkeby、kovan、ropsten)。

每種方法都有自己的優點和缺點,當然也不是相互排斥的,不同的測試風格通常用於專案開發的不同階段:

  • 第 1 階段:在構建合約時編寫單元測試。
  • 第 2 階段:一旦構建了更高階別的程式抽象,整合測試對於測試模組之間的互動就會非常重要。
  • 第 3 階段:程式碼審計在測試網/主網釋出或大型功能釋出時進行。
  • 第 4 階段:形式化驗證通常與程式碼審計相結合,並使用額外的安全保證。一旦程式被指定,其餘的過程就可以自動化,這使得它很容易與continuous integration或continuous deployment工具配對。
  • 第 5 階段:在測試網路上啟動應用程式檢查吞吐量、流量和其他擴充套件引數。
  • 第 6 階段:部署到主網後啟動漏洞賞金計劃,利用社羣資源來查詢和修復問題。

開發人員工具

任何技術或生態系統的增長都有賴於其開發者的成功—在加密領域尤其如此。我們將開發人員工具分為四個主要類別:

  • 開箱即用工具
    • 用於開發新l1的sdk,有助於抽象出建立和部署共識模型的過程。預建模組允許靈活性和定製化,但針對開發速度和標準化進行了最佳化。cosmos sdk就是一個很好的例子,它支援在cosmos生態系統內快速開發新的經驗證的區塊鏈。binance chain和terra是以cosmos為基礎的公鏈的著名例子。
    • 智慧合約開發—-有許多工具可以幫助開發人員快速開發智慧合約。例如,truffle boxes包含簡單而有用的solidity合約(投票等)示例。社羣還可以向此儲存庫推薦附錄。
  • 前端/後端工具—有許多工具可以簡化應用程式的開發。將應用程式連線到鏈(即,ethers.js、web3.js等)。
  • 升級和與合約互動(例如openzeppelin sdk)—有各種不同的工具特定於生態系統(例如solana智慧合約的anchor idl,parity智慧合約的ink),它們處理編寫rpc請求處理程式、發出idl、從id生成客戶端。
  • 語言和ide—區塊鏈的程式設計模型通常與傳統軟體系統的程式設計模型有很大不同。用於區塊鏈開發的程式語言就是為這一模型提供便利的。對於evm相容鏈,solidity和vyper被大量使用。其他語言如rust被大量用於solana和terra這樣的公鏈。

結論

區塊鏈基礎設施可能是一個過載和令人困惑的術語,它通常是一系列產品和服務的同義詞,涵蓋從智慧合約審計到跨鏈橋的一切。因此,關於加密基礎設施的討論要麼過於廣泛和雜亂無章,要麼對於普通讀者來說過於具體和有針對性。我們希望這篇文章為那些剛剛進入加密行業的人和那些尋求更深入概述的人找到了合適的平衡。

當然,加密行業正在快速變化,本文中引用的協議很可能在2個月甚至3個月後不再構成生態系統的代表性樣本。即便如此,我們認為本文的主要目標(即將基礎設施分解為更容易理解和理解的部分)在未來將具有更大的相關性。但隨著區塊鏈基礎設施格局的演變,我們也將確保提供明確一致的更新我們的想法。

如有問題或評論,請聯絡(rahul maganti(@rahulmaganti_)和saurabh sharma(@zsparta)。讓我們知道我們哪裡錯了,或者你在哪裡不同意!)。特別感謝nikhil suri(@nsuri_)。以及盧卡斯·貝克(@sansgravitas),感謝他提供了寶貴的反饋。


免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;