遊戲行業被認為是數字資產的一種形式,將誕生新的場景與商機基於使用者社群、虛擬商品交易、代幣結算等遊戲世界本來就存在的場景,區塊鏈技術去中心化、安全、不可篡改、靈活、匿名等。
1.1 透明開放性
Urgent Task透過共享資料以及對資料一致性的共識,實現了資料的公開透明,除了交易各方的私人資訊被加密以外,區塊鏈的資料對所有人公開,任何人都可以透過公開介面查詢區塊鏈資料或開發相關應用,因此整個系統的資訊可以保持高度透明。
1.2 高可靠性
由於Urgent Task去中心化的特點,不可能透過摧毀一箇中心節點使得Urgent Task系統癱瘓,也不可能由於某個節點的原因影響整個系統的功能和安全,不會發生單點故障。安全可靠是區塊鏈技術的一大特點,主要體現在兩方面:一是分散式的儲存架構,節點越多,資料儲存的安全性越高;二是其防篡改和去中心化的巧妙設計,任何人都很難不按規則修改資料。
1.3 可追溯性
時間戳嵌入到Urgent Task中的記錄被永久儲存,每一筆交易記錄中均繫結了交易者資訊,交易標的的整個傳遞路徑能夠被完整地記錄和追溯,不可被摧毀或篡改,這樣就為交易的相互監督監管帶來了便利,時間維度的引入標識了數字世界真實存在,無法憑空產生和消失,原先的數字世界就可以像物理世界一樣真實可信不可憑空刪掉、改掉或複製,因此,提供了良好的可追溯性。
1.4 高安全性
為了更安全地儲存使用者的數字資產,增加防護,Urgent Task提供了一個嶄新的區塊鏈數字資產安全解決方案。使用者可以把高度機密的資料透過Urgent Task進行鎖定,指定持有Urgent Task的使用者方可檢視;可以保證基於數字簽名的數字資產的私鑰與網路隔離,以此克服私鑰被網路駭客竊取的風險。
2. 技術體系
2.1 改進型的PBFT演算法模型
(1)現有共識演算法優缺點
共識演算法是區塊鏈對外提供服務的關鍵技術,近年來各國學者對共識演算法作了很多改進和研究。Paxos和RAFT演算法相對於公有鏈共識演算法而言TPS可以達到每秒萬筆以上,但是從其演算法原理來看,由於未考慮拜占庭問題,將導致萬一leader節點被篡改,整個系統都將癱瘓,所以該演算法一般指用於非公有鏈的應用場景中心化特徵十分明顯。PBFT是一種基於狀態機副本複製的演算法該演算法解決了原始PBFT演算法效率不高的問題,將演算法複雜度由指數級降低到多項式級,並且在保證安全性和活性的前提下,使得容錯演算法在實際系統應用中變得可行。
(2)Urgent Task 共識演算法改進模型
Urgent Task針對遊戲區塊鏈應用系統的特點,提出了一種基於PBFT改進型演算法模型,該演算法模型先對於其他演算法而言,有以下特點。
a.動態自適應。
區塊鏈系統是典型的P2P網路,系統中的節點可以隨著區塊鏈長度的變化而動態加入或者退出,共識演算法能夠及時感知,具有較好的系統魯棒性。
b.高效、高吞吐量。
節點規模擴大時,節點之間能夠高效傳遞資料,相對於PBFT演算法而言能處理更高的TPS請求。
c.更好的容錯效能。
典型的PBFT演算法最多隻能容忍1/3的節點出錯,本文提出的演算法理論上可以容忍至多1/2拜占庭節點。
(3)PBFT演算法改進思路
結合P2P GOSSIP協議動態實時特點和DPOS授權信任等優點減少資訊廣播次數,降低通訊複雜度,營造弱信任共識機制,從而簡化共識流程。演算法改進思路如下。
· 規避傳統的C/S請求響應方式,採用P2P網路拓撲方式;
· 借鑑GOSSIP協議,使網路節點能夠自動地加入與退出,動態調整節點數目;
· 參考DPOS授權機制,並利用GOSSIP協議自行選擇鄰近節點並與之交換資訊的通訊方式特點,設計出一種由共識記賬代表組成的共識網路,按照類GOSSIP協議執行該共識演算法,提高效率和節點失敗容忍數目。
(4)改進型PBFT核心演算法說明
假設1:向量b超過一半的元素定義為c,即共識訊息確認。
假設2:向量bi和bj分別為節點i和節點j的全域性訊息結構。Bi(X)≠Bj(X)且bj(X)≠Ø,令bi(X)=Bj(X),則bi中的第x個引數更新,反之也成立。
該演算法流程概要描述如下。
· 系統交易發起者向全網廣播,當節點收到廣播後,如果不是記賬代表,進行轉發;若是節點代表,驗證交易的合法性,若不合法,廢棄。
· 根據提案,判斷節點監聽是否被選為目標節點。在被動機制中,如果被選中且通訊方式為pull,則將b向量推送給對方;如果為push通訊方式,則同步對方傳送的b向量。主動機制過程則剛好相反。透過該步驟,可得出b向量。
· 根據步驟2,其他從節點slavei(I∈{0,1,2,…,|R|-1})在收到參與共識的節點傳送過來的提案後,檢查提案為真後,對除自己之外的節點傳送共識確認訊息c。當共識記賬代表任意一個收到其他2f個相同的確認訊息後,即認為共識達成。
· 檢查提案後,若發現不為真,廣播傳送配置變更訊息<Changeview,Cold,Cnew,Slavei,H>。
· 其餘節點收到block後,認為該共識任務完成,輸出新的區塊鏈,配置編號復位0,新一輪共識開始。
(5) 組合服務
對於稍微複雜的業務,會涉及多項服務,這時,就可以藉助組合服務實現對該業務的封裝。因此,所謂組合服務,就是一種兩個及其以上簡單服務的組合,形成一個更粗粒度的服務。組合服務的封裝方式常被用於遺留系統,在保留遺留系統的服務基礎上與其他業務系統的服務組合而成,在技術處理上,通常使用介面卡方式將遺留服務介面標準化,“包裝”成一個新的服務,同樣透過web服務將新服務的基本描述註冊到服務目錄或登錄檔,並對外公佈。這樣,第三方應用透過釋出的wsdl就可以檢索到具體的組合服務,實現更復雜業務功能的呼叫。
針對服務的呼叫,還涉及匯流排路由的設計。具體模式包括基於內容的路由模式、基於元件的路由模式以及基於中央路由器模式等,不同的模式有不同的適用場景和不同的優缺點,比如,基於內容的路由模式動態決定訊息流轉,但是同一時間只能評估一個訊息;基於元件的路由支援高度非集中式的計算模型,但是可能會造成大記憶體的需求;中央路由器模式管理和除錯比較簡單,但是會給伸縮性和效能帶來負面影響。
本系統以面向服務架構為基礎,利用soa技術的優勢,將各項功能封裝為元件和服務,在特定業務環境下,可以對服務進行有效組合,從而適應當前人事制度改革下的管理需要,體現出系統的靈活性。同時,系統的設計和開發都是建立在前期的需求分析上,從人事管理部門的實際需求考慮,主要是為了提升管理水平,從高校教師角度考慮主要是提供有效服務,如職稱申報、績效考核以及薪資查詢等。因此係統的開發不是單純為了管理,是將管理和服務相融合。
2.2 智慧合約
智慧合約是一套以數字形式定義的承諾(Promises),包括合約參與方可以在上面執行這些承諾的協議。在物理上,智慧合約的載體是計算機可識別並執行的計算機程式碼,智慧合約程式碼釋出到區塊鏈上之後,無需中介的參與,在區塊鏈上自動執行。比特幣指令碼語言是一種命令式的、基於棧的程式語言,由於它是非圖靈完備的,所以應用上有一定的侷限性。以太坊是全世界第一個實現圖靈完備的智慧合約的區塊鏈系統,程式語言是solidity、Serpent,使得應用開發者們可以高效快速地開發各式各樣的應用程式。
Urgent Task contract開發者可以自定義智慧合約的讀寫操作供上層應用呼叫,底層賬本會給智慧合約提供訪問鏈上資料的能力:全域性狀態、區塊資料等,同時還能操作獨有的資料儲存區域以及發起合約交易與其他合約互動。
圖靈完備的智慧合約程式語言在初期,Urgent Task中的智慧合約程式語言完全相容以太坊的solidity,開發者可以將基於以太坊開發的智慧合約應用無縫遷移到Urgent Task中來;後續,Urgent Task會基於Urgent Task VM推出對各種程式語言的支援,這樣開發者可以用自己喜歡的高階語言程式設計,例如java、PHP、P y t h o n、G o、J a v a s c r i p t 等;將 來,在 特 殊 的 應 用 領 域 ,Urgent task甚至支援開發者定製自己的高階語言。智慧合約在Urgent task生態中扮演重要的角色,使用者透過智慧合約可以發行各種數字資產,也可以實現複雜的業務邏輯。
Urgent Task vm(Urgent Task virtual machine)是智慧合約的執行環境,為應用層提供智慧控制邏輯,與上層高階語言解析轉換相結合,靈活支援虛擬機器基礎應用;透過定製化的API操作實現虛擬機器的外接介面,可以靈活的與賬本資料和外部資料進行互動。對於每一項智慧合約,Urgent Task作為一項鍊上資產進行全生命週期管理方式,對智慧合約的提交、部署、使用、登出進行完整可控的流程管理,並整合許可權管理機制對智慧合約操作的各項機制進行綜合性安全管理。
在安全性上,Urgent Task同時對智慧合約進行自動化工具審計與專業人員程式碼審計結合的保護性審計,進一步整合程式碼審查和形式化驗證的自動化工具,整合單元測試覆蓋率的審查工具。
Urgent Task contract將根據不同行業分類,提供合約模板,例如數字資產的發行,開發者只需要簡單修改其中的引數即可快速安全的實現合約功能。Urgent Task contract將提供合約線上編輯及除錯工具,可以幫助開發者高效率編寫除錯合約。
2.3 匹配引擎
匹配引擎是一系列分散式智慧演算法集合,是Urgent Task最複雜的核心邏輯。以下的描述大都基於系統中最簡單的業務類別進行舉例,不涉及具體的資料結構也不討論核心策略集——「非銀行卡支付」業務邏輯如何應用於複雜業務處理和提升系統穩定性等細節。
Urgent Task系統中同時存在很多支付請求和兌換請求,其中支付請求一般有金額相對較小、即時性要求非常高的特點,兌換請求則視情況而定:有些使用者為了獲得較低的兌換成本,可以承受即時性比較低的兌換過程,甚至可以只設定一個上限,而在兌換的過程中按照需求隨時結束兌換;另一些使用者為了馬上獲得加密貨幣,可以選擇支付較高的兌換手續費從而能夠在很短的時間內兌換完成。實際設計中,使用者需求的時效/成本比值可能介於前述兩種情況之間的任意位置,我們將其用一定方式量化以作為入節點的自適應匹配決策的參考資料。
除了時效/成本的匹配,兩方金額的匹配也是非常重要的一環常見的情況是兌換請求的金額大於支付請求,Urgent Task各節點需要在全網匹配出複數個滿足要求的請求組成最優解,需要考量的因素包括但不限於幣種、金額、通道時間成本、通道傳遞損耗等。如果支付請求大於兌換請求,這種情況下支付額度較大,此時需要權衡的除了上述因素外,還應將主鏈通道的時效性和成本綜合考慮,如果金額過大則建議使用者進行主網支付。最後,匹配策略同樣需要考量聯通性成本,如果收付兩方位於互不聯通的兩個網路中,還需要考慮建立網間通道的成本,這些放在下面的路由部分進行討論。
2.4 智慧路由
閃電網路通道的建立和關閉都需要進行鏈上交易,會產生比較高的時間和金錢成本,因此多數情況下消費者與購幣者之間不存在直接通道而是根據合約透過中間節點進行交易傳導。中間節點可能是單個節點,也可能是首尾直連的多個節點。為了能夠迅速的找到最短(或者代價最低)的路徑,Urgent Task各節點都有一套自主協商演算法和節點資訊快取同步策略,以便在需求出現時以最快速度找到通路,完成交易。閃電網路的提現操作需要關閉支付通道,這使得全網的拓撲結構時刻處於變化狀態:一方面,隨時都可能有舊的通道被關閉,新的通道被開啟,原本合法的通路可能因為沒有及時透過而關閉,這時候就需要立即尋找新的通路;另一方面,由於每筆支付需求不同,各節點間的通道容量(可以理解為通道的直徑)也會不同,除了在最初路由時將通道容量考慮在內之外,路由過程中有可能需要實時對支付進行拆分、合併操作,這些超越傳統路由演算法問題模型的業務邏輯需要更加細緻的策略實現。
2.5 分散式資料儲存
在Urgent Task系統執行流程中,傳統金融需求方的服務請求、身份資訊、資金資訊、初始信用資訊等資料資訊都會在Urgent Task網路的區塊鏈層中得到分散式儲存。而所謂分散式資料儲存指的是每次交易發生時,網路中所有參與交易的節點都會獨立地記錄下與該次交易相關的全部資料資訊。在區塊鏈技術下,這些資料資訊一旦產生,網路中所有節點會立即對其真實性進行反覆對證,直至保證準確無誤後,其才會被打包成一個個區塊儲存下來。而儲存下來的資料資訊帶有時間戳、可被追溯,但不可被調整。而要想調整儲存在區塊中的資訊,只能透過增加新的區塊並標註原有的區塊已經作廢才能得以實現。因此,在分散式資訊儲存框架下,隨著交易的進行,儲存於全網的資訊會隨著區塊的不斷存廢而得到更新。
但是,無論如何操作,已經存在的資訊始終無法被篡改的,而新增的虛假資訊也會被節點之間運用已有資訊進行相互對證而的消除。這就保證了區塊鏈上儲存的資訊真實可靠,無法被篡改,具有較高的“防偽性”。這對使用者資訊和資金安全的提升能夠起到一定的促進作用。相較於傳統“中心化”資料儲存方式而言,分散式資料儲存還將使整個Urgent task網路系統具有較高的容錯性,即在分散式資料儲存技術下,各使用者節點之間相互獨立,共同儲存、更新著全網的資料。即使部分使用者節點遭受不法分子的攻擊破壞,也不會對其他使用者節點的安全造成實質性影響,更不會對整個Urgent task網路資料系統造成毀滅性的打擊。因此,較高的容錯性也會使得全體使用者面對資訊和資金安全的風險水平大幅降低。
Urgent Task 應用前景
1. Urgent Task高效能區塊鏈網路
目前大部分割槽塊鏈遊戲都在以太坊上線,但是以太坊的TPS(每秒可處理事務)很低,只有約15左右,而普通中心化網路系統TPS都在上萬,過低的TPS導致涉及網路通訊處理的耗時過長,難以滿足遊戲低延時的基本要求,直接制約了區塊鏈遊戲的發展。但是隨著技術的不斷成熟,Urgent Task透過改進型的PBFT共識機制,在不遠的將來高效能、實用的區塊鏈的遊戲網路就將變為現實。
2. 區塊鏈遊戲流量平臺
傳統的遊戲都是基於中心化的模式,不同遊戲相互間往往是高度封閉、獨立的,沒有太多的聯絡。區塊鏈去中心化的開發性有望改變這一現狀。例如《Crypto kitties》火爆之後,其他開發者開發了一款周邊遊戲《Kitty hate tension》,從《Crypto kitties》中獲得的虛擬貓在另一款遊戲中可以進行戰鬥。不同的團隊在幾乎無需溝通協商的情況下,完成了遊戲內容的對接,這在中心化的遊戲中式難以想象的。
Urgent Task區塊鏈遊戲流量平臺中一款遊戲獲得成功,進而深挖該遊戲內部元素快速進行周邊拓展,可以不斷衍生出新的遊戲理論上藉助IP衍生的遊戲可以任意轉換遊戲形式,充分吸引不同型別的遊戲愛好者參與進來。在系統資源允許的情況下,遊戲規模幾乎可以無限擴張。遊戲的“生長”可以允許所有開發者自發參與實現,甚至無需特定的遊戲運營商進行主導,自發形成一個去中心化的虛擬遊戲世界。
3. 開放共贏的遊戲產業鏈
傳統遊戲是中心化的運營模式,遊戲本身是被運營商獨佔控制的Urgent Task區塊鏈遊戲流量平臺的概念給中小型遊戲公司、獨立開發者帶來了新的機遇。運營商透過將遊戲IP付費甚至免費授權給三方開發者,鼓勵其對遊戲進行周邊拓展開發。遊戲運營商可以達到提升遊戲影響力的目的、三方開發者可以憑新遊戲獲益使用者可以玩到更多新奇的遊戲,從而形成一條開放、共贏的遊戲生產運營產業鏈。
4. 可信的虛擬商品交易體系
基於區塊鏈技術去中心化、資訊不可篡改、信心公開透明的特點Urgent Task內部的虛擬商品一旦支援基於區塊鏈進行公開交易將從技術上保證交易的公正性,無需權威中介的存在,交易雙方可以放心、高效地完成虛擬商品的交易。遊戲運營商一方面可以透過交易的手續費獲得收益,另一方面避免了中心化交易系統中可能出現的種種交易糾紛。
5. 區塊鏈電競平臺
Urgent Task區塊鏈電子競技平臺,玩家可以透過戰勝其他玩家來獲得獎勵。Urgent Task擁有全球排名對戰系統、去中心化的仲裁系統解決賽事作弊以及見證人和評審團保證每場比賽結果的正確性。未來玩家可以在Urgent Task進行DOTA2對戰,PUBG等遊戲,讓玩家邊玩邊賺。
關於更多Urgent Task資訊:http://proars.cn/