系統架構
1 概要
貝爾鏈(BaerChain)致力於高效能公鏈開發,其底層技術針對貝爾鏈應用場景進行了深度最佳化與升級。主要設計概要如下:
2 整體架構模型
核心服務層
介面&應用層
B GDK( B a e rCha in G ame De v e lopment Kit - 貝爾鏈遊戲開發元件)
貝爾鏈核心開發團隊會為遊戲開發商提供接入貝爾鏈的開發環境,包含DCC Kit、RDSNKit、Exchange Kit等元件及對接標準,可使遊戲開發者在沒有區塊鏈技術儲備的前提下,輕鬆接入貝爾鏈生態,以低技術門檻的方式,完成傳統遊戲向區塊鏈遊戲的進化,開啟全新的價值遊戲篇章。
分散式遊戲應用(De c ent r a l i z ed G ame -Appl i c a tion)
DGapp是存在於貝爾鏈上的遊戲應用的Client,透過BGDK的改造,遊戲應用能達到資料和遊戲本身的雙重永不消失,滿足遊戲在區塊鏈領域的永生需求。
遊戲邏輯服務端( G ame S e r v e r Appl i c a tion)
GSA是支援Client的Server Application,同樣經過了BGDK的接入,GSA與DGapp一樣,永久地存在於RSDN中,實現服務端的永不消失。
貝爾鏈遊戲商店( B a e rCha in G ame S tor e )
貝爾鏈會在生態內推出一個類似App Store的遊戲下載商店,商店內會自動同步更新最新的符合BaerChain標準並被准入的DGapp,方便使用者暢享貝爾鏈的價值遊戲世界。
貝爾鏈通證管理工具( B a e rCha in Tok en- M anage r )
貝爾鏈核心技術團隊基於社羣及業務需求,開發出了高安全性,高拓展性及功能靈活的通證管理工具,該通證管理工具與貝爾鏈生態入口進行了整合。
貝爾鏈礦機程式 ( B a e rCha in M ining-Appl i c a tion)
基於CREM的預先設定,貝爾鏈核心團隊將釋出執行於專用資源礦機上的礦機程式,透過將礦機的效能資源併入網路,為社羣成員提供一個鞏固貝爾鏈技術基礎的通道。基於CREM,礦機程式亦會對此類行為按激勵模型進行通證發放的獎勵。
分散式遊戲資產交易所 (De c ent r a l i z ed G ameAs s e t s Exchange )
該應用與BGDK有交集,BGDK為遊戲開發提供了場內交易所接入規範及工具。分散式遊戲資產交易所具備“場內”和“場外”兩種形態,透過BRC為價值流通量化載體,實現貝爾鏈遊戲生態內資產的快速流通,以市場的力量保障價值的成長。
3 貝爾鏈業務架構圖
業務架構介紹
依託於LSAC、SBSC雙鏈實現資產與遊戲資源上鍊,由RDSN提供資源分散式儲存,DCC提供遊戲所需算力,實現任意型別遊戲永久線上。
使用者基於SBSC獲取遊戲資源Hash索引,安裝時,透過RDSN冗餘分散式儲存下載對應遊戲資源包到本地。
DCC分散式算力叢集按照算力排程程式,容器化部署遊戲服務端運算程式。
使用者透過Lighting Gateway匹配最近、最快DCC算力節點,實現超低延遲的流暢遊戲體驗。遊戲過程中,DCC透過BGDK與LSAC進行通訊,實時的將使用者資產資料寫入區塊,使使用者的資產得到安全保障。
CREM執行邏輯
通證的典型流通場景包含但不僅限於以下幾種:
·資源使用預充值 資源以BRC計價,使用之前需要充值相應的BRC。充值的通證會在使用資源後進行消耗。
·通證價值轉移 持有通證的賬戶進行相互轉賬,達到流通目的。
·資產交易 在中心化交易所使用通證交易遊戲資產,使遊戲資產與通證流通性增強。
·資產資源回購 釋放預充值且未消耗的資源。
·資源提供分紅 資源提供方透過消耗資源獲得通證分紅權。
公平資源計價公式
·儲存資源 按照儲存時間與資源佔用大小,僅消耗儲存成本費用,資源按照備份率計算成本。儲存成本單價是動態的,由聯盟成員共同決定。
● 儲存成本(SC) = 資源大小(RS) * 儲存單價(SUP) * 儲存時間(ST) * 備份數(NB)
·網路資源 網路資源將只採用流量計費,從節點同步的資料,將支付網路資源費用,而普通玩家擁有某個遊戲資源,根據P2P協議,部分遊戲資源會從玩家節點下載,那麼這部分內容消耗的網路資源將不計算費用。網路資源的單價同樣由聯盟成員共同決定。
● 網路成本(NC) = 流量(Traffic) * 流量單價(TUP)
·算力資源 算力採用固定算力租用制 + 彈性算力。基於遊戲的公平性考慮,遊戲專案需要額外的機制來反外掛,針對不同的遊戲,可以選擇不同的算力策略。算力包括序列速度、並行速度和記憶體。彈性算力可以解決計算高峰問題。
● 算力成本(CC) = 固定算力單價(FCUP) * 時間(T) + 彈性算力成本(ECC)
● 總成本(TC)= 儲存成本(SC) +網路成本(NC) +算力成本(CC)
激勵機制
總獎池通證分紅:資源提供方以提供資源的形式加入貝爾鏈,提供的資源將以量化的方式,計算資源提供方獲得的回報。所有已透過資源消耗進入總獎池的通證,將全部歸資源提供方所有。按照貢獻比例自動分配。
資產交易手續費分紅:使用貝爾鏈提供的BRC在各遊戲中做資產轉移時,將產生一定的手續費,使用者能夠輕鬆的將資產轉移到之後的遊戲。這部分收益將由貝爾鏈核心團隊,貝爾鏈資源提供方,貝爾鏈早期投資人按一定的比例分紅。
·硬體挖礦 智慧硬體透過提供去中心化的儲存網路挖礦,獲得BRC獎勵。
·有利行為挖礦 社羣以BRC的形式獎勵為社羣做出貢獻者。一切有利於社羣的行為將獲得獎勵。包括推廣普及獎勵、漏洞發現獎勵、程式碼貢獻獎勵等。
技術方案
1 區塊結構
在貝爾鏈(BaerChain)技術中,區塊的資料結構分為了區塊頭(Header)區塊體(Body),其中,區塊頭(Header)包含了連結到前一個區塊Hash,並透過對時間戳、隨機數、區塊體內容、前一區塊雜湊等元素,保證了鏈資料的不可逆;區塊體記錄了被打包的交易完整資訊,透過MPT(Merkle-Patricia-Trie)利用字串的公共字首來壓縮字串,以達到提高查詢效率和節省儲存空間的目的。
2 Peer-to-Peer網路
Peer-to-Peer網路主要採用了Kad演算法實現,Kad是一種分散式雜湊表(DHT)技術,DHT演算法在資源編號和節點編號上就是使用了分散式雜湊表,使得資源空間和節點空間的編號有唯一性、均勻分散式等較好的特性,能夠適合結構化分散式網路的要求。使用該技術,可以實現在分散式環境下快速而又準確地路由、定位資料。節點通常採用TCP協議與相鄰節點建立連線, 建立連線時也會有認證“握手”的通訊過程,用來確定協議版本,軟體版本,節點IP,區塊高度等。
3 共識機制(SH-DPoS)
Delegated Proof of Stake (DPoS)中文名:授權股權證明機制,是目前為止較為符合貝爾鏈效能要求的區塊鏈共識演算法,根據這種演算法,全網持有通證的人可以透過投票系統來選擇區塊生產者,一旦當選,任何人都可以參與區塊的生產。被授權的區塊生產者應該滿足一系列的要求,主要有長期線上、網路穩定。超級節點數量並不是不可變的。節點的數量會在安全性與速度上做一個平衡。但是我們可以看到,超級節點的數量都保持了奇數個,一個簡單的解釋是,這樣子更有利於達成共識,就如同舉手表決一樣。
每1秒生產一個區塊,這個值是可變的,控制在0.5-10秒之間。任何時刻,只有一個生產者被授權產生區塊。如果在某個時間內沒有成功出塊,則跳過該塊。
以超級節點的個數為一個出塊週期。假定我們使用51個超級節點。在每個出塊週期開始時,51個區塊生產者會被投票選出。前50名出塊者首先自動選出,第51個出塊者按所得投票數目對應概率選出。所選擇的生產者會根據從當前塊時間匯出的偽隨機數進行混合。以便保證出塊者之間的連線儘量平衡。如果出塊者錯過了一個塊,並且在最近 24小時內沒有產生任何塊,則這個出塊者將被取消出塊權利。除超級節點外,我們的聯盟其他的節點作為備用節點,都是有機會成為區塊生產者(即超級節點)的。
交易確認
由DPOS共識演算法維護的區塊鏈一般出塊者都是100%線上的。這就是說一個交易平均0.5秒後,會被寫入區塊鏈中,同時被所有出塊節點知曉這筆交易。這就意味著只需要1秒,一筆交易可以認定為99.9%被區塊連結收了。
有一些非常情況下例如,軟體缺陷,網路擁塞或惡意出塊者出現,區塊鏈可能出現分叉。為了確保一個交易是不可逆轉的,可以等待30個區塊確認。在正常情況下30個區塊確認平均需要30秒。
交易證明
貝爾鏈要求每個交易都包含最近的區塊頭的雜湊,這個雜湊有兩個作用:
1、防止分叉區塊鏈上出現大量交易記錄。
2、使得系統能夠知道使用者是否在分叉出來的區塊鏈上。隨著時間的推移,將很難偽造假鏈,因為假冒將無法從合法鏈路遷移交易。
4 去中心化算力叢集(DCC)
遊戲場景中最核心的資源叢集(算力/狀態儲存/持久儲存),分為雙層架構,透過Quorom進行投票選舉的排程節點,以及分佈在不同環境下的資源節點組成。SBSC的排程器透過驗證資源使用者的預先充值及餘額情況,將分配對應配額資源的排程指令傳送到Master節點上。再由Master節點對執行在相應資源/算力節點的該使用者的資源進行動態排程。
Master節點
Master Standby以及Backup Master組成的網路保證排程節點的高可用性。
Agent節點
接入的資源/算力等節點,根據不同資源型別的使用情況,為節點提供者計算應得的獎勵。
5 冗餘化分散式儲存網路(RDSN)
RDSN(Redundancy Distributed Storage Network 冗餘化分散式儲存網路)是一套利用了雜湊表技術的分散式版本化儲存協議。透過檔案內容摘要(sha256)分片來對資料進行索引。大檔案將被分割為固定大小4MB的資料塊分散式地儲存在眾多節點中, 藉助P2P網路快速進行資源同步。內嵌的版本及標籤管理機制,更加方便進行資源的溯源,釋出及管理。
BaerChain 的激勵機制使得其上的資源能夠比傳統的雲端儲存訪問速度更快、更安全、更持久,再配合貝爾鏈超級節點的冗餘,使得遊戲資源永久線上。
6 雙鏈互動
LSAC、SBSC雙鏈存在互動過程,激勵機制計算使用者在SBSC/DCC提供儲存、算力、頻寬所得收益,透過雙鏈互動方式,將收益同步到LSAC。
7 貝爾鏈虛擬機器相容層
貝爾鏈在充分考慮使用場景後,為開發者提供了更多的智慧合約開發方案,透過實現統一的貝爾鏈虛擬機器相容層(BaerChain VirtualMachine Compatible Layer)來和區塊資料進行互動,旨在讓開發者能夠專注於遊戲邏輯開發,不需要在已有智慧合約語言之間進行遷移。目前納入計劃相容的虛擬機器有以太坊虛擬機器(Ethereum VirtualMachine),WebAssembly虛擬機器(eWasm),也有接入遊戲開發中常用到的Lua虛擬機器的打算。
·WebAssembly(eWasm)
WebAssembly(縮寫為Wasm)是一個可移植、體積小、載入快並且相容Web的全新格式。Wasm被設計為可編譯C/C++/Rust/Go等高階語言編譯為目的碼,支援在Web上為客戶端和伺服器應用程式進行部署,是開放Web平臺的先驅者,並且可能掀起Web開發新的革命性浪潮。
·Solidity(EVM)
以太坊虛擬機器已經被用於大多數現有的智慧合約,並且可以在貝爾鏈上使用。可以想象,在貝爾鏈上,Solidity智慧合約可以在透過相容層中執行,無需或只需要少量適配就可以在貝爾鏈上使用。目前以太坊上支援的遊戲,可以直接在貝爾鏈上支援。
·Lua (LuaVM)
Lua體積很小,往往使用靜態連結嵌入到程式內部,在釋出應用時不需要附帶任何的執行時支援。因為遊戲開發中常用來做計算邏輯,因此考慮遊戲開發者的使用習慣,將被納入虛擬機器相容層計劃中。
8 安全性
關於更多貝爾鏈資訊:
更多區塊鏈專案:http://www.qukuaiwang.com.cn/news/xiangmu
風險提示:區塊鏈投資具有極大的風險,專案披露可能不完整或有欺騙。請在嘗試投資前確定自己承受以上風險的能力。區塊網只做專案介紹,專案真假和價值並未做任何稽覈。