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