如何通過區(qū)塊鏈去中化技術(shù)來解決游戲產(chǎn)業(yè)的問題
當(dāng)今dApp(去中心化應(yīng)用)是區(qū)塊鏈技術(shù)中最為普及的,其中「虛擬資產(chǎn)上煉」是被普遍看好的dApp核心玩法,虛擬資產(chǎn)最直接應(yīng)用就屬游戲中的游戲幣和虛擬寶物,而且游戲的全球市場(chǎng)1370億美金以上,2018年(圖表1),全球游戲行業(yè)營收約為1125億美元,到了2019年行業(yè)將增長(zhǎng)20%至1186億美元,所以用游戲產(chǎn)業(yè)來切入去中心化應(yīng)用是很好的切入點(diǎn),科技技術(shù)要商業(yè)化,透過娛樂業(yè)的推動(dòng)是稀松平常的事,像是Facebook娛樂性社交平臺(tái)卻推動(dòng)云端計(jì)算的普及,且Facebook推廣之初也是靠眾多小游戲捕獲大眾市場(chǎng),故本系統(tǒng)透過區(qū)塊鏈去中化技術(shù)來解決游戲產(chǎn)業(yè)的問題。
全球游戲營收
游戲產(chǎn)業(yè)的推廣分四個(gè)階段,近年各家游戲的生命周期逐年變短,因以下幾點(diǎn),第一開發(fā)商開發(fā)新的版本過快,導(dǎo)致已經(jīng)習(xí)慣游戲操作的玩家流失,但不持續(xù)改版又無法吸引新的玩家,因?yàn)橥婕沂鞘芡獠可缃卉浖绊懰孕枰e極的改版來吸引新玩家,導(dǎo)致游戲快速到衰退期,第二點(diǎn)就是開發(fā)商用一套「pay for win」、「pay for time」的剝削手法,讓付費(fèi)玩家獲得成就感從而強(qiáng)化付費(fèi)意愿,而不付費(fèi)玩家付出自己的時(shí)間為消費(fèi)玩家提供「陪玩服務(wù)」,換句話說游戲開發(fā)商泛濫的販賣物品就會(huì)有殺雞取卵的效果,使得不消費(fèi)玩家持續(xù)離開了,讓整個(gè)游戲生態(tài)崩壞(圖表2)。
圖表2目前課金游戲生態(tài)金字塔
如果游戲玩家組成一個(gè)循環(huán)的生態(tài)系(圖表3),讓用戶把自己獲得虛擬寶物透過一個(gè)公開的交易平臺(tái),交易平臺(tái)用有價(jià)的代幣買賣虛擬物品,開發(fā)商從中抽取手續(xù)費(fèi),讓開發(fā)商不用大量販?zhǔn)厶摂M資產(chǎn)使以導(dǎo)致通貨膨脹。虛擬物品設(shè)計(jì)的較希有,反而會(huì)讓玩家更愿意收藏而產(chǎn)生更大的利潤(rùn),這樣不消費(fèi)的玩家透過自己的時(shí)間來換來取相對(duì)的利潤(rùn),而花錢的玩家也可以省下時(shí)間,這樣對(duì)雙方玩家取得了雙贏。且透過虛擬物品交易平臺(tái)交易時(shí)同時(shí)交易代幣與虛擬物品,對(duì)買賣雙都有一定的保障。
圖表3自由交易生態(tài)
如和讓虛擬物品是公開、公正、不被濫用的。本文提出了讓處理虛擬資產(chǎn)的服務(wù)器的代碼和構(gòu)架透明,并且不可以被竄改,以下提出三點(diǎn)核心構(gòu)架;第一點(diǎn)解決構(gòu)架和代碼透明由git來把代碼公開和檢視,而系統(tǒng)架構(gòu)則用Docker中的Dockerfile檔案來公布。第二點(diǎn)不可竄改的后臺(tái),透過一種IOE團(tuán)隊(duì)打包的Linux鏡像檔,用這特制運(yùn)行的操作系統(tǒng)運(yùn)行就無法對(duì)該操作系統(tǒng)進(jìn)行修改與調(diào)整,這種運(yùn)行這里稱為[IaasNode],第三點(diǎn)虛擬資產(chǎn)紀(jì)錄在加密的數(shù)據(jù)庫,此種數(shù)據(jù)庫這里稱[CryptoNode],以上是本系統(tǒng)的基本構(gòu)架。
虛擬物品交易需要用有價(jià)的代幣交易,本系統(tǒng)代幣在這里稱為IOE幣,IOE幣是透過ethereum中的ERC20規(guī)范發(fā)行的區(qū)塊鏈代幣,現(xiàn)在市面上的也有眾多ERC20代幣,大部分沒有實(shí)質(zhì)的價(jià)值擔(dān)保,通常多為空氣幣居多,而IOE幣是透過Solidity智能和約來實(shí)作透過ETH做為擔(dān)保與交換,那ETH中的Ether與IOE的匯率計(jì)算是透過(方程式1)來做匯率計(jì)算,可直接透過這匯率向智能合約做購買與販賣,因此當(dāng)IOE購買越多匯率也會(huì)增加,反之賣的越多匯率就會(huì)下降,以達(dá)到實(shí)質(zhì)擔(dān)保,且符合自由市場(chǎng)供需與價(jià)錢的反應(yīng)。
方程式1 IOE與Ether匯率方程式
IOE團(tuán)隊(duì)是要打造真正可運(yùn)行的去中心化構(gòu)架,因?yàn)槟壳笆忻姹姸嗳ブ行臉?gòu)架都沒有實(shí)際應(yīng)用,反而多為投機(jī)的項(xiàng)目居多(20),因此本團(tuán)隊(duì)會(huì)以目標(biāo)導(dǎo)向?yàn)槟康?,首要?huì)積極開發(fā)應(yīng)用并且找尋第三方開發(fā)商,來把實(shí)際的應(yīng)用打造出來。
系統(tǒng)架構(gòu)與節(jié)點(diǎn)Node
本系統(tǒng)分成兩種節(jié)點(diǎn):IaasNode和CryptoNode,IaasNode主要是負(fù)責(zé)去中心化的運(yùn)行環(huán)境,確認(rèn)運(yùn)行程序的透明,且不可以修改.CryptoNode是負(fù)責(zé)敏感數(shù)據(jù),這邊的數(shù)據(jù)都會(huì)有加密,并且無法竄改,只有對(duì)應(yīng)的IassNode可以做操作和修改。
系統(tǒng)架構(gòu)設(shè)計(jì)如(圖表4),本構(gòu)架透過Docker技術(shù)中的特性,能把運(yùn)行所需要用到的基礎(chǔ)建設(shè)已代碼的方式記錄到Dockerfile,這樣代碼和運(yùn)行環(huán)境就能夠一起檢視,接者把代碼和Dockerfile透過版本控制技術(shù)Git上傳到Github、Bitbucket或是其他的開源網(wǎng)站,然用游戲開發(fā)商標(biāo)明要部屬到哪一個(gè)[IaasNode],然后透過[JenkinsNode]完成部署的動(dòng)作,然后部屬的Iaas和git位置關(guān)聯(lián)信息是紀(jì)錄在[CryptoNode]里,并且只有認(rèn)可的[IaasNode]才可以操作[CryptoNode]里的數(shù)據(jù)。
圖表4系統(tǒng)基本構(gòu)架
為了支撐這個(gè)構(gòu)架,我們把系統(tǒng)里的角色分成四種:開發(fā)商、IOE團(tuán)隊(duì)、Node供應(yīng)商、用戶等4個(gè)角色,角色的關(guān)系如(圖表5),當(dāng)用戶透過智能合約,來買賣就會(huì)幫助我們獲得一部分的IOE,當(dāng)作系統(tǒng)開發(fā)和維運(yùn)的費(fèi)用,而用戶玩家可以透過取得到的IOE代幣去系統(tǒng)內(nèi)的交易所交易,來購買自身所需的虛擬物品,反之用戶也可以把自身的虛擬物品透過此管道販賣出去,來換到對(duì)應(yīng)的IOE代幣,而每種虛擬物品都是有屬于某個(gè)系統(tǒng)內(nèi)的應(yīng)用,如果該應(yīng)用的虛擬物品被買賣,其中有部分的費(fèi)用會(huì)給該應(yīng)用的開發(fā)者,當(dāng)作開發(fā)應(yīng)用的報(bào)酬,當(dāng)然開發(fā)商也可以直接跟用戶收取費(fèi)用。
圖表5角色I(xiàn)OE的流動(dòng)關(guān)系
CryptoNode
這個(gè)Node主要是紀(jì)錄本系統(tǒng)的用戶資料、App數(shù)據(jù)、系統(tǒng)數(shù)據(jù)、JenkinsNode數(shù)據(jù)、DockerNode數(shù)據(jù),要操作里面的數(shù)據(jù)是要透過認(rèn)可過的節(jié)點(diǎn)來操作和讀取,并請(qǐng)所以數(shù)據(jù)都有做加密處理,以確保數(shù)據(jù)的安全性。
這個(gè)Node是整個(gè)系統(tǒng)的核心,這也是最后才會(huì)變成公鏈的節(jié)點(diǎn),并且CryptoNode并不支持挖礦,而是用戶來投票決定每個(gè)區(qū)域的CryptoNode供應(yīng)商(圖表6),而當(dāng)CryptoNode節(jié)點(diǎn)的供應(yīng)商,依處理的交易量來獲得應(yīng)有的手續(xù)費(fèi),這樣設(shè)計(jì)有兩種好處,第一這樣有去中心的效果,如果沒有只有一個(gè)節(jié)點(diǎn)被惡意串改,其他的節(jié)點(diǎn)也無法承認(rèn),第二點(diǎn)每區(qū)域都有節(jié)點(diǎn)就可以節(jié)省網(wǎng)絡(luò)連線時(shí)間,這樣用戶就有更快的交易體驗(yàn)。
CryptoNode的確認(rèn)方式和廣播方式是采用符合使用者行為去設(shè)計(jì)的,應(yīng)用程序的所在位置通常都在固定區(qū)域,當(dāng)應(yīng)用程序發(fā)請(qǐng)求,只要該節(jié)點(diǎn)確認(rèn)過該請(qǐng)求就可以回復(fù)給發(fā)出請(qǐng)求的App,然后在發(fā)通知給其他的節(jié)點(diǎn),讓他們更新數(shù)據(jù)。但是如果客戶如果原本都是美洲使用,現(xiàn)在出現(xiàn)在亞洲使用者的話,但是數(shù)據(jù)沒有同步完成就要等待同步完成才能繼續(xù)使用,但是正常情況這是不可能會(huì)發(fā)生的。
CryptoNode紀(jì)錄IOE團(tuán)隊(duì)開發(fā)的Jenkins服務(wù)器,當(dāng)然這個(gè)服務(wù)器運(yùn)行在[IaasNode]上,那這里我們稱為[JenkinsNode],每[JenkinsNode]都對(duì)應(yīng)多個(gè)可以部屬App的[DockerNode]用來,這些對(duì)應(yīng)信息也會(huì)記錄在CryptoNode。
圖表6CryptoNode分布式
CryptoNode的用戶資料用(圖表7)來做說明,每一筆用戶都有一組”用戶ID”做索引,用戶會(huì)記錄用的基本資料,每次CryptoNode會(huì)新增修改不同的數(shù)據(jù),其中”apps”是紀(jì)錄應(yīng)用程序與用戶的對(duì)應(yīng)數(shù)據(jù),都會(huì)記錄在這里,那如果有”@”做前綴就是系統(tǒng)有規(guī)范的數(shù)據(jù)格式,像是可以做交易的數(shù)據(jù)就會(huì)有規(guī)范。
圖表7用戶資料格式
IaasNode
IaasNode是一種Linux操作系統(tǒng)的運(yùn)行環(huán)境,它是由IOE團(tuán)隊(duì)釋出的Linux Image所安裝后所運(yùn)行的操作系統(tǒng),此操作系統(tǒng)有三種特性,第一它只能運(yùn)行特定的軟件或是應(yīng)用程序,第二它透過任何方法登入,因?yàn)橐_定無法修改或安裝其他應(yīng)用程序,已確保由[JenkinsNode]部署過來的應(yīng)用程序或是內(nèi)置的應(yīng)用程序不會(huì)被串改,只有允許的信道能能夠與操做這個(gè)節(jié)點(diǎn),第三這種節(jié)點(diǎn)會(huì)有安裝CryptoNode的SDK,已確保呼叫API是經(jīng)過認(rèn)證的IaasNode,并且每次傳送信息前都會(huì)比對(duì)部屬程序的SHA-2,已確保系統(tǒng)與App都沒有被串改。
JenkinsNode
JenkinsNode也是運(yùn)行在[IaasNode]的其中一種,只是它上面是運(yùn)行IOE團(tuán)隊(duì)所修改的Jenkins服務(wù)器,它是一個(gè)將Git版本庫與運(yùn)行的[DockerNode]做連接,所以JenkinsNode的角色非常重要,所以這個(gè)節(jié)點(diǎn)會(huì)跟[CryptoNode]是最后才會(huì)釋出。每個(gè)JenkinsNode所在位置等信息都會(huì)記錄在Crypto中,開發(fā)者用戶只要透過瀏覽器連接到最近的JenkinsNode,并且使用[IOE],就可以登入Jenkins的后臺(tái)(圖表8),開發(fā)者就可以指定自身項(xiàng)目的Git版本庫部屬到單一或多個(gè)[DockerNode],開發(fā)商可以看到DockerNode列表,上面會(huì)有計(jì)價(jià)方式,此計(jì)價(jià)方式是申請(qǐng)DockerNode的節(jié)點(diǎn)供應(yīng)商所決定的,開發(fā)商就可以依自己的考察來決定要來租借符合需求的節(jié)點(diǎn)。
上述是指第一次部屬應(yīng)用程序的流程,之后如果要更動(dòng)版本,首先開發(fā)商發(fā)送新的Git Push,這時(shí)候JenkinsNode就會(huì)收到這個(gè)新的版本,但是不會(huì)馬上部屬到DockerNode,而是會(huì)發(fā)起投票機(jī)制,這時(shí)候如果完成投票,并且審核通過才會(huì)部屬到對(duì)應(yīng)的DockerNode,完成更新版本的動(dòng)作。
投票機(jī)制的方式目前規(guī)劃是使用該應(yīng)用程序的用戶,在一定的時(shí)間內(nèi)要去JenkinsNode的后臺(tái)投下是否允許更新版本,只要超過時(shí)間就算是廢票。
圖表8 Jenkins后臺(tái)
DockerNode
目前后臺(tái)的組成有很多種,像是Java、Nodejs、PHP、Python、Ruby、Go、C#等等的程序語言編寫而成的,而且可能會(huì)需要用到很多第三方服務(wù)像是AWS、Google Cloud,更不用說需要安裝一些套服軟件,DockerNode的核心概念就是開發(fā)商不需要改變?cè)镜臉?gòu)架,只要把交易的部分的代碼公開,其余開發(fā)商要用什么構(gòu)架都是可以的。
IOE采用Docker的解決方案,能夠公開代碼并且能夠檢視運(yùn)行構(gòu)架,且只要運(yùn)行構(gòu)架有支持Docker都可以使用,所以此節(jié)點(diǎn)才會(huì)命名為DockerNode,此節(jié)點(diǎn)是一種IaasNode,所以這個(gè)操作系統(tǒng)主要是運(yùn)行Docker,且只有預(yù)留信道給[JenkinsNode]。
DockerNode會(huì)是最先開法讓用戶注冊(cè)的節(jié)點(diǎn),用戶只要運(yùn)行官方提供Linux Image,此時(shí)節(jié)點(diǎn)供應(yīng)商要透過瀏覽器連接到最近的JenkinsNode,并且使用[IOE],就可以登入Jenkins的后臺(tái)(圖表8),并且輸入自己的節(jié)點(diǎn)網(wǎng)絡(luò)位置,然后開始輸入想要租借的價(jià)碼,只要有開發(fā)商租借此節(jié)點(diǎn)就算是租借完成。而開發(fā)商可以透過(表格1)的參數(shù)來決定是否要租這個(gè)節(jié)點(diǎn)。
交易所Node
只要開發(fā)商在[CryptoNode]中的應(yīng)用程序數(shù)據(jù)中符合(表格2)的格式規(guī)范,這些物品,這樣的物品就可以刊登在IOE虛擬物品交易所上,而這個(gè)交易所是IOE團(tuán)隊(duì)所以開發(fā)的一個(gè)交易平臺(tái)的節(jié)點(diǎn),也只有它能夠被授權(quán)交易[CryptoNode]中的這些數(shù)據(jù)。
要交易的用戶可以過網(wǎng)頁瀏覽器可以進(jìn)到交易所的網(wǎng)頁界面,并且需要搭配[IOE],用戶透過交易所就可以買賣虛擬物品。
IOE Client Kit
如果開發(fā)商要寫入或讀取客戶資料時(shí)須要透過IOE團(tuán)隊(duì)開發(fā)的客戶端套件,因運(yùn)行平臺(tái)不同IOE團(tuán)隊(duì)會(huì)提供不同的套件,目前規(guī)劃會(huì)釋放出三個(gè)程序語言的套件C# Unity、Javascript、Java。用這些套件,確定用戶資料是安全不會(huì)被竄改的。
IOE瀏覽器插件
由IOE團(tuán)隊(duì)開發(fā)的瀏覽器插件,它類似于以太仿中的MetaMask,可以當(dāng)虛擬錢包,并且可以與前端Javascript Client Kit做溝通,來用戶的數(shù)據(jù)傳輸更安全與便利。
代幣發(fā)行細(xì)節(jié)
IOE代幣
IOE代幣為Intelligent OperaTIng System Exchange Token,簡(jiǎn)稱“IOE幣”,代幣縮寫為”IOE”,發(fā)行總量恒定為1億個(gè),且保證永不增發(fā)。IOE幣是基于以太坊Ethereum發(fā)行的去中心化的區(qū)塊鏈數(shù)字資產(chǎn),它是基于以太坊區(qū)塊
鏈的ERC 20標(biāo)準(zhǔn)代幣。
發(fā)行方式
與透過IOE的Ethereum智能合約透過Eth做為擔(dān)保與交換,ETH中的Ether與IOE幣的匯率計(jì)算是透過方程式(方程式2)來做匯率計(jì)算,可以透過IOE的dApp網(wǎng)頁,來進(jìn)行購買或是買賣,不過這并不包含系統(tǒng)開發(fā)費(fèi)與分潤(rùn)費(fèi)。有關(guān)詳細(xì)的操方可以參考官方的教學(xué)說明。
方程式2 IOE與Eth匯率交換
優(yōu)勢(shì)與特點(diǎn)
· 人數(shù)精簡(jiǎn)快速靈活的開發(fā)團(tuán)隊(duì),采用Scurm敏捷式開發(fā)的團(tuán)隊(duì)。
· 突破內(nèi)存塊鏈無法與現(xiàn)今應(yīng)用程序做整合的困境。
· 改變虛擬貨幣沒有實(shí)際應(yīng)用的問題,團(tuán)隊(duì)首要目標(biāo)先來做實(shí)際應(yīng)用。
· 短期改變游戲圈的消費(fèi)生態(tài),讓游戲玩家有更有保障,讓游戲開發(fā)商有更好的游戲推銷周期。
· 開發(fā)商沒有過高的門坎來轉(zhuǎn)移目前的程序構(gòu)架。
· 代幣有透過Eth做擔(dān)保。