徐十珍 李偉
摘 ? 要:區(qū)塊鏈的去中心化、公開(kāi)透明、安全可靠、不可篡改等特征給網(wǎng)絡(luò)游戲中的資產(chǎn)交易提供了新的發(fā)展方向。區(qū)塊鏈技術(shù)可以很好地解決現(xiàn)有游戲交易平臺(tái)中存在的安全隱患。通過(guò)分析現(xiàn)有游戲資產(chǎn)交易平臺(tái)現(xiàn)狀以及存在的弊端,提出了一種基于區(qū)塊鏈技術(shù)的游戲資產(chǎn)交易平臺(tái)。詳細(xì)介紹了區(qū)塊鏈游戲資產(chǎn)交易平臺(tái)中使用的關(guān)鍵技術(shù):數(shù)據(jù)區(qū)塊、P2P網(wǎng)絡(luò)、數(shù)字加密技術(shù)、共識(shí),提出總體設(shè)計(jì)架構(gòu),講解具體交易流程和交易驗(yàn)證過(guò)程,最后對(duì)區(qū)塊鏈現(xiàn)有技術(shù)存在的不足進(jìn)行分析說(shuō)明。
關(guān)鍵詞:區(qū)塊鏈;數(shù)據(jù)區(qū)塊;P2P網(wǎng)絡(luò);數(shù)字加密技術(shù);共識(shí)
中圖分類號(hào): D620 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
Research on Game Assets Trading Platflorm Based on Blockchain
XU Shi-zhen1?覮,LI Wei2
(1.Wuhan Research Institude of Posts and Telecommunications,Wuhan,Hubei 430074,China;
2.Wuhan Fiberhome Li Cloud Network Technology Company Limited,Wuhan,Hubei 430074,China)
Abstract: The features of the blockchain such as decentralization,transparency,security,reliability and non-destructive provide a new direction for the development of asset transactions in online games. It can well solve the security risks where existing in game trading platform. By analyzing the current status of the game asset trading platform and the existing drawbacks,it introduces the key technology used in the asset trading platform of blockchain game in detail,such as:data block,peer-to-peer networking,digital encryption technology,consensus,then the overall design framework is proposed,the specific transaction flow and transaction verification process are introduced in detail.Finally,the shortcomingsof the existing technology of block chainare analyzed and explained.
Key words:blockchain;data block;peer-to-peer networking;digital encryption technology;consensus
如今網(wǎng)絡(luò)游戲已經(jīng)成為人們生活中不可或缺的一部分,人們常常在游戲中投入大量的時(shí)間和精力,這些投入讓玩家的賬號(hào)和賬號(hào)所擁有的游戲資產(chǎn)變得有價(jià)值,而有價(jià)值的東西往往會(huì)產(chǎn)生交易需求[1],游戲資產(chǎn)交易也隨之誕生。游戲交易和實(shí)物交易完全不同,實(shí)物交易通??梢钥吹綄?shí)在的物品,是物與貨幣之間看的見(jiàn)的交易,而游戲資產(chǎn)交易,是用貨幣和一個(gè)看不見(jiàn)摸不著的虛擬物之間的交易,這些虛擬物品本質(zhì)上可以看成一段代碼的展現(xiàn)形式。
游戲資產(chǎn)交易方式眾多,但是這些交易方式都存在著很多安全隱患?,F(xiàn)有的游戲資產(chǎn)交易平臺(tái),整個(gè)交易過(guò)程都需要由第三方機(jī)構(gòu)協(xié)助[2],交易過(guò)程中,玩家經(jīng)常會(huì)遇到交易過(guò)后道具丟失、賬號(hào)被封、賬號(hào)被盜、個(gè)人隱私泄露等問(wèn)題。本文針對(duì)這些問(wèn)題提出了基于區(qū)塊鏈的游戲資產(chǎn)交易平臺(tái),利用區(qū)塊鏈技術(shù)[3]去中心化、公開(kāi)透明、安全可靠、匿名性等特征將很好地解決交易過(guò)程中出現(xiàn)安全隱患。
2 ? 現(xiàn)有游戲資產(chǎn)交易方式
在游戲資產(chǎn)交易中,由于玩家之間互不認(rèn)識(shí),因此很難建立信任機(jī)制。這時(shí)就有兩種常見(jiàn)交易手段。第一種是面對(duì)面交易,面對(duì)面交易需要雙方約定時(shí)間地點(diǎn)見(jiàn)面,交易雙方距離近可以考慮見(jiàn)面議價(jià),并在交易過(guò)程中完成立收據(jù)等正式轉(zhuǎn)讓協(xié)議,但是如果雙方相距較遠(yuǎn),這種方式不僅不現(xiàn)實(shí)還麻煩。第二種是游戲資產(chǎn)交易平臺(tái),由第三方平臺(tái)充當(dāng)交易雙方的信任中介。而現(xiàn)在市面上第三方平臺(tái)資產(chǎn)交易方式主要有三種類型:內(nèi)置交易、官方交易、第三方平臺(tái)交易。接下來(lái)將主要介紹這三種交易類型。
以上三種類型各有利弊,內(nèi)置交易是在游戲內(nèi)部交易系統(tǒng)中進(jìn)行交易,這種方式只能在游戲內(nèi)部消耗這些金幣和道具,一旦離開(kāi)游戲,游戲中的道具和賬號(hào)將會(huì)變得一文不值。官方交易方式是一種安全可靠的交易方式,但是在交易過(guò)程中會(huì)設(shè)置很多限制條件,使得只有一部分符合要求的人才有權(quán)限進(jìn)行交易,并且它售賣(mài)的交易物只有指定的幾類,交易流程繁瑣,耗費(fèi)周期時(shí)間較長(zhǎng)。第三方交易是用的比較廣泛的一種交易方式。這種交易方式需要付給網(wǎng)站大量的擔(dān)保費(fèi)用,并且發(fā)布方在平臺(tái)中容易被壓低資產(chǎn)價(jià)值,賣(mài)不出理想的價(jià)格。并且用戶一般需要在第三方平臺(tái)注冊(cè)相關(guān)身份信息,注冊(cè)環(huán)節(jié)經(jīng)常會(huì)為大量不法分子提供了機(jī)會(huì)。一些詐騙網(wǎng)站會(huì)偽裝成交易平臺(tái),界面和真實(shí)交易平臺(tái)毫無(wú)差別,還有網(wǎng)絡(luò)警察鏈接、冒充交易平臺(tái)的假客服聊天頁(yè)面和驗(yàn)證真?zhèn)蔚钠脚_(tái),這完全達(dá)到以假亂真的地步。用戶一旦輸入賬號(hào)密保資料,交易發(fā)布方面臨著游戲賬號(hào)、裝備等游戲資產(chǎn)被盜取的風(fēng)險(xiǎn),而交易方可能會(huì)錢(qián)財(cái)兩空,并且無(wú)處申述。一些信譽(yù)度比較好的游戲交易平臺(tái),經(jīng)常會(huì)收取大量的手續(xù)費(fèi),如果是但是在交易完成之后,可能會(huì)遭遇游戲刪檔,賬號(hào)找不回來(lái)等意外事故發(fā)生。而且第三方交易平臺(tái)使用的是傳統(tǒng)的數(shù)據(jù)庫(kù),這個(gè)數(shù)據(jù)庫(kù)放置在服務(wù)器上,很容易因?yàn)槲锢砘蛘呷藶樵驅(qū)е聰?shù)據(jù)丟失或者數(shù)據(jù)篡改[5]。并且由于第三方交易平臺(tái)擁有大量的玩家信息,在管理過(guò)程中,可能出現(xiàn)非法分子盜取玩家數(shù)據(jù),使用戶遭受很多不可測(cè)的損失??傊?,第三方交易平臺(tái)在安全性方面存在很多弊端,游戲玩家更需要一種安全可靠的游戲資產(chǎn)交易平臺(tái)。
區(qū)塊鏈的出現(xiàn)給了人們靈感,它的去中心化、安全可靠、自治性、匿名性等特征提供了一種新的游戲資產(chǎn)交易方式。它可以提供一個(gè)高信任度的交易環(huán)境,它以智能合約[6]為基礎(chǔ),實(shí)現(xiàn)智能化交易,讓交易過(guò)程安全可靠、高度透明,使用區(qū)塊鏈技術(shù)對(duì)玩家的虛擬資產(chǎn)進(jìn)行加密存儲(chǔ),可以使虛擬資產(chǎn)得到更好的保護(hù),在交易過(guò)程中使用數(shù)字加密技術(shù),讓交易在匿名、可信任的條件下進(jìn)行,可以更好的保護(hù)玩家個(gè)人隱私。
3 ? ?區(qū)塊鏈關(guān)鍵技術(shù)與特征
3.1 ? 區(qū)塊鏈關(guān)鍵技術(shù)
區(qū)塊鏈中涵蓋了很多技術(shù),下面主要結(jié)合游戲資產(chǎn)交易平臺(tái)需要用到的關(guān)鍵技術(shù)進(jìn)行詳細(xì)介紹。
3.1.1 ? 數(shù)據(jù)區(qū)塊
游戲人物、道具、賬號(hào)的交易記錄都會(huì)保存在數(shù)據(jù)區(qū)塊中,每個(gè)數(shù)據(jù)區(qū)塊由區(qū)塊頭(Header)和區(qū)塊體(Body)兩部分組成[7]。表2對(duì)數(shù)據(jù)區(qū)塊區(qū)塊頭中的字段進(jìn)行簡(jiǎn)要介紹。表3介紹了數(shù)據(jù)區(qū)塊區(qū)塊體結(jié)構(gòu),區(qū)塊體由區(qū)塊內(nèi)的交易數(shù)量和交易詳情組成。記賬本上記錄的是交易詳情,通過(guò)驗(yàn)證的交易會(huì)永久的記入數(shù)據(jù)區(qū)塊中,任何人都可以查詢賬本中交易詳情。對(duì)于每一筆交易,區(qū)塊體中的Merkle樹(shù)都會(huì)產(chǎn)生一個(gè)數(shù)字簽名,這樣可以保證每筆交易都是真實(shí)、有效的,數(shù)字簽名具有唯一性,它可以避免重復(fù)交易的出現(xiàn)。所有的交易將會(huì)通過(guò)Merkle樹(shù)的Hash過(guò)程產(chǎn)生一個(gè)唯一Merkle根值記入?yún)^(qū)塊頭。
在交易記錄區(qū)塊鏈中,首先產(chǎn)生的第0代區(qū)塊即創(chuàng)世區(qū)塊由系統(tǒng)初始創(chuàng)建,之后的交易區(qū)塊依次指向創(chuàng)世區(qū)塊。由于創(chuàng)世區(qū)塊是起始區(qū)塊,沒(méi)有上一區(qū)塊Hash地址,之后的每個(gè)區(qū)塊中都會(huì)保留了上一個(gè)區(qū)塊的Hash地址(區(qū)塊的唯一標(biāo)識(shí)),區(qū)塊之間通過(guò)引用上一個(gè)區(qū)塊的Hash地址,將區(qū)塊串在一起,區(qū)塊間形成了一個(gè)鏈?zhǔn)浇Y(jié)構(gòu),這個(gè)鏈?zhǔn)浇Y(jié)構(gòu)稱為交易區(qū)塊鏈。
3.1.2 ? P2P網(wǎng)絡(luò)
游戲資產(chǎn)交易平臺(tái)進(jìn)行發(fā)布的過(guò)程中會(huì)使用到P2P網(wǎng)絡(luò)[8]。P2P網(wǎng)絡(luò)是一種在對(duì)等者之間分配任務(wù)和工作負(fù)載的分布式應(yīng)用網(wǎng)絡(luò)架構(gòu)[9]。在P2P網(wǎng)絡(luò)中,所有節(jié)點(diǎn)的功能是一樣的,并沒(méi)有特殊功能的節(jié)點(diǎn),每一個(gè)節(jié)點(diǎn)理論上是可以對(duì)整個(gè)網(wǎng)提供所需的服務(wù),每個(gè)節(jié)點(diǎn)都保存了所有數(shù)據(jù),因此任何一個(gè)節(jié)點(diǎn)垮掉,都可以在其他節(jié)點(diǎn)找到數(shù)據(jù),并且不會(huì)對(duì)整個(gè)網(wǎng)絡(luò)穩(wěn)定性造成威脅。
資產(chǎn)進(jìn)行發(fā)布過(guò)程中會(huì)調(diào)用區(qū)塊鏈中的發(fā)布接口,在全網(wǎng)廣播商品詳細(xì)信息,每個(gè)游戲賬戶都會(huì)接收到發(fā)布信息,系統(tǒng)也會(huì)對(duì)有相應(yīng)需求的交易雙方進(jìn)行匹配。整個(gè)交易過(guò)程中,沒(méi)有第三方交易平臺(tái),僅僅只是兩個(gè)賬戶之間進(jìn)行交易,這種方式可以保護(hù)用戶隱私,讓交易雙方擁有數(shù)據(jù)的控制權(quán)。
3.1.3 ? 數(shù)字加密技術(shù)
游戲資產(chǎn)交易過(guò)程中將會(huì)用到數(shù)字加密技術(shù),其中用戶注冊(cè)階段產(chǎn)生隨著游戲賬號(hào)產(chǎn)生的公鑰(用于加密)、私鑰(用于解密)、地址(虛擬幣收貨地址)等信息就用到了數(shù)字加密技術(shù)。在進(jìn)行交易過(guò)程中,為了確保交易資產(chǎn)不被篡改,設(shè)計(jì)過(guò)程中會(huì)將待交易游戲資產(chǎn)提取摘要信息,并對(duì)其進(jìn)行加密處理。
數(shù)字加密采用非對(duì)稱加密算法技術(shù),非對(duì)稱加密算法指的是存在一對(duì)密鑰:公鑰、私鑰。使用公鑰加密過(guò)的數(shù)據(jù)信息,只能使用對(duì)應(yīng)私鑰對(duì)該信息進(jìn)行解密[7]。其中,注冊(cè)階段產(chǎn)生的私鑰是在一個(gè)密碼學(xué)安全的隨機(jī)源中取出的一個(gè)256位隨機(jī)數(shù),它總數(shù)為2256個(gè),幾乎不可能通過(guò)遍歷可能的私鑰得出公鑰。私鑰和Secp256k1橢圓曲線算法生成65字節(jié)長(zhǎng)度的隨機(jī)數(shù)稱為公鑰,地址也是由公鑰所生成,首先將公鑰進(jìn)行SHA256[10]和RIPEMD160雙哈希運(yùn)算,生成20字節(jié)長(zhǎng)度的摘要結(jié)果,這個(gè)將作為地址的主體信息,再在前面加上版本前綴0X00,在后面添加4個(gè)字節(jié)的地址校驗(yàn)碼,地址校驗(yàn)碼通過(guò)對(duì)摘要結(jié)果進(jìn)行兩次SHA256運(yùn)算,取哈希值的前四位產(chǎn)生,最后把版本前綴+主體信息+校驗(yàn)位通過(guò)Base58處理得到地址[7]。
3.1.4 ? 共識(shí)
區(qū)塊鏈網(wǎng)絡(luò)中,各節(jié)點(diǎn)一起維護(hù)同一個(gè)賬本,節(jié)點(diǎn)與節(jié)點(diǎn)之間,只有達(dá)成共識(shí),才可以進(jìn)行下一步操作[11]-[12]。共識(shí)這一機(jī)制主要作用是保持底層區(qū)塊鏈數(shù)據(jù)的一致性,防止惡意節(jié)點(diǎn)的破壞或者攻擊。共識(shí)機(jī)制主要驗(yàn)證各節(jié)點(diǎn)記錄的游戲資產(chǎn)交易信息是否達(dá)成一致。
游戲資產(chǎn)交易平臺(tái)主要參考拜占庭容錯(cuò)算法,“拜占庭將軍”難題主要指的是幾個(gè)只能靠信使傳遞信息的圍攻城堡的聯(lián)盟將軍,如何防止不會(huì)被其中的叛徒欺騙、迷惑從而做出錯(cuò)誤的決策[13]-[14]。在資產(chǎn)交易平臺(tái)中,一旦完成一筆交易,就需要在全網(wǎng)進(jìn)行廣播,全網(wǎng)的每一個(gè)節(jié)點(diǎn)都需要記錄下交易信息。如果所有節(jié)點(diǎn)對(duì)某一筆交易信息達(dá)成一致,就會(huì)將交易信息加入到交易區(qū)塊鏈中。
3.2 ? 區(qū)塊鏈技術(shù)主要特征及安全性分析
區(qū)塊鏈技術(shù)具備以下三個(gè)特征:
一、去中心化
區(qū)塊鏈?zhǔn)遣捎肞2P組網(wǎng)、分布式存儲(chǔ),數(shù)據(jù)由集體共同維護(hù),并且組網(wǎng)中的不同節(jié)點(diǎn)具有相等的權(quán)利和義務(wù),也就是說(shuō),在整個(gè)運(yùn)行期間進(jìn)行的所有交易,每個(gè)節(jié)點(diǎn)都有權(quán)利和義務(wù)去維護(hù)其數(shù)據(jù)。由于每一個(gè)節(jié)點(diǎn)都可以記錄所有交易,并且交易代碼是開(kāi)源的,用戶相當(dāng)于處在一個(gè)公開(kāi)透明的環(huán)境,用戶可以在這樣一個(gè)去信任化的環(huán)境中自由安全的進(jìn)行交易。
二、安全可靠的數(shù)據(jù)庫(kù)
區(qū)塊鏈?zhǔn)且粋€(gè)分布式存儲(chǔ)數(shù)據(jù)庫(kù),維護(hù)系統(tǒng)功能的驗(yàn)證節(jié)點(diǎn)都擁有一個(gè)完整的數(shù)據(jù)賬本,賬本上詳細(xì)的記錄了每一筆交易,通過(guò)驗(yàn)證的交易,會(huì)被加上一個(gè)時(shí)間戳,然后永久存儲(chǔ)在數(shù)據(jù)賬本中,由于每個(gè)節(jié)點(diǎn)中都保存了交易信息,那么只在某個(gè)節(jié)點(diǎn)中對(duì)數(shù)據(jù)庫(kù)進(jìn)行篡改信息是無(wú)效的,由于整個(gè)區(qū)塊鏈上的數(shù)據(jù)都是公開(kāi)的,任何人都可以通過(guò)公開(kāi)的接口來(lái)查詢區(qū)塊鏈數(shù)據(jù),運(yùn)行過(guò)程中,某個(gè)節(jié)點(diǎn)被破壞、喪失功能,系統(tǒng)也不會(huì)因此而崩潰。
三、匿名性
節(jié)點(diǎn)之間的數(shù)據(jù)交換遵循固定的算法,數(shù)據(jù)之間的交互會(huì)由區(qū)塊鏈程序規(guī)則來(lái)確定是否有效,無(wú)需知道對(duì)方身份即可進(jìn)行交易,并且交易過(guò)程中用戶可以采用加密技術(shù)來(lái)保護(hù)個(gè)人隱私。
以上都是區(qū)塊鏈技術(shù)的特征,首先去中心化可以讓用戶感受到一種面對(duì)面交易的感覺(jué),真正意義上的讓交易過(guò)程做到公開(kāi)透明,并且可以查詢每一筆交易的來(lái)龍去脈,防止有人惡意售賣(mài)。由于這個(gè)交易平臺(tái)建立在分布式數(shù)據(jù)庫(kù)上,這樣可以讓游戲在一個(gè)穩(wěn)固的環(huán)境下運(yùn)行,不會(huì)出現(xiàn)服務(wù)器宕機(jī)導(dǎo)致數(shù)據(jù)丟失的現(xiàn)象發(fā)生。匿名性這一特漲可以很好的保護(hù)用戶隱私不被侵犯,避免發(fā)生身份泄露等不良事件發(fā)生。充分利用區(qū)塊鏈技術(shù)特征,可以改變現(xiàn)有游戲資產(chǎn)交易方式,給玩家營(yíng)造一個(gè)去中心化、安全可靠的游戲資產(chǎn)交易,讓玩家擁有個(gè)人數(shù)據(jù)的主動(dòng)權(quán),充分保護(hù)游戲交易者的權(quán)益。
4 ? 基于區(qū)塊鏈技術(shù)的游戲資產(chǎn)交易平臺(tái)設(shè)計(jì)
4.1 ? 總體設(shè)計(jì)架構(gòu)
首先簡(jiǎn)要設(shè)計(jì)了如圖1所示的游戲資產(chǎn)交易平臺(tái)模型的整體架構(gòu)[15]。首先將游戲平臺(tái)分為游戲模塊和交易模塊,游戲模塊主要是具體游戲操作等過(guò)程,而交易模塊主要是面向交易玩家提供的業(yè)務(wù),在進(jìn)行相關(guān)業(yè)務(wù)操作過(guò)程中,調(diào)用區(qū)塊鏈接口,通過(guò)區(qū)塊鏈接口對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行一系列操作,然后與游戲模塊進(jìn)行相關(guān)數(shù)據(jù)交互。
4.2 ? 游戲平臺(tái)設(shè)計(jì)步驟
圖4中三層結(jié)構(gòu),為了簡(jiǎn)便起見(jiàn),就只介紹以下四個(gè)關(guān)鍵環(huán)節(jié):用戶注冊(cè)、用戶登錄、資產(chǎn)發(fā)布、資產(chǎn)交易(包括購(gòu)買(mǎi)、出售)。其中資產(chǎn)主要包括游戲賬號(hào)、游戲人物、游戲道具這一系列數(shù)字資產(chǎn)。它的設(shè)計(jì)步驟如下:
1、玩家首次進(jìn)入游戲平臺(tái)(非首次直接登錄即可),需要先進(jìn)行注冊(cè),注冊(cè)中需要填寫(xiě)用戶基本信息,填完完畢,平臺(tái)會(huì)對(duì)用戶基本信息進(jìn)行審核。審核通過(guò),平臺(tái)會(huì)調(diào)用區(qū)塊鏈注冊(cè)接口,生成一個(gè)用戶數(shù)據(jù)區(qū)塊,這個(gè)區(qū)塊鏈詳細(xì)記錄了用戶基本信息,同時(shí)也會(huì)將生成公鑰、私鑰、地址、哈希信息等信息寫(xiě)入到數(shù)據(jù)庫(kù)中。
2、完成注冊(cè)過(guò)程,就可以登錄平臺(tái),輸入賬號(hào)和密碼,登錄信息確認(rèn)無(wú)誤,可進(jìn)入游戲平臺(tái)。
3、這時(shí)就可以開(kāi)始游戲之旅,首次進(jìn)入游戲,需要了解游戲規(guī)則,獲得游戲人物、道具等,開(kāi)始平臺(tái)會(huì)設(shè)置一個(gè)新手指引環(huán)節(jié),讓玩家熟悉規(guī)則,新手體驗(yàn)環(huán)節(jié)結(jié)束,玩家可根據(jù)個(gè)人喜好去購(gòu)買(mǎi)游戲人物、道具,并進(jìn)行自由交易。
4、購(gòu)買(mǎi)游戲道具,游戲道具分為普通和不同等級(jí)稀有的(后面簡(jiǎn)稱稀有道具),在游戲交易市場(chǎng),搶手的游戲資產(chǎn)通常稀有道具或者級(jí)別較高的游戲賬戶,如果想要購(gòu)買(mǎi)稀有道具,會(huì)先調(diào)用區(qū)塊鏈購(gòu)買(mǎi)模塊接口,一旦交易成功,就將購(gòu)買(mǎi)詳細(xì)細(xì)節(jié)寫(xiě)入到區(qū)塊鏈交易區(qū)塊中,并返回處理信息,并將區(qū)塊和返回信息記錄到數(shù)據(jù)庫(kù)。
5、玩家購(gòu)買(mǎi)的游戲人物、稀有道具都完全為個(gè)人所有,沒(méi)法復(fù)制,沒(méi)法帶走,沒(méi)法銷毀,并且這些數(shù)字資產(chǎn)彼此之間是可以進(jìn)行交易的。
6、當(dāng)?shù)谰呋蛘哂螒蛉宋锝灰壮晒Γ夹枰谌W(wǎng)范圍類進(jìn)行廣播,將交易詳細(xì)信息寫(xiě)入?yún)^(qū)塊,然后加入到交易區(qū)塊鏈上,讓每個(gè)節(jié)點(diǎn)都記錄、存儲(chǔ)數(shù)據(jù)信息。
根據(jù)以上6個(gè)步驟,繪制出如圖2所示流程圖,其中交易區(qū)塊生成和節(jié)點(diǎn)驗(yàn)證將在游戲資產(chǎn)交易過(guò)程中詳細(xì)講解。
4.3 ? 游戲資產(chǎn)交易過(guò)程
4.3.1 ? 交易生成
在游戲平臺(tái)中,假如玩家A想要發(fā)布自己的一個(gè)游戲人物,那么就需要調(diào)用區(qū)塊鏈發(fā)布接口,首先需要在區(qū)塊鏈節(jié)點(diǎn)中發(fā)布出售信息,如果這時(shí)玩家B看中了玩家A出售的商品,那么就需要玩家A和玩家B進(jìn)行數(shù)據(jù)交易。
1、先將玩家A商品詳情進(jìn)行封裝,然后將商品詳情隨機(jī)選取部分信息進(jìn)行數(shù)字摘要,濃縮成一段字符串,玩家A用自己的私鑰對(duì)摘要進(jìn)行加密,形成數(shù)字簽名(數(shù)字簽名是確認(rèn)信息來(lái)源以及數(shù)據(jù)的完整性,防止交易被偽造,一旦修改交易信息,原先的數(shù)字簽名立即失效)。
2、將交易信息和數(shù)字簽名一起廣播到整個(gè)網(wǎng)絡(luò),玩家B接收到信息,使用公鑰解密數(shù)字簽名,對(duì)交易詳情單進(jìn)行驗(yàn)證,如果驗(yàn)證成功,證明這筆交易詳情單確實(shí)由發(fā)起方地址發(fā)出,且未被修改。
3、玩家B確定上述是通過(guò)驗(yàn)證的交易請(qǐng)求,且確定要進(jìn)行交易,就立即發(fā)送交易請(qǐng)求,支付交易現(xiàn)金或者虛擬貨幣到支付地址。
4、玩家A收到玩家B交易請(qǐng)求中的交易標(biāo)識(shí)和支付地址中的虛擬貨幣,系統(tǒng)則自動(dòng)將商品放置到玩家B的賬戶中,交易詳情信息自動(dòng)發(fā)布到全網(wǎng),記錄在區(qū)塊中,交易到此結(jié)束。以上環(huán)節(jié)中,只要有一個(gè)環(huán)節(jié)驗(yàn)證未通過(guò),則交易取消。
以上是交易生成過(guò)程,圖3反映了交易生成的具體實(shí)現(xiàn)過(guò)程。
4.3.2 ? 節(jié)點(diǎn)驗(yàn)證
游戲資產(chǎn)交易平臺(tái)中,上述環(huán)節(jié)中一旦判斷交易有效,玩家A獲得玩家B支付地址中虛擬幣,玩家B獲得玩家A的游戲道具,這時(shí)會(huì)將交易詳細(xì)信息寫(xiě)入?yún)^(qū)塊中,此時(shí)承載這個(gè)交易信息的節(jié)點(diǎn)可以稱為主節(jié)點(diǎn),主節(jié)點(diǎn)向其他節(jié)點(diǎn)發(fā)送交易區(qū)塊信息,其他節(jié)點(diǎn)收到信息后,發(fā)出信息,如果收到信息和發(fā)出信息內(nèi)容一樣,就表明其他節(jié)點(diǎn)對(duì)該區(qū)塊達(dá)成一致,這時(shí)就可以將區(qū)塊信息加入到區(qū)塊鏈中。
上述實(shí)現(xiàn)的過(guò)程是一種復(fù)制副本的服務(wù),這個(gè)過(guò)程包括狀態(tài)轉(zhuǎn)變和不同的操作方式,操作中涉及到狀態(tài)的轉(zhuǎn)變和操作參數(shù)的計(jì)算。一旦發(fā)起請(qǐng)求來(lái)執(zhí)行操作,就會(huì)通過(guò)設(shè)置堵塞來(lái)等待信息回復(fù)。在上述過(guò)程中,出現(xiàn)故障或失效的節(jié)點(diǎn)數(shù)目只要小于(n-1)/3,那么系統(tǒng)的安全性就會(huì)有保障。
5 ? 應(yīng)用中的不足
本文中設(shè)計(jì)的一種游戲資產(chǎn)交易方式在實(shí)際開(kāi)發(fā)過(guò)程中會(huì)出現(xiàn)一些問(wèn)題,例如在開(kāi)發(fā)過(guò)程中,由于區(qū)塊鏈?zhǔn)且粋€(gè)去中心化的網(wǎng)絡(luò)系統(tǒng),系統(tǒng)中節(jié)點(diǎn)很多,每個(gè)節(jié)點(diǎn)都記錄相同的數(shù)據(jù),節(jié)點(diǎn)中的數(shù)據(jù)信息也是公開(kāi)透明、不可篡改的,那么用戶數(shù)據(jù)在公開(kāi)透明的節(jié)點(diǎn)中應(yīng)該如何被監(jiān)管,這是值得思考的問(wèn)題;交易一旦發(fā)生,節(jié)點(diǎn)就需要同步數(shù)據(jù),這個(gè)過(guò)程會(huì)花費(fèi)很多時(shí)間,造成交易過(guò)程效率不高;在數(shù)據(jù)流量很大的時(shí)候,容易出現(xiàn)網(wǎng)絡(luò)擁塞。區(qū)塊鏈技術(shù)有很多優(yōu)勢(shì),但是也有一些應(yīng)用上的不足,如何將優(yōu)勢(shì)完美的發(fā)揮出來(lái),這些都需要去對(duì)現(xiàn)有區(qū)塊鏈技術(shù)重點(diǎn)的進(jìn)行研究,并花費(fèi)大量的時(shí)間去好好打磨。
6 ? 結(jié) ? 論
介紹的游戲資產(chǎn)交易平臺(tái)只是區(qū)塊鏈技術(shù)中一個(gè)簡(jiǎn)單的應(yīng)用,區(qū)塊鏈的應(yīng)用還遠(yuǎn)遠(yuǎn)不夠,它之后的發(fā)展前景將會(huì)顛覆人們已有的認(rèn)知。但是在區(qū)塊鏈應(yīng)用趨勢(shì)中,最關(guān)鍵的一點(diǎn)是要能夠掌握深層次的開(kāi)發(fā)和運(yùn)用技術(shù),雖然目前國(guó)內(nèi)有很多區(qū)塊鏈技術(shù)應(yīng)用的實(shí)例。但這些都僅僅是牛刀小試,還需要進(jìn)一步的探索。相信在不久的將來(lái),將會(huì)看到區(qū)塊鏈技術(shù)廣泛運(yùn)用在各行各業(yè),打造出一個(gè)全民區(qū)塊鏈的時(shí)代。
參考文獻(xiàn)
[1] ? ?奚聲慧.網(wǎng)絡(luò)游戲產(chǎn)業(yè)之經(jīng)濟(jì)學(xué)分析[D].上海:上海社會(huì)科學(xué)院,2007.
[2] ? ?聶煜烽.網(wǎng)絡(luò)游戲中虛擬物品交易規(guī)制研究[D].湘潭:湘潭大學(xué),2016.
[3] ? PILKINGTON M. Blockchain technology:priciplesand applications[OL].http://ideas.repec.org/p/hal/journl/halshs-01231205.html.
[4] ? ?(韓)魏晶泫.網(wǎng)絡(luò)游戲產(chǎn)業(yè)發(fā)展戰(zhàn)略[M]. 北京:清華大學(xué)出版社,2008.
[5] ? ?阿爾文德·納拉亞南,納什·貝努.區(qū)塊鏈:技術(shù)驅(qū)動(dòng)金融[M].北京:中信出版集團(tuán),2016:26—39.
[6] ? ?FlorianGlatz:whats a smart contract in search of a consensus[OL] https://medium.com/@heckerhut/whats-a-smart-contract-in-search-of-a-consensus-c268c830a8ad.
[7] ? ?鄒軍,張海寧,唐屹,等.區(qū)塊鏈技術(shù)指南[M].北京:機(jī)械工業(yè)出版社,2016:133—155.
[8] ? ?SCHOLLMEIER R. A definition of peer-to-peer networking for the classification of peer-to-peer architectures and applications[C]. In: Proc.of the 1st Int′l Conf. on P2P'01. IEEE,2001. 101—102.
[9] ? ?楊義.P2P流媒體視頻分發(fā)合作節(jié)點(diǎn)選擇模型研究[D].貴陽(yáng):貴州大學(xué),2016
[10] ?COURTOIS N T,GRAJEK M,NAIK R. Optimizing ?SHA256 in bitcoin mining[J]. Cryptography and Security Systems. Berlin Heidelberg:Springer,2014.131—144.
[11] ?PEASE M,SHOSTAK R,LAMPORT L.Reaching Agreement in the Presence of Faulrs[J].Journal of the ACM,1980,27(2):228—234.
[12] ?VUKOLIC M. The quest for scalable blockchain fabric: Proof-of-work vs. BFT replication[C]//International Workshop on Open Problems in Network Security. Springer International Publishing,2015:112—125.
[13] ?黃步添,王云霄,王從禮,等.一種應(yīng)用于區(qū)塊鏈的拜占庭容錯(cuò)共識(shí)方法:中國(guó),CN106445711A[P].2017-02-22.
[14] ?張錚文.一種用于區(qū)塊鏈的拜占庭容錯(cuò)算法[OL].[2017-07-03].http://www.onchain.com/paper/66c6773b.pdf.
[15] ?夏新岳.基于區(qū)塊鏈的股權(quán)資產(chǎn)購(gòu)買(mǎi)和轉(zhuǎn)增設(shè)計(jì)與實(shí)現(xiàn)[C].呼和浩特:內(nèi)蒙古大學(xué),2016.