全球游戲資產(chǎn)交易平臺(tái)Bryllite介紹
網(wǎng)絡(luò)游戲從90年代中期出現(xiàn)以來(lái),已成功形成了巨大的全球性游戲市場(chǎng)。我們目前正密切關(guān)注長(zhǎng)期以來(lái)持續(xù)不斷發(fā)生的一個(gè)爭(zhēng)議,就是關(guān)于游戲道具等游戲里的資產(chǎn)的所有權(quán)應(yīng)不應(yīng)該屬于開(kāi)發(fā)商(包括開(kāi)發(fā)商,發(fā)行商或獨(dú)立開(kāi)發(fā)者等開(kāi)發(fā)主體)的問(wèn)題。”游戲資產(chǎn)”包括游戲賬戶,個(gè)人信息,用戶名,昵稱(chēng),裝備,道具,角色等級(jí),能力值,游戲幣, 會(huì)員服務(wù)等游戲玩家可以擁有的有形或無(wú)形的所有資產(chǎn)內(nèi)容。
許多游戲玩家為了提高自己帳戶及游戲人物的價(jià)值而付出諸多時(shí)間、努力、智慧和金錢(qián)。同時(shí)開(kāi)發(fā)商因這些游戲玩家的付出而提高收益、在公司穩(wěn)定的情況下獲得利益增長(zhǎng)。這都將會(huì)被認(rèn)為開(kāi)發(fā)商和游戲玩家之間達(dá)成的,對(duì)于玩家使用現(xiàn)金購(gòu)買(mǎi)的收費(fèi)道具以及付出時(shí)間及努力而獲得的游戲資產(chǎn)默認(rèn)的買(mǎi)賣(mài)合同。
但在玩家停止游戲時(shí)對(duì)于先前付出的部分(時(shí)間、努力、智慧、金錢(qián))卻無(wú)法獲得任何補(bǔ)償。甚至因開(kāi)發(fā)商的問(wèn)題而導(dǎo)致游戲服務(wù)結(jié)束的情況也同樣無(wú)法獲得相應(yīng)的補(bǔ)償。 這是因?yàn)橛螒蜷_(kāi)發(fā)商單方面不公正的使用條款使得游戲資產(chǎn)的所有權(quán)歸屬于開(kāi)發(fā)商導(dǎo)致的。
我們堅(jiān)持認(rèn)為,基于單方面的游戲資產(chǎn)買(mǎi)賣(mài)合同的不公正性,所有游戲資產(chǎn)的所有權(quán)(包括玩家之間的道具現(xiàn)金交易)都應(yīng)歸屬于游戲玩家。此外,我們要使用區(qū)塊鏈技術(shù)安全的保護(hù)游戲玩家的資產(chǎn),實(shí)現(xiàn)跨游戲移動(dòng)或交易資產(chǎn)的“超連接游戲社會(huì)(Hyper Connected Game Society)” 為目標(biāo)構(gòu)建“Bryllite Platform”。
Bryllite Platform提供能夠?qū)⑼婕业馁Y產(chǎn)安全儲(chǔ)蓄并轉(zhuǎn)移的功能,資產(chǎn)交易也與其同時(shí)強(qiáng)制進(jìn)行,所以沒(méi)有中介者的情況下也會(huì)展開(kāi)有信賴的交易平臺(tái)。加上該平臺(tái)是將保存在游戲服務(wù)內(nèi)部DB的游戲玩家的資產(chǎn)儲(chǔ)備在游戲服務(wù)外部DB, 即在區(qū)塊鏈上保存以便資產(chǎn)在游戲之間互相轉(zhuǎn)移。
該功能的擴(kuò)展通過(guò)Legacy Game System,Bryllite Master Node以及Bryllite Bridge Service 可實(shí)現(xiàn)的。Legacygame system的開(kāi)發(fā)者通過(guò)使用 Bryllite Bridge Service所提供的抽象化API與游戲內(nèi)容的LEVEL容易聯(lián)動(dòng)。API是抽象的Bryllite Bridge Service所提供的。
在Bryllite Platform上玩家使用BRC作為媒介貨幣以資產(chǎn)價(jià)值的尺度,只要玩與其關(guān)聯(lián)的游戲,就會(huì)獲得BRC。這樣獲得方式因?yàn)槿魏稳硕伎梢圆僮鳎约群芄接趾苋菀住?/p>
特點(diǎn)
去中心化
構(gòu)建獨(dú)立于游戲服務(wù)提供主體(開(kāi)發(fā)商,發(fā)行商,服務(wù)商等)的全球游戲資產(chǎn)生態(tài)系統(tǒng),安全地保護(hù)游戲玩家的資產(chǎn)。
可信賴的游戲資產(chǎn)交易
無(wú)需信任中介的情況下安全地交易游戲資產(chǎn)。
沒(méi)有交易費(fèi)用
平臺(tái)在BRC轉(zhuǎn)移及交易過(guò)程中不收取手續(xù)費(fèi)。通常區(qū)塊鏈上發(fā)生的任何交易因?yàn)樾枰烙鵇DoS的攻擊以及的節(jié)點(diǎn)的運(yùn)營(yíng)目的等緣故會(huì)收取一定量的交易手續(xù)費(fèi),但是在Bryllite Platform上不需要額外的手續(xù)費(fèi)即可進(jìn)行資產(chǎn)轉(zhuǎn)移或交易。
快速交易
游戲資產(chǎn)的轉(zhuǎn)移和交易速度比任何區(qū)塊鏈更快。在同一游戲內(nèi)可以即可進(jìn)行交易,在不同游戲之間交易時(shí)只需要一次批準(zhǔn)即可確認(rèn)交易。
超越游戲間界限的資產(chǎn)轉(zhuǎn)移
不同游戲之間轉(zhuǎn)移和交易資產(chǎn)是可能的。游戲玩家可以將所有游戲資產(chǎn)(游戲玩家賬號(hào),角色,能力值,裝備,BRC等)轉(zhuǎn)移到另一個(gè)游戲或與其他游戲玩家進(jìn)行交易。
智能合約
該平臺(tái)支持智能合約功能,并且每個(gè)開(kāi)發(fā)商都可以利用此功能來(lái)支持玩家之間的各種合約類(lèi)型。例如不同游戲之間的道具拍賣(mài)系統(tǒng),發(fā)生爭(zhēng)議可能性比較大的傭兵系統(tǒng),游戲玩法的千差萬(wàn)別使得玩家們可以充分利用智能合約,開(kāi)發(fā)商可以通過(guò)編寫(xiě)智能合同代碼來(lái)創(chuàng)建全新的游戲內(nèi)容,而無(wú)需修改現(xiàn)有的游戲系統(tǒng)。
易于使用
Bryllite Platform不會(huì)強(qiáng)迫玩家更多地了解關(guān)于如何轉(zhuǎn)移/交易BRC和游戲資產(chǎn)。玩家可以簡(jiǎn)單地通過(guò)玩游戲從游戲畫(huà)面中確認(rèn)BRC的積累過(guò)程,可以輕松和自由地轉(zhuǎn)移和交易游戲資產(chǎn)。這種簡(jiǎn)單易用的方法在提高許多玩家的訪問(wèn)性和可用性方面發(fā)揮重要作用。
設(shè)備不限
任何類(lèi)型的游戲如PC游戲,手機(jī)游戲,網(wǎng)頁(yè)游戲和掌機(jī)游戲都可以參與Bryllite Platform。
公開(kāi)源代碼
我們的源代碼將通過(guò)GitHub等公開(kāi),可以一目了然地了解我們的開(kāi)發(fā)進(jìn)度。此外,我們將提供有助于理解的詳細(xì)的集成指南文檔,以便任何人都可以輕松地將游戲與Bryllite Platform對(duì)接,并堅(jiān)持通過(guò)社區(qū)進(jìn)行充分地提供反饋。
BRC 規(guī)格
玩家只要體驗(yàn)與與Bryllite Platform平臺(tái)聯(lián)動(dòng)的游戲即可以獲得BRC。在此獲得的BRC既可能適用于購(gòu)買(mǎi)游戲服務(wù)提供的收費(fèi)道具,又可能適用于與其他游戲玩家之間進(jìn)行的資產(chǎn)交易。也可以將其轉(zhuǎn)賬到玩家的另一個(gè)游戲賬戶或個(gè)人錢(qián)包。
現(xiàn)代國(guó)家為了實(shí)施國(guó)家經(jīng)濟(jì)政策而發(fā)行的通用貨幣,為了脫中央化并無(wú)特殊發(fā)行機(jī)關(guān)的加密貨幣的貨幣政策也同樣十分重要,我們目前認(rèn)識(shí)到其重要性。初期樹(shù)立的貨幣政策有錯(cuò)的話,貨幣發(fā)行會(huì)比需求過(guò)多或缺少,隨著會(huì)導(dǎo)致貨幣的實(shí)質(zhì)上價(jià)值降低及流動(dòng)性不足的結(jié)果,而且調(diào)整貨幣政策不論有沒(méi)有存在技術(shù)上的問(wèn)題,因加密貨幣的特殊性的適宜,參與主體之間的協(xié)議很難達(dá)到一致。
我們通過(guò)將Block Time固定下來(lái)能限制每年貨幣的發(fā)行量,而且通過(guò)適用Block補(bǔ)償?shù)陌胨テ谀芸刂曝泿虐l(fā)行量的規(guī)模。貨幣發(fā)行量以資產(chǎn)市場(chǎng)內(nèi)部需求在2023年將達(dá)到1,500億規(guī)模的預(yù)測(cè)為準(zhǔn)設(shè)計(jì)的。
BRC循環(huán)結(jié)構(gòu)
BRC的循環(huán)過(guò)程可以參考[圖2]所示,不同游戲之間也可以循環(huán)。獲得BRC的游戲玩家可以通過(guò)玩與Bryllite Platform對(duì)接的游戲獲得BRC。在這個(gè)過(guò)程中,開(kāi)發(fā)商的政策可能根據(jù)游戲參與度(單純參與or游戲貢獻(xiàn)/成就),又或是根據(jù)開(kāi)發(fā)商內(nèi)部規(guī)則提供0%~2%的BRC。
平臺(tái)結(jié)構(gòu)
Bryllite Platform基本上可能形成如[圖3]的結(jié)構(gòu)。該系統(tǒng)是先通過(guò)利用Bryllite bridge service將由Bryllite master node組成的Bryllite Blockchain Network與Legacy game server系統(tǒng)聯(lián)動(dòng)在一起。
Bryllite master node授權(quán)玩家的參與證明,比照Concurrent user的數(shù)量不但采礦更多的BRC,而且維持區(qū)塊鏈,其對(duì)LEGACY GAME SYSTEM 作為外部DB發(fā)出功能。
Bryllite bridge service負(fù)責(zé)Legacy game system與Bryllite Blockchain network之間的聯(lián)系,使得雙向通信變成可能。這不但是在Legacy game system上的Blockchain里發(fā)在TransacTIon, Bridge service而且能感知在不同類(lèi)型的游戲上發(fā)生的TransaTIon等,以Event-driven形式即時(shí)通知給游戲服務(wù)器。
Cyprus Network: Federated Local BlockChain
Bitcoin以及ETH等許多區(qū)塊鏈網(wǎng)絡(luò)產(chǎn)生了慢性的結(jié)垢問(wèn)題,利用處理Sharding, Raiden network, Plasma等多種離線區(qū)塊鏈在解決問(wèn)題上也有問(wèn)題。該離線區(qū)塊鏈技術(shù)實(shí)際上是利用State channel在區(qū)塊鏈外部處理諸多的交易,并將交易的結(jié)果反映在Main chain上的交易內(nèi)容的簡(jiǎn)化形式。Bryllite Platform是適用受到離線區(qū)塊鏈靈感而設(shè)計(jì)的Cyprus network,并能解決結(jié)垢問(wèn)題。
Bryllite Platform上的TransacTIon可分為兩種,一是同中類(lèi)型游戲之內(nèi)發(fā)生的In-game transacTIon,另一個(gè)是不同類(lèi)型游戲之間發(fā)生的Ex-game Transaction。 因?yàn)橛螒蚓哂兄荒芡ㄟ^(guò)畫(huà)面上與相對(duì)方面對(duì)面交易的特殊性,In-game Transaction要立刻簽訂,資產(chǎn)轉(zhuǎn)移也要隨著同時(shí)進(jìn)行。In-game transaction利用Cyprus network立刻處理簽訂交易的過(guò)程,Cyprus network按照Bryllite consortium由事先決定的幾個(gè)游戲的聯(lián)合組成的。比如,1000個(gè)游戲在參與平臺(tái)的時(shí)候,按需求可建立由4~5個(gè)游戲組成約200個(gè)Cyprus network。
通過(guò)利用Cyprus network而處理全部資產(chǎn)交易當(dāng)中所占的相當(dāng)大一部分的In-game transaction,不但能夠解決區(qū)塊鏈網(wǎng)絡(luò)的結(jié)垢問(wèn)題,而且交易也能立刻簽訂。
Ex-game transaction是因?yàn)橐圆煌?lèi)型的游戲之間資產(chǎn)轉(zhuǎn)移及交易當(dāng)成主要的目標(biāo),不需要立刻簽訂交易及資產(chǎn)的轉(zhuǎn)移,不經(jīng)過(guò)Cyprus network直接記錄在Main chain。該交易要1confirm以確定,雖然不即時(shí),但是在相當(dāng)快的時(shí)間內(nèi)能處理交易的內(nèi)容。
同步交易
在Bryllite Platform上的資產(chǎn)交易過(guò)程因強(qiáng)制了同時(shí)性,所以即便沒(méi)有中介者,也可以進(jìn)行可信賴的交易。包括Legacy item的玩家的資產(chǎn)交易利用各個(gè)游戲所提供的交易系統(tǒng)而使得Atomic swap可以實(shí)現(xiàn)的。只有在交易的雙方當(dāng)事人都要確定交易時(shí)交易才能成立,該交易是一簽訂In-game transaction就能轉(zhuǎn)移資產(chǎn)。
與Legacy item簽訂BRC的交易的時(shí)候,(1)在游戲服務(wù)器上要求將BRC轉(zhuǎn)到Bridge service. (2)確認(rèn)對(duì)要求做出的回答之后,將Legacy item轉(zhuǎn)移到交易相對(duì)方的Inventory. (3)如有對(duì)要求回答失敗或在某一段時(shí)間內(nèi)未能確認(rèn)回答的時(shí)候,交易就處理為失敗,在畫(huà)面上表現(xiàn)出出錯(cuò)信息,交易失敗的信息。
聯(lián)合體區(qū)塊鏈
Bryllite平臺(tái)是由全球游戲服務(wù)提供主體(開(kāi)發(fā)商/發(fā)行商/服務(wù)商等)的聯(lián)合體(Consortium)區(qū)塊鏈。聯(lián)合體區(qū)塊鏈?zhǔn)且粋€(gè)公共區(qū)塊鏈,如比特幣和以太坊一樣任何人都可以參與到區(qū)塊鏈網(wǎng)絡(luò)中,與封閉組織中用于特定目的的私有區(qū)塊鏈性質(zhì)不同,如同瑞波幣(XRP)可以被定義為許多獲得許可的組織參與組成聯(lián)合體網(wǎng)絡(luò)的形式。
而且我們有時(shí)可以目擊到像瑞波幣(XRP)這樣的聯(lián)合體區(qū)塊鏈被激進(jìn)的區(qū)塊鏈信奉者抨擊或攻擊,批判內(nèi)容大體是“不是真正的區(qū)塊鏈技術(shù)”或“無(wú)法持續(xù)確保用戶導(dǎo)致持續(xù)性降低的區(qū)塊鏈技術(shù)“ 或 ”不能抵擋中心化的組織或機(jī)關(guān)的專(zhuān)橫“。
但是我們想再次強(qiáng)調(diào),我們的目標(biāo)不在于“區(qū)塊鏈技術(shù)本身的進(jìn)步”或“實(shí)現(xiàn)全球單一貨幣”,我們的終極目標(biāo)是打破各個(gè)孤立游戲間的界限,創(chuàng)建全球單一游戲資產(chǎn)生態(tài)系統(tǒng)。如果我們必須標(biāo)榜公鏈,批準(zhǔn)和游戲完全無(wú)關(guān)的惡意節(jié)點(diǎn)參與,那么這對(duì)我們實(shí)現(xiàn)目標(biāo)將沒(méi)有任何幫助。
Bryllite平臺(tái)在未來(lái)能夠確保接近10億的真實(shí)用戶,并且未來(lái)會(huì)確保更多的真實(shí)用戶。換句話說(shuō),如果對(duì)當(dāng)前基礎(chǔ)上對(duì)“public”這個(gè)詞進(jìn)行了概念上的夸大,可以說(shuō)Bryllite是一個(gè)真正的公共區(qū)塊鏈,因?yàn)樗鼡碛斜热魏喂矃^(qū)塊鏈更多的真實(shí)用戶。
希望參與Bryllite平臺(tái)的開(kāi)發(fā)商,不管公司規(guī)模大小, 開(kāi)發(fā)履歷如何, 從大型開(kāi)發(fā)商到發(fā)行商或者個(gè)體開(kāi)發(fā)者等誰(shuí)都可以參與進(jìn)來(lái)。Bryllite Consortium的存在是為了操作和維護(hù)該平臺(tái),并不是一個(gè)制定平臺(tái)參與批準(zhǔn)等平臺(tái)政策組織。與平臺(tái)相關(guān)的政策和決定通過(guò)游戲玩家自律投票(ONE GAMER ONE VOTE)決定,Bryllite聯(lián)合體有義務(wù)遵守游戲玩家的自愿投票結(jié)果。
BCP:Bryllite共識(shí)協(xié)議
在存在采礦補(bǔ)償?shù)膮^(qū)塊鏈技術(shù)中最重要的節(jié)點(diǎn)間協(xié)議算法,從本質(zhì)上來(lái)是講誰(shuí)擁有區(qū)塊鏈創(chuàng)建權(quán)限(=補(bǔ)償)問(wèn)題的解決方案。
作業(yè)證明方式是,在演算力競(jìng)爭(zhēng)( Computing power competition )中勝利的節(jié)點(diǎn)獲得區(qū)塊創(chuàng)建權(quán)限,這會(huì)導(dǎo)致過(guò)多的能量消耗競(jìng)爭(zhēng)和社會(huì)副作用,因部分性季度發(fā)會(huì)面臨無(wú)法確認(rèn)即時(shí)交易的難題。
股權(quán)證明方法是,持有股份量競(jìng)爭(zhēng)( Stake holding competition )中勝利的節(jié)點(diǎn)獲得區(qū)塊創(chuàng)建權(quán)限,該股權(quán)競(jìng)爭(zhēng)會(huì)導(dǎo)致后續(xù)參與者的準(zhǔn)入屏障,隨著財(cái)富偏差加劇可能導(dǎo)致失去所有的加密貨幣用戶。
我們認(rèn)為過(guò)度競(jìng)爭(zhēng)無(wú)論是何種形態(tài)都會(huì)產(chǎn)生副作用,所以在節(jié)點(diǎn)間協(xié)議中最小化或消除競(jìng)爭(zhēng)加劇是唯一的解決方案。如果可以最好是通過(guò)沒(méi)有競(jìng)爭(zhēng)加劇因素的如“石頭剪子布”等游戲規(guī)則決定優(yōu)勝者達(dá)成共識(shí)。
Bryllite共識(shí)協(xié)議旨在消除競(jìng)爭(zhēng)加劇因素,并以相對(duì)簡(jiǎn)單的方式達(dá)成節(jié)點(diǎn)之間的協(xié)議。
共識(shí)協(xié)議成就目標(biāo)
ONE GAMER ONE VOTE
無(wú)論系統(tǒng)資源配額或存儲(chǔ)量如何,所有參與游戲的玩家都必須以公平的權(quán)限達(dá)成共識(shí)。
不允許臨時(shí)分叉
不允許臨時(shí)分叉,可以通過(guò)一次批準(zhǔn)來(lái)處理及時(shí)性交易的擴(kuò)張。
不限設(shè)備
無(wú)論是何種游戲,PC游戲,手機(jī)游戲,網(wǎng)頁(yè)游戲和掌機(jī)游戲等必須能在任何設(shè)備中可以公正的參與,這個(gè)需要在共識(shí)過(guò)程中剔除不必要的演算才可以實(shí)現(xiàn)。
沒(méi)有交易費(fèi)用
BRC的轉(zhuǎn)讓和交易不應(yīng)有任何手續(xù)費(fèi)產(chǎn)生。這可以通過(guò)創(chuàng)建區(qū)塊時(shí)的節(jié)點(diǎn)包含所有交易產(chǎn)生的利潤(rùn)的方式來(lái)實(shí)現(xiàn)。另外,對(duì)于為惡意目的而進(jìn)行不必要的過(guò)多的交易的用戶應(yīng)該有適當(dāng)?shù)倪M(jìn)行限制。
即使存在節(jié)點(diǎn)故障,也可以達(dá)成共識(shí)
即時(shí)發(fā)生部分節(jié)點(diǎn)系統(tǒng)崩潰,斷網(wǎng)等故障,或誤驅(qū)動(dòng)等問(wèn)題,所有參與節(jié)點(diǎn)必須能夠在同一個(gè)塊上達(dá)成一致。
不可逆區(qū)塊創(chuàng)建
由多數(shù)的區(qū)塊鏈網(wǎng)絡(luò)協(xié)議下創(chuàng)建的區(qū)塊在任何情況下無(wú)法進(jìn)行撤回或修改。這與不允許暫時(shí)分叉的情況相同。
參加證明
需證明參與游戲的行為,并通過(guò)該證明防御生成多重賬戶的攻擊(Sybil attack) 。就參與游戲的玩家數(shù)比例相當(dāng)?shù)腂lock生成權(quán)限達(dá)成協(xié)議。
參加證明 (Proof of Participation)
我們通過(guò)參與證明想要實(shí)現(xiàn)的是,游戲玩家在玩游戲的期間不影響設(shè)備的性能的前提下,實(shí)際參與游戲的玩家公正的采礦BRC,提供與參與節(jié)點(diǎn)的玩家數(shù)比例相當(dāng)?shù)牡膮^(qū)塊創(chuàng)建權(quán)限的形態(tài)。
例如,有各擁有50,000,30,000和20,000個(gè)同時(shí)在線用戶的游戲。在這種情況下,可以假定各游戲都能以50%,30%和20%的概率獲得區(qū)塊獎(jiǎng)勵(lì)??赡芡瑫r(shí)在線5萬(wàn)名的A游戲的區(qū)塊創(chuàng)建概率看起來(lái)比較高,但是如[表2]所示,獲得每一個(gè)區(qū)塊的BRC預(yù)期價(jià)值為0.001 BRC,它是一樣的。我們認(rèn)為這種分配方式對(duì)游戲玩家來(lái)說(shuō)是最合理和公平的方式。
參與證明是玩家通過(guò)游戲服務(wù)器中接收的區(qū)塊Header上進(jìn)行數(shù)字簽名的過(guò)程。因此我們可以在不影響體驗(yàn)游戲的情況下證明我們參與了游戲,并且我們可以為所有參與游戲的玩家公平的提供獲得BRC的機(jī)會(huì)。
Bryllite 區(qū)塊頭以及參加證明過(guò)程
下面[表3] 對(duì)用于比特幣的區(qū)塊頭進(jìn)行了圖表化。挖礦節(jié)點(diǎn)把包含在該區(qū)塊的交易進(jìn)行整理,構(gòu)成默克爾樹(shù)后,把4字節(jié)的NONCE參數(shù)從0增加到43億左右,直到找到滿足B目標(biāo)難度(BITS)的結(jié)果用SHA256函數(shù)對(duì)區(qū)塊頭進(jìn)行散列。
由于4字節(jié)的NONCE參數(shù)比起現(xiàn)在的裝備功能和BITS明顯不足,所以通過(guò)改變STAMP值或改變交易項(xiàng)目順序從而改變默克爾樹(shù)散列值后找到滿足BITS的結(jié)果,一直反復(fù)散列區(qū)塊頭的演算。
我們想指出這種消耗性演算過(guò)程對(duì)完成我們的目標(biāo)毫無(wú)幫助,反而會(huì)影響玩家玩游戲。[表4] 對(duì)用于Bryllite Platform的區(qū)塊頭進(jìn)行了抽象化。相比比特幣區(qū)塊頭,刪除了NONCE、BITS項(xiàng)目,增加了TX CNT(交易量)、GAMER SIGNATURE(玩家簽名)項(xiàng)目。玩家數(shù)名項(xiàng)目包括玩家公開(kāi)鑰匙(玩家賬戶)屆簽名。
Bryllite主節(jié)點(diǎn)整理該區(qū)塊的交易,構(gòu)成默克爾樹(shù),完成不包括玩家簽名項(xiàng)目的區(qū)塊頭,通過(guò)橋服務(wù)(bridge service)傳送到傳統(tǒng)游戲系統(tǒng)。
傳統(tǒng)游戲系統(tǒng)向連接的所有游戲客戶端廣播區(qū)塊頭。游戲客戶端在該區(qū)塊頭最終完成用自己秘要簽名的區(qū)塊頭后傳送到Bryllite主節(jié)點(diǎn),從而證明參與的事實(shí)。
下面圖[4]依次表現(xiàn)這樣的過(guò)程。
主節(jié)點(diǎn)從來(lái)自多數(shù)玩家傳送的簽名區(qū)塊頭中選擇一個(gè)散列值最小的一個(gè)區(qū)塊,準(zhǔn)備用于與其他節(jié)點(diǎn)的合意過(guò)程。若存在區(qū)塊頭散列值相同的區(qū)塊,通過(guò)特殊演算玩家公開(kāi)鑰匙選擇一個(gè)區(qū)塊。
那現(xiàn)在準(zhǔn)備好與其他游戲的節(jié)點(diǎn)進(jìn)行石頭剪子布游戲。
拜占庭容錯(cuò)與Bryllite一致性協(xié)議
工作量證明機(jī)制和權(quán)益證明機(jī)制都是為解決拜占庭將軍問(wèn)題的方法,根據(jù)各自的目標(biāo)運(yùn)轉(zhuǎn)的比較不錯(cuò)。但是不符合我們的哲學(xué)的目標(biāo),所以要通過(guò)基于拜占庭容錯(cuò)的Bryllite一致性協(xié)議解決拜占庭將軍問(wèn)題。我們要借用的拜占庭容錯(cuò)模式是MIT Computer Science的Miguel Castro和Liskov提出的算法。
Bryllite一致性協(xié)議的基本概念和實(shí)用拜占庭容錯(cuò)機(jī)制一樣,若參與的節(jié)點(diǎn)通過(guò)3次廣播,即使存在拜占庭節(jié)點(diǎn)或運(yùn)轉(zhuǎn)不正常的節(jié)點(diǎn),超過(guò)一半的節(jié)點(diǎn)正產(chǎn)運(yùn)轉(zhuǎn),則保障最終合意為一個(gè)正常的區(qū)塊。
那么通過(guò)參與證明,利用被采納的區(qū)塊進(jìn)行石頭剪子布游戲。
[圖5]表示的是由(1)提議、(2)投票、(3)決定三個(gè)階段構(gòu)成的Bryllite合一過(guò)程。每個(gè)階段有一定的等待時(shí)間,超過(guò)等待時(shí)間后傳送的數(shù)據(jù)包被視為無(wú)效。在合意過(guò)程傳送約100字節(jié)的區(qū)塊頭試圖進(jìn)行合意,在Commit階段共享包括交易內(nèi)容的最終區(qū)塊信息。參與中的所有節(jié)點(diǎn)厚道最終區(qū)塊信息后驗(yàn)證區(qū)塊。若在這一階段驗(yàn)證失敗,則本次區(qū)塊合意無(wú)效,對(duì)提議該區(qū)塊的節(jié)點(diǎn)進(jìn)行懲罰。
Bryllite一致性協(xié)議大體流程
Bryllite一致性協(xié)議大體上分為參與證明、合意兩個(gè)部分,合意過(guò)程分為提議、投票、決定三個(gè)步驟。下面圖3告訴我們新區(qū)塊開(kāi)始形成到最終形成的過(guò)程及所需時(shí)間。
參與證明階段包括主節(jié)點(diǎn)之間合意開(kāi)始形成新區(qū)塊的過(guò)程。若在此之前完成區(qū)塊形成或因區(qū)塊合意失敗而無(wú)效,節(jié)點(diǎn)廣播新區(qū)塊的開(kāi)始,自從收到超過(guò)1/2的區(qū)塊開(kāi)始信息后新區(qū)快開(kāi)始形成,之后通過(guò)參與征名從玩家收集完成的區(qū)塊頭信息。這一過(guò)程總需要5秒的義務(wù)等待時(shí)間,并包括新一輪(New Round)合意花費(fèi)的時(shí)間。超過(guò)限定時(shí)間以后收到的玩家區(qū)塊頭信息將被,該玩家不包含在本次區(qū)塊形成。
在提議階段,節(jié)點(diǎn)從玩家收集的區(qū)塊頭中選擇一個(gè)散列值最小的區(qū)塊頭,向參與的所有節(jié)點(diǎn)進(jìn)行廣播。這一過(guò)程也需要5秒的義務(wù)等待時(shí)間,超過(guò)限定時(shí)間后收到的區(qū)塊頭信息將被廢除。
在投票階段,對(duì)提一階段的得到區(qū)塊頭中散列值最小的區(qū)塊頭進(jìn)行投票,并將該區(qū)塊頭向網(wǎng)絡(luò)進(jìn)行廣播。特定區(qū)塊頭得到超過(guò)1/2的得票時(shí)投票階段結(jié)束,可進(jìn)行決定階段。這一過(guò)程的限定時(shí)間為10秒,若10秒內(nèi)沒(méi)有得票超過(guò)1/2的區(qū)塊,則該一輪被視為失敗重新開(kāi)始區(qū)塊形成。
決定階段是對(duì)投票階段選擇的區(qū)塊進(jìn)行驗(yàn)證的階段,根據(jù)投票階段花費(fèi)的時(shí)間最長(zhǎng)賦予20秒的限定時(shí)間。若投票階段花費(fèi)了1秒,則決定階段的限定時(shí)間為19秒;若投票階段花費(fèi)了10秒,則限定時(shí)間為10秒。若限定時(shí)間內(nèi)沒(méi)有收到超過(guò)一般的驗(yàn)證結(jié)束信息,則 則該一輪被視為失敗重新開(kāi)始區(qū)塊形成。
即使在決定階段限定時(shí)間內(nèi)區(qū)塊形成合意成功,也不立即開(kāi)始下一輪,而等到30秒的區(qū)塊時(shí)間后才可開(kāi)始下一輪。若投票階段花費(fèi)1秒,決定階段花費(fèi)5秒,則再等14秒等到30秒的最終區(qū)塊時(shí)間后才可以開(kāi)始下一輪合意。通過(guò)這一過(guò)程區(qū)塊時(shí)間一直固定為30秒。