NULS 項目成立于2017年9月27日,是一個全球開源社區(qū)項目,主網于2018年7月上線。NULS 在創(chuàng)立之初,就致力于讓區(qū)塊鏈更簡單。為了達到這個目標,從 NULS1.0開始,NULS 就采用了模塊化的開發(fā)方式,想要幫助人們用更簡單的方式進行造鏈,并且實現(xiàn)多鏈并行的跨鏈生態(tài)。
但是 NULS1.0 并沒有把模塊化做到極致,為了進一步提高模塊的獨立性,為之后的造鏈和跨鏈打下堅實的基礎,NULS 核心團隊和 NULS CCC ( NULS Code Craft Council )成員,創(chuàng)造性的將微服務架構與區(qū)塊鏈結合,設計了 NULS2.0的全新架構。
1. NULS2.0 的模塊化造鏈
1.1. 分層設計
絕大多數(shù)有造鏈需求的企業(yè),都是希望使用區(qū)塊鏈解決自己的業(yè)務問題,就像絕大多數(shù)常見的系統(tǒng)一樣,企業(yè)并不希望花費過多精力在底層開發(fā)上。為了讓企業(yè)在造鏈時,只需專注于自己的業(yè)務,NULS 采用了分層設計,將業(yè)務層從底層中分離出來。
NULS的分層設計總共分為三層,分別是微服務基礎架構層、區(qū)塊鏈基礎服務層、DAPP 應用層。
為了讓 NULS 的模塊化更極致,實現(xiàn)模塊的完全獨立,提高企業(yè)在造鏈時的定制化程度,NULS 在分層設計中引入了微服務架構。
引入微服務之后,企業(yè)已經可以只專注于業(yè)務的開發(fā)了,但是為了進一步降低開發(fā)成本,降低開發(fā)的復雜度,NULS為每個服務模塊都提供了服務基礎庫,幫助處理模塊間的通信消息等基礎工作。
1.2. 微服務基礎架構層
第一層是微服務基礎架構層,是 NULS2.0 的核心,被稱作 NULSTAR,是一個區(qū)塊鏈微服務底層框架,主要用于實現(xiàn)微服務架構所需要的服務發(fā)現(xiàn)、服務注冊、服務通信等功能。
有了 NULSTAR,想要基于微服務架構造鏈的企業(yè),就不再需要關注底層的開發(fā)工作,可以直接在 NULSTAR 上開發(fā)自己需要的區(qū)塊鏈。
為了減少造鏈企業(yè)的工作量,NULS 在 NULSTAR 中,還加入了許多常見系統(tǒng)需要用到的通用功能,例如報表、授權、更新器、翻譯器等。這樣企業(yè)需要使用相應功能時,就可以直接使用 NULSTAR 提供的功能,不需要自己再進行開發(fā)。
1.3. 區(qū)塊鏈基礎服務層
NULS2.0 的第二層是區(qū)塊鏈基礎服務層,在這一層 NULS使用微服務架構,將區(qū)塊鏈系統(tǒng)劃分成了不同的模塊,這些模塊主要分為通用模塊和業(yè)務模塊兩種。
通用模塊是所有區(qū)塊鏈都需要使用的核心模塊,包括網絡模塊、賬本模塊、賬戶模塊、交易模塊、共識模塊、區(qū)塊管理模塊等。業(yè)務模塊是企業(yè)根據(jù)自己的業(yè)務需求開發(fā)的模塊。
企業(yè)使用 NULS 進行模塊化造鏈時,只需要從 NULS 的模塊倉庫中,選擇通用模塊,搭建一條基礎鏈,然后將自己開發(fā)的業(yè)務模塊與基礎鏈對接即可。
因為 NULS 采用了微服務架構, 所以模塊具有更高的獨立性,模塊間沒有任何代碼上的依賴,每一個模塊都可獨立部署,并對外提供服務。
這對于使用 NULS 進行模塊化造鏈的企業(yè)來說,具有極高的商業(yè)價值。大型企業(yè)的業(yè)務往往非常復雜,使用 NULS 造鏈,可以將業(yè)務進行很好的拆分,降低系統(tǒng)的復雜度,讓系統(tǒng)維護更簡單;當企業(yè)需要對區(qū)塊鏈進行迭代時,只需要對相應的模塊進行開發(fā),然后替換掉原來的模塊即可,不會對其他模塊產生任何影響,保證系統(tǒng)的穩(wěn)定性;當企業(yè)需要增加新的業(yè)務功能時,只需要開發(fā)新的業(yè)務模塊,然后添加到系統(tǒng)中即可,這是一種非常簡單的開發(fā)方式,能夠幫助企業(yè)降低運營成本。除此之外,企業(yè)并不會受到 NULS 所使用的開發(fā)語言的限制,可以使用任何語言進行業(yè)務模塊的開發(fā)。
如果企業(yè)要定制的區(qū)塊鏈,想采用不同于 NULS 的共識機制,這也是可以的,企業(yè)只需要開發(fā)出自己的共識模塊,然后替換掉 NULS 提供的共識模塊即可。和其他造鏈項目相比,使用 NULS 不會受限于同樣的共識機制,真正做到了高度可定制。
1.4. DAPP 應用層
為了幫助企業(yè)建設自己的區(qū)塊鏈生態(tài), NULS2.0 還設計了第三層——DAPP 應用層。
想要在基于 NULS 搭建的區(qū)塊鏈上開發(fā) DAPP 的開發(fā)者,只需要通過 NULSTAR 中的連接器(connector)提供的接口,就可以實現(xiàn)和區(qū)塊鏈的對接,輕松的獲取各種服務。并且 NULS 還會在第三層中,為 DAPP 提供基礎應用程序庫,幫助開發(fā)者處理網絡消息和通信協(xié)議等,讓開發(fā)者可以更加專注于 DAPP 的業(yè)務開發(fā),進一步降低 DAPP 的開發(fā)成本。
2.一鍵造鏈
NULS 認為未來會有越來越多的企業(yè)需要使用區(qū)塊鏈,用于解決自己的業(yè)務問題,盡管 NULS2.0 的模塊化造鏈,已經可以很大程度上降低企業(yè)的造鏈成本了,但是依然需要進行業(yè)務模塊的開發(fā)。對于資金緊缺,技術實力薄弱的中小企業(yè)來說,依然存在許多困難。為了更快的推進區(qū)塊鏈技術的落地應用,幫助企業(yè)解決造鏈難,成本高的問題,NULS 希望通過核心產品鏈工廠,利用圖形化界面,實現(xiàn)“一鍵造鏈”。
鏈工廠基于 NULS 模塊倉庫實現(xiàn)。NULS 模塊倉庫由 NULS 核心團隊和 NULS 技術社區(qū)共同維護,內置了 NULS開發(fā)的基礎模塊。其他開發(fā)者也可以加入到模塊的開發(fā)中,開發(fā)者只需要將開發(fā)的模塊提交到代碼庫中,通過審核之后,就可以放置到模塊倉庫中,供自己和他人使用。隨著模塊倉庫的不斷完善,將會包含更多的通用模塊和業(yè)務模塊,這樣 NULS 模塊倉庫將會成為適用于不同行業(yè)的基礎開發(fā)庫,可以為更多企業(yè)提供完善的區(qū)塊鏈解決方案。
鏈工廠本身是一條區(qū)塊鏈,鏈工廠的節(jié)點可以同時運行多條鏈,這樣使用鏈工廠搭建的區(qū)塊鏈,就可以直接選擇鏈工廠的節(jié)點,運行自己的區(qū)塊鏈,省去了搭建區(qū)塊鏈節(jié)點運行環(huán)境的麻煩,同時成本大幅降低。
通過鏈工廠實現(xiàn)造鏈,只需要簡單的4個步驟就可以完成:
第一,你需要在鏈工廠的模塊倉庫中,選擇需要的模塊;
第二,你需要進行基本的系統(tǒng)參數(shù)配置,填寫創(chuàng)世塊中的內容;
第三,你需要填寫鏈介紹的和發(fā)鏈方式,例如鏈的主要用途,是否選擇鏈工廠的節(jié)點來直接運行;
第四,你需要交納保證金,廣播一筆造鏈交易,等到交易確認后,新鏈就搭建成功了。
如果你選擇直接使用鏈工廠的節(jié)點,來運行你的區(qū)塊鏈,節(jié)點會判斷你選擇的模塊是否已經存在,如果不存在,就會從模塊倉庫中先進行下載,下載完畢,你的鏈就會直接運行起來。當然,你也可以選擇,自己創(chuàng)建節(jié)點,來運行你的區(qū)塊鏈。
通過鏈工廠提供的圖形化界面,企業(yè)和開發(fā)者只需要經過簡單的配置,就可以簡單高效地實現(xiàn)造鏈,降低了造鏈的成本,節(jié)省了大量的開發(fā)時間。鏈工廠的“一鍵造鏈”將會加快區(qū)塊鏈商業(yè)應用的落地,讓我們看到多鏈并行的場景。
3.NULS的跨鏈生態(tài)
未來將會出現(xiàn)越來越多的區(qū)塊鏈,那么實現(xiàn)鏈與鏈之間互通,讓價值和數(shù)據(jù)都流通起來就成為一個必須要解決的問題,為了達到這個目的,NULS 提供了自己的跨鏈解決方案。
3.1. NULS 跨鏈解決方案
NULS 的跨鏈基于 NULS 主網實現(xiàn),所有區(qū)塊鏈都只和 NULS 主網通信,交易的驗證由 NULS 主網負責,各平行鏈信任 NULS 主網的驗證結果。
利用 NULS 開發(fā)的區(qū)塊鏈,如果想要實現(xiàn)跨鏈功能,可以直接選擇 NULS 提供的跨鏈模塊,組裝到系統(tǒng)中。NULS的跨鏈模塊實現(xiàn)了 NULS 跨鏈協(xié)議,可以輕松的實現(xiàn)與主網互通,然后通過 NULS 主網將資產轉移到其他平行鏈中。
針對以太坊和比特幣等,不受 NULS 影響的公鏈,想要與NULS 生態(tài)中的區(qū)塊鏈進行互通,NULS 提供了通用的協(xié)議轉換層。協(xié)議轉換層可以與以太坊等公鏈互通,又可以與 NULS 主網進行互通,從而間接實現(xiàn)了與 NULS 生態(tài)中其他平行鏈的互聯(lián)互通。
3.2. 跨鏈生態(tài)的形成
通過 NULS 搭建的區(qū)塊鏈,由于采用了微服務架構,可以直接通過添加內置 NULS 跨鏈協(xié)議的跨鏈模塊,輕松地實現(xiàn)跨鏈,與其他平行鏈實現(xiàn)價值和數(shù)據(jù)的互通。
對于其他公鏈,通過 NULS 協(xié)議轉換層,也可以實現(xiàn)與 NULS 主網的互通,從而間接的與 NULS 生態(tài)中的其他平行鏈實現(xiàn)互聯(lián)互通。
NULS 核心團隊已于2019年3月28日,發(fā)布了 NULS2.0的第一個 Alpha 版本盤古v1.0,目前企業(yè)和個人已經可以基于 NULS2.0 進行模塊化造鏈。未來鏈工廠的誕生,將會幫助企業(yè)和個人更輕松的實現(xiàn)“一鍵造鏈”,屆時,NULS 生態(tài)中,將會出現(xiàn)多鏈并行的場景,而這將會為跨鏈生態(tài)的形成打下堅實的基礎。
4.總結
1、 NULS通過微服務架構,從代碼層實現(xiàn)了模塊的解耦,不會受到開發(fā)語言的限制,使用NULS搭建的區(qū)塊鏈將會具備良好的可擴展性,有利于后續(xù)的迭代和維護,降低企業(yè)的運營成本;
2、 NULS將基于NULS模塊倉庫,開發(fā)核心產品鏈工廠,實現(xiàn)“一鍵造鏈”,幫助企業(yè)和開發(fā)者高效地搭建自己的區(qū)塊鏈;
3、 NULS通過模塊化造鏈,到“一鍵造鏈”,會加速區(qū)塊鏈商業(yè)應用的落地,NULS生態(tài)中將出現(xiàn)多鏈并行的場景,這是NULS跨鏈生態(tài)形成的堅實基礎。未來通過NULS的跨鏈解決方案,將會實現(xiàn)萬鏈互聯(lián)的NULS跨鏈生態(tài)。
評論