Web3應用的發展正進入井噴階段,各大賽道應用項目層出不窮,同時公鏈賽道也在穩步增長,據Coingecko數據顯示,目前收錄的L1和L2項目已經超過7000個,這裏面不僅有做基礎設施的L1,還有許多專注於業務的應用鏈。公鏈的發展已不侷限於基礎設施層面,更多面嚮應用金融、遊戲、社交的公鏈已經初具規模。
但公鏈開發是一項複雜而富有挑戰性的任務,底層公鏈作爲Web3的基礎設施,需要解決去中心化、安全性、效率等多重問題,而在應用層面的公鏈也面臨智能合約、虛擬機、數據存儲和鏈上治理等諸多問題。這對團隊的開發能力、業務經驗、邏輯實現等能力有巨大的考驗。那有什麼方法能快速、簡單的構建一條區塊鏈呢?
1. 公鏈開發面臨的挑戰
共識機制的設計與實現
公鏈的安全性主要由共識機制來保證,例如比特幣網絡的PoW共識機制,讓全球節點都可以參與網絡的維護,想要攻擊網絡就需要掌握51%的算力,而這在實現起來幾乎是不可能的,所以比特幣也是最安全的網絡。
但大多數公鏈並沒有那麼強的共識和節點,所以權衡安全性和去中心化是一個難題,當然現在PoS和DPoS也是很好的共識機制選擇。而部分先進的共識算法(如HotStuff或Tendermint)實現起來技術門檻較高。
擴展性問題
網絡的可擴展性是新一代公鏈最應該考慮的問題,因爲這關乎應用運行的效率和用戶成本問題。龍頭應用公鏈以太坊,就是受限於可擴展性問題,網絡擁堵和交易成本很高,導致後期用戶大量流失,協議的應用也不斷外逃,如龍頭DEX Uniswap。
解決可擴展性問題,保證網絡的高TPS,提高吞吐量的同時,還應該實現網絡快速出塊,交易快速響應,確保較低的確認時間和網絡穩定性。目前大部分主流公鏈,都能實現在10秒內完成交易,這對於用戶體驗至關重要。
智能合約平臺的開發
開發高效、穩定的虛擬機並確保對合約運行的全面支持,這對應用層面來說非常重要。目前主流的虛擬包括EVM和Move VM,EVM是以太坊的虛擬機,兼容EVM本質上是兼容以太坊生態,由於EVM的普及,大量開發文檔、教程和模板已經存在,開發者學習成本較低,工具鏈完善。而Move VM底層採用Move語言編寫,從設計上就引入了“資源安全”的概念,避免了許多傳統智能合約中的漏洞,安全性更強。
同時,在開發者編寫智能合約方面,還應該提供工具和機制來防止漏洞,如重入攻擊、溢出問題等。 設計易用、安全的合約編程語言,如Solidity、Move,但這需要大量的開發和測試。
除此之外,網絡與存儲架構、開發工具與基礎設施、網絡安全、持續升級機制等也是公鏈開發需要關注的地方。
2. 如何簡單、快速的開發公鏈
其實區塊鏈技術發展到現在,已經出現了許多可以直接用於搭建公鏈的框架,開發者可以採用這些框架,踩在巨人肩膀上簡單、快速的搭建一條公鏈,而無需從零開發。並且,這些技術已經相當成熟,安全性和穩定性已經得到驗證,下面StarStack和Cosmos SDK開發框架進行說明。
Cosmos
Cosmos專注於應用鏈開發,簡單來說通過Tendermint 共識引擎和Cosmos SDK實現公鏈的簡單、快速開發。然後通過IBC跨鏈通信協議,實現相同結構下鏈與鏈之間的通信和互連。
在構建基於Cosmos區塊鏈的時候,主要使用到Cosmos SDK,這是一個開發工具包,允許開發人員使用 Tendermint 徵求演算法構建區塊鏈。SDK 通過提供區塊鏈中包含的最常見的功能,如質押、管理和代幣,來降低複雜性。
Cosmos鏈的優勢:
主權性和靈活性: Cosmos的自由SDK使開發人員能夠構建主權的區塊鏈應用,消耗持續成本。
高度可擴展:垂直可擴展性來說,利用Tendermint BFT和垂直可擴展性,Cosmos實現了數千筆的交易處理能力。
生態的開發環境:Cosmos SDK簡化了區塊鏈應用程序的開發過程,開發者可以在SDK上創建自定義鏈,促進區塊鏈生態系統的採用和生長。
即插即用並自定義共識層:可以使用 Rollkit 和 Celestia 作爲您的共識和數據可用性層。
Starcoin StarStack
Starcoin專注於高性能、可定製化Layer1區塊鏈的一鍵智能部署方案,開發者可以用StarStack進行獨立區塊鏈的開發。StarStack是一個全新的Move生態的開發框架,也是目前Move生態唯一的區塊鏈開發框架,它以模塊化爲核心的開源代碼庫,用於構建定製化的Layer1,開發者可以使用此代碼庫啓動Move虛擬機,運行自己的區塊鏈,未來也可以用其AI智能系統以對話形式進行區塊鏈的部署。
與Cosmos相比,StarStack提供了足夠的靈活性和可定製化組件,讓開發者在共識算法、虛擬機、加密協議、鏈上治理、交易管理、gas模塊等方面都可以自由選擇。
StarStack技術框架和優勢在於:
1) 基於Move語言和虛擬機構建。StarStack的底層框架和智能合約通過Move語言編寫,虛擬機也是採用的Move,面向對象和基於資產的編程,使得資源在模塊中具有極高的透明度,而對模塊的外部調用則完全不透明。Move語言也被稱爲最安全的和靈活的智能合約語言,這也爲其一鍵發鏈方案在定製化Layer1時,提供了更多的空間。
2) 基於DAG結構。StarStack中引入了DAG結構,並結合自身創新推出FlexiDAG,對 PoW 共識機制進行了升級,動態調整出塊時間、難度和出塊獎勵。通過FlexiDAG將加快出塊速度,縮短交易確認時間,大幅提升了 網絡性能和系統效率。此外,關鍵參數可以通過鏈上治理機制進行動態調整,使系統更具適應性和靈活性。
3) 並行化高性能網絡。在StarStack中,引入了基於高性能多線程的內存計算引擎 TurboSTM,徹底改變了智能合約的執行方式。TurboSTM 利用多版本併發控制(MVCC)和樂觀鎖,實現同步數據讀取和及時更新,大幅減少了執行瓶頸,提高了交易吞吐量。這也使得網絡性能有了質的飛躍,根據官方測試環境數據,最高TPS可以達到130,000,這個數據已經是行業公鏈天花板了。
4) 兼容Move生態主流應用。Starcoin通過Move V7版本的升級,實現了Move生態應用的全面兼容,使開發者無需重寫代碼即可輕鬆遷移和部署他們的 dApp。簡單來說,就是通過Starcoin發行的Layer1,可以兼容Move生態的內的大部分應用,例如在Aptos上開發的應用可以輕鬆的遷移至新的Layer1上,而無需修改原始代碼。
3. 總結
現在發鏈技術已經非常成熟,之前開發公鏈面臨的困難也基本解決,公鏈開發已經不再是一項複雜且具備挑戰的工作,通過成熟的框架,構建區塊鏈已經變得簡單且高效。