基于區(qū)塊鏈技術(shù)的跨鏈分布式計(jì)算網(wǎng)絡(luò)Zoro介紹
掃描二維碼
隨時(shí)隨地手機(jī)看文章
Zoro包含 ZoroChain 和 ApplicationEngine 兩個(gè)部分,其中ZoroChain 是由 RootChain、MappingChain、ApplicaTIonChain 的鏈群組成的一套跨鏈解決方案;ApplicaTIonEngine 是一套基于.NetCore的、架設(shè)在 ZoroChain 之上的應(yīng)用運(yùn)行環(huán)境,是 ZoroChain 的計(jì)算資源節(jié)點(diǎn),ApplicaTIon Engine 為應(yīng)用提供了一套分布式計(jì)算運(yùn)行環(huán)境,應(yīng)用可以通過(guò)其方便的訪問(wèn)區(qū)塊鏈網(wǎng)絡(luò)以及調(diào)用網(wǎng)絡(luò)中的各種計(jì)算資源。
Zoro的目標(biāo)是搭建一套針對(duì)游戲行業(yè)這個(gè)垂直領(lǐng)域的基于區(qū)塊鏈技術(shù)的跨鏈分布式計(jì)算網(wǎng)絡(luò)環(huán)境,讓區(qū)塊鏈技術(shù)無(wú)論從運(yùn)行效率還是功能模塊上都滿足游戲行業(yè)的開(kāi)發(fā)需求,讓開(kāi)發(fā)者可以方便高效的開(kāi)發(fā)、發(fā)布區(qū)塊鏈游戲,提供一站式的跨鏈解決方案。
ZoroChain
ZoroCore
ZoroCore 是 ZoroChain 的核心,是為 Zoro 中所有其他模塊提供共識(shí)、驗(yàn)證、區(qū)塊持久化等區(qū)塊鏈核心計(jì)算服務(wù)的基礎(chǔ)模塊。
SpringThunder Consensus:ZoroCore 提供了一套基于節(jié)點(diǎn)可靠性加權(quán) VRF-BFT 的 SpringThunder 共識(shí)算法(ST Consensus),主要思路是通過(guò)算法對(duì)節(jié)點(diǎn)可靠性進(jìn)行評(píng)估,以可靠性排序來(lái)代替其他公鏈常用的節(jié)點(diǎn)選舉工作,或者可以說(shuō),以機(jī)器算法來(lái)代替人工選舉節(jié)點(diǎn)的工作,我們相信,算法選取得當(dāng)?shù)那闆r下,機(jī)器將比人更加可靠。
STC 算法中,節(jié)點(diǎn)的可靠性將由兩個(gè)重要參數(shù)影響,一個(gè)是節(jié)點(diǎn)抵押,一個(gè)是工作積分證明,兩者決定了節(jié)點(diǎn)的可靠性排序,STC 將通過(guò) VRF-BFT 算法根據(jù)可靠性加權(quán)對(duì)節(jié)點(diǎn)進(jìn)行記賬權(quán)篩選,同時(shí)提供一套監(jiān)測(cè)機(jī)制,對(duì)作弊行為進(jìn)行懲罰以進(jìn)一步提高安全性。
節(jié)點(diǎn)抵押:需要參與共識(shí),則首先要成為節(jié)點(diǎn),成為節(jié)點(diǎn)需要抵押一定金額代幣,一個(gè)節(jié)點(diǎn)可以有多個(gè)持幣用戶參與抵押,持幣用戶不想成為節(jié)點(diǎn)可將代幣抵押至其他節(jié)點(diǎn)來(lái)分享出塊收益,若節(jié)點(diǎn)犯錯(cuò)則用戶有損失代幣風(fēng)險(xiǎn)。具體參見(jiàn) ZID 章節(jié)說(shuō)明。
工作積分證明:節(jié)點(diǎn)曾經(jīng)參與的交易確認(rèn)、共識(shí)出塊將換算成積分累計(jì)至該節(jié)點(diǎn),工作積分是節(jié)點(diǎn)穩(wěn)定參與網(wǎng)絡(luò)貢獻(xiàn)的記錄,是節(jié)點(diǎn)出塊競(jìng)爭(zhēng)的重要參數(shù)。工作積分每 604800 個(gè)塊調(diào)整一次,調(diào)整算法為:NewWorkload = 0.9*OldWorkload,通過(guò)調(diào)整算法可以保持最近的積分權(quán)重比歷史積分權(quán)重高。
VRF-BFT : VRF-BFT 全稱是 Verifiable Random FuncTIon –Byzantine Fault Tolerance,即可驗(yàn)證隨機(jī)函數(shù)拜占庭容錯(cuò)算法,STC中采用該算法作為共識(shí)算法。網(wǎng)絡(luò)中所有節(jié)點(diǎn)列表將按 fx(抵押, 工作積分證明)排序,每次競(jìng)爭(zhēng)記賬權(quán)時(shí),將取列表中前 100 個(gè)節(jié)點(diǎn)(最少不能低于 4 個(gè),否則共識(shí)失?。┳鳛閭溥x節(jié)點(diǎn)進(jìn)行 VRF-BFT 共識(shí)。共識(shí)流程簡(jiǎn)述如下:
1、 每一輪出塊時(shí),所有節(jié)點(diǎn)按 fx(抵押, 工作積分證明)更新節(jié)點(diǎn)列表;
2、 根據(jù) VRF 算法,從列表前 100 個(gè)節(jié)點(diǎn)中選取 1 個(gè)提案節(jié)點(diǎn)進(jìn)行提案;
3、 根據(jù) VRF 算法,從列表前 100 個(gè)節(jié)點(diǎn)中選取多個(gè)驗(yàn)證節(jié)點(diǎn)對(duì)提案進(jìn)行驗(yàn)證;
4、 包含提案節(jié)點(diǎn)在內(nèi),超過(guò) 2/3 的節(jié)點(diǎn)驗(yàn)證通過(guò),則由提案節(jié)點(diǎn)廣播出塊,否則重復(fù)第 2 步,重新選取提案節(jié)點(diǎn)。
懲罰機(jī)制:對(duì)于已經(jīng)確認(rèn)的交易,若存在異議,則可由監(jiān)測(cè)節(jié)點(diǎn)發(fā)起驗(yàn)證,驗(yàn)證交易需提交保證金,由全網(wǎng) 2/3 以上備選節(jié)點(diǎn)表決,若驗(yàn)證失敗,則扣除監(jiān)測(cè)節(jié)點(diǎn)保證金,若驗(yàn)證成功則根據(jù)不同程度錯(cuò)誤,將扣除一定比例抵押代幣給監(jiān)測(cè)節(jié)點(diǎn)同時(shí)清除一定比例工作積分。
1、 驗(yàn)證交易將在交易池中由每輪共識(shí)中的提案節(jié)點(diǎn)和驗(yàn)證節(jié)點(diǎn)進(jìn)行驗(yàn)證并投票標(biāo)記并記錄至當(dāng)前區(qū)塊;
2、 當(dāng)一個(gè)驗(yàn)證交易有超過(guò) 67 個(gè)備選節(jié)點(diǎn)表決為真或假后,表決結(jié)束,執(zhí)行驗(yàn)證懲罰。
3、 當(dāng)一個(gè)節(jié)點(diǎn)存在未完成標(biāo)記的驗(yàn)證請(qǐng)求時(shí),其抵押代幣不能釋放。
4、 節(jié)點(diǎn)被判斷作弊,則需扣除 max(該交易價(jià)值代幣,1%抵押代幣)的節(jié)點(diǎn)抵押代幣,同時(shí)扣除代幣則算的相應(yīng)工作積分??鄢鷰弄?jiǎng)勵(lì)至監(jiān)測(cè)節(jié)點(diǎn)賬戶。
5、 驗(yàn)證交易發(fā)起時(shí),監(jiān)測(cè)節(jié)點(diǎn)需提交 max(100,交易價(jià)值代幣相同的保證金),若節(jié)點(diǎn)被判斷為未作弊,則保證金將被沒(méi)收,反饋給被驗(yàn)證節(jié)點(diǎn)。
ZoroChain 鏈群
ZoroChain 由 3 個(gè)獨(dú)立區(qū)分的部分構(gòu)成,每個(gè)部分都是一條或多條獨(dú)立的基于ZoroCore實(shí)現(xiàn)的鏈,分別是:RootChain、MappingChain、ApplicationChain。
RootChain
RootChain 是 ZoroChain 的根鏈,全網(wǎng)只有一條,MappingChain和 ApplicationChain 都由 RootChain 管理,ZoroChain 內(nèi)部跨鏈的交易都需要通過(guò) RootChain 來(lái)完成,具體參見(jiàn) ApplicatioinChain 的“應(yīng)用鏈跨鏈”章節(jié)。
RootChain的節(jié)點(diǎn)叫“核心節(jié)點(diǎn)”,其組成了ZoroChain的核心網(wǎng)絡(luò),RootChain 的權(quán)限和安全級(jí)別在 ZoroChain 中是最高的。
MappingChain
MappingChain 是 ZoroChain 的映射鏈,其他公鏈的數(shù)據(jù)將通過(guò)映射鏈并入到 ZoroChain 中,每條公鏈對(duì)應(yīng)一條映射鏈,映射鏈由兩類節(jié)點(diǎn)組成,驗(yàn)證節(jié)點(diǎn)和觀測(cè)節(jié)點(diǎn),驗(yàn)證節(jié)點(diǎn)需同時(shí)運(yùn)行 ZoroChain 和公鏈程序(如映射以太坊的話,需運(yùn)行 geth 軟件),驗(yàn)證節(jié)點(diǎn)在收到公鏈新出塊數(shù)據(jù)后,將根據(jù) ZoroChain 設(shè)定的格式將其他公鏈塊數(shù)據(jù)轉(zhuǎn)換成 MappingChain 數(shù)據(jù)并在 MappingChain 進(jìn)行二次 STC 共識(shí),共識(shí)確認(rèn)后將廣播給其他節(jié)點(diǎn);觀測(cè)節(jié)點(diǎn)無(wú)需運(yùn)行公鏈程序,其只接收同步驗(yàn)證節(jié)點(diǎn)的共識(shí)數(shù)據(jù)。節(jié)點(diǎn)可以同時(shí)是觀測(cè)節(jié)點(diǎn)和驗(yàn)證節(jié)點(diǎn)。
數(shù)據(jù)映射:MappingChain 與側(cè)鏈類似,都是以公鏈為主鏈建立一條平行側(cè)鏈,所不同的地方在于,MappingChain 會(huì)將公鏈交易數(shù)據(jù)“翻譯”一遍映射至 ZoroChain 空間,其交易數(shù)據(jù)格式將轉(zhuǎn)換成Zoro 設(shè)定的格式(一般是交易結(jié)果集,暫時(shí)無(wú)法同步非標(biāo)準(zhǔn)交易或者非標(biāo)準(zhǔn)智能合約操作),映射完成之后,除了跨鏈交易部分的數(shù)
據(jù),公鏈上所有交易數(shù)據(jù)都可以在 ZoroChain 空間內(nèi)部通過(guò)MappingChain 得到快速驗(yàn)證。
二次共識(shí):MappingChain 的驗(yàn)證節(jié)點(diǎn)會(huì)通過(guò)其他公鏈接口獲取公鏈交易數(shù)據(jù)和塊數(shù)據(jù),所獲取的數(shù)據(jù)將轉(zhuǎn)換成 ZoroChain 格式后在 MappingChain 網(wǎng)絡(luò)內(nèi)廣播,基于 ZoroCore 的 STC 算法進(jìn)行二次共識(shí)并出塊,需要指出的是,公鏈的交易并不會(huì)在 MappingChain上再次執(zhí)行,而是會(huì)被翻譯成結(jié)果集再在 MappingChain 上共識(shí)并記錄。
舉例來(lái)說(shuō),如果有一筆交易是 20 個(gè) ERC20 代幣 XCoin 在Ethereum 上從 A 賬戶轉(zhuǎn)移到 B 賬戶,其在以太坊上的交易執(zhí)行過(guò)程是通過(guò) EVM 執(zhí)行代幣智能合約,通過(guò) put 更改存儲(chǔ)區(qū)數(shù)據(jù)來(lái)完成的;那么該交易在 MappingChain 上進(jìn)行二次共識(shí)的過(guò)程并不會(huì)執(zhí)行 EVM 智能合約,而只是簡(jiǎn)單的轉(zhuǎn)換為 A 賬戶在 XCoin 地址下的數(shù)值減 20,B 賬戶在 XCoin 地址下的數(shù)值加 20。
MappingChain 啟動(dòng)階段只支持公鏈的標(biāo)準(zhǔn)轉(zhuǎn)賬交易映射,包括各個(gè)公鏈的標(biāo)準(zhǔn)代幣合約交易映射,未來(lái)將擴(kuò)展到 NFT 及其他廣泛被采用的標(biāo)準(zhǔn)化合約。
安全性問(wèn)題:MappingChain 的安全性取決于驗(yàn)證節(jié)點(diǎn)的數(shù)量,數(shù)量越大,則其安全性越高。同時(shí),還取決于抵押代幣的數(shù)量,一般來(lái)說(shuō) MappingChain 的驗(yàn)證節(jié)點(diǎn)不能驗(yàn)證超過(guò)其抵押代幣數(shù)量的交易以保證跨鏈交易資金安全。
公鏈資產(chǎn)跨鏈:當(dāng)用戶需要將資產(chǎn)映射到 ZoroChain 時(shí),可以在公鏈上將資產(chǎn)轉(zhuǎn)至公鏈上的映射合約或賬戶,當(dāng) MappingChain 監(jiān)測(cè)到該交易后,將通過(guò)驗(yàn)證節(jié)點(diǎn)共識(shí)下發(fā) ZoroChain 上的代幣至用戶賬戶;反之,當(dāng)用戶需要將映射資產(chǎn)轉(zhuǎn)移回公鏈時(shí),則發(fā)送銷毀映射代幣交易至 MappingChain,由驗(yàn)證節(jié)點(diǎn)共識(shí)后,將公鏈上的映射合約或賬戶代幣轉(zhuǎn)移回公鏈用戶賬戶。若監(jiān)測(cè)節(jié)點(diǎn)發(fā)現(xiàn)驗(yàn)證節(jié)點(diǎn)作弊,則可以發(fā)起重新驗(yàn)證,2/3 以上節(jié)點(diǎn)通過(guò),則所有作弊驗(yàn)證節(jié)點(diǎn)的等量押金扣除后獎(jiǎng)勵(lì)監(jiān)測(cè)節(jié)點(diǎn),若驗(yàn)證失敗,則沒(méi)收監(jiān)測(cè)節(jié)點(diǎn)保證金。
公鏈資產(chǎn)將通過(guò)超級(jí)驗(yàn)證節(jié)點(diǎn)去中心化管理,Zoro 將在各個(gè)公鏈上部署映射合約,合約用于管理轉(zhuǎn)移至 MappingChain 的資產(chǎn),合約將采用超級(jí)驗(yàn)證節(jié)點(diǎn)多簽方式管理(具體參見(jiàn)“ZID 及節(jié)點(diǎn)”章節(jié)),其將以去中心化管理的方式最大程度保持 ZoroChain 映射資產(chǎn)的安全性。
資產(chǎn)從公鏈轉(zhuǎn)移到 MappingChain 步驟
1、 賬戶 A(公鏈地址)在公鏈發(fā)起轉(zhuǎn)賬 TxP1,將 10 個(gè) NEO 轉(zhuǎn)移至映射合約;
2、 賬戶 Az(ZoroChain 地址)在 MappingChain 發(fā)起代幣映射交易 TxMap,包含 TxP1 交易信息及賬戶 A 的 NEO 公鏈簽名;
3、 驗(yàn)證節(jié)點(diǎn)對(duì) TxMap 進(jìn)行驗(yàn)證,通過(guò)映射公鏈數(shù)據(jù)對(duì) TxP1 交易信息及賬戶 A 簽名進(jìn)行驗(yàn)證,通過(guò)后發(fā)放 10 個(gè)映射 NEO代幣至賬戶 Az,完成映射。
資產(chǎn)從 MappingChain 轉(zhuǎn)移到公鏈步驟
1、 賬戶 Az(ZoroChain 地址)在 MappingChain 發(fā)起映射代幣銷毀交易 TxRed,銷毀 10 個(gè)映射 NEO,包含公鏈賬戶信息賬戶 A;
2、 驗(yàn)證節(jié)點(diǎn)對(duì) TxRed 進(jìn)行驗(yàn)證,凍結(jié)賬戶 Az 中 10 個(gè)映射NEO;
3、 凍結(jié) Az 中 10 個(gè)映射 NEO 后,超級(jí)驗(yàn)證節(jié)點(diǎn)將構(gòu)造公鏈轉(zhuǎn)賬交易 TxP2 并廣播多簽請(qǐng)求;
4、 多簽完畢后 TxP2 信息將更新至 TxRed,Az 中 10 個(gè)凍結(jié)映射 NEO 被銷毀,同時(shí) TxP2 將被提交至公鏈,10 個(gè) NEO 從公鏈映射合約轉(zhuǎn)賬至賬戶 A,完成提取。
ApplicationChain
ApplicationChain 是 ZoroChain 的應(yīng)用鏈,其主要服務(wù)于應(yīng)用,應(yīng)用鏈為多條平行鏈,可通過(guò)根鏈創(chuàng)建、查詢,應(yīng)用鏈出塊速度高(毫秒級(jí)),一段時(shí)間內(nèi)無(wú)請(qǐng)求則不出塊,應(yīng)用鏈間交易請(qǐng)求不互相等待,可并發(fā)。當(dāng)某個(gè)應(yīng)用鏈發(fā)生故障或遭受攻擊,將不影響其他應(yīng)用鏈運(yùn)行。
應(yīng)用鏈跨鏈:與公鏈資產(chǎn)跨鏈類似,需通過(guò)驗(yàn)證節(jié)點(diǎn)完成,監(jiān)測(cè)節(jié)點(diǎn)負(fù)責(zé)事后監(jiān)督懲罰,應(yīng)用鏈間資產(chǎn)轉(zhuǎn)移需通過(guò)根鏈完成。應(yīng)用鏈跨鏈驗(yàn)證節(jié)點(diǎn)需同時(shí)獲取應(yīng)用鏈與根鏈區(qū)塊數(shù)據(jù),應(yīng)用鏈驗(yàn)證節(jié)點(diǎn)以多簽形式管理應(yīng)用鏈在根鏈上的資產(chǎn)映射合約。
應(yīng)用鏈與根鏈、映射鏈都采用相同地址加密算法,所以可以互相驗(yàn)證交易信息。
根鏈到應(yīng)用鏈轉(zhuǎn)移流程如下:
1、 賬戶 A 在根鏈發(fā)起轉(zhuǎn)賬 TxP1,將 10 個(gè) ZORO 轉(zhuǎn)移至 AC1映射合約;
2、 應(yīng)用鏈 AC1 驗(yàn)證節(jié)點(diǎn)在根鏈檢查到 TxP1 后,在應(yīng)用鏈 AC1發(fā)起 ZORO 發(fā)放交易 TxSend1,其中包含 TxP1 信息;
3、 應(yīng)用鏈 AC1 共識(shí)節(jié)點(diǎn)分別驗(yàn)證 TxP1 和 TxSend1,通過(guò)后將10 個(gè) ZORO 在應(yīng)用鏈 AC1 上發(fā)放至賬戶 A。
應(yīng)用鏈到根鏈轉(zhuǎn)移流程如下:
1、 賬戶 A 從應(yīng)用鏈 AC1 發(fā)起 10 個(gè) ZORO 轉(zhuǎn)移至根鏈交易TxTrans1;
2、 應(yīng)用鏈 AC1 共識(shí)節(jié)點(diǎn)根據(jù) TxTrans1 交易凍結(jié)賬戶 A 的 10個(gè) ZORO;
3、 凍結(jié)完成后驗(yàn)證節(jié)點(diǎn)將構(gòu)造根鏈多簽轉(zhuǎn)賬請(qǐng)求 TxP2 并進(jìn)行廣播;
4、 多簽完畢后,驗(yàn)證節(jié)點(diǎn)將 TxP2 信息更新至 TxTrans1,同時(shí)銷毀凍結(jié)的應(yīng)用鏈 AC1 上賬戶 A 中的 10 個(gè) ZORO,并將TxP2 提交至根鏈,10 個(gè) ZORO 從根鏈 AC1 映射合約賬戶轉(zhuǎn)移至賬戶 A。
應(yīng)用鏈的虛擬機(jī):應(yīng)用鏈的智能合約虛擬機(jī)可以支持 OnChain 計(jì)算和 OffChain 計(jì)算,顧名思義,OnChain 計(jì)算與其他公鏈的典型智能合約虛擬機(jī)一致,合約調(diào)用的交易需由所有驗(yàn)證節(jié)點(diǎn)執(zhí)行并根據(jù)智能合約執(zhí)行結(jié)果更改鏈上狀態(tài),而 OffChain 計(jì)算所不同的是,交易體里除了包含調(diào)用合約、方法、參數(shù)之外,還包含本次調(diào)用的執(zhí)行結(jié)果,其他節(jié)點(diǎn)收到 OffChain 計(jì)算之后,將不同步執(zhí)行智能合約調(diào)用而是只簡(jiǎn)單的同步執(zhí)行結(jié)果。
OffChain 計(jì)算的安全性:由于 OffChain 計(jì)算并不會(huì)在節(jié)點(diǎn)間進(jìn)行計(jì)算過(guò)程驗(yàn)證,其大大提升同步效率時(shí)帶來(lái)的副作用也是明顯的,其
安全性將大大降低,只能由監(jiān)測(cè)節(jié)點(diǎn)進(jìn)行事后監(jiān)測(cè),所以一般來(lái)說(shuō),我們將建議將安全性要求較低的部分放在 OffChain 計(jì)算中。雖然其安全性要低不少,但是相對(duì)中心化的服務(wù)來(lái)說(shuō),其畢竟還有事后監(jiān)督部分,安全性還是要比中心化服務(wù)高上一些。
ZID 及節(jié)點(diǎn)
要加入 ZoroChain 網(wǎng)絡(luò),必須申請(qǐng)成為節(jié)點(diǎn),申請(qǐng)由網(wǎng)絡(luò)自動(dòng)確認(rèn)完成,節(jié)點(diǎn)分為核心節(jié)點(diǎn)、觀測(cè)節(jié)點(diǎn)、應(yīng)用節(jié)點(diǎn)、監(jiān)測(cè)節(jié)點(diǎn)、驗(yàn)證節(jié)點(diǎn)。
ZID:成為節(jié)點(diǎn)之前,必須先創(chuàng)建 ZID,用戶可以通過(guò)發(fā)起 ZID 創(chuàng)建交易來(lái)創(chuàng)建 ZID,創(chuàng)建 ZID 交易需要消耗固定 10 個(gè) ZORO 的手續(xù)費(fèi)。
ZID 是用戶在 ZoroChain 網(wǎng)絡(luò)中的身份,想要參與 ZoroChain 的網(wǎng)絡(luò)建設(shè),例如參與治理投票、獲取代理收益、成為節(jié)點(diǎn)等,ZID 是必不可少的。
獲取 ZID 后,用可以選擇抵押代幣運(yùn)行各種節(jié)點(diǎn),或者將代幣代理至其他節(jié)點(diǎn)分享節(jié)點(diǎn)收益。
核心節(jié)點(diǎn):成為核心節(jié)點(diǎn)需要抵押至少 100,000ZORO,可參與分享核心節(jié)點(diǎn)挖礦獎(jiǎng)勵(lì),核心節(jié)點(diǎn)可以參與 RootChain 記賬競(jìng)爭(zhēng),獲得核心節(jié)點(diǎn)挖礦獎(jiǎng)勵(lì),關(guān)于挖礦獎(jiǎng)勵(lì)具體分配詳見(jiàn)“挖礦”。
觀測(cè)節(jié)點(diǎn):成為觀測(cè)節(jié)點(diǎn)無(wú)需抵押。
驗(yàn)證節(jié)點(diǎn) : 驗(yàn) 證 節(jié) 點(diǎn) 需 抵 押 至 少 100,000ZORO , 可參與MappingChain 記賬權(quán)競(jìng)爭(zhēng),獲取驗(yàn)證節(jié)點(diǎn)挖礦獎(jiǎng)勵(lì);超級(jí)驗(yàn)證節(jié)點(diǎn)需抵押 1,000,000ZORO,超級(jí)驗(yàn)證節(jié)點(diǎn)與驗(yàn)證節(jié)點(diǎn)唯一不同之處在于,其可以參與公鏈代幣多簽管理。成為超級(jí)驗(yàn)證節(jié)點(diǎn)需審核,通過(guò)發(fā)起超級(jí)節(jié)點(diǎn)驗(yàn)證申請(qǐng)獲得,申請(qǐng)由現(xiàn)有超級(jí)驗(yàn)證節(jié)點(diǎn)多簽審核通過(guò)新成員申請(qǐng)。
應(yīng)用節(jié)點(diǎn):成為應(yīng)用節(jié)點(diǎn)需抵押 10,000ZORO,可分享應(yīng)用鏈運(yùn)行手續(xù)費(fèi)收益。
監(jiān)測(cè)節(jié)點(diǎn):成為監(jiān)測(cè)節(jié)點(diǎn)需抵押 1,000ZORO,可發(fā)起交易驗(yàn)證請(qǐng)求,驗(yàn)證成功可以獲得節(jié)點(diǎn)扣除的押金獎(jiǎng)勵(lì)。
ApplicationEngine
ApplicationEngine 是 基 于 .NetCore 的 應(yīng) 用 虛 擬 機(jī) , 工 作 在ZoroChain 中的 ApplicationChain 之上,通過(guò)應(yīng)用鏈與 ZoroChain 交互,ApplicationEngine 運(yùn)行的節(jié)點(diǎn)定義為計(jì)算節(jié)點(diǎn),其功能可以通過(guò)插件系統(tǒng)進(jìn)行擴(kuò)展,主要模塊包含網(wǎng)絡(luò)通信、通用計(jì)算庫(kù)、圖形計(jì)算庫(kù)、數(shù)據(jù)庫(kù)等,應(yīng)用程序可以運(yùn)行在 ApplicationEngine 上,其計(jì)算節(jié)點(diǎn)可以自行架設(shè)或者租用其他用戶架設(shè)節(jié)點(diǎn)。
計(jì)算節(jié)點(diǎn)
計(jì)算節(jié)點(diǎn)是 ApplicationEngine 所運(yùn)行的節(jié)點(diǎn), 其提供ApplicationEngine 運(yùn)行所需要的環(huán)境,計(jì)算節(jié)點(diǎn)網(wǎng)絡(luò)由提供不同功能的計(jì)算節(jié)點(diǎn)組成,如通用計(jì)算、圖形計(jì)算、AI 計(jì)算、存儲(chǔ)等,計(jì)算節(jié)點(diǎn)通過(guò)應(yīng)用鏈節(jié)點(diǎn)連接入 ZoroChain,是應(yīng)用鏈的葉子節(jié)點(diǎn)。
ApplicationEngine 可通過(guò) OffChain 計(jì)算將關(guān)鍵計(jì)算步驟記錄至ApplicationChain 上,亦可以通過(guò) OnChain 計(jì)算進(jìn)行 ApplicationChain的各種鏈上操作、智能合約調(diào)用。
計(jì)算節(jié)點(diǎn)運(yùn)行費(fèi)用可通過(guò)應(yīng)用鏈結(jié)算,費(fèi)用結(jié)算具體參考“節(jié)點(diǎn)激勵(lì)-系統(tǒng)費(fèi)用”章節(jié)。
渲染節(jié)點(diǎn) - 渲染流視頻流云計(jì)算
正如我們前文所提到到,未來(lái)的計(jì)算將更多的發(fā)生在云端,在游戲領(lǐng)域,Sony、MicroSoft、Google 都提出了各自的云游戲解決方案,當(dāng)然,都是中心化的云,3 家都是通過(guò)視頻流來(lái)進(jìn)行圖形傳輸,在目前的網(wǎng)絡(luò)環(huán)境下體驗(yàn)并不好,未來(lái) 5G 時(shí)代到來(lái),低延遲和高帶寬將讓視頻流云游戲體驗(yàn)與本地游戲一致。
Zoro 將提供渲染節(jié)點(diǎn),渲染節(jié)點(diǎn)可選擇 2 種遠(yuǎn)程圖形數(shù)據(jù)傳輸方案:渲染流、視頻流。
渲染流方案是指,CPU 完成計(jì)算后,GPU 執(zhí)行部分計(jì)算,生成渲染指令流發(fā)送到遠(yuǎn)程客戶端,客戶端本地 GPU 根據(jù)渲染指令繼續(xù)執(zhí)行完成渲染并進(jìn)一步柵格化顯示,GPU 所需要的渲染素材由本地終端預(yù)先存儲(chǔ)并加載至 GPU。
視頻流方案是指,CPU 完成計(jì)算后,GPU 執(zhí)行渲染并輸出柵格化圖形數(shù)據(jù),并提交至視頻壓縮模塊,輸出實(shí)時(shí)視頻流發(fā)送至遠(yuǎn)程客戶端,遠(yuǎn)程客戶端進(jìn)行視頻解壓顯示。
渲染流需要云端計(jì)算較少,帶寬需求低,本地終端性能要求高,需要 GPU;視頻流云端計(jì)算多,帶寬需求高,本地終端性能要求低,無(wú)需 GPU。
ApplicationEngine 的應(yīng)用可以通過(guò)渲染節(jié)點(diǎn)發(fā)送圖形數(shù)據(jù),單機(jī)游戲和多人游戲都在服務(wù)器完成執(zhí)行和渲染。通過(guò)適當(dāng)?shù)臄?shù)字版權(quán)機(jī)制,云游戲情況下單機(jī)游戲可以較好的避免盜版;多人在線游戲可以從 C/S 結(jié)構(gòu)的系統(tǒng)架構(gòu)中解放出來(lái),像單機(jī)游戲一樣開(kāi)發(fā)多人游戲,把遠(yuǎn)程通信工作下放到圖形傳輸和輸入指令傳輸層面,大大簡(jiǎn)化開(kāi)發(fā)工作。
開(kāi)源游戲框架
基于 Application Engine,Zoro 將建設(shè)系列開(kāi)源游戲框架,將陸續(xù)覆蓋各種類型游戲(如 FPS、RPG、RTS、SLG、MOBA 等等)和各種終端。開(kāi)源游戲框架將免費(fèi)提供給社區(qū)使用,通過(guò)開(kāi)源框架極大降低游戲開(kāi)發(fā)者的開(kāi)發(fā)成本,同時(shí)極大豐富 Zoro 社區(qū)應(yīng)用內(nèi)容。
節(jié)點(diǎn)激勵(lì)
挖礦
ZoroChain將為參與網(wǎng)絡(luò)的節(jié)點(diǎn)提供代幣激勵(lì),即挖礦,ZoroChain中的 MappingChain 和 RootChain 將有挖礦產(chǎn)出,具體如下:
MappingChain 挖礦:MappingChain 節(jié)點(diǎn)出塊產(chǎn)出 50%給提案節(jié)點(diǎn)(即出塊節(jié)點(diǎn)),40%提供給參與記賬節(jié)點(diǎn),10%進(jìn)入 MappingChain礦池。
RootChain 挖礦:RootChain 節(jié)點(diǎn)出塊產(chǎn)出 50%給提案節(jié)點(diǎn)(即出塊節(jié)點(diǎn)),40%提供給參與記賬節(jié)點(diǎn),10%進(jìn)入 RootChain 礦池。
礦池:MappingChain 和 RootChain 的礦池每個(gè)周期(604800 個(gè)塊,約 1 周)選取節(jié)點(diǎn)工作積分列表中排名前 10 的獎(jiǎng)勵(lì) 30%礦池代幣,再隨機(jī)選取列表中 10 個(gè)節(jié)點(diǎn)獎(jiǎng)勵(lì) 10%礦池代幣。
ZoroChain 的挖礦將在 Zoro 第 2.0 階段開(kāi)啟。
系統(tǒng)費(fèi)用
1、 創(chuàng)建 ZID 手續(xù)費(fèi):ZID 創(chuàng)建手續(xù)費(fèi) 35%獎(jiǎng)勵(lì)提案節(jié)點(diǎn)(即出塊節(jié)點(diǎn)),35%獎(jiǎng)勵(lì)參與記賬節(jié)點(diǎn),30%進(jìn)入 RootChain 礦池。
2、 Gas fee:根鏈、映射鏈 Gas fee 按 Gas Price*Gas 計(jì)算,35%獎(jiǎng)勵(lì)提案節(jié)點(diǎn)(即出塊節(jié)點(diǎn)),35%獎(jiǎng)勵(lì)參與記賬節(jié)點(diǎn),30%進(jìn)入 RootChain 礦池;應(yīng)用鏈?zhǔn)掷m(xù)費(fèi)也按 Gas Price*Gas 計(jì)算,可由多簽方式指定付費(fèi)賬戶,50%獎(jiǎng)勵(lì)提案節(jié)點(diǎn)(即出塊節(jié)點(diǎn)),50%獎(jiǎng)勵(lì)參與記賬節(jié)點(diǎn)。
3、 監(jiān)測(cè)節(jié)點(diǎn)驗(yàn)證交易保證金:若保證金被扣除,將進(jìn)入所在網(wǎng)絡(luò)礦池。
4、 投票提案保證金:發(fā)起提案需要提交一定額度保證金,若提案被投票為無(wú)效提案,則保證金將進(jìn)入 RootChain 礦池。
5、 ApplicationEngine(計(jì)算節(jié)點(diǎn))使用費(fèi)用:ApplicationEngine使用費(fèi)用可以由節(jié)點(diǎn)搭建人指定,可采用兩種方式:按計(jì)算量付費(fèi)、按時(shí)間付費(fèi)(包月),費(fèi)用支付至計(jì)算節(jié)點(diǎn)賬戶。計(jì)算節(jié)點(diǎn)亦可設(shè)置免費(fèi)應(yīng)用 Hash,制定應(yīng)用無(wú)需付費(fèi)即可使用節(jié)點(diǎn),當(dāng)用戶自己搭建計(jì)算節(jié)點(diǎn)時(shí)可以采用這種方式。