深度解讀波卡智能合約平台Gear:通往並行架構公鏈之路
作者:嘉文,鏈捕手
一、摘要
2021年11月,隨著波卡主網正式開啟平行鏈插槽拍賣,波卡生態頓時成為一股耀眼的新勢力。其創始人Gavin Wood主張的"多鏈互聯"在為區塊鏈領域帶來廣闊想象空間的同時,也讓包括Acala、Moonbeam、Astar等在內的波卡生態項目火熱一時。
在波卡生態中,Gear則是相對被低估的項目之一。作為波卡智能合約平台,Gear在技術上支持異步編程和並行計算、WASM虛擬機, 據稱Gear的運行速度大幅高於傳統EVM鏈,其TPS(每秒交易數量)可比以太坊和BSC、Polygon等EVM系公鏈高出幾個數量級。 Gear CEO Nikolay Volf也明確表示,Gear將支持DApp開發者使用Rust、C、C++等主流開發語言部署智能合約,並推出適用於不同應用的模板和庫,讓開發者僅修改部分參數就能輕鬆地部署DApp,盡可能增強其兼容性。
此外,Gear CEO Nikolay Volf此前在波卡母公司 Parity Technologies 擔任核心開發者,參與了Parity以太坊客戶端及Substrate框架的開發,並與波卡創始人Gavin Wood共事長達6年。
下面,鏈捕手將從應用場景、團隊成員、技術方案、競品分析、優劣勢分析等角度,對Gear項目進行深度解讀。
二、項目簡介
1.應用場景
Gear是波卡---Kusama生態的智能合約平台,將於未來成為波卡的一條平行鏈。由於波卡中繼鏈本身不支持DApp合約部署,開發者想要進入波卡網絡,往往要在平行鏈上部署合約代碼,或自行構建並啟動一個區塊鏈,接入波卡網絡。後者需要質押大量的DOT代幣以參與插槽競拍,成本高昂,所以絕大多數開發者會在某條合適的平行鏈上部署其DApp程序。
作為一條平行鏈,Gear充當了搭載DeFi、DAO、NFT、供應鏈管理系統等多類別DApp的平台,為開發者提供各類基礎設施,支持開箱即用式的創建流程,並使其所搭載的DApp獲得來自波卡中繼鏈的安全性保障。同時,若該項目所提出的並發式任務處理機制順利投入使用,其運行速度可大幅超越波卡的其他平行鏈,進而成為波卡生態的最佳入口。從本質來看,Gear的定位是一條新公鏈。
2.團隊背景
聯合創始人兼CEO:Nikolay Volf
Nikolay Volf 是Gear的聯合創始人兼首席執行官,自2015年以來在波卡母公司 Parity Technologies 擔任核心開發者,並與波卡創始人Gavin Wood合作長達6年。在 Parity 工作期間,Volf參與了Parity以太坊客戶端及Substrate框架的開發工作,並領導了WASM智能合約的初版實現。
聯合創始人兼CFO:Ilya Veller
Ilya Veller是Gear的聯合創始人兼首席財務官,曾在Renaissance Capital、摩根士丹利及美國銀行任職,與全球範圍內的對沖基金及高淨值人士合作長達20余年。在過去20年裡,Ilya Veller為各種項目籌集資金超10億美元。
聯合創始人兼開發主管:Alexander Bugorkov
Alexander Bugorkov是Gear的開發主管,擁有在Lyft、New Relic和Spotify等知名科技公司工作的經驗。
CTO:Petr Volynskiy
Petr Volynskiy是Gear的首席技術官,擁有在多個領域進行產品開發及技術領導的豐富經驗,涉及領域包括項目和業務流程管理的應用程序開發、系統架構、跨平台開發環境、Web及移動端程序、操作系統、虛擬化和雲端(SaaS、IaaS、PaaS)。
3. 項目進展
2021年8月,Gear項目方正式對外公開該項目。
2021年9月,Gear項目方公開其GitHub代碼庫,並完成其測試網節點配置。
2021年11月,Gear重構了其標準庫。
2021年12月,Gear完成 1200萬美元私募輪融資,Blockchange Ventures 領投,三箭資本、Web3基金會和波卡母公司Parity Technologies的高管、Gavin Wood博士、Lemniscap、Distributed Globals、LAO、Mechanism Capital、Bitscale、Spartan Group LLC、HashKey等參投。
2022年2月,Gear官方宣布將於3月編寫白皮書,或將於近期發布測試網,並計劃在2022年上線主網。
三、技術方案解讀
WASM 虛擬機
為了在節點虛擬機(作用是在不同的節點設備上搭建相同的程序運行環境)及開發語言層面進行改善,以太坊之後的EOS、NEAR和Substrate框架及波卡中繼鏈節點均採用WASM虛擬機,Gear也是如此。不同於因以太坊團隊的"閉門造車"而生的EVM和Solidity語言,WASM(WebAssembly)語言由谷歌、微軟、W3C 等頂級科技公司共同研發多年,並於2017年11月被Firefox、Chrome、Microsoft Edge、Safari等四大網絡瀏覽器支持。
相比於EVM,WASM虛擬機在標準化工作上發展已久,附帶更完備、與大多數現代硬件架構兼容的指令集(用於和硬件設備互動),可將Rust、C、C++ 等高級語言編譯為機器碼,接近於原生速度運行。Gear的CEO表示,理論上,WASM 最高可比 EVM 快10倍。
由於支持編譯Rust和C、C++等主流語言,WASM虛擬機的採用使得基於Gear的智能合約開發支持受眾更廣、更傳統的編程語言(如C和C++),便於將傳統IT行業的程序員引入到區塊鏈和Web3領域。再考慮到並行計算等傳統計算機環境中擁有的功能,Gear整體上將比以太坊及採用EVM的公鏈,及其他不支持並行模式的新公鏈更接近傳統計算機環境。
並行任務處理與異步編程模式
制約當前公鏈TPS(每秒交易數)的一大瓶頸,在於多數公鏈(尤其以太坊、BSC和Polygon等EVM系公鏈)採用單線程(每一時刻只能處理一個任務)處理模式,這大大限制了區塊鏈網絡在時間層面進行擴展的可能性。
與絕大多數公鏈不同的是,Gear在技術架構上直接做出了巨大改變。在其技術文檔中,明確提出 Gear 網絡節點將支持"並行處理"(在同一時刻運行多個任務)和"異步編程"(調用某函數功能的結果可延時返回),為此其採用了"並行處理流"和"消息傳遞通信模式"" Actor 通信模型"及" async/await 聲明"。
從理論層面講,以上特性可以讓Gear的TPS比普通公鏈高出幾個數量級。
Gear所採用的被稱作"消息傳遞通信"的交互模式,將每筆交易事件都視作不同用戶間傳遞的"消息"來處理。這種交互模式在傳統計算機領域已獲得廣泛採用,比古老的"共享內存模式"具有更好的性能。
(圖片來源:Gear技術文檔)
同時,在Gear節點的虛擬機架構中,允許根據CPU內核數創建對應的"事件流"(可以理解為流水線),比如CPU有兩個內核就可以創建兩個流,將交易事件打包置入兩個不同的事件流中,交由兩個不同的CPU內核去執行。比如:原本有100個事件需要處理,若是只有一個事件流,由單個內核去執行,需要100秒;若是建立兩個事件流,每個流包含50個事件,分別交由兩個內核去執行,就只需要50秒。理論上來說,採取這種多內核並行工作的模式,最快可以將任務耗時縮短數倍。
(圖片來源:Gear技術文檔)
但同時運行多個交易事件的場景可能誘發衝突,比如:事件A和事件B同時被不同的CPU內核執行,但這兩個事件要調用的合約地址都是C,那麼此時事件A和B就會互相影響,干擾對方對合約C的代碼調用,並產生類似"雙重支付"的現象。
為了避免以上場景,Gear的解決方案是將上文中的A和B放入同一個"事件流",交由同一個CPU內核按先後順序執行,這樣就可以解決共享資源問題。
以此,Gear節點可支持多線程(同一時刻執行多筆交易事件),並解決事件間相關聯、彼此衝突的問題。通過這種形式,Gear可大幅提高運行效率。
以上是Gear在交易事件處理模式上的改進。但一筆交易事件又可被拆解為多個步驟,或者說對多個合約程序的調用,因此,為了在更細分的結構上提升效率,Gear還想法設法加快鏈上程序(智能合約)的代碼執行速度,並改善開發者的編程體驗。為此,Gear直接支持"異步編程"模式。
在傳統編程模式中,代碼需要按順序從上到下一行一行"同步"執行,順序靠前的代碼指令執行完畢,才會執行順序靠後的下一行代碼,有著嚴明的次序之分。這種模式有其弊端,比如調用某個指令功能(如下圖中的printf)後,系統會等待該指令執行完。若是該指令長時間未執行完,耗時很長,後面的代碼都必須排隊等候,這會拖延整個程序的執行。在"兵貴神速"的區塊鏈世界,這無疑會讓系統的TPS下降。
為此,Gear採用了"異步編程"的模式,程序(智能合約)在執行一個指令時,可以繼續執行下一個指令,而不必處於"等待"狀態。之前所執行的指令功能可以在未來返回響應結果。比如,Gear上的某個智能合約,在代碼段中包含調用多個其他合約(A、B、C)的指令,若為傳統"同步"模式,要調用完A後才調用B,B用完後是C;若採用"異步"模式,相同的時間段內,幾乎立即對合約A、B、C同時調用,無需耗時等待調用過程的完畢,這樣就可以縮短合約代碼的執行時間。從本質來看,"異步編程"就是讓智能合約的不同代碼指令實現"並發執行"。
(圖片來源:CSDN)
如前文所述,Gear通過支持"並行計算"和"異步編程"的機制,在同一時間內處理多個交易事件,大幅提高效率,但這會帶來其他隱患。比如,用戶A發起一筆交易,調用鏈上程序B;B在執行時又要調用程序C和程序D,而程序C和程序D又要調用一個相同的程序E;按照"並行"和"異步"的模式,若是C和D同時執行,就會在同一時間調用E,這會造成資源調度上的衝突,造成混亂。
以上情形中的調用程序(合約)必須要有確定的先後順序,對此, Gear 採用了 Actor 模型解決這一問題。
Actor模型於1973年被提出,是一種支持並發的邏輯模型,最初專為由大量獨立微處理器組成的高並行計算機開發,目前在傳統計算機編程中已獲得較為廣泛的採用。在區塊鏈的應用場景中,Actor模型會將不同的智能合約歸類為不同的Actor實體,每個Actor實體都擁有各自的郵箱(mailbox),按照先後次序接收與其相關的消息(交易事件),進而按照事件的次序更改自己的數據狀態。每個Actor實體每次只處理一個事件,這就可以消除共享狀態,避免多個事件同時影響Actor實體。同時,不同的Actor實體間可以互相發送消息,以互相調用,這正對應著區塊鏈上合約之間互相調用的場景。
(圖片來源:CSDN)
可以這樣理解:Actor 實體便是添加了自己的"交易事件隊列"的智能合約。上文中所提到的,同時運行中的合約C和D共同調用合約E的情形下,C和D各自的調用申請會按照發起的時間點(可能非常接近,但足以區分),依照先後次序被放入合約E自己的mailbox消息隊列中,然後E會按先後次序分別執行完C和D的調用請求(比如先執行完c的請求後再執行D的),這樣一來,衝突就被化解了。可以說,Actor邏輯模型正契合智能合約的特徵(擁有獨自的狀態和存儲空間)。
通過使用Actor模型,Gear上的開發者在智能合約開發中,可實現代碼指令的"異步編程"與"異步執行"(實質為並發執行)。在此基礎上,Gear可以支持Rust語言原生的異步編程功能,如Futures和async/await等關鍵語法,這是Solidity語言長期以來所不具備的功能。異步編程將很大程度改寫智能合約代碼的編寫範式,並為開發者帶來巨大便利。
綜上所述,結合"並行處理"和"異步編程"這兩個最重要的獨特功能,Gear可以比傳統公鏈更快速的處理交易事件,更快的運行鏈上程序,使其TPS獲得大幅提升。
四、 競品情況
由於Gear本身定位為波卡平行鏈,其競品為波卡生態其他的平行鏈,如:Moonbeam、Astar、Acala、Parallel、Clover等。本文將主要對比這些平行鏈(主網已投入使用)的相關信息。
1.Moonbeam
Moonbeam 是波卡上的EVM兼容鏈,定位為兼容以太坊的波卡智能合約平台。通過其EVM兼容性,開發者能夠以最少的更改,將現有的 Solidity 智能合約和 DAPP 部署到 Moonbeam上,再通過Moonbeam與中繼鏈的互通,實現整個波卡生態的互通。
團隊方面,Moonbeam開發團隊purstake創始人为美國人Derek Yoo,他是G20 Ventures成員,曾在辦公社交軟件FUZE母公司任職CTO達12年,後又曾任該公司CPO(首席採購官)。 2019年5月,Derek Yoo創建了Purstake公司。該公司曾參與Substrate框架的開發,主要負責Frontier模塊。
融資方面,2020年9月,Moonbeam開發團隊PureStake完成140 萬美元 種子輪融資,Hypersphere Ventures領投;2021年3月,該團隊完成600 萬美元戰略輪融資,CoinFund領投,Binance Labs、IOSG Ventures、ParaFi、Coinbase Ventures、分佈式資本等機構參投。
目前,Moonbeam鏈上原生協議主要包括:DEX平台,如StellaSwap和BeamSwap、Zenlink等;Yield類項目Pickle和Astral Financial;期權做市類項目Polkamarkets;跨鏈橋cBridge和Connext。
截止2月15日,Moonbeam總鎖倉量TVL約為1.8億美元,StellaSwap占有45.74%的鎖倉份額。Moonbeam在Kusama的先行網Moonriver總鎖倉量超過2.1億美元。
(圖源:Defi Llama)
Moonbeam的鏈上數據大致如下,目前該平台已處理超105 萬筆 轉賬,其代幣GLMR在波卡生態的持幣地址數達到10 萬多。
(圖源:SubScan)
2. Astar (原 Plasm )
Astar的定位是多鏈、多虛擬機智能合約平台,可同時支持 EVM 和 WASM 虛擬機,在支持原以太坊上DApp開發者的同時,可拓展至Solidity生態以外的開發者。同時,Astar具有獨特的"DApp Staking"激勵機制,其為了吸引DApp的部署,將每個區塊獎勵的50%分發給DApp項目開發者和提名者,50%分配給POS質押節點。該機制旨在為開發者提供更明確的長期營收路徑,增強其積極性。
目前,Astar已進行跨鏈橋開發,將支持以太坊、BSC、Polygon、Avalanche、Dfinity、Cosmos等。其同時支持Layer2生態,已實現OVM解決方案(Optimistic Virtual Machine),可幫助Layer2網絡進行資產轉移和信息交互。按照其願景,Astar致力成為包含各種複雜開發環境、支持多種類型DApp智能合約平台。
團隊方面,Astar的開發公司Stake Technologies是一家2018年成立於日本的公司,創始人为渡邊創太,擁有日本互聯網行業的資源。2021年,Astar生態受到微軟日本的"Microsoft For Startups"計劃支持,獲得了包括Azure等微軟服務和微軟全球網絡等基礎設施支持。
融資方面,Astar(原Plasm)近一年先後獲得3輪融資,累計融資額達到3440萬美元,投資機構包括Binance Labs、Polychain Capital、HashKey Capital、Alameda Research等。
Astar在今年1月正式上線主網,目前其鏈上協議主要包括DEX平台ArthSwap、PolkaEx和跨鏈橋cBridge。截止2月15日,Astar總鎖倉量TVL約為4.8億美元,其中,參與Astar dApps Staking激勵計劃的鎖倉金額為4.4億美元,占有Astar全網鎖倉份額的90.57%。Astar在Kusama上的先行網Shiden 總鎖倉量約為1500萬美元。
(圖源:Astar Network)
Astar的鏈上數據大致如下,目前該平台已處理近65 萬筆 轉賬,其代幣ASTR在波卡生態的持幣地址數達到約6 萬。
(圖源:SubScan)
3.Acala
Acala的定位是服務於波卡DeFi生態的底層基礎設施,同時支持 EVM 和 WASM 虛擬機,且面向用戶構建了完整的DeFi應用程序,包括抵押借貸的穩定幣系統、釋放質押資產流動性協議和DEX等核心基礎設施。由於支持EVM,Acala面向開發者提供了兼容以太坊智能合約的模塊,提供一系列開箱即用的 DeFi 組件,幫助開發者在Acala應用層上構建各類程序,如NFT、DEX等。
團隊方面,Acala開發團隊由去中心化金融協議Laminar 團隊和Polkawallet團隊聯合發起,還有部分成員來自Web3基金會。團隊CEO為蘇銳濤(Ruitao Su),畢業於奧克蘭大學,此前是Centrality 的首席技術官。CTO為陳錫亮(Bryan Chen),畢業於奧克蘭大學,是Substrate代碼庫的主要貢獻者和波卡大使;COO 為Bette Chen,畢業於奧克蘭大學,負責區塊鏈協議和DApp產品研發。
融資方面,Acala在2020年3月完成150萬美元種子輪融資,Polychain領投,Hashkey、KR1 等參投;同年8月,Acala完成700萬美元A輪融資,Pantera Capital領投,ParaFi Capital、1confirmation、Arrington XRP Capital、Coinfund、DCG等參投。2021年3月,Acala獲得Coinbase Ventures投資,金額未披露。
Acala在今年1月開通轉賬功能,並在2月10日開啟百萬ACA獎勵計劃,以激勵其鏈上DEX平台Acala Swap的發展。截至2月15日,Acala在Kusama上的先行網Karura 總鎖倉量約為4500萬美元。
Acala的鏈上數據大致如下,目前該平台已處理近49 萬筆 轉賬,其代幣ACA在波卡生態的持幣地址數達到14 萬。
(圖源:SubScan)
4.Parallel Finance
Parallel Finance的定位是一條主打DeFi的平行鏈,推出多種DeFi產品,目前採用WASM 虛擬機,其名為Leverage Staking(槓桿抵押)的服務已在先行網Heiko投入使用,允許用戶將質押的資產借出,以同時獲取質押和借貸的雙重利息。Parallel---Heiko還支持Auction Loans(拍賣借貸),允許用戶以固定或浮動利率或根據項目借款的數額來決定未來所占份額的比率,以此將自己的DOT或者KSM借給插槽拍賣的眾貸參與者。
團隊方面,Parallel Finance項目大約啟動於2021年4月,發起者為八維資本的創始人阮宇博,團隊其他成員有Facebook、JPMorgan或Sushi、TrueFi、Mina等公司任職背景。
融資方面,Parallel Finance去年共完成3輪融資,累計融資額為2000-3000萬美元之間,投資機構包括Polychain Capital領投,Slow Ventures、Lightspeed Venture Partners、Blockchain Capital和Alameda Research,Pantera Capital、、紅杉資本和Founders Fund等。
目前,Parallel Finance總鎖倉量TVL約為6億美元,基本集中於其插槽拍賣眾貸業務板塊。
Parallel Finance鏈上數據大致如下,目前該平台已處理近4 萬筆 轉賬,其代幣PARA在波卡生態的持幣地址數達到約3 萬。
(圖源:SubScan)
5.Clover
Clover Finance 的定位是波卡生態的EVM 兼容鏈,為基於Substrate 的應用程序創建一站式兼容EVM 框架,以降低開發人員的門檻和成本。以太坊和BSC等EVM系公鏈的項目可以簡單地將智能合約遷移到Clover上。
針對以太坊的高Gas費,Clover 設計了免費經濟模型,每筆交易直接從交易的資產中收取交易費,用戶將不必額外存儲 ETH、BNB、HT 等專用于支付Gas的代幣,大幅降用户使用門檻;同時,Clover針對開發者有Gas分配模型,重新設定了 Gas 分配參數,將Gas 費直接發送給網絡維護者和 DApp 開發者,為智能合約開發者創造被動收入。
團隊方面,Clover項目開始於2020年11月,項目負責人&聯創Viven Kirby曾擔任前微軟ERP 軟件開發技術負責人和架構師,及許多區塊鏈項目的核心開發者。技術負責人&聯創Burak Keçeli曾擔任支付產品GatePay 的技術負責人和跨境支付產品 Staqq 創始人。運營主管&聯創Norelle Ng曾是Bithumb Global 的合夥人和 Amber Group 的客戶關係主管。
融資方面,2021年2月,Clover Finance完成300 萬美元 種子輪融資,Polychain、Hypersphere、Bithumb Global和Divergence Ventures領投。2021年5月,Clover Finance獲得火幣創新實驗室投資。
Clover Finance的鏈上數據如下,目前該平台已處理36筆轉賬,其代幣CLV在波卡生態的持幣地址數為32。
(圖源:SubScan)
五、優缺點分析
通過前文的闡述與分析,Gear具備以下優缺點:
優點:
- 支持功能更齊全、速度更快的WASM虛擬機,支持Rust、C/C++等主流語言;
- 支持不同交易事件的並行執行,支持智能合約編程和執行的異步化 ,可大幅加快程序運行速度,使TPS數量級遠高於EVM系公鏈;相比於Solana,Gear的安全性可由波卡中繼鏈加以保障。
- 比起大多數公鏈(尤其是EVM系公鏈),性能和架構更貼近傳統計算機環境;
- 項目創始人及CEO有波卡母公司 Parity Technologies的任職背景,與波卡創始人Gavin Wood關係較近,項目早期便獲得Web3基金會和Parity Technologies及知名VC三箭資本的融資。
缺點:
- 由於採用較難實現的並行架構和異步編程,其潛在複雜性與區塊鏈狀態的確定性有關,但不同的節點有不同數量的CPU核心,所以需要通過開發特殊的尖端算法來克服,這方面的開發難度不容小覷。
- 即便是在設計上極盡縝密和周到,並行處理模式在長期運行中都可能出現Bug。2018年時,EOS創始人BM針對EOS白皮書裡提到的、很難真正實現的"並行性"parallelism,曾表示:"能解決這個問題的人,之前必須有開發至少3個區塊鏈系統的經驗。"此外,Solana也曾提出支持並行架構的"Sealevel"技術方案,但尚未實際落地。
- Gear尚未啟動測試網,距離主網正式投入使用及獲得波卡插槽拍賣可能還有較長時間,這將使其失去在波卡生態的先發優勢。
- Gear目前主要支持Rust和C語言,尤其以Rust語言為主。但Rust語言的學習難度較大,開發者數量可能有限。
- Gear官方未表示支持EVM,這將使其失去目前在區塊鏈開發中占主導、數量廣泛的Solidity開發者,不利於Gear生態的快速建設;
- Gear的安全性取決於波卡中繼鏈,其未來的繁榮將受制於波卡生態本身。波卡在未來可能出現的缺陷或將嚴重影響Gear。
六、總結
作為開發者進入波卡生態的新入口,Gear在技術主張和團隊背景上讓人耳目一新,但區塊鏈特殊的業務邏輯與運行機制使其天生"敵視"並行多線程的工作方式,這對高舉"並行計算"旗號的Gear團隊無疑是巨大的障礙;同時,由於以太坊系的EVM虛擬機與Solidity語言本身近乎於"大而不倒",面對波卡生態上因兼容EVM而獲得以太坊系開發者青睞的Moonbeam、Acala和Astar,Gear仍面臨著嚴峻考驗。
注:特別感謝波卡生態開發者、Patract CTO @Aten 老師和以太坊生態開發者@一隻帥狗 在本文完成過程中的技術解答,作者在此表示感謝
參考文獻:
《The advantage of Gear technology》
《Gear Technologies Raises $12M to Boost Smart-Contract Development on Polkadot》