CSDN首頁推薦∣一鍵造鏈,萬鏈互聯—Cosmos和NULS到底有何不同?

CSDN首頁推薦∣一鍵造鏈,萬鏈互聯—Cosmos和NULS到底有何不同?

首發平臺/CSDN

隨著區塊鏈技術的價值凸顯,其已受到越來越多國家和地區的積極擁抱和支持,眾多知名企業也紛紛開始佈局區塊鏈。相比傳統的軟件開發,區塊鏈技術難度大,企業造鏈成本高。並且目前的區塊鏈,例如比特幣和以太坊,都是數據和價值的孤島,無法實現鏈間通信,長遠來看,這是一個必須得到解決的問題。

那麼如何降低區塊鏈開發難度,幫助企業實現輕鬆造鏈呢?區塊鏈間又該如何實現跨鏈呢?近期獲得BlockGroup 2億美元併購基金戰略投資的NULS,和主網剛完成上線的Cosmos,正是造鏈和跨鏈領域中的突出代表。

本文將從不同的角度,對NULS和Cosmos兩個明星項目,進行分析和比較,幫助你理解他們在造鏈和跨鏈中的技術實現,以及他們具有怎樣的價值。

1. 分層設計

從整體架構上來看,NULS和Cosmos都採用了分層設計,將業務層和底層進行了分離。

Cosmos整體分為兩層,底層叫Tendermint Core,包含了共識層和網絡層,業務層叫Cosmos SDK,封裝了通用的業務功能。Cosmos業務層通過調用Tendermint Core的接口ABCI(Application Blockchain Interface),完成與底層的交互。


CSDN首頁推薦∣一鍵造鏈,萬鏈互聯—Cosmos和NULS到底有何不同?

NULS整體分為三層,底層叫NULSTAR,是一個區塊鏈微服務底層框架,業務層又分為兩層,分別是區塊鏈基礎服務層、NULS模塊倉庫和DAPP應用層。

CSDN首頁推薦∣一鍵造鏈,萬鏈互聯—Cosmos和NULS到底有何不同?

NULS模塊倉庫與Cosmos SDK類似,內置了通用的功能模塊。 NULS根據區塊鏈的業務,將所有區塊鏈都需要用到的功能,拆分成了通用模塊。

使用NULS和Cosmos造鏈的企業,都只需要關注特定的業務功能,然後使用NULS和Cosmos提供的通用功能,就可以創造一條符合自己需求的區塊鏈。

分層設計的好處在於,底層代碼得到了封裝,業務層提供了通用業務功能。通過這樣的方式,NULS和Cosmos將造鏈簡化為針對特定業務的開發,極大地降低了開發難度,可以有效地節省開發時間和開發成本。

與Cosmos不同的是, NULS專門設計了DAPP應用層,添加了對智能合約的支持。

這可以幫助使用NULS搭建的區塊鏈更好的拓展生態。在NULS的DAPP應用層,也可以看到添加了應用程序基礎庫,這可以幫助DAPP開發者處理網絡消息等基礎工作,從而降低工作量。DAPP與NULS平臺的交互,是通過NULSTAR中的連接器(Connector)提供的接口完成的,可以有效地降低消息通信的複雜度。

2. 模塊化

在分層設計的基礎上,NULS和Cosmos都採用了模塊化的方式進行開發。

在業務層,NULS和Cosmos都把通用的業務功能拆分成成不同的模塊,然後每個模塊分別實現對應的功能。這樣,當開發者進行應用開發時,就只需要進行特殊業務功能的開發,通用功能就可以直接使用NULS或者Cosmos提供的功能。

CSDN首頁推薦∣一鍵造鏈,萬鏈互聯—Cosmos和NULS到底有何不同?

Cosmos SDK的模塊化

CSDN首頁推薦∣一鍵造鏈,萬鏈互聯—Cosmos和NULS到底有何不同?

NULS的微服務模塊化

結合分層設計和模塊化,NULS和Cosmos都做到了,開發區塊鏈只需要完成特定功能的業務開發,不需要關心區塊鏈的底層,大幅度降低了造鏈的難度和成本。

但是NULS和Cosmos在整體架構上有很大的不同。Cosmos採用的是單體架構,當開發者進行開發和測試時,需要下載所有代碼,開發測試相對複雜。針對功能擴展,Cosmos用插件進行實現,這會受到開發語言的限制。

NULS採用的是微服務架構,模塊間沒有代碼上的依賴,每個模塊可以獨立開發和部署,對開發者相對更友好。進行功能擴展時,是對單一模塊的開發或升級,也不會受到開發語言的限制。

由於整體架構的不同,也導致使用NULS和Cosmos進行造鏈會有許多差別。例如在進行模塊化拆分時,Cosmos將共識機制放到了底層Tendermint Core中,而NULS則將共識機制放到了區塊鏈基礎服務層,獨立開發成共識模塊。這意味著使用Cosmos開發的區塊鏈,共識機制只能是Tendermint,使用NULS開發的區塊鏈,可以採用不同的共識機制。NULS獨立的共識模塊,可以滿足更多場景的業務需求,讓企業可以根據業務需求進行靈活地調整。

NULS採用的微服務架構,相比Cosmos的單體架構而言,模塊化程度更高,有利於系統的功能擴展,可以更靈活地應對不同的業務場景,當需要對某個模塊進行升級或者替換時,不會對其他模塊產生影響,能夠保證整個系統的穩定性。對於業務複雜的區塊鏈來說,微服務可以更好的將業務進行拆分,保證業務數據的清晰,降低企業運營系統的難度,節省成本。

3. 共識機制

Cosmos的共識機制叫Tendermint,是由Cosmos的核心開發團隊Tendermint研發的。NULS的共識機制叫POC(Proof of Credit),是由NULS核心團隊研發的。POC和Tendermint都是POS類型的共識算法,並且都結合了拜占庭容錯。

在POC和Tendermint中,都分為驗證人和委託人兩種角色。驗證人通過質押Token的方式建立節點,參與共識,獲得獎勵,委託人把Token委託給節點,同樣可以獲得獎勵。參與共識的Token,會暫時限制流通,想要流通Token時,也可以很快退出。

目前Cosmos Hub的主網剛完成上線,還不能進行Token流通,第一階段,Cosmos可以支持100個驗證人節點。NULS的主網已於2018年7月完成了上線,目前主網運行穩定,節點數目並沒有特定的數量限制。

CSDN首頁推薦∣一鍵造鏈,萬鏈互聯—Cosmos和NULS到底有何不同?

Cosmos主網數據

CSDN首頁推薦∣一鍵造鏈,萬鏈互聯—Cosmos和NULS到底有何不同?

NULS主網數據

在DPOS中,出塊節點只有超級節點,委託人不會得到共識獎勵,參與共識的Token並不會限制流通。與DPOS相比,POC和Tendermint可以讓更多節點參與出塊,鼓勵更多人參與網絡的維護,保證系統的去中心化。並且共識Token不能流通,可以提高網絡的安全性。與比特幣的POW相比,POC和Tendermint參與挖礦的門檻足夠低,還可以節省大量能源。

對於區塊鏈來說,分區容錯是必須要考慮的,POC和Tendermint在應對分區時,兩者有所不同。當網絡出現分區時,Tendermint網絡更側重一致性,如果分區導致參與投票的節點不足2/3,Tendermint網絡是無限等待的,這意味著Tendermint的網絡可能會卡住。而POC網絡在出現分區時,不同的分區都可以正常出塊,當網絡恢復時,會進行合併,遵循最終一致性。

尤其對於公鏈來說,保證可用性非常重要。當網絡出現分區時,如果網絡不能使用,會導致大量應用和交易不能使用,這會影響企業的正常業務運轉,對於擁有眾多用戶的公鏈來說,這會導致交易和大量DAPP不能使用,這會帶來不可預估的影響。

4. 造鏈

在對於造鏈來說,NULS和Cosmos在理念上幾乎是一致的。都是通過對底層進行封裝,將業務層進行模塊化拆分,讓造鏈者只需要關注特定的業務功能開發,就可以實現造鏈,從而降低造鏈難度,節約開發時間和成本。

但是Cosmos採用的是單體架構,使用Cosmos造鏈時,需要在Cosmos SDK的基礎上,通過開發插件的方式,實現其他特定業務模塊。而NULS採用的是微服務架構,使用NULS造鏈時,可以獨立地開發特定的業務模塊,然後與NULS模塊倉庫的通用模塊進行對接即可,並且每個模塊可以有多個可替換的插件,進行業務功能的擴展。

相比Cosmos的插件式造鏈,NULS的模塊化造鏈,不會受到開發語言的限制,開發和測試過程更加簡單,具備更高的靈活性,能夠滿足更多企業的定製化需求。

對於業務簡單的系統來說,甚至可以直接與NULS進行對接,不需要任何額外的開發工作。對於大型區塊鏈系統來說,微服務具備更高的可擴展性,能保證系統的穩定性,節省大量運營成本。

從Cosmos和NULS的整體路線圖中,我們可以看出Cosmos與NULS的發展定位有所不同。Cosmos整體更側重於跨鏈領域的發展和研究,而NULS將發展分為造鏈和跨鏈兩個重要發展階段。造鏈階段,除了模塊化造鏈,NULS還計劃推出核心產品鏈工廠,希望實現“一鍵造鏈”

NULS的鏈工廠基於NULS模塊倉庫實現。NULS的模塊倉庫除了包含通用的功能模塊外,還包含了由不同開發者開發的業務模塊,意味著企業使用鏈工廠造鏈時,還可以選擇一些適合自己的業務模塊,進一步降低開發成本。

CSDN首頁推薦∣一鍵造鏈,萬鏈互聯—Cosmos和NULS到底有何不同?

使用NULS的鏈工廠造鏈,需要4個步驟:

1. 在鏈工廠的模塊倉庫中,選擇需要的模塊;

2. 進行系統參數配置,填寫創世塊中的內容;

3. 填寫鏈介紹和發鏈方式;

4. 交納保證金,廣播造鏈交易。

CSDN首頁推薦∣一鍵造鏈,萬鏈互聯—Cosmos和NULS到底有何不同?

鏈工廠本身也是一條區塊鏈,鏈工廠的節點可以同時運行多條鏈,這樣使用鏈工廠搭建的區塊鏈,就可以直接選擇鏈工廠的節點,運行自己的區塊鏈,省去了搭建區塊鏈節點運行環境的麻煩,同時成本大幅降低。當然,企業也可以選擇自己創建節點,然後運行區塊鏈。

Cosmos整體更側重跨鏈領域的發展,在造鏈領域,Cosmos通過Cosmos SDK實現了插件式造鏈。NULS將發展階段分為造鏈和跨鏈兩個階段,在造鏈階段,NULS實現了模塊化造鏈,未來計劃通過核心產品鏈工廠,實現“一鍵造鏈”。

5. 跨鏈

NULS和Cosmos的跨鏈解決方案,整體思路大同小異。為了實現鏈與鏈之間的價值互通,NULS和Cosmos都採用了中繼的方式。

在實現上,Cosmos通過Cosmos Hub作為橋樑,讓其他平行鏈實現互通,NULS通過NULS主網作為橋樑,讓其他平行鏈實現互通,並且NULS會對跨鏈交易進行拜占庭,80%節點確認後交易才會打包,並且跨鏈交易不會丟失,合併分區網絡後,依然會恢復對交易的確認。對於數據和其他業務場景的互通需求,NULS和Cosmos都可以通過增加其他中繼鏈的方式來實現。

CSDN首頁推薦∣一鍵造鏈,萬鏈互聯—Cosmos和NULS到底有何不同?

Cosmos跨鏈解決方案

CSDN首頁推薦∣一鍵造鏈,萬鏈互聯—Cosmos和NULS到底有何不同?

NULS的跨鏈解決方案

對於通過NULS模塊倉庫和Cosmos SDK直接搭建的區塊鏈,NULS和Cosmos都有自己的跨鏈協議,可以直接實現跨鏈功能。對於生態外的區塊鏈(簡稱外鏈),例如比特幣和以太坊,NULS和Cosmos都採用了間接互通的方式。NULS提供了協議轉換層,外鏈可以通過與協議轉換層對接,協議轉換層可以與主網對接,從而間接的實現鏈與鏈之間的互通。Cosmos需要使用Cosmos SDK開發一條代理鏈,由代理鏈實現與外鏈和Cosmos Hub的互通,從而間接實現與其他平行鏈的互通。

6. 總結

1、 NULS和Cosmos都採用了分層設計,通過模塊化的開發方式,降低企業的造鏈難度。不同的是兩者在技術選型上有著很大差別,Cosmos採用的是單體架構,NULS採用的是微服務架構;

2、 單體架構和微服務架構,有著不同的適用場景。對於小型的區塊鏈系統來說,Cosmos的單體架構可能更適合,但對於大型的區塊鏈系統來說,NULS的微服務架構能夠更好的進行業務拆分,提升系統的可擴展性,降低企業的運行成本;

3、 NULS和Cosmos對造鏈的支持程度有所不同,Cosmos實現的是基於Cosmos SDK的插件式造鏈,NULS希望通過核心產品鏈工廠實現“一鍵造鏈”;

4、 NULS和Cosmos都採用的是POS類型的共識機制,對每個參與共識的持幣者,都有共識獎勵,能夠激勵更多的人參與網絡的維護,提高了系統的安全性,同時參與挖礦的門檻很低,能夠有效的保證區塊鏈的去中心化;

5、 NULS和Cosmos都佈局了造鏈和跨鏈,兩者的整體思路有許多相似之處,未來NULS和Cosmos的成功,會對整個區塊鏈行業的發展產生重要的影響。

黃連金

著名區塊鏈專家,核聚鏈首席科學家、美國 DistributedApps CEO、中國電子學會區塊鏈分會專家委員、NULS顧問。

向文波

Java軟件工程師,Cryptotech-Writer,NULS Core Team成員。專注於區塊鏈技術研究和區塊鏈解決方案。

冉小波

NULS聯合發起人&社區負責人 長期從事區塊鏈技術和項目前景研究;區塊鏈早期的參與和佈道者,擁有豐富的社區建設運營經驗,負責NULS社區治理研究和運營。

參考文獻:

《NULS的一鍵造鏈和跨鏈生態》 向文波 NULS中文社區;

《軟硬核:徹底讀懂 Cosmos 如何一鍵發鏈與萬鏈互聯》李畫 鏈聞ChainNews;

https://www.csdn.net/article/a/2019-04-08/15971580

CSDN首頁推薦∣一鍵造鏈,萬鏈互聯—Cosmos和NULS到底有何不同?




分享到:


相關文章: