Cocos-BCX去中心化應用與數字資產管理和交易平臺

買賣虛擬貨幣
Cocos-BCX希望向遊戲開發者提供易用、完善的遊戲基礎設施,包含視覺化的開發套件和鏈上生態環境,開發者無需關注區塊鏈技術的實現,即可直接以圖形化的方式,低門檻、快速高效的完成區塊鏈遊戲的開發。Cocos-BCX希望向遊戲玩家提供一個資料透明、規則透明、不會發生後臺操縱道具掉率、惡意誘導消費的公平、公正、公開的遊戲環境,希望遊戲玩家的資產能夠長時效、安全、去中心的儲存。同時,我們希望透過區塊鏈承載的數字資產經濟模型,幫助開發者和玩家實現更好的利益一致性:我們幫助開發者將其生產的內容資產化,使其在資產的使用、管理和交易過程中持續獲得收益,並提供便利、去中心的遊戲分發渠道;我們幫助玩家將其消耗時間與精力形成的資料和消費獲得的道具轉化為可以安全存放和流通的資產,讓玩家擁有將其管理和商業化的權利。專案架構
1. 概要Cocos-BCX 將打造一個完整的多平臺遊戲執行環境,最大程度地為遊戲開發者提供區塊鏈遊戲的開發便利性和完善的生態環境,同時將為遊戲使用者帶來全新的遊戲體驗和超越以往的遊戲形態—使用者將擁有遊戲資產的自主權、遊戲環境將最大可能的公平、公開、公正。為了達到以上目標,Cocos-BCX 將提供包含且不限於如下技術特性:
·帶有區塊鏈系統互操作介面的多平臺遊戲執行環境;·支援同質和非同質 Token 的跨鏈承兌閘道器;·基於 DPoS 的改進高速共識,和委託見證模式;
·支援語法級別的共識任務;·包括高效鏈網路與高速合約虛擬機器的測試鏈;·支援委託的事務機制;
·能夠跨塊執行的智慧合約;·支援定時器、支援 Standby 模式,帶有心跳支援的合約執行模式;·支援鏈網路內的可信隨機過程。
同時,提供包含且不限於如下的功能:·去中介資產(道具)交易介面;·道具資產交易市場的範例;
·玩家自治和鐵匠鋪機制的支援;·視覺化 IDE(含遊戲程式和合約的視覺化編輯);·完整的錢包、使用者系統和區塊鏈瀏覽器;
目前,Cocos-BCX 測試鏈的理論吞吐量可以達到 100,000 tps,實際吞吐接近 3,500tps,出塊時間為 3 秒,即每 3 秒完成一次全網資訊廣播。Cocos-BCX 的實際吞吐量在完成可由合約設定的分割槽共識、多鏈聯合和“見證委託”後將得到進一步提高,足以支撐大部分遊戲的關鍵邏輯上鍊執行,“無延遲交易確認”技術將進一步提高交易體驗。Cocos-BCX 測試鏈附帶的錢包直接整合資產交易市場,使用者可根據交易市場的遊戲 Token 與主鏈基礎貨幣的兌換率評估遊戲金幣、道具和賬號的價值。Cocos-BCX 被 COCOS Creator 視覺化遊戲編輯器直接支援,Creator 產出的遊戲能夠直接在Cocos-BCX 的區塊鏈執行環境中執行。
2. 帶有區塊鏈互操作介面的多平臺遊戲執行環境

2.1. 多平臺遊戲整合執行環境


Cocos-BCX 認為未來的區塊鏈遊戲的執行環境應具備以下的特徵:


·一致和完善的鏈互操作介面;
·向下透明的承接方式;
·封裝的原子操作;
·多平臺相容。


為了簡化開發者的使用過程,Cocos-BCX 設計了一套可適配多種型別 APP 的整合執行環境,以及配套的互操作介面。和 COCOS Creator 結合,簡化遊戲程式和區塊鏈的對接過程,使鏈內互動工作對開發者透明化,讓傳統遊戲的開發者也能無門檻地開發或遷移區塊鏈遊戲。


Cocos-BCX 鏈上游戲執行 SDK 被整合到 Cocos 引擎 Runtime 中,對遊戲提供完整的鏈互動介面,遊戲開發者基於 Cocos-BCX SDK 完成遊戲內容向區塊鏈網路的接入,鏈互動過程透明化、結構化,遊戲開發團隊不再需要投入研發力量用於適配鏈網路和不同裝置。


同時,執行環境將相容原生 Android、iOS 和 PC Web、移動 H5 等系統和環境。執行環境內的遊戲將具備原生的跨平臺能力,實現鏈上游戲在多個平臺無障礙執行的特性。


2.2. 區塊鏈互動介面


Cocos-BCX 提供鏈的互操作介面,支援重要遊戲資料和交易資料的鏈上儲存,具備不可篡改特性。


Cocos-BCX 提供的資料互動介面主要包括兩種形式:JavaScript 介面和本地動態庫。


Cocos-BCX 的主要連線方式包括 WebSocket 和 HTTP,其中資料互動的函式介面包括 Database API和 AccountHistory API 兩大類,諸如使用者註冊、使用者資訊、使用者資產操作、使用者遊戲資料操作等功能都透過這類介面完成。鏈上資料介面允許使用者在鏈上儲存遊戲金幣和資料,並且為了提供最佳的相容性和可定製特性,系統不會對加密封裝的遊戲資料進行解析,以便遊戲廠商更靈活的設計自己的鏈上游戲儲存結構,這些遊戲數字資訊可透過遊戲客戶端以及資產市場的遊戲外掛解析。


目前執行環境的介面主要提供遊戲 Token 和道具查詢、轉移等基礎介面。


3. 支援同質和非同質 Token 的跨鏈承兌閘道器

Cocos-BCX 提供一套承兌閘道器用於遊戲金幣和道具的自動化承兌,在統一的價值衡量體系下,實現鏈上不同遊戲、不同平臺間內容的平滑過度,可用於承兌的內容包括遊戲金幣、遊戲裝備資料等。


3.1. 遊戲 Token 的承兌


遊戲數字資產(遊戲 Token)與以太坊 ERC20 數字 Token 承兌如下圖所示:

3.2. 遊戲道具資產的承兌

ERC875 和 ERC721 Token 標準都是針對非同質 Token 的標準協議。在某種程度上,ERC875 更像是 ERC721 的“簡略縮水”升級版。ERC721 Token 標準建立了非同質 Token 的標準先河,其隨後更新的 ERC841 和 ERC821 都是在其上某部分進行的最佳化修改;而 ERC875 Token 標準,則更加簡單直接。其定義的函式包括,name 、symbol、balanceOf、transfer、transferFrom,totalSupply、ownerOf、trade。對比 ERC721 Token 標準,ERC875 的函式更加簡單。


透過進一步擴充套件承兌閘道器支援的 Token 技術,閘道器將能夠在未來支援以 ERC721、ERC875 為代表的非同質複合型合約,承兌閘道器對遊戲道具與非同質合約的承兌類似於一個專用編譯器,透過對結構化資料的翻譯和轉換,實現非同質合約到鏈內遊戲道具的雙向承兌,相容更多型別的鏈內外道具流轉,提供更豐富的遊戲內容和使用者體驗。


4. 對已有區塊鏈系統的最佳化和擴充套件


4.1. 合適的區塊大小、出塊時間和流轉方案


目前石墨烯區塊鏈網路的最大區塊大小為 2,000,000 位元組/塊,實際大小不足 2M,導致結構化資料很難在如此小的區塊中完成高效的讀寫,現有的區塊鏈網路完全無法承擔遊戲上鍊執行對結構化資料鏈上儲存的要求。


因此,Cocos-BCX 考慮到未來各階段鏈上游戲對區塊容量量的需求,對區塊鏈封包的區塊體積進行了拓展最佳化,為更多資料在鏈上互動先行提供硬體基礎。


4.2. 鏈上自定義結構資料儲存


鏈遊戲最終是需要將更多的遊戲內容放在區塊鏈網路中執行的,傳統區塊鏈資料結構在設計之初未充分考慮擴充套件性,導致無法容納較大規模的資料,且缺乏靈活性的結構設計導致現有區塊鏈技術下的鏈上資料結構僅適用於數字貨幣流通。此外,缺乏擴充套件的合約直譯器進一步加重了區塊鏈上資料結構使用受限的情況。


Cocos-BCX 從區塊鏈底層著手修改,將原本的結構進行了重新設計,在原有的鏈結構中增加了一個自定義資料結構以容納以後可能的遊戲資料和擴充套件內容,同時也相應調整了鏈內與鏈結構資料處理相關的共識、見證、出塊等關鍵流程以匹配新設計的資料結構。


修改後的鏈上資料,包括區塊中每一筆交易、遊戲資料檔案、遊戲規則資料等都可以透過區塊號及相應 ID 查詢,遊戲資料存檔的變更歷程亦可從區塊中回溯,不再有刪檔或資料丟失的風險。遊戲內容交易也可透過區塊在鏈上回溯內容流轉歷程,保證使用者遊戲金幣的安全。


Cocos-BCX 中的道具資料,只在生成和屬性變動時在塊資料中作完整記錄,普通的交易和流轉時,則僅記錄雜湊指標,確保塊資料的體積不會因長期的交易過快的增長。


4.3. 改進的 DPOS 共識機制


Cocos-BCX 測試鏈的共識層採用 DPOS 共識演算法。


DPOS 演算法透過預定見證人和規定時間槽位來推測區塊的生產者以及出塊時間,通常時間槽位間隔為 5 秒,在實際使用過程中為了更快的網路廣播速度以及更大的網路吞吐量而將時間槽位間隔設定為 3 秒,如果預定的見證人在規定的時間槽到來時,因為網路原因或者裝置硬體故障沒有正常的出塊,則該時間槽位不會出塊,網路將等待下一個時間槽位到來選擇另一個預定見證人進行出塊。


Cocos-BCX 中,所有的預定見證人都由所有的持股人從見證人中投票選舉,預定見證人統稱為活躍見證人,活躍見證人數量通常為 11~21 個。所有的活躍見證人在 DPOS 共識演算法的見證人預定演算法中具有相同的出塊預定概率,這保證了所有見證人的出塊概率和獲取出塊獎勵是一致的。石墨烯投票更新時間通常為 24 小時,但處於安全性、穩定性、公平性的考慮,專案初期網路投票更新時間通常較短,可能為 12 小時甚至更短。

在 DPOS 演算法中透過預定見證人和規定時間槽位來推測區塊的生產者以及出塊時間,主鏈的活躍見證人總是多於支鏈,故此主鏈區塊高度一定高於支鏈,同時全網投票機制避免了見認證人集中化,保證了網路的安全性,不同見證機制之間的優劣對比如圖 2-4-1 所示。

4.4. 使用現代密碼學保障的安全性


現代密碼學技術一門基於數學原理的密碼學技術,目前已經廣泛應用於網際網路領域的多種行業,常見的對稱加密技術包括 WiFi 使用的 AES 加密,以及不對稱加密演算法(公私鑰密碼體系)RSA、ECC 等,其中 ECC(橢圓加密演算法)是區塊鏈領域常用的加密演算法。這些演算法透過數學原理設計出一種不可接受解算消耗的加解密體系來防止加密被攻破。在沒有正確獲得金鑰的前提下,對此類加密演算法的破解嘗試均會因為計算量過大導致實施時間過長(通常需要花費近百年的時間用於嘗試破解/猜解金鑰體系)而失去破解行為的價值。


ECC 演算法全稱 Elliptic curve cryptography(橢圓曲線加密演算法),於 1985 年由 Neal Koblitz和 Victor Miller 分別提出。


4.5. 低分叉風險


在比特幣和以太坊網路中的工作量證明機制下,礦工遵循相同的機制,當礦工同時挖出了兩個區塊時,就出現了分叉現象。在遵循“最長鏈”原則的共識機制下,分叉的鏈會在 6 個區塊後,短的鏈就會被廢棄。但是當礦工不遵循同樣的機制時,就會出現兩種會產生深遠影響的分叉結果,軟分叉和硬分叉。相對而言,軟分叉就是區塊鏈系統的舊版本與新版本的區別,當原有舊系統完全升級後,軟分叉現象就會消失;硬分叉是原本同一區塊鏈主鏈的礦工,選擇採取不同的共識機制進行挖礦,同一條主鏈將會被分成同源但卻分離的兩條鏈。2016 年 7 月份的”The DAO”事件就是最著名的以太坊網路硬分叉案例。而當以太坊分叉為以太坊和以太坊經典後,其對應原有主鏈的算力就會降低,進而對整個主鏈網路的安全性產生重大影響。


Cocos-BCX 使用 DPOS 共識機制,不需要礦工使用礦機進行挖礦,可以有效避免中心化算力對整個基礎鏈的影響,進而降低分叉風險。在 DPOS 機制下,若有見證人想要透過投票進行分叉,則需要保證 1/3 以上的見證人都同時違背機制才有可能。與此同時,使用者也可以透過票選罷免活躍見證人來降低可能的分叉問題。 相比較比特幣和以太坊網路的 POW 共識機制下的高分叉風險,Cocos-BCX的分叉風險更低,可以有效保證遊戲開發者和使用者的資料安全。


4.6. 多鏈掛接


除跨鏈承兌閘道器外,Cocos BCX 將在未來支援更加直接的多鏈掛接方案,例如,在下一階段的升級中,Cocos BCX 將支援使用 IPFS 儲存大段的合約與一些遊戲資料。


5. BCX 測試鏈:高效鏈網路與高速合約虛擬機器


Cocos-BCX 擁有足夠的高併發處理能力。


目前的絕大部分聯網遊戲,當使用者規模達到一定程度時,其伺服器需要在短時間內進行大量的資料處理,而在現有的以太坊網路中是無法實現的。


Cocos-BCX 採用改進的 DPOS 共識,理論吞吐量約 10 萬 TPS,其高併發處理效能在合理的資料管理模式設計下足以支援現有遊戲的開發與正常執行,基本滿足大型聯網遊戲在平臺中的運營訴求,保證使用者的遊戲體驗與現有的中心化遊戲幾乎沒有區別。


由於大規模網路遊戲的資料互動頻率非常高,DNF 曾創下 60 萬人同時線上的記錄,Steam 遊戲平臺更有 1420 萬人同時線上的驚人資料。如果每一個線上使用者提交資料的行為都視為發起了一次共識申請,Cocos-BCX 的極限吞吐能力不足以支撐這樣級別的處理請求,開發團隊按見證速度的需求設計了不同的見證委託模式(Delegation Templates),使單一見證委託人不用對所有執行中的遊戲作同時見證和處理,而是專注於對複數個同型別遊戲作見證和計入區塊的工作。並且,在這一模式下,不同遊戲的資料提交/見證是相對非同步的過程,每一個遊戲會選擇適合的委託模式,而非同步模式下的資料驗證則可以透過鏈上資料庫服務來完成,即使用者在鏈上驗證並完成資料存取。這一過程非常高效,足夠支撐大規模遊戲場景下的玩家資料操作。


合約是一段可以自動執行的程式,同時作為系統參與者,按照環境的基本規則(編譯器規則)執行預設的任務,合約可以定義輸入和輸出,能夠接受和儲存價值,同時向外傳送資訊和價值。智慧合約是以“不信任原則”為前提設計的,每一個節點均認為彼此不可信任。由於區塊鏈的分散式儲存特性,鏈上的每一個節點均儲存有同樣的合約執行程式碼,合約的執行結果由全網算力共同見證,並透過全體表決形式決定運算結果是否被認可。Cocos-BCX 的合約支援見證委託的定義。


為了保障合約執行的效率足以向使用者提供足夠良好的遊戲體驗,Cocos-BCX 重新設計了一套針對鏈上游戲場景的基於 LUA 的高速合約虛擬機器方案。不同於現有區塊鏈的合約虛擬機器方案,除了透過大幅定製和最佳化現有的區塊鏈執行環境及合約虛擬機器的執行效率外,Cocos-BCX 的虛擬機器使用與遊戲SDK 相同的語言和 API 系統,並提供鏈和遊戲執行環境的互操作介面,這將徹底改變區塊鏈合約環境單一、靈活性差、定製能力差的現狀。智慧合約的應用場景將不再限制於作為貨幣描述,而是開始能夠接納更多與遊戲直接相關的內容,包括可能的諸如:基礎規則、設定、單位、場景、甚至地圖等。改進後的虛擬機器不僅支援更為複雜和靈活的合約形態,並且將大幅度提高現有智慧合約的執行效率。


6. 業務與執行設計


6.1. 道具資產交易市場


Cocos BCX 專案中,道具買賣主要由兩個函式實現:


道具的購買函式是一個多步合成的原子操作,在支付費用的同時完成使用者賬戶遊戲道具資料的更新,如果支付動作或賬戶商品資料更新動作中某一個動作不被主鏈區塊認可,則整個交易將被回滾,避免異常交易。


對於道具的出售,Cocos BCX 提供的函式並不能直接賣出裝備,而是向 OTC 交易平臺(中心或去中心)發起掛單賣出的請求。原則上講,鏈內只允許使用者對自己的資產發起主動操作,而不應被任何第三方控制,例如平臺對實際資產的託管、代交易。OTC 交易平臺需記錄本函式執行成功時生成的orderObejct 訂單物件。(在交易前可呼叫 getItems 函式,列出使用者道具,以便使用者選擇賣出),當買入請求抵達,交易發生時,實質是訂單的點對點成交。


與傳統的遊戲交易所不同,Cocos-BCX 的去中心交易所並不存在中介機構,一方面提高了買賣雙方進行交易的效率,一方面能夠讓原本支付給中介機構的費用直接支付給了賣方,達到賣家多賺錢、買家少付錢的效果。


玩家可以在道具交易市場完成“遊戲金幣”和遊戲中道具資產的掛單、售賣和購買消費。在整個交易過程中,為了更加高效的幫助使用者進行售賣購買服務,交易所將採用智慧合約進行自動交易撮合。
交易所將對接多平臺執行的遊戲資料,由於具備最佳的相容性和可定製特性,遊戲廠商可以靈活的設計自己的鏈上游戲儲存結構,並將遊戲資料對接到交易所,使用者可以方便的在交易所查詢到多種遊戲的金幣和道具資產。為遊戲內的資產流通提供強有力的支援。


使用者在授權登入交易所後,可以選擇將自己的遊戲道具資產以掛單的方式掛入交易市場,符合買賣價格的買單和賣單將被系統自動撮合,交易內容不侷限於遊戲內貨幣,也涵蓋道具、裝備、遊戲資料等完成掛單後,掛賣資訊將被寫入鏈上。遊戲內對應的資產也將被同時凍結。


使用者也可以在交易所購買遊戲道具資產,使用者可以自由選擇其他使用者掛賣的道具資產進行購買。交易完成時,遊戲道具資產將會在遊戲內轉入買家的賬戶中,交易資訊同時更新在鏈上。一個典型的交易流程如下圖所示:

6.2. 鐵匠鋪機制


“鐵匠鋪”的本質是一系列具有道具、裝備製作許可權的帳號和一系列合約,作為所有遊戲世界的核心功能之一,鐵匠鋪可由遊戲廠商管理,亦可由玩家公會、設計師工作室經營。玩家可透過鐵匠鋪,將金幣和材料合成為道具(或直接購買道具)。鐵匠鋪創造道具的過程公開透明,與遊戲中的其他道具一樣具有唯一性,能夠從區塊鏈瀏覽器中檢索和查詢。


在“玩家-鐵匠鋪-玩家”的整個過程中,核心部分包含:玩家提交素材給鐵匠鋪,以及鐵匠鋪將製作完成遊戲道具交易給玩家,兩者合起來可視為一個完整的交易。兩部分交易資訊都將上鍊,確保使用者的交易資訊真實可靠不可篡改,保證玩家交易的材料、遊戲金幣或遊戲 Token 不會像以往中心化的遊戲系統一樣出現暗箱操控,資料丟失等情況,能夠切實保護玩家利益。


鐵匠鋪擁有以下特性:


·具有道具、裝備製作許可權的帳號和一組合約;
·鐵匠鋪是獨立於遊戲的道具產出點;
·鐵匠鋪的道具具有唯一性;
·鐵匠鋪由世界觀管委會(廠商、玩家公會、設計師聯盟)管理。


Cocos-BCX 允許向鐵匠鋪授權世界觀下的道具產出許可權。例如勝利與誓約之劍,可以有亞瑟傳奇世界觀的版本,亦可以有 TYPE MOON 世界觀的版本,兩者可在各自的世界中跨作品流通,使用統一的世界觀 Token 買賣。


6.3. 完整的錢包和區塊鏈瀏覽器


Cocos-BCX專案向多種執行平臺提供數字資產錢包,包括 Android、iOS及Windows等作業系統,確保主流執行環境下的使用者均可以參與資產交易。透過數字資產錢包,使用者可以將所有的遊戲 Token和透過承兌閘道器匯入的 ERC20 Token 儲存在其中,更加方便在遊戲金幣交易市場進行消費和交易。另一方面,Cocos-BCX 對數字資產錢包進行了金融級別的演算法加密,同時會結合執行平臺的 KYC 認證服務,確保使用者儲存在錢包中的數字財產安全。


Cocos-BCX 在錢包中直接提供區塊鏈瀏覽器功能。區塊鏈瀏覽器是瀏覽區塊鏈資訊的主要視窗,每一個區塊所記載的內容都可以從區塊鏈瀏覽器上進行查閱。每一個獨立的區塊鏈系統都有對應的區塊鏈瀏覽器。Cocos-BCX 提供一個完整的、帶有查詢和跳轉功能的區塊鏈瀏覽器,例如當使用者在遊戲中產出一件珍惜級別的道具資產時,對應的遊戲道具資料就會在主鏈中產生,使用者可在區塊鏈瀏覽器中查詢到對應的交易資訊,Cocos-BCX 的區塊鏈瀏覽器支援原子操作的查閱。區塊鏈瀏覽器可以讓使用者更加透明的瞭解自己的資產分佈,所有的資料在鏈上記錄,真實不可篡改。


6.4. 一個道具交易市場的例項


交易市場中可以完成 CocosToken、獨立發行的“遊戲金幣”與道具資產的自由交易。


交易市場中 CocosToken 與遊戲金幣的交易服務主要包括使用 CocosToken 與各種遊戲金幣相互兌換、不同遊戲間金幣的互換、流通等服務,其中不同遊戲金幣的價格由其對應 CocosToken 交易對決定。交易市場能夠在提高遊戲行業流轉率同時給不同遊戲金幣的價值提供一個統一的評估依據。


交易市場中的遊戲內容交易則主要用於 CocosToken、金幣與遊戲道具資產的互換、買賣。由於遊戲道具資料的高度自定義性,不同的遊戲道具的資料結構可能不一致,故接入遊戲內容交易市場的遊戲內容需由遊戲廠家授權並提供解析方法。


使用者在遊戲內容交易市場上提交掛賣訂單時,訂單對應的遊戲內容(金幣或道具等)將被鎖定,無法在遊戲使用。掛單中包含出售人的主鏈賬戶 ID 以及掛賣的物品內容,當掛單被賣出時,系統自動完成道具資產的轉移,並且向出售人支付 CocosToken 或金幣,完成買賣。在買賣中資產的轉移操作是原子的, CocosToken 或金幣的支付、道具資產的獲取將打包成一筆交易,兩個動作的狀態具有一致性,交易正常完成將產生唯一鏈上可查的交易 ID。其流程參見圖 2-6-2 所示。

6.5. 宣告世界觀和道具流通


當下遊戲體系中,許多道具設計都是泛用,為了減少重複設計,增加遊戲開發效率以及趣味性,Cocos-BCX 引入了世界觀的概念,世界觀相同的遊戲資產和道具可以進行互通,例如圖 2-6-3 中的遊戲 B 的道具,可以進入遊戲 A 與遊戲 C 的世界中進行使用。

以“型月世界”(TYPE-MOON)為例,其世界觀是統一的——每作有相同的世界觀,並且在不斷完善它。其作品包含:


·同人作品發售的月姬;
·作為個人小說出版的空之境界;
·作為商業化第一作的 Fate/Stay Night;
·Fate/Stay Night 的 fan disc Fate/Hollow Ataraxia;
·劇情格鬥遊戲 Melty Blood 系列。


一個世界觀內的各作品中的人物、道具、設定體系通常是通用的,現實中也常有數個廠商共同在一個世界觀中開發各類作品的情況。


Cocos-BCX 允許遊戲開發者在創世時宣告世界觀,允許世界觀有自己的治理委員會(和共識委員會),未來還將允許世界觀具備自己獨立的鏈環境。


6.6. 玩家自治和資產安全


Cocos-BCX 公開節點工具包,遊戲開發商、運營商、玩家公會、設計師工作室等均可成為節點,並參與理事節點選舉。


由於區塊鏈網路公開、透明的特性,玩家在遊戲中所獲得的數字資產資訊可以透過區塊鏈瀏覽器被任何人查閱到。而在遊戲世界中,擁有高價值道具資產的帳號往往會成為盜號者駭客勒索的首選目標。Cocos-BCX 對玩家賬號的資產安全非常重視,針對遊戲資產安全提供以下安全保障機制:


·操作許可權制
遊戲內道具所有及處置權僅歸玩家所有,物品銷燬的操作僅能由使用者自己授權處理;


·道具交易操作原子化
發生交易行為時,買/賣以掛單的形式提交至交易所,支付費用與道具資料更新被視為一次不可分割的操作,即買賣雙方的行為均需被共識認可,如果支付動作或賬戶道具資料更新動作任一方不被主鏈區塊認可,則整個交易將被回滾,避免異常交易;


·可擴充套件的多步驗證
除去區塊鏈交易驗證密碼以外,遊戲商提供進一步的二次密碼驗證以及隨機碼驗證等,進一步提高玩家資產安全性。


6.7. 視覺化的合約編輯器


Cocos-BCX 專案向開發者提供的視覺化合約編輯器,編輯器從使用者友好的角度簡化設計,將合約常用的功能、方法等以圖形化的方式展現給使用者,即使是不具備指令碼編寫能力的使用者也能夠根據需要便捷地完成合約編輯;此外,面向具備指令碼編寫能力的進階使用者,合約編輯器也提供更詳細的高階編輯模式,為使用者提供充分發揮的途徑。


視覺化編輯器是一種以圖形介面輔助使用者完成快速開發的編輯工具。以按鍵精靈為例,軟體將大部分常用方法以快捷方式展現在工具欄,使用者透過簡單拖放、點選和填寫引數等動作即可完成一段指令碼程式碼的編寫和插入,如圖 2-6-4 所示。


7. 鏈上游戲的分散式記賬體系深度開發


在上文中我們提到鏈上游戲的最終形態是實現遊戲整體邏輯的上鍊執行,但現有的區塊鏈技術尚不滿足承載遊戲完整邏輯所必須的最低限度特性,其中最為關鍵的幾點包括:


·節點資料同步的資料量與時間成本
只有完整節點具備執行合約的能力,但完整節點儲存有全網的所有事務資料,其資料量之大顯而易見,且新建一個節點時同步這些資料的時間消耗也非常驚人;


·遊戲邏輯完整上鍊需要能夠支援大型合約
若實現遊戲完整邏輯上鍊,那麼合約本身將包含遊戲的全部後臺邏輯,合約將可能變得非常大,甚至超過一般區塊的塊大小,而在現有區塊鏈技術的設計下,無法被塊容納的合約是永遠無法執行並得出結果的;


·合約持續執行
遊戲邏輯完整上鍊則意味著一個遊戲應用在結束前,遊戲合約將會持續執行,也即是遊戲合約的執行時間是遠大於出塊週期,跨塊執行的,現有任何區塊鏈技術都無法支援這樣的合約執行模式;


·鏈內實現的定時器與心跳
定時器與心跳機制是所有鏈上合約、遊戲內容實現定時執行、自動執行、條件執行的前提條件,而這一特性的時候背後還隱含了時間同步、同步防偽等過程,這對現有區塊鏈技術來說是完全空白的區域;


·事務執行延遲
遊戲完整上鍊意味著鏈上處理了所有遊戲中可能會執行的事務,其中不乏要求高速響應的部分,而傳統區塊鏈的事務響應取決於出塊行為,而最快確認速度也受限於出塊週期限制,難以滿足遊戲合約對事務即時響應的需求。


針對這些問題,Cocos-BCX 提出了對現有的分散式記賬體系進行深度改造的設想,提出了下述的多種特性、機制設計,以最終實現鏈上游戲能夠具備實際落地執行的目標:


·減少資料量和時間成本;
·在語法級別支援共識任務;
·合約持續執行;
·鏈內實現定時器與心跳;
·極小的事務延遲執行。


7.1. 輕量級節點


在Cocos-BCX設計中,輕量級節點(下文簡稱為“輕節點”)本質上是一個具備與鏈互操作能力的環境,與全節點不同,輕節點不需要同步全網資料,取而代之的是同步執行必須的合約資訊與環境資料,這樣的設計可以大幅減少節點同步的資料量和同步時間,使鏈上游戲端軟體具備了實際使用的容量、時間成本可行性。


Cocos-BCX 開發的遊戲整體以合約形式在輕節點上本地化執行,但合約中標識出需要共識的部分將被單獨拆分為一個或多個子合約釋出至相關節點進行共識(詳細介紹見 2.7.2. 在語法級別支援共識任務),這樣的設計能夠讓巨大的遊戲合約以更具效率、幾乎無延遲的方式執行,其原理如圖 2-7-1 所示,分別處理合約的共識與非共識部分也能夠在儘可能保障使用者體驗的前提下保持與傳統區塊鏈一樣,資料具有可靠性。同時,對於輕節點的驗證也不再像傳統區塊鏈一樣進行過程和結果的驗證,而是對節點執行環境和輸入資料的驗證(可信執行環境驗證),進一步提高了整體的執行效率。


7.2. 在語法級別支援共識任務


Cocos-BCX 提出了讓合約在語法級別支援共識任務的設計,透過將指令碼中需要共識的部分以特定的關鍵詞修飾,使合約直譯器能夠識別並在執行全文掃描時將標記為需要共識的合約部分拆分出形成子合約傳送至鏈網路的相關節點進行共識。


當合約執行時,合約整體在本地執行,到達需要共識的部分時,得到鏈網路返回的共識結果並繼續執行,此時實際上合約主體的執行過程與共識過程是兩個相對獨立的非同步過程,使遊戲合約的執行更加流暢,可能發生的阻塞等待更低、時間更短。


此外,需要被共識的合約部分是拆分後以子合約方式分發執行的,這些子合約內容應該具備完整的上下文關係和無額外依賴的設計,以便在其他節點上也能正確的得到結果。


7.3. 合約的持續執行


透過輕節點的方式,遊戲整體作為一個合約執行的設想得到了實現可能,本地執行的遊戲合約能夠長期、持續地在輕節點中執行這一過程與出塊週期或塊大小都無關,與之相關的僅是遊戲合約中包含共識的子合約內容。


遊戲合約與子合約以一種“非同步共識、同步返回”的方式,在持續執行的同時也不斷完成關鍵步驟的驗證和同步,實現了遊戲合約持續執行以及結果共識見證的機制。


7.4. 合約會話機制


鏈上提供會話建立介面,該介面在合約公共資料區建立一個具有效限制的使用者會話列表,同一個會話區間的使用者將有許可權向同會話區間的其他使用者推送事務,其他使用者收到資料變動通知時,可及時獲取對應資料。


7.5. 事務的併發處理機制


在併發性事務處理機制中,事務可根據設定的優先順序處理,見證人將從已完成併發處理的事務池中,按優先順序順序抽取事務完成打包,並執行區塊廣播。這一機制是對傳統交易事務序列打包的一次改進,能夠避免合約內部出現的死迴圈和無限遞迴導致的交易事務打包阻塞。在早期區塊鏈網路環境下,這樣的阻塞往往會導致整個鏈網路的阻塞甚至完全崩潰。


合約支援語法級別的共識標記,合約執行時,被標記為優先共識的事務將被抽出並立即廣播,當任意節點收到後會立即執行該過程得到結果並廣播執行結果,同時本週期的出塊人將把廣播的結果存入結果池,當相同的結果數量達到判定透過的閾值時,出塊人立即廣播事務確認的結果並將此事務寫入出塊快取,整體流程如圖 2-7-5。


7.6. 委託型事務機制與隨機過程實現


委託型事務主要用於處理隨機性高,不同節點執行會產生不同結果的事務型別(如產生一組隨機數),但此型別事務僅限於非個人資料關聯的事務請求。合約中的共識標記允許定義需要委託參與共識的節點名稱或簇 (節點組) 名稱,當數量只有一件時(N=1),網路中任一(或被指名)的節點將被分配處理該事務,例如處理隨機事件;當委託節點數量大於一件 (N>1)或為一個簇時,被指名的簇中的多個節點將被分配至處理該事務。透過可信執行環境認證的受託人收到委託事務之後,會驗證事務的可行性並執行委託,完成後將事務結果向鏈上廣播。


在此機制下,鏈內的隨機過程成為了可能,使用者可以委託可信節點生成一個隨機數、委託可信節點維護合約公共資料等。進一步的,合約的開發者可以在此機制上可實現合約內部的函式回撥機制。


7.7. 定時器和心跳


幾乎所有的遊戲與應用都需要實現線上檢測,而在Cocos-BCX設計區塊鏈遊戲時,為了解決使用者的狀態檢測與持續的會話機制,提出了定時器與心跳的概念。


在區塊鏈網路中實現定時器首先需要實現時間同步機制,而傳統的時間同步機制通常是由外部授時或信任中心實現的,而在區塊鏈去信任的邏輯下,外部授時或信任中心的都存在無法自證的缺陷,因此鏈上時間的同步只能由鏈內完成。


Cocos-BCX 提出的時間同步方案是:利用塊資料時間戳,出塊節點在釋出塊時即等效的進行了時間同步廣播,各節點收到塊廣播後完成時間同步操作,最終全網在一個塊同步週期中即完成了一次時間同步過程。


基於這個設計,定時器能夠順理成章地實現:定時器以塊週期為最小計時粒度,按照預先設定的計時目標工作。由於區塊資料時間戳為標準時間計數,不存在時區等因素的偏差,可認為是全網統一的計時標準,計時器可以在任意網路區域、時區以同樣的計時規則正常執行。


7.8. 極小延遲的事務響應


傳統區塊鏈的事務執行確認是在節點接收到區塊資料,完成事務內容解析,執行並得到正確結果驗證透過寫入塊資料時確認的,當一個事務被提交時這個事務實際進入了pending佇列,而此時事務仍並未執行,直到下一個出塊週期,這個機制導致事務始終無法更及時地得到響應和處理。


Cocos-BCX 提出非同步確認的方式,即在使用者向節點發出交易請求時,節點將立即向網路發出事務廣播,並同時向使用者返回事務 hash 值。在這個設計下,其實事務最終記錄週期與傳統設計並沒有太大差異,但事務的響應卻幾乎是沒有延遲的,節點會在第一時間完成事務提交,而區塊生成與事務提交/確認過程變成了相互非同步的操作,大幅提高了事務的響應速度。


進一步的,使用者可透過交易 hash 值跟蹤交易狀態,同時交易事務將更新到使用者歷史事務資料表中動態向使用者推送。使用者不必等待事務在鏈網路中驗證、應用之後的回撥再響應,我們借鑑了以太坊的 hash 跟蹤特性,並在此之上加入了使用者事務動態推送的機制。


此外,為了進一步提高節點利用率和處理效率,Cocos-BCX 提出在委託見證的基礎上提出了分割槽見證的設計,即某些節點專注處理特定型別的合約請求,其原理如圖 2-7-2 所示。

分割槽見證在遊戲行業應用的意義在於能夠針對不同請求型別針對性最佳化相關節點的處理能力,例如對浮點運算集中型請求重點加強核心算力,對結構資料處理集中型請求重點加強儲存 IO 能力等,最終達到整體的效率、效益最優配置。


7.9. 鏈內的可信隨機過程


區塊鏈遊戲規則上鍊能否具有實際應用價值與能否在鏈上實現隨機過程密切相關。透過研究發現,完整的鏈上隨機過程需要解決一個關鍵問題:鏈上隨機過程規則由智慧合約描述,而合約的過程是公開的,若需要產生無法被第三方推算的隨機結果,則需要合約執行時有節點的噪聲參與這一過程的輸入,但不同節點的噪聲不可能一致,即其他節點無法透過再次執行這份合約來驗證這次隨機過程的結果是否正確,最終導致無法完成共識。


要解決這個問題,我們提出了兩種可實施方案:


方案一


·在區塊鏈動態資料區維護一個或若干隨機資料池,出塊人將隨機過程的結果包裹在區塊的加密資料段中並且加密過程的程式碼以閉源、不公開的形式釋出。此時,所有節點將擁有同一套隨機資料池。隨機資料池的資料結構呈管道形態,具有讀端和寫端的封裝,且僅允許符合規則的讀寫端訪問,具有先進先出的特性。


·因為區塊鏈的所有節點事務處理具有一致性,應用在申請隨機過程結果時可從隨機資料池中讀取。在該隨機過程產生、分配機制下,過程與結果的安全效能夠滿足區塊鏈網路對隨機過程的安全性需求:


·任意一種訪問(讀、寫)行為都將導致隨機資料池發生變化且無法復原;
·寫入隨機資料的行為由動態加密函式庫完成,且函式庫閉源、不公示;
·隨機資料的生產者無法獲知此次隨機過程的結果將放入隨機資料池的位置以及這一隨機過程將會被誰使用;


這一隨機過程的實現方案適用於鏈網路對事務處理順序具有一致性的場景,例如 RPG 遊戲中玩家開啟地圖寶箱獲取隨機道具的過程。


方案二


·透過委託機制,允許部分事務委託至某單一可信節點完成處理,可信節點完成處理後記錄隨機過程結果,並由通知或輪詢機制讓委託方獲取結果。


·因為該方案基於鏈事務委託機制,對鏈的改動會小於方案一,但要保證方案的可行性,應滿足以下需求:
·受託方應透過可信執行環境驗證,確保自身可信;
·受託方執行隨機過程併發布結果時,應採用同樣具備安全性的加密函式庫完成;
·加密資料的傳遞需透過“零知識證明”或其他可靠證明方案證明受託方身份並能夠被委託方識別,確保委託方得到的資料不是第三方偽造。


此隨機過程實現方案適用於事務具有多方參與但僅需要同一批隨機結果的應用場景,例如棋牌遊戲中每一局的洗牌順序等。


平臺經濟體系


1. 區塊鏈為遊戲行業帶來的本質改變


從使用體驗的角度,“區塊鏈遊戲”和普通遊戲對玩家並無區別。然而,區塊鏈可能對遊戲市場起到根本性影響。遊戲行業現行的商業邏輯是“付費獲取服務”,即使用者付出金錢、時間和行為資料以單向開支的形式交換遊戲體驗。但基於區塊鏈機制上資料公開、不可逆、永久存續等特點,遊戲內的道具可被使用者管理和轉移,從體驗服務轉變為體驗資產。我們認為,“付費獲取服務”與“購買和使用資產”對於開發者、發行者和玩家是截然不同的價值訴求,會相應形成不同的行為和商業模式。這些潛在的改變可以被歸納為:


1) 資產屬性。資產是由過往經濟活動形成,被某方控制並可獲得未來所產生的經濟利益的資源。遊戲內容在區塊鏈上具備了成為資產的兩個特性:(1)獨立存在和延續,在跨鏈機制下還可存在於不同的區塊鏈系統內。理論上游戲的鏈上資產部分可以永久存續,且不受任何鏈、節點的控制與影響;(2)獨立、公開定價。區塊鏈生態上的任何參與者均可以透過使用、交易、搜尋等行為對目標遊戲資產進行不同維度的定價,同樣不受任何鏈、節點的控制和影響。數字內容具備了被擁有的權利和被評估的機制,真正成為了資產;


2)博弈模型。在目前“付費獲取服務”的商業模式下,發行者(包括使用者流量平臺和發行商)對使用者消費的支配權大,對遊戲內容的生命週期(能否上線和運營時間)、單位價格(物品定價)和玩家規模(流量推廣)有最大的議價權。同時,遊戲的玩法、產出與資料不對玩家公開。各方在有限的時間區間內圍繞遊戲體驗和價格的匹配度進行非合作性的不完美資訊博弈。以一款中國市場內渠道評級為 B 的動作角色扮演(Action RPG)移動遊戲為例:發行者從自身利益出發選擇遊戲產品、測試、上線並進行不超過數天的集中推廣;開發者為在有限時間內轉化使用者進行支付,在數小時遊戲時間後開始設定收費點,並預期多數賬戶的生命週期不超過 75天;大量玩家在明知遊戲大概率運營不超過 12 個月的情況下,被迫在遊戲體驗和付費間進行抉擇。從長期看,開發者、發行者和玩家三者的博弈鼓勵短期利益最大化,降低了遊戲的整體體驗,對行業的發展起到了負面的作用。


而對於一個長期存在,定價可以不受中心化(如發行方)影響、資料透明的遊戲資產,開發者、玩家和其他相關方的博弈模型有可能發生改變,即相對原有模型更為長期、合作和資訊完美。在遊戲可以長時間在區塊鏈環境內獨立存續、被版權機制管理、並被代幣化的條件下,開發者在資產被不斷的交易的過程中持續受益,將更有意願提升內容質量、增加遊戲的長期總體價值;玩家付出金錢、時間和隱私換取可被使用、修改和出售的資產而非純粹的使用體驗,其購買與交換資產的意願可能加強;同時,任何遊戲代幣持有者都會因遊戲資產升值而受益,將有動力發現、推廣和協助提升優質的遊戲內容。開發者、玩家、第三方參與者將圍繞資產價值長期最大化這一目標進行博弈,有利於提升遊戲行業的水平。


3)資產定價和定價行為動機。從金融角度,上述的博弈過程是對遊戲資產的定價行為。在目前的行業結構下,遊戲內容被髮行者選擇推向市場。遊戲的使用者不是定價者,市場定價效率沒有實現最大化。造成現狀的原因除了傳統遊戲技術、運營和商業模式的中心化特質外,玩家參與定價行為的動機不足是另一個主要因素。玩家發現和推廣優秀的遊戲內容很難有實質回報,僅能獲得消費心理意義上傳播美譽的滿足感、以及開發者或發行者基於結果給予的有限經濟獎勵(例如介紹一個註冊使用者送遊戲道具等)。


然而在區塊鏈經濟體系內,數字資產的價格被實時反映到相關的代幣上。參與者可以透過調節對遊戲、平臺的代幣和道具持有量決定自己參與定價行為的收益程度。例如,玩家發現了使用Cocos-BCX 平臺開發的遊戲後,可以買入其限量道具、遊戲自身代幣、甚至 Cocos 平臺代幣,自發對外推廣遊戲,並從道具和代幣的升值中獲得收益。資產化和代幣化為市場參與者的資產定價行為提供了足夠的動力和靈活的媒介。


綜上所述,“區塊鏈遊戲”可以被更準確地定義為“使用技術、具備區塊鏈經濟機制的遊戲”。 從經濟角度看,區塊鏈遊戲發展路徑也可以被視為市場各方參與資產定價、利益逐步統一的四個階段,是商業模式變化推動開發者和使用者的結果,勢必給遊戲行業帶來根本變化。


以上的資產化路徑也適用於遊戲以外的廣義數字資產,我們將在Cocos-BCX平臺的後續發展中對更多類別的資產進行支援。


2. Cocos-BCX 經濟體的設計原理


透過提供底層公鏈、數字產權管理、交易所等一套完整的功能元件,Cocos-BCX 平臺承載了開發者所創造的遊戲資產價值。隨著更多的遊戲、遊戲內資產被生產、管理和交換,平臺的經濟總量持續膨脹。


Cocos-BCX 基於石墨烯標準的技術和治理架構設計,擁有 DPoS 共識機制對應的經濟屬性。平臺具備非挖礦、委託共識、低分叉可能、可定義交易成本等特性,開發者與使用者可以將主要資源投入數字資產本身的創造與交換中,系統資源的整體消耗成本低。


在真實的商業環境中,參與方的經濟行為和心理既存在巨集觀規律又有微觀離散性。我們認為Cocos-BCX 的經濟、治理、產品和技術規則設定應充分考慮和相容各類行為的複雜性與不完美。平臺僅提供最小可行、靈活的工具與規則,幫助和促進參與者根據各自的利益進行高度自由的經濟活動與社羣治理。各個生態角色在無需互信的前提下形成博弈關係和自激勵機制,從而提升行業的整體效率和價值。同時,全球遊戲開發者社羣擁有長期的歷史,具備成熟的價值觀。我們希望最大程度地將該價值觀反映到經濟體系的設計中。


3. COCOS 代幣:全域、廣義去中心化數字資產的原生定價媒介


為實現上述的設想,我們建立了平臺代幣COCOS作為平臺生態經濟活動的流通媒介和治理憑證。


除作為 Cocox-BCX 的價值交換載體和社羣參與證明以外,COCOS 將有可能作為基礎定價代幣,對數字資產生態起到關鍵的作用。大量去中心化數字資產未來將以不同標準存在於多個區塊鏈生態中,跨越鏈生態的資產定價媒介有存在的必要性。基於以下原因,COCOS 能夠成為區塊鏈生態數字資產原生的定價媒介:


1)Cocos-BCX 平臺在底層技術、共識機制、應用功能等方面原生支援全域、同質/非同質去中心化數字資產的交換。COCOS 具備成為基礎定價媒介的技術基礎;

2)在 Cocos-BCX 平臺上的資產創造過程中,生產行為(例如委託共識出塊)和生產要素(例如從平臺應用商店購買遊戲內的設計素材)均以 COCOS 作為原生的定價媒介。所產出資產的 COCOS 價格體現了對生產成本與利潤的價值確認,而非名義標價。COCOS 具備成為基礎定價媒介的經濟基礎;

3)Cocos-BCX 平臺支援和鼓勵同一世界觀、相關世界觀下的資產流通,在全域數字資產間建立了真正的使用者使用價值聯絡,而不僅代表資產間的名義兌換率。COCOS 具備成為基礎定價媒介的流通基礎。


基於 COCOS,開發者和使用者可以對不同鏈生態、世界觀內容、技術標準的數字資產進行評估、比較、交易和管理。同時,COCOS 作為原生和基礎的定價媒介,是未來區塊鏈行業進行數字資產金融產品和衍生品開發與交易的必要條件。


關於更多Cocos-BCX資訊:

更多區塊鏈專案:http://www.qukuaiwang.com.cn/news/xiangmu
風險提示:區塊鏈投資具有極大的風險,專案披露可能不完整或有欺騙。請在嘗試投資前確定自己承受以上風險的能力。區塊網只做專案介紹,專案真假和價值並未做任何稽覈。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;