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