您的位置:首頁(yè) > 區(qū)塊鏈 >

共識(shí)機(jī)制EPOA實(shí)現(xiàn)基于BFT變種的異步算法

2019-07-19 09:41:21 來(lái)源: 區(qū)塊網(wǎng)

隨著比特幣的成功,區(qū)塊鏈的概念慢慢得到了普及和?眾的認(rèn)可。去中心化、不可篡改、改變生產(chǎn)關(guān)系,拋開(kāi)這些區(qū)塊鏈想要實(shí)現(xiàn)的美好愿景,?今

隨著比特幣的成功,區(qū)塊鏈的概念慢慢得到了普及和?眾的認(rèn)可。去中心化、不可篡改、改變生產(chǎn)關(guān)系,拋開(kāi)這些區(qū)塊鏈想要實(shí)現(xiàn)的美好愿景,?今卻少見(jiàn)一款產(chǎn)生實(shí)際價(jià)值的基于區(qū)塊鏈技術(shù)的商用級(jí)別應(yīng)用落地。我們認(rèn)為除了針對(duì)可擴(kuò)展性(scalability),?效率(efficiency), 易于拓展(expansibility)等已知的技術(shù)缺陷做攻關(guān),更應(yīng)該做的是從理念(Philosophy)層?,重新審視區(qū)塊鏈的定位和實(shí)施路線。

目前普遍把區(qū)塊鏈技術(shù)類比為 tpc/ip 協(xié)議這種普適性的基礎(chǔ)協(xié)議或網(wǎng)絡(luò),這種理念和策略使得眼花繚亂的區(qū)塊鏈技術(shù)層出不窮,?多數(shù)似乎也更加學(xué)術(shù)化,但相互之間卻又沒(méi)有本質(zhì)的區(qū)別,更為重要的是它們距離商用化的目標(biāo)好像也越來(lái)越遠(yuǎn)。

我們的理念是從業(yè)務(wù)出發(fā),技術(shù)服務(wù)于業(yè)務(wù),而不是反其道而行之,為了打造具備實(shí)際運(yùn)營(yíng)能力的區(qū)塊鏈應(yīng)用系統(tǒng),我們專注在下列問(wèn)題:

• 區(qū)塊鏈能給哪些行業(yè)帶來(lái)創(chuàng)新和增值?

• 為了達(dá)到上述目標(biāo),區(qū)塊鏈應(yīng)用系統(tǒng)應(yīng)該如何搭建?

通過(guò)針對(duì)上述問(wèn)題的細(xì)致的考察和思考, 本?試著描述一個(gè)叫做GrayEagle 的通用區(qū)塊鏈架構(gòu)和一個(gè)基于 GrayEagle 的開(kāi)放式游戲平臺(tái),叫做 EqualBets。我們意在指明一個(gè)路線和方法,并詳細(xì)闡述為什么這個(gè)方法是可合理的,并為目前正在進(jìn)行的開(kāi)發(fā)提供盡可能多的參考細(xì)節(jié)。

GrayEagle 區(qū)塊鏈基礎(chǔ)框架(infrastructure)

在本章中我們主要描述 GrayEagle 的三個(gè)主要特點(diǎn):

• EPOA( Electing Proof Of Authority):基于選舉式權(quán)威證明的治理模式

• 雙層架構(gòu): 治理層和業(yè)務(wù)層

• 模塊化和可插拔的技術(shù)目標(biāo)和路線

本章分別闡述 EPOA 機(jī)制的具體設(shè)計(jì)、分層網(wǎng)絡(luò)的協(xié)作機(jī)制和具體的技術(shù)架構(gòu)路線。其中 EPOA 是 GrayEagle 團(tuán)隊(duì)經(jīng)過(guò)研究實(shí)踐提出的區(qū)塊鏈共識(shí)機(jī)制,1. 節(jié)會(huì)從模型設(shè)計(jì)和共識(shí)算法兩個(gè)?度對(duì) EPOA 進(jìn)行詳盡描述; 2. 節(jié)會(huì)著重描述 GrayEagle 的關(guān)鍵特性分層網(wǎng)絡(luò);最后在3. 節(jié),我們將具體的技術(shù)實(shí)施路線盡可能描述清楚。

1. EPOA

在本章中我們主要描述繼 POW 之后,多種區(qū)塊鏈的共識(shí)機(jī)制相繼被提出并應(yīng)用,比較典型的有:

(1)pow 及其改造機(jī)制。

(2)pos 以及基于 pos 的一系列改造機(jī)制。例如 npos,Dpos 等

(3)poa(Proof of authority)

(4)BFT 變種,例如 PBFT, Graph BFT 等

在業(yè)內(nèi),使用不同的共識(shí)機(jī)制往往就限定了區(qū)塊鏈的使用范圍,使用(1)(2)共識(shí)機(jī)制會(huì)被定義為“公鏈”,而使用了(3)(4)機(jī)制的會(huì)被定義為聯(lián)盟鏈。其中機(jī)制(3)由于需要 authority 存在,必然限制了成為公鏈的可能,而機(jī)制(4)是因?yàn)楫?dāng)共識(shí)節(jié)點(diǎn)超過(guò)一定數(shù)量之后算法性能的陡然下降限制了成為公鏈的可能。

而我們認(rèn)為區(qū)塊鏈不應(yīng)該以某種方式分類為公鏈還是聯(lián)盟鏈,我們更希望看到的是有準(zhǔn)?機(jī)制、選舉機(jī)制的公鏈,既滿?去中心化的特性,又可以真正達(dá)成商業(yè)化目標(biāo)。因此我們提出了一種新的共識(shí)機(jī)制——EPOA。

如下圖 1 所?,在 EPOA 中存在三種不同的?? authority(權(quán)威節(jié)點(diǎn)),recorder(記賬節(jié)點(diǎn)),citizen(普通公民節(jié)點(diǎn))。

1.1 Authority

Authority 是權(quán)威節(jié)點(diǎn),類似于現(xiàn)實(shí)世界中的政府內(nèi)閣成員,它們最初由我們團(tuán)隊(duì)??的少量節(jié)點(diǎn)擔(dān)任,并在主網(wǎng)上線后陸續(xù)邀請(qǐng)通過(guò)認(rèn)證的監(jiān)管機(jī)構(gòu)、合作實(shí)體公司成為 Authority。Authority 擁有執(zhí)政權(quán),即除了可以參與出塊記賬外,還有權(quán)利審批游戲鏈節(jié)點(diǎn)的加?,莊家的申請(qǐng),游戲開(kāi)發(fā)者發(fā)布游戲的申請(qǐng),隨機(jī)數(shù)種?生成等等。但Authority 并不都是由這種方式產(chǎn)生的,還有?量的 Authority 位置可以從 recorder 選舉出來(lái),只要滿?條件:

(1)擁有?夠的 token 抵押。

(2)獲得?多數(shù) citizen 節(jié)點(diǎn)的選票。

(3)在?為 recorder 期間,擁有良好的服務(wù)記錄。

這種 Authority 我們稱之為 Elected Authority,它們會(huì)以類似于 pos 的方式進(jìn)行?作,并獲得幣齡獎(jiǎng)勵(lì)。recorder 成為 Authority 的過(guò)程對(duì)應(yīng)圖 1中的動(dòng)作 C。

1.2 Recorder

Recorder 是記錄節(jié)點(diǎn),他們會(huì)參與出塊記賬,但沒(méi)有特殊的職權(quán),因此任何一個(gè) citizen 只要滿?如下條件就可以成為 Recorder:

(1)有提供穩(wěn)定服務(wù)的計(jì)算能力

(2)有?夠多的 token 抵押

(3)獲得 Authority 批準(zhǔn)

(4)擁有賬本的完整信息。

成為 Recorder,不僅僅可以以類似 pos 的方式獲得幣齡獎(jiǎng)勵(lì),還有機(jī)會(huì)在定期的選舉中,成為 Authority。

1.3 Citizen

Citizen 是普通公民節(jié)點(diǎn),可以同步賬本信息,但不要求計(jì)算能力和擁有完整賬本信息,Citizen 擁有三個(gè)重要的權(quán)利:

(1)舉報(bào)權(quán),他們可以在發(fā)現(xiàn) Authority 或 Recorder 存在?法行為時(shí)(注:?法行為待列舉)向 Authority 團(tuán)體舉報(bào),一旦舉報(bào)通過(guò),會(huì)以一種舉報(bào)獎(jiǎng)勵(lì)機(jī)制獲得 token 獎(jiǎng)勵(lì)。(獎(jiǎng)勵(lì) token從被舉報(bào)節(jié)點(diǎn)的懲罰 token 中分出,一部分懲罰 token 用于獎(jiǎng)勵(lì)舉報(bào)者,剩余部分懲罰 token 直接燒毀)。這個(gè)過(guò)程對(duì)應(yīng)圖1 動(dòng)作 D。

(2)選舉權(quán)

可以在選舉期參與 Authority 的選舉投票。

(3)成為 Recorder

Citizen 可以向 Authority 申請(qǐng)成為 Recorder,只要滿?成為Recorder 的條件即可,這個(gè)過(guò)程對(duì)應(yīng)圖 1 動(dòng)作 B。為了防??巫攻擊,成為 Citizen 業(yè)務(wù)要提交少量的 token 作為押金。所以當(dāng)一個(gè)節(jié)點(diǎn) N 期望執(zhí)行動(dòng)作 A 加?到 EPOA 網(wǎng)絡(luò)中時(shí),它?先需要成為 Citizen。

1.4 小結(jié)

可以發(fā)現(xiàn)這種設(shè)計(jì)類似于現(xiàn)實(shí)世界中的社會(huì)運(yùn)行機(jī)制,議會(huì)-公務(wù)員-公民,監(jiān)管機(jī)構(gòu)和合作企業(yè)常任 Authority,同時(shí)任何個(gè)體都有機(jī)會(huì)成為Authority。這種設(shè)計(jì)很好的兼顧了去中心化和商用性。

更為底層的共識(shí)算法,我們已經(jīng)實(shí)現(xiàn)了一種基于 BFT 變種的異步算法。我們后續(xù)會(huì)逐步將共識(shí)算法模塊插件化。更多的細(xì)節(jié)不再本文討論范圍。

2. 雙層架構(gòu)

GrayEagle基礎(chǔ)架構(gòu)實(shí)現(xiàn)了2層區(qū)塊鏈:治理層和業(yè)務(wù)層

(1)治理層

治理層負(fù)責(zé)EPOA機(jī)制,從業(yè)務(wù)和監(jiān)管?度確保業(yè)務(wù)層的正常運(yùn)行。 具體而?,該層提供對(duì)監(jiān)管機(jī)構(gòu)的開(kāi)放訪問(wèn),包括節(jié)點(diǎn)設(shè)置和特定監(jiān)管合同部署; 業(yè)務(wù)層?的審計(jì)和驗(yàn)證功能由部署在治理層的智能合約實(shí)施。

(2) 業(yè)務(wù)層

業(yè)務(wù)層專注于實(shí)現(xiàn)業(yè)務(wù)邏輯并與管理層交互以完成業(yè)務(wù)操作。雙層體系結(jié)構(gòu)為開(kāi)發(fā)區(qū)塊鏈業(yè)務(wù)系統(tǒng)提供了一種一般范式。 雙層體系結(jié)構(gòu)背后的理念是區(qū)分業(yè)務(wù)邏輯和治理需求,并在各?的層上運(yùn)行。在這種架構(gòu)中,每層都是去中心化的并具有特定共識(shí)機(jī)制,并且通過(guò)層間通信機(jī)制相互協(xié)調(diào)。

3. 技術(shù)架構(gòu)摘要

GrayEagle 的具體技術(shù)實(shí)施思路之一是盡可能時(shí)將功能插件化,如圖 2所?,其中部分已經(jīng)實(shí)現(xiàn),部分有待于在后續(xù)?作中完成,整體規(guī)劃不變,部分細(xì)節(jié)可能會(huì)在研發(fā)進(jìn)程中不斷調(diào)整。

3.1 基礎(chǔ)組件

Crypto:加密學(xué)密碼組件,主要包含基本 hash 運(yùn)算、秘鑰生成算法、加解密算法、簽名驗(yàn)簽算法等。完成系統(tǒng)內(nèi)部數(shù)據(jù)的 hash 摘要、數(shù)據(jù)的簽名驗(yàn)簽、秘鑰的生成等。

Network:主要實(shí)現(xiàn)基本的網(wǎng)絡(luò)庫(kù)能力,包含但不限于 Endpoint 管理、網(wǎng)絡(luò)參數(shù)設(shè)置、網(wǎng)絡(luò)監(jiān)聽(tīng)、網(wǎng)絡(luò)連接建?、網(wǎng)絡(luò)消息回調(diào)等。

RocksDB:對(duì)本地物理磁盤(pán)數(shù)據(jù)的 NoSQL 存儲(chǔ)引擎,提供基本的?向Key-Value 的?效數(shù)據(jù)讀寫(xiě)能力?,F(xiàn)階段的主要選型基于 RocksDB 來(lái)實(shí)現(xiàn),隨技術(shù)的演進(jìn)可以做更?效和?容量的存儲(chǔ)方案替換。

MPT:系統(tǒng)數(shù)據(jù)一致性校驗(yàn)的基礎(chǔ)組件,通過(guò)樹(shù)形結(jié)構(gòu)完成對(duì)數(shù)據(jù)集中的數(shù)據(jù)兩兩 hash 迭代運(yùn)算,直?計(jì)算出一個(gè)唯一的 hash 值來(lái)完成對(duì)數(shù)據(jù)集內(nèi)容的一致性校驗(yàn),并可基于 MPT 的分支路徑快速的驗(yàn)證特定的數(shù)據(jù)內(nèi)容在數(shù)據(jù)集合中的存在性,成為了?向區(qū)塊鏈的輕客戶端的快速數(shù)據(jù)校驗(yàn)算法。也可以應(yīng)用于區(qū)塊鏈內(nèi)部節(jié)點(diǎn)間針對(duì)世界狀態(tài)的數(shù)據(jù)一致性檢測(cè)算法。

RLP:系統(tǒng)內(nèi)部針對(duì)數(shù)據(jù)結(jié)構(gòu)的編解碼能力,通過(guò)流式的方式進(jìn)行數(shù)據(jù)緊湊編碼,完成網(wǎng)絡(luò)字節(jié)序轉(zhuǎn)換和基本數(shù)據(jù)類型的合法性校驗(yàn)。支持循環(huán)嵌套的方式完成復(fù)雜容器結(jié)構(gòu)的數(shù)據(jù)編碼能力。

Logging:系統(tǒng)的?志庫(kù),通過(guò)基本的 API 封裝開(kāi)源系統(tǒng)的?志組件,提供多級(jí)別的?志記錄能力,同時(shí)可以設(shè)置不同組件的?志前綴,調(diào)整不同組件的分組?志。計(jì)劃加?針對(duì)特定的交易或者賬戶的 Trace 能力。

Configuration:用于系統(tǒng)內(nèi)部的配置文件解析和配置信息管理的邏輯處理對(duì)象。提供 ini 文件格式的配置信息解讀。

Utils:系統(tǒng)內(nèi)部的一些?具集,提供一些基本的格式轉(zhuǎn)換、格式校驗(yàn)、基礎(chǔ)功能函數(shù)等的相關(guān)能力。以及系統(tǒng)內(nèi)部的一些基本宏定義和常量參數(shù)等。

3.2 緩存插件

Transaction Queue:實(shí)現(xiàn)系統(tǒng)接收到交易信息(來(lái)源于客戶端的交易請(qǐng)求和 P2P 網(wǎng)絡(luò)的交易?播)的緩存,實(shí)現(xiàn)對(duì)交易信息的隊(duì)列管理能力。

通過(guò)提供不同的管理隊(duì)列實(shí)現(xiàn)對(duì)不同狀態(tài)交易的緩存。提供給系統(tǒng)中的其他業(yè)務(wù)處理插件 Push 和 Pop 交易的訪問(wèn)接又。同時(shí)通過(guò)事件能力,通知其他模塊交易的緩存變化,進(jìn)而觸發(fā)其他模塊的相關(guān)動(dòng)作。

Message Queue:系統(tǒng)中的消息緩存隊(duì)列,采用先進(jìn)先出的方式提供異步處理消息的緩存能力。完成網(wǎng)絡(luò)層消息的接收和系統(tǒng)核心處理邏輯之間的解耦。

Synchronization Queue:系統(tǒng)中的同步數(shù)據(jù)緩存對(duì)象,主要用于 P2P 節(jié)點(diǎn)之間的區(qū)塊和交易同步緩存。提供更好的同步中間對(duì)象存儲(chǔ)和數(shù)據(jù)校驗(yàn)?zāi)芰?。?shí)現(xiàn)對(duì)同步處理插件的數(shù)據(jù)同步和區(qū)塊鏈插件之間的數(shù)據(jù)紐帶。

Accounts Cache:系統(tǒng)中的賬戶緩存組件,提供對(duì) Account State 中的賬戶數(shù)據(jù)以及賬戶的 Storage 數(shù)據(jù)的緩存能力。通過(guò)鏈表的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)對(duì)熱點(diǎn)訪問(wèn)數(shù)據(jù)的緩存,同時(shí)出于對(duì)空間存儲(chǔ)的考慮實(shí)現(xiàn)基本的 LRU策略。通過(guò) Cache 機(jī)制滿?區(qū)塊鏈插件對(duì)賬戶數(shù)據(jù)的?效訪問(wèn)能力。

3.3 驗(yàn)證插件

Transaction Verify:通過(guò)基本的校驗(yàn)驗(yàn)證能力,包含:交易的有效性檢測(cè)、交易的雙花檢測(cè)、交易的簽名驗(yàn)證、交易的權(quán)限檢查等。通過(guò)獨(dú)?的線程實(shí)現(xiàn)對(duì)緩存插件中緩存的接收交易合法性驗(yàn)證,通過(guò)一定的預(yù)執(zhí)行能力提前檢測(cè)交易的數(shù)據(jù)影響集,給后續(xù)區(qū)塊鏈插件的交易并行執(zhí)行提供一定的參考數(shù)據(jù)。

Authority Verify:用于系統(tǒng)中的權(quán)限檢查功能,通過(guò)提供獨(dú)?的接又完成對(duì)系統(tǒng)治理部分的相關(guān)操作權(quán)限檢查,驗(yàn)證特定的簽名用戶是否有?夠的權(quán)限訪問(wèn)指定的合約能力。通過(guò)用戶-??-操作的三元關(guān)系來(lái)定義和檢查系統(tǒng)中的操作權(quán)限。

3.4 共識(shí)插件

PBFT:簡(jiǎn)單拜占庭容錯(cuò)共識(shí)協(xié)議,通過(guò) PrePrepare、Prepare、Commit的三階段提交協(xié)議,提供 3F+1 個(gè)節(jié)點(diǎn)的情況下,只要系統(tǒng)中不超過(guò) F個(gè)錯(cuò)誤的節(jié)點(diǎn),即可完成共識(shí)節(jié)點(diǎn)間系統(tǒng)數(shù)據(jù)一致性的達(dá)成,提供交易的快速確認(rèn)和容錯(cuò)機(jī)制。

HBBFT:一種異步的拜占庭容錯(cuò)協(xié)議,同于 PBFT 一樣滿? 2/3 的節(jié)點(diǎn)一致性和 1/3 的節(jié)點(diǎn)容錯(cuò)性。不同于 PBFT 的單一主節(jié)點(diǎn)發(fā)起提議,HBBFT 的每個(gè)共識(shí)參與節(jié)點(diǎn)均可以發(fā)起提議,基于一個(gè) ACS 的階段協(xié)議來(lái)保證提議的全網(wǎng)?播,通過(guò)一個(gè) BA 的協(xié)議來(lái)完成節(jié)點(diǎn)之間數(shù)據(jù)一致性。最終對(duì)所有節(jié)點(diǎn)的提議進(jìn)行一個(gè)排序進(jìn)而形成最終的提議內(nèi)容并在全網(wǎng)達(dá)成一致結(jié)果。

Graph BFT:系統(tǒng)中基于 DAG 技術(shù)的拜占庭容錯(cuò)協(xié)議,能夠基于DAG 技術(shù)在共識(shí)節(jié)點(diǎn)本地形成 1/3 的容錯(cuò)一致性結(jié)論。Graph BFT 通過(guò)協(xié)議保證在對(duì)網(wǎng)絡(luò)低依賴的情況下,通過(guò)本地的圖論基礎(chǔ)來(lái)達(dá)成系統(tǒng)中交易數(shù)據(jù)的一致性排序,提供更?的處理性能和更低的網(wǎng)絡(luò)負(fù)載。

3.5 虛擬機(jī)插件

EVM:以太坊的虛擬機(jī)實(shí)現(xiàn),支持使用 Solidity 程序語(yǔ)?編寫(xiě)智能合約,提供基于堆棧方式的指令解析邏輯來(lái)完成智能合約代碼的執(zhí)行和結(jié)果輸出。通過(guò) Gas 機(jī)制來(lái)保證合約的有效執(zhí)行和可終?性,同時(shí)提供一定的指令跟蹤和調(diào)試能力。

PVM:一種支持 Python 編程語(yǔ)?指令執(zhí)行的圖靈完備虛擬機(jī)執(zhí)行引擎。能夠解析和執(zhí)行 python 智能合約編譯后的指令代碼集,提供基本的數(shù)據(jù)類型定義和訪問(wèn)能力。PVM 是系統(tǒng)中在編程語(yǔ)?上使一種更簡(jiǎn)潔和友好的選擇方式。

WASM:WebAssembly 虛擬機(jī)是一個(gè)可擴(kuò)展的?效虛擬機(jī)執(zhí)行引擎,可以支持 C 或者 C++語(yǔ)?編寫(xiě)智能合約,然后編譯生成 WASM 虛擬可識(shí)別的中間狀態(tài),通過(guò) WASM 加載并?效的執(zhí)行。WASM 在系統(tǒng)中提供了更?的處理性能,是一種在需要滿??吞吐的場(chǎng)景下的更優(yōu)選擇。

WREN:是一個(gè)精煉的虛擬機(jī)執(zhí)行引擎,支持通過(guò)類 C++的編程語(yǔ)?編寫(xiě)智能合約,編譯生成 WREN 的指令集。WREN 在實(shí)現(xiàn)的復(fù)雜度上和精煉程度上提供了更好的方式。

3.6 合約插件

Precompile Command:系統(tǒng)中用來(lái)擴(kuò)展智能合約能力的相關(guān)系統(tǒng)指令,采用原生語(yǔ)?的方式內(nèi)嵌于平臺(tái)之中,提供給智能合約特定的功能接又實(shí)現(xiàn)。通過(guò)特定的地址來(lái)標(biāo)識(shí)接又訪問(wèn)?又,通過(guò)內(nèi)置在創(chuàng)世區(qū)塊中的相關(guān)數(shù)據(jù)來(lái)保證多節(jié)點(diǎn)的功能一致性。

Native Contract:系統(tǒng)中支持采用原生語(yǔ)?的方式來(lái)定義和實(shí)現(xiàn)智能合約功能,提供更好的智能合約能力和更加?效的指令執(zhí)行。同預(yù)編譯指令一樣,采用特定的地址來(lái)標(biāo)識(shí)原生合約的?又。Native 合約提供標(biāo)準(zhǔn)統(tǒng)一的 Apply 接又,通過(guò)將交易的參數(shù)傳遞給 Apply 接又來(lái)完成數(shù)據(jù)的解析和分發(fā)處理,并返回交易執(zhí)行的結(jié)果。

Upgrade Control:用來(lái)管理系統(tǒng)中的合約升級(jí)能力,完成在合約在發(fā)生缺陷后更新升級(jí)的能力。同時(shí)支持智能合約的數(shù)據(jù)遷移功能。

3.7 系統(tǒng)合約

Contract Template:系統(tǒng)中的合約模板,隨平臺(tái)系統(tǒng)發(fā)布,提供一些基本的業(yè)務(wù)合約模板,?向特定的業(yè)務(wù)場(chǎng)景,支持業(yè)務(wù)系統(tǒng)的快速定制,通過(guò)修改特定的模板參數(shù)來(lái)按照模板重新定義業(yè)務(wù)應(yīng)用合約。

User Contract:系統(tǒng)中用戶管理合約,用來(lái)管理系統(tǒng)中的賬戶創(chuàng)建和用戶擴(kuò)展信息的維護(hù)。通過(guò)特定的賬戶標(biāo)識(shí)來(lái)與系統(tǒng)中的 Account 對(duì)象進(jìn)行綁定和映射。如果系統(tǒng)需要控制賬戶的開(kāi)戶權(quán)限,則可以通過(guò)管理員操作用戶管理合約來(lái)定義可開(kāi)戶對(duì)象。

Node Contract:系統(tǒng)中的節(jié)點(diǎn)管理合約,用來(lái)管理系統(tǒng)中的所有 P2P網(wǎng)絡(luò)節(jié)點(diǎn)信息,節(jié)點(diǎn)信息可以包含:節(jié)點(diǎn)標(biāo)識(shí)、節(jié)點(diǎn)類型(共識(shí)節(jié)點(diǎn)和?共識(shí)節(jié)點(diǎn))、節(jié)點(diǎn)公鑰、節(jié)點(diǎn)的接?點(diǎn)信息等等。通過(guò)管理員發(fā)送特定的交易來(lái)維護(hù)這些節(jié)點(diǎn)列表用于系統(tǒng)中的節(jié)點(diǎn)發(fā)現(xiàn)和網(wǎng)絡(luò)維護(hù)。Authority Contract:系統(tǒng)中的權(quán)限管理合約,用來(lái)定義和維護(hù)系統(tǒng)中的相關(guān)權(quán)限許可信息,標(biāo)識(shí)特定的用戶或者節(jié)點(diǎn)擁有特定的訪問(wèn)操作權(quán)限。

Configuration Contract:系統(tǒng)中的配置管理合約,通過(guò)特定的數(shù)據(jù)結(jié)構(gòu)來(lái)定義和維護(hù)系統(tǒng)中的相關(guān)配置和治理參數(shù),通過(guò)有特定管理維護(hù)權(quán)限的用戶發(fā)起交易請(qǐng)求來(lái)維護(hù)配置信息,實(shí)現(xiàn)系統(tǒng)中所有節(jié)點(diǎn)需要使用的全局配置參數(shù)。

3.8 SDK 組件

Keystore API:主要用來(lái)管理客戶端的用戶私鑰信息,內(nèi)容涵蓋用戶交易簽名的用戶?份公私鑰,用于網(wǎng)絡(luò)鏈路的 CA 證書(shū)等。提供相關(guān)的函數(shù)接又來(lái)完成數(shù)據(jù)的加載和存儲(chǔ)。

Network API:客戶端的網(wǎng)絡(luò)交互能力,通過(guò)提供不同的網(wǎng)絡(luò)完全能力,來(lái)實(shí)現(xiàn)多樣性的網(wǎng)絡(luò)交互和接?。通過(guò)簡(jiǎn)單的封裝,提供給客戶端應(yīng)用開(kāi)發(fā)系統(tǒng)與區(qū)塊鏈平臺(tái)的同步、異步交互能力。屏蔽掉與區(qū)塊鏈平臺(tái)交互的底層網(wǎng)絡(luò)交互細(xì)節(jié)。

Encoder:客戶端的消息編碼器,主要根據(jù)協(xié)議要求完成對(duì)客戶端請(qǐng)求的編碼邏輯。實(shí)現(xiàn)基本的 RLP 編碼能力和智能合約的 ABI 編碼能力。

Decoder:客戶端的消息編碼器,主要根據(jù)協(xié)議要求完成對(duì)客戶端請(qǐng)求的解碼邏輯。實(shí)現(xiàn)基本的 RLP 解碼能力和智能合約的返回信息解碼能力。

Transaction API:客戶端的交易請(qǐng)求相關(guān) API,實(shí)現(xiàn)基本的交易請(qǐng)求的類型和格式定義。實(shí)現(xiàn)交易的封裝的和解析。用于快速的交易構(gòu)建。

Signature API:該部分是對(duì)客戶端中加密能力的統(tǒng)稱。通過(guò) Keystore 加載的私鑰來(lái)完成對(duì)數(shù)據(jù)的加解密、簽名驗(yàn)簽的能力。主要應(yīng)用在客戶端交易請(qǐng)求的簽名場(chǎng)景下。

Event API:客戶端的事件 API,主要封裝客戶端與區(qū)塊鏈平臺(tái)交互的事件接又,給客戶端提供相關(guān)的事件訂閱和處理機(jī)制。通過(guò)同步、異步的機(jī)制來(lái)完成對(duì)區(qū)塊鏈平臺(tái)相關(guān)交易、區(qū)塊、網(wǎng)絡(luò)、共識(shí)等的事件訪問(wèn)能力。

Privacy API:客戶端的隱私操作 API,主要用于擴(kuò)展平臺(tái)中的數(shù)據(jù)隱私保護(hù)能力,實(shí)現(xiàn)對(duì)交易數(shù)據(jù)、賬戶數(shù)據(jù)的信息保護(hù),防?交易的監(jiān)聽(tīng)和賬戶的匿名。

GrayEagle 經(jīng)濟(jì)系統(tǒng)

1. 流通體系

GrayEagle 基礎(chǔ)框架的內(nèi)生代幣稱為 GEC - GrayEagle Coin。 GEC 流通總量取決于業(yè)務(wù)需求量。 GEC 用作生態(tài)系統(tǒng)參與者的?作通證和使用通證。 GEC 也是衡量服務(wù)價(jià)值的單位和用于平臺(tái)激勵(lì)機(jī)制。

GrayEagle 生態(tài)的主要參與者有:

(1)平臺(tái)管理者

負(fù)責(zé)維護(hù)平臺(tái),管理記賬者,業(yè)務(wù)提供者,運(yùn)營(yíng)者,監(jiān)管押金池。

(2)監(jiān)管者

代表政府,行業(yè)等外部監(jiān)管 。

(3)記賬者

負(fù)責(zé)維護(hù)平臺(tái)賬本,業(yè)務(wù)監(jiān)管。

(4)見(jiàn)證者

負(fù)責(zé)記賬監(jiān)管。

(5)業(yè)務(wù)提供者

負(fù)責(zé)提供業(yè)務(wù)運(yùn)行環(huán)境和資源,包括算力,存儲(chǔ),網(wǎng)絡(luò)等。

(6)運(yùn)營(yíng)者

業(yè)務(wù)的擁有者和運(yùn)營(yíng)者。

(7)用戶

被服務(wù)對(duì)象。

在這個(gè)生態(tài)中以 GEC 作為流通介質(zhì)。記賬者,見(jiàn)證者,業(yè)務(wù)提供者需要繳納一定量押金以獲得參與生態(tài)的資格。運(yùn)營(yíng)者發(fā)行的資產(chǎn),需要等額 GEC 背書(shū)流通額,以及一定比例的運(yùn)營(yíng)押金。記賬者,見(jiàn)證者和業(yè)務(wù)服務(wù)者獲得兩方?收益,生態(tài)收益和業(yè)務(wù)服務(wù)收益。

2 代幣分配

GrayEagle 平臺(tái)的代幣 GrayEagle Coin,簡(jiǎn)稱 GEC,發(fā)行量 20 億,分配機(jī)制如下:

生態(tài)激勵(lì):

預(yù)留 1 億。用于獎(jiǎng)勵(lì)生態(tài)建設(shè)合作伙伴包括合作社群以及其它生態(tài)參與者,運(yùn)營(yíng)服務(wù)收益會(huì)納?其中統(tǒng)一分配。

業(yè)務(wù)支撐池:

8 億。用于運(yùn)營(yíng)商發(fā)行資產(chǎn),生態(tài)參與者押金要求等。釋放規(guī)則由基金會(huì)制定。

GrayEagle 基金會(huì):

3 億。用于獎(jiǎng)勵(lì)對(duì) GrayEagle 生態(tài)建設(shè)作出重?貢獻(xiàn)的機(jī)構(gòu)和個(gè)?。

創(chuàng)始團(tuán)隊(duì)激勵(lì):

2 億。用于團(tuán)隊(duì)激勵(lì),以及平臺(tái)的持續(xù)開(kāi)發(fā)完善,拓展所支持業(yè)務(wù)種類,社區(qū)維護(hù)和網(wǎng)絡(luò)運(yùn)維。團(tuán)隊(duì)鎖倉(cāng)期 5 年,從 2019 年 9 月開(kāi)始每月分批次解鎖。

階段性資金支持:

6 億。用于感謝提供階段性資金支持的機(jī)構(gòu)和個(gè)?。(GrayEagle)

關(guān)鍵詞: EPOA 共識(shí)機(jī)制 異步算法

精選 導(dǎo)讀

募資55億港元萬(wàn)物云啟動(dòng)招股 預(yù)計(jì)9月29日登陸港交所主板

萬(wàn)科9月19日早間公告,萬(wàn)物云當(dāng)日啟動(dòng)招股,預(yù)計(jì)發(fā)行價(jià)介乎每股47 1港元至52 7港元,預(yù)計(jì)9月29日登陸港交所主板。按發(fā)行1 167億股計(jì)算,萬(wàn)

發(fā)布時(shí)間: 2022-09-20 10:39
管理   2022-09-20

公募基金二季度持股情況曝光 隱形重倉(cāng)股多為高端制造業(yè)

隨著半年報(bào)披露收官,公募基金二季度持股情況曝光。截至今年二季度末,公募基金全市場(chǎng)基金總數(shù)為9794只,資產(chǎn)凈值為269454 75億元,同比上

發(fā)布時(shí)間: 2022-09-02 10:45
資訊   2022-09-02

又有上市公司宣布變賣房產(chǎn) 上市公司粉飾財(cái)報(bào)動(dòng)作不斷

再有上市公司宣布變賣房產(chǎn)。四川長(zhǎng)虹25日稱,擬以1 66億元的轉(zhuǎn)讓底價(jià)掛牌出售31套房產(chǎn)。今年以來(lái),A股公司出售房產(chǎn)不斷。根據(jù)記者不完全統(tǒng)

發(fā)布時(shí)間: 2022-08-26 09:44
資訊   2022-08-26

16天12連板大港股份回復(fù)深交所關(guān)注函 股份繼續(xù)沖高

回復(fù)交易所關(guān)注函后,大港股份繼續(xù)沖高。8月11日大港股份高開(kāi),隨后震蕩走高,接近收盤(pán)時(shí)觸及漲停,報(bào)20 2元 股。值得一提的是,在7月21日

發(fā)布時(shí)間: 2022-08-12 09:56
資訊   2022-08-12

萬(wàn)家基金再添第二大股東 中泰證券擬受讓11%基金股權(quán)

7月13日,中泰證券發(fā)布公告,擬受讓齊河眾鑫投資有限公司(以下簡(jiǎn)稱齊河眾鑫)所持有的萬(wàn)家基金11%的股權(quán),交易雙方共同確定本次交易的標(biāo)的資

發(fā)布時(shí)間: 2022-07-14 09:39
管理   2022-07-14

央行連續(xù)7日每天30億元逆回購(gòu) 對(duì)債市影響如何?

央行12日再次開(kāi)展了30億元逆回購(gòu)操作,中標(biāo)利率2 10%。這已是央行連續(xù)7日每天僅進(jìn)行30億元的逆回購(gòu)縮量投放,創(chuàng)下去年1月以來(lái)的最低操作規(guī)

發(fā)布時(shí)間: 2022-07-13 09:38
資訊   2022-07-13

美元指數(shù)創(chuàng)近20年新高 黃金期貨創(chuàng)出逾9個(gè)月新低

由于對(duì)美聯(lián)儲(chǔ)激進(jìn)加息的擔(dān)憂,美元指數(shù)11日大漲近1%創(chuàng)出近20年新高。受此影響,歐美股市、大宗商品均走弱,而黃金期貨創(chuàng)出逾9個(gè)月新低。美

發(fā)布時(shí)間: 2022-07-13 09:36
資訊   2022-07-13

美股三大股指全線下跌 納斯達(dá)克跌幅創(chuàng)下記錄以來(lái)最大跌幅

今年上半年,美股持續(xù)回落。數(shù)據(jù)顯示,道瓊斯指數(shù)上半年下跌15 3%,納斯達(dá)克綜合指數(shù)下跌29 5%,標(biāo)普500指數(shù)下跌20 6%。其中,納斯達(dá)克連續(xù)

發(fā)布時(shí)間: 2022-07-04 09:51
推薦   2022-07-04

融資客熱情回升 兩市融資余額月內(nèi)增加超344億元

近期A股走強(qiáng),滬指6月以來(lái)上漲4%,融資客熱情明顯回升。數(shù)據(jù)顯示,截至6月16日,兩市融資余額1 479萬(wàn)億元,月內(nèi)增加344 67億元,最近一個(gè)半

發(fā)布時(shí)間: 2022-06-20 09:41
資訊   2022-06-20

4個(gè)交易日凈買入超百億元 北向資金持續(xù)流入A股市場(chǎng)

北向資金凈流入態(tài)勢(shì)延續(xù)。繼6月15日凈買入133 59億元后,北向資金6月16日凈買入44 52億元。自5月27日至今,除6月13日以外,北向資金累計(jì)凈

發(fā)布時(shí)間: 2022-06-17 09:37
推薦   2022-06-17

熱門(mén)TAG

more
美聯(lián)儲(chǔ)今年已將基準(zhǔn)利率從接近零大幅上調(diào)至略高于3% EIA報(bào)告:美國(guó)原油庫(kù)存及戰(zhàn)略儲(chǔ)備減少,汽油及精煉油庫(kù)存輕微波動(dòng) 美國(guó)政府更廣泛推動(dòng)從汽油動(dòng)力汽車轉(zhuǎn)向電動(dòng)汽車的一部分 數(shù)據(jù)顯示:今年9月日本船企接單量延續(xù)8月下跌下跌趨勢(shì) 公告顯示:2022年前三季度TCL中環(huán)研發(fā)投入為27億元 占比營(yíng)業(yè)收入5.42% 新的111.75億英鎊注資列在“對(duì)金融機(jī)構(gòu)的援助—支付給英格蘭銀行”標(biāo)題下 本次政府儲(chǔ)備肉投放面向北京18家主要連鎖超市門(mén)店及相關(guān)零售終端投放 有交易員預(yù)計(jì):如果LME不采取措施 接下來(lái)可能將有數(shù)十萬(wàn)噸鋁流入LME 據(jù)報(bào)道:繼德國(guó)最大釀酒商拉德貝格啤酒公司9月宣布漲價(jià) 據(jù)報(bào)道:澳大利亞礦商Pilbara的鋰礦拍賣價(jià)再創(chuàng)新高 折算后的碳酸鋰成本 中集天達(dá)首次公開(kāi)發(fā)行A股股票 招股書(shū)顯示此次擬公開(kāi)發(fā)行股數(shù)不超過(guò)103, 多家銀行加強(qiáng)綠色金融頂層設(shè)計(jì) 致力于為經(jīng)濟(jì)社會(huì)綠色低碳轉(zhuǎn)型貢獻(xiàn)力量 萊特幣 比特幣 數(shù)字資產(chǎn) 火幣 以太經(jīng)典 比特股 EOS 比特幣現(xiàn)金 量子鏈 Hcash 泰達(dá)幣 瑞波幣 Qcash 比特幣鉆石 超級(jí)比特幣 優(yōu)幣 硬分叉 加密貨幣