去中心化應(yīng)用(DAPP)都需要搭建在某個底層鏈上。不同的業(yè)務(wù)場景對底層公鏈的性能、共識機制等有不同的要求,某的應(yīng)用甚至需要搭建自己的一條底層鏈(包括私有鏈、聯(lián)盟鏈和公有鏈等)。
然而,開發(fā)一條適配自身業(yè)務(wù)底層鏈往往需要一定的技術(shù)門檻和時間。有很多具有落地場景的業(yè)務(wù)并無了解區(qū)塊鏈底層的技術(shù)人員,同時業(yè)務(wù)需要盡快上線,即便有也難以在短時間內(nèi)搭建一條完全合適的底層鏈。
NULS就打算將底層鏈“模塊化”,降低開發(fā)者快速定制自身底層鏈的門檻。
NULS是一個可定制的區(qū)塊鏈基礎(chǔ)設(shè)施,是全球性區(qū)塊鏈開源社區(qū)項目,基金會注冊在新加坡。團隊搭建了一條主鏈,同時將底層鏈擁有主要組成部分模塊化,這些組件都是可重用開源的,開發(fā)者可以通過組裝和修改不同的模塊,來定制一條不同的底層鏈。
NULS發(fā)起人張星表示,原來比特幣和以太坊,“如果你要改它的底層,就會牽一發(fā)而動全身”。NULS團隊有點像將單體結(jié)構(gòu)的底層鏈微服務(wù)化,以接口的形式對外提供服務(wù),同時各個微服務(wù)組件的代碼是開源的。底層架構(gòu)需要升級,也可以直接升級某個模塊,而不需要把整條鏈再寫一遍。
發(fā)起人和白皮書從四個方面總結(jié)了NULS的特點:
1、共識機制:
NULS將其主鏈的共識機制命名為POC(Proof-Of-Credit,基于信用的共識機制),這個機制有點像DPOS。持幣少的散戶可以將幣委托給代理人,代理人可以形成節(jié)點參與共識。
節(jié)點的歷史出塊數(shù)量、違規(guī)情況和出塊正確情況影響節(jié)點信用。節(jié)點信用達標(biāo)的情況下,鎖定一定保證金即可加入共識,共識節(jié)點重新排序后每輪輪流出塊。
POC共識機制中代理人和委托人角色的不同
2、模塊化架構(gòu):
張星介紹,目前Nuls有賬本模塊、網(wǎng)絡(luò)模塊,存儲模塊,帳戶模塊、共識模塊、跨鏈共識模塊、智能合約模塊等九個模塊,使用Nuls在線模塊倉庫管理。不同模塊通過接口調(diào)用或事件監(jiān)聽的方式通訊,開發(fā)者不需要了解底層。
開發(fā)者可以根據(jù)自己對性能和安全的要求,改變共識機制、區(qū)塊大小、打塊機制和存儲機制等,把底層鏈建成公有鏈、聯(lián)盟鏈、私有鏈等不同形式。
3、多鏈并行:
多鏈并行是提高區(qū)塊鏈性能的一個機制,弱化了主鏈的概念,不同的鏈可以處理不同業(yè)務(wù),理論上可以不斷平行擴展。Nuls社區(qū)會針對不同子鏈開發(fā)不同的跨鏈共識模塊,Nuls用跨鏈共識模塊將不同的鏈連接在一起從而實現(xiàn)跨鏈通訊。
主鏈部分節(jié)點與子鏈部分節(jié)點組成跨鏈共識域,跨鏈共識域內(nèi)節(jié)點對跨鏈交易達成共識,將跨鏈數(shù)據(jù)協(xié)議轉(zhuǎn)換后分享跨鏈數(shù)據(jù)到其他對等節(jié)點。
4、智能合約:
根據(jù)項目白皮書,Nuls 內(nèi)置 NulsVM 處理智能合約。智能合約模塊處于對外服務(wù)模塊(如 RPC 模塊)和底層設(shè)施模塊(如網(wǎng)絡(luò)模塊、存儲模塊、賬戶模塊等)之間,后者為其提供底層支撐。Nuls 設(shè)計了一些智能合約模板,其解釋器將支持多種高級編程語言,開發(fā)者可自由選擇。