自從 2015 年,人們發現了區塊鏈巨大的潛在價值之後,區塊鏈技術已經飛速發展了四年多,這四年中,區塊鏈成為科技、金融、政府多方認可和推崇的創新技術,全球眾多科技、金融巨頭都投入了大量的人力物力進行研究,行業內初步湧現出了一批優秀的創業公司。然而,區塊鏈技術發展還遠沒有達到成熟階段,雖然整個區塊鏈行業百花齊放卻各有弊端,我們知道區塊鏈行業的開拓者很難把區塊鏈技術推向大規模的應用落地中。基於此,比原鏈團隊從區塊鏈架構和底層技術的維度出發,立足於區塊鏈大規模落地場景,在共識機制、智慧合約、可擴充套件性、隱私安全、跨鏈互動等幾個方面對現有區塊鏈進行最佳化,推出 Bystack 這一蘊含顛覆性理念和前沿技術的產品。
Bystack 是幫助使用者快速建立,管理和維護企業級區塊鏈網路和商業區塊鏈應用的服務平臺,具有開發成本低,部署快捷,效能高和擴充套件性強,安全可靠,方便易用等特性,為開發者或企業提供區塊鏈能力的一站式解決方案。
Bystack 獨創的主側鏈模型和核心的 Blockcenter 系統透過將底層的區塊鏈網路,共識,應用開發能力,區塊鏈配套設施進行整合和抽象,轉化為使用者熟悉的可程式設計介面和操作介面,遮蔽底層的技術細節,讓應用開發更加簡單高效,讓企業和開發者更加專注於區塊鏈應用的開發。
主側鏈協同工作模型
Bystack 解決方案是主側鏈(一主多側)協同工作模型,主鏈採用 PoW 共識保證多樣資產的安全和去中心化,側鏈透過可插拔技術實現不同的解決方案,從而滿足不同的業務場景和對更高效能的要求,加速區塊鏈商業應用的落地。
主側鏈協議本質上是一種跨區塊鏈解決方案。這種解決方案,可以實現數字資產從一條鏈到另一條鏈的轉移,當然也可以從另一條鏈安全返回到第一條鏈。在 Bystack 中,建立、儲存資產的區塊鏈網路通常被稱主鏈,而作為業務輔助的鏈則被稱為側鏈。側鏈協議被設想為一種允許數字資產在主鏈與側鏈之間進行轉移的方式。
Bystack 的主鏈需要保證安全和穩定,所以效能、可擴充套件性以及更多的創新的嘗試會在側鏈上落實。
1. 主側鏈架構
下圖是主側鏈協同的總體模型圖:
1.1 主鏈的角色
Bystack 的主鏈採用基於對 AI 計算友好型 PoW(工作量證明)演算法 Tensority 的 Bytom公鏈。主鏈主要擔任價值錨定,價值傳輸和可信存證的角色。任何的資產建立,傳輸和銷燬都由主鏈發起,再透過 Federation 楔入到側鏈上,從而保證資產的安全性。同時所有的業務或者資產的數字指紋資訊都在主鏈上做可信存證,因為只有算力保證的主鏈才能做可信存證。
1.2 側鏈的角色
Bystack 的側鏈主要是服務於垂直領域的業務,滿足那些對 TPS 要求較高,且資料量比較大的業務。同時側鏈支援更加靈活的搭建方式,企業或個人可以使用已執行的側鏈,也可以生成屬於自己的側鏈,並在側鏈上搭建自己的生態應用。主鏈資產透過 Federation 楔入到側鏈,然後在側鏈的內部流通和使用。側鏈支援可插拔的共識,資料庫外掛,可以更好的搭配以滿足實際的業務需求。
1.3 Federation
下圖是 Federation 的基本模型圖
Federation 當中分為三種角色:
驗證人:側鏈的出塊人,任何人都可以成為驗證人。
收集人:監控主鏈鎖定在聯邦合約地址的交易,收集交易並生成 Claim 交易,傳送到節點驗證人進行驗證後進入交易池。
聯邦地址: 側鏈充值是指資產從主鏈楔入到側鏈的轉移過程,是需要資產先鎖定到聯邦合約地址。
聯邦合約地址生成:
(1)聯邦合約地址需要多名聯邦成員公鑰生成,系統開始啟動由初始出塊人擔任。
(2)執行一段時間後 Vapor 側鏈上使用者可以註冊為聯邦成員候選人,由 Vapor 側鏈使用者投票,從註冊候選人中選出聯邦成員,每次聯邦成員變動不能超過聯盟總成員的 1/3。
(3)選出聯邦成員後,由新的聯邦成員生成新的合約地址,以前的聯邦合約地址轉賬到新的聯邦合約地址。
(4)轉賬完成後,主鏈鎖定資產到新的聯邦地址,以後可以再競選聯邦成員。
收集人:
(1)系統啟動之時,由初始出塊人擔任。
(2)執行一段時間後,Vapor 側鏈上使用者可以註冊成為候選收集人,由 Vapor 側鏈使用者投票,從註冊的候選人中選出收集人(DPoS 出塊一輪篩選一次)。
(3)下發新的監控主鏈的聯邦合約地址的收集人,收集交易,並附帶收集人列表、收集人簽名、原始交易、收集人公鑰的 Claim 交易到節點。
側鏈提現流程:
(1)Vapor 側鏈使用者發起提現請求,銷燬 Vapor 側鏈的資產。
(2)聯邦合約地址針對請求向 Vapor 側鏈使用者的主鏈地址傳送對應對應數量的資產(前提交易已經在側鏈上達到不會回滾的確認數).
(3)聯邦在側鏈上生成一筆完成提現的操作的交易。
1.4 創新性
(1)共識層創新
側鏈共識以投票人(Voter),共識節點(Delegate)和領導節點(Leader)來組織網路。首先以 DPoS 的模式進行投票來選出共識節點,然後共識節點以高效獨創 BFT 的模式來達成共識。
(2)網路層創新
傳統聯盟鏈是主從節點架構,甚至是 C/S 模型, 服務端會實現完整協議而客戶端儘量架構簡潔,著重產品功能和互動, 相對於從節點不參加共識甚至不驗證來說,側鏈可以完整保留對等節點的可用功能,這樣就需要更快的網路,而且更復雜的環境中可靠傳輸交易和區塊資訊。
Vapor 神經元中繼(Vapor Neuron Relay)(VNR)。基於 UDP 和向前糾錯(FEC)協議, 傳輸區塊頭和縮短的交易 ID 和部分對等節點不具備的交易資訊, 接收方節點將嘗試使用接收到的資訊,以及在本地記憶體池(Memory Pool)當中的交易,來重新構建整個區塊。只有仍然缺失某些交易時,才會請求廣播對端節點交易。
(3)協議層創新
以太坊賬戶模型受限於序列驗證效率瓶頸, 難以提高吞吐。 Vapor 基於 BUTXO 可並行驗證區塊,且可多執行緒並行驗證交易 BUTXO, 設計並行滑動視窗驗證演算法 PSWV(Parallel Sliding Windows Validation), 該演算法一次同步上百個區塊,並獲取它的所有輸入,批次區塊形成校驗視窗,演算法驗證器滑動驗證視窗內區塊交易的合法性。
(4)儲存層創新
去掉了公鏈普遍使用的本地 KV 資料庫 LevelDB, RocksDB 等,替換為更通用和強大的資料庫層介面,滿足使用高效能 MySQL,PostgreSQL, MongoDB 等企業級資料庫的業務需求,另外對於資料分析的需求, 也同時相容 HDFS, HIVE,融入 Hadoop 或 Spark 生態系統。
2. 資產和操作型別
2.1 資產型別
多型別的資產釋出是 Bystack 的一大特點,我們按照資產的可分割性(Severability)和可互換性(Fungibility)將資產定義為四種型別(如圖 4):
1、位元資產(BAP-01),可分割,可互換。對應 Token 等虛擬資產以及貨幣、積分、股票(同股同權)等現實資產,相當於以太坊 ERC-20 協議。
2、原子資產(BAP-02),可分割,不可互換。如 Bytom 原生資產 BTM 或其它透過BAP-02 發行的股票(同股不同權)等現實資產,相當於比特幣等非同質加密貨幣協議。
3、夸克資產(BAP-03),不可分割,不可互換。適合應用於遊戲道具、遊戲寵物等虛擬資產和房產、收藏品、商品、防偽碼等所有權類現實資產,相當於以太坊 ERC-721 協議。
4、量子資產(BAP-04),不可分割,可互換。可應用於紅包等虛擬資產以及優惠券、門票、二維碼等憑證類現實資產。
事實上,我們並沒有發明新的資產,而是試圖在區塊鏈的世界真實的對映現實世界的各
種資產,並從物理屬性的角度給予資產更基礎的分類,方便人們在金融、政務、遊戲、積分
等場景中對資產進行更方便的歸類、組合及劃分。
2.2 操作型別
Bystack 將資產間的互操作定義為四種型別:
對映:資產數字化,現實經濟中的真實資產上鍊。如股權,債權,收益權等資產
存證:數字資產化,信用、身份、品牌、行為資料等數字資源上鍊,透過鏈上可以轉移
所有權和使用權。
躍遷:資產從側鏈遷入主鏈。
楔入:資產從主鏈遷入側鏈。
以上所有操作都是原子操作,即,要麼完全完成,要麼根本不發生。不存在會導致資產損失或欺詐發生的可能。
3. 部署和使用
本地部署: 面向個人開發者,使用者可以在伺服器中部署屬於自己的側鏈,然後測試自己的側鏈上的商業應用。
跨雲部署: 面向企業使用者,企業的側鏈可以支援多種不同的雲服務,包括阿里雲,騰訊雲,華為雲等等。區塊鏈的節點可以分散部署到不同的公有云平臺上。
混合部署:為了滿足不同的業務需求,可以根據聯盟參與方需求部署區塊鏈節點,即部分側鏈的節點執行在雲平臺上,部分側鏈的節點執行在客戶的私有 IT 環境或者私有云內。
Bystack 介紹
1. Bystack 概述
Bystack 是一個通用區塊鏈應用堆疊平臺,繼承並實現了區塊鏈三層架構, 分別由Bytom 主鏈,Vapor 側鏈, Blockcenter 中臺,及 Bycoin,Byone,Bystore 等接入元件組成。下圖是 Bystack 的基本架構圖:
Bystack 依靠 Bytom 公有區塊鏈技術平臺和 Vapor 側鏈技術,透過 Federation 作為主鏈與側鏈之間的互動協議,為價值傳輸提供了通道,給上層應用奠定了堅實的基礎。Blockcenter作為業務中臺,也是整個系統核心。他和上層服務如 Bycoin,Byone, Bystore 實現了區塊鏈應用的第三層。
Blockcenter:在分層的基礎上,Blockcenter 結合分層設計和模組化,把通用的業務拆分成不同的模組, 抽象了各類典型的區塊鏈應用,提供了典型應用的基本能力和實現框架,使用者可以根據自己的需求,像“搭積木”一樣疊加自己的業務,輕鬆完成業務邏輯的區塊鏈實現。對於底層,它提供了高度的業務抽象,讓使用者不必要了解底層的區塊鏈技術原理,更加專注自己的業務開發。Blockcenter 是連線區塊鏈技術和商業應用的橋樑,也是驅動的引擎。
Bycoin:移動客戶端的生態入口和解決方案。它支援儲蓄多種資產,資產與資產之間可以輕鬆兌換,並可以在整合了 Bycoin SDK 的其他系統中使用。Bycoin 不僅僅支援多種資產儲存,流通和互換功能,它也類似我們的微信,支付寶一樣,還提供給我們很多日常需要的應用。比如:娛樂,日常消費等。
Byone:桌面客戶端解決方案,我們只需要在電腦的瀏覽器端安裝 Byone,註冊登陸後,可以用它在桌面端管理我們的多種資產,同時在瀏覽器中開啟支援 Byone 的應用,就可以連線到 Byone 的賬戶和資產,使用基於 Bystack 開發的 Dapp 和商業應用。
Bystore:它是支援比原鏈合約開發部署一整套完備且強大的開發框架,該框架支援多種語言編寫智慧合約,合約編寫完成以後對合約進行預編譯並呼叫合約交易介面直接釋出合約。對開發者非常友好。Bystore 提供非常豐富的合約模板,只需要要在合約模板上修改合約引數,輸入自己的賬戶引數就可以釋出自己的合約應用。
2. Bystack 創新點
開放共識
Bystack 的側鏈的共識是 DPoS+BBFT,但也可以使用其他的共識演算法,Bystack 提供了非常豐富的可插拔共識機制,比如 DPoS,PoS 等等。同時側鏈可以讓任何人都可以加入成為共識節點,這和聯盟鏈的准入機制有很大區別。
主側鏈架構
獨創的主側鏈架構,主鏈負責發行和銷燬資產,主鏈保證去中心化和安全性,側鏈負責執行大規模商業應用,側鏈犧牲部分去中心化來大幅度提升效能,同時可以存在無限多的側鏈以滿足不同的領域和效能需求。
BUTXO
基於比特幣 UTXO 模型的創新,從底層模型上支援多資產的交易。BUTXO 保證了資產互動操作的原子性,非同步交易的時候可以進行驗證,支援多資產上鍊,智慧合約結果布林化。由於 BUTXO 的無狀態,所以在一定程度上增強了使用者的匿名性。
最短路徑交易
簽名不在交易而在每一個輸入上,可以在不同時間,不同人之間自主的構建交易,從而構造出不同模式的交易型別,比如磁力交易。
定製化可插拔服務
比原鏈的 Blockcenter 可以提供非常豐富的可插拔服務,商家可以根據不同的業務場景,來整合不同的服務,比如身份服務,多重簽名,隱私交易。
國密標準
Bystack 可採用國密標準 SM2,SM3,SM4 密碼學演算法,滿足金融行業,公共事業等行業在使用者地址的生成,交易簽署以及交易驗證等過程中對國家標準的合規和安全性要求。
多語言合約虛擬機器
支援 Equity,Javascript,Python,Go 等多種語言的合約虛擬機器,可以滿足熟悉不同語言的開發者開發商業 Dapp 的需求。
3. 優勢
1. 領域支援
區塊鏈可以服務於金融行業以及供應鏈,還有垂直領域的行業生態。但是一般的公鏈或者聯盟鏈無法服務於每個行業,但是 Bystack 透過多條側鏈能做到更全面的技術支援。每個側鏈根據不同行業的特性進行定製化的組裝和開發,滿足不同行業和領域的業務需求。
2. 擴容
目前主要有兩種擴容方案,分別式 Layer1 擴容和 Layer2 擴容,Layer1 擴容主要改進區塊鏈自身,把區塊鏈自身變的更快、容量變的更大,Bystack 透過壓縮交易和增加出塊速度,從而在 Layer1 層得到擴充套件。Layer2 擴容是把很多的複雜業務過程遷移到鏈下,而 Bystack構建在側鏈基礎上的 Blockcenter 正是在 Layer2 的擴充套件。
3. 效能
效能方面主要從下個角度分析:
出塊時間:Bystack 的主網是依託的比原鏈(Bytom),平均每 2.5 分鐘產生一個區塊。側鏈採用 DPoS+BBFT, 出塊速度大概在 0.5 秒。
區塊大小:側鏈壓縮交易來壓縮區塊大小,從而減少頻寬開支,讓全節點可以更快的同步區塊。
TPS:側鏈的 TPS 能達到數萬, 且透過橫向擴充套件吞吐可達百萬以上。完全可以滿足目前企業級服務平臺的基本應用。
容錯率:主鏈的 PoW 基於概率的系列演算法理論上允許少於一半的不合作節點,而側鏈的 BBFT 共識演算法確定性演算法理論上則允許不超過 1/3 的不合作節點。
4. 安全
主鏈共識演算法:單一 DPoS 或 PBFT 都不是真正意義上的非准許(Permissionless)共識,需要許可則意味著該網路是被一小部分人控制,資料不可篡改、交易不可逆轉等區塊鏈根本屬性不復存在,基於區塊鏈的資產確權、資料存證等業務的安全性亦將無可保障。BystackLayer1 採用創新 PoW 演算法 Tensority,在挖礦激勵機制作用下,全網算力不斷增長, 發起51%攻擊成本不斷提升,尤其是 Tensority 採用對人工智慧晶片友好型演算法,使得挖礦晶片可能採用人工智慧通用晶片挖礦,從而降低了硬體成本,併為人工智慧晶片產業賦能。
側鏈共識演算法:Bystack Layer 2 採用 DPoS+BBFT 共識演算法,提供高可用的拜占庭容錯能力,支援共識狀態自動恢復,區塊資料互備恢復,資料儲存自動均衡,節點服務自動路由。從而保證系統的自身的安全和穩定。
基於 BUTXO 模型的合約安全性:主鏈採用 BUTXO 模型,每一個 BUTXO 都由單獨的合約程式鎖定,破解合約只能獲取該合約鎖定的資產,其他資產不受影響,從而很好的保護主鏈資產的安全性。
主側隔離:支援簡單支付驗證 SPV(Simple Payment Verificaiton),側鏈能夠驗證主鏈塊上 Header、Merkle Tree 的資訊。主鏈負責賬本的更新維護和資料安全,資產發行、資料存證、數字身份等關鍵業務在主鏈上完成,不同側鏈針對股權、版權、積分等不同資產交易場景,負責交易效率。主鏈不需要關心側鏈的執行狀態。當側鏈被攻擊,主鏈的安全性不受影響。
側側隔離:不同的業務隔離,每個行業領域分屬於不同的側鏈,如果一條側鏈受到攻擊或者影響不影響其他側鏈業務的安全穩定執行。
Federation 安全性:透過側鏈躍遷到主鏈(Pegout),收集人,驗證人等角色確保資產轉移過程切分成多個流程,防止單一驗證人的作惡。
5. 隱私保護
Bystack 採用多種加密演算法組合的方案來提供全方位的隱私保護。高可配置性保證了方案的靈活度並能適應不同的使用者場景。
隱私交易:對於多籤交易,使用 Schnorr 簽名和 MuSig 演算法來對多個簽名進行集中驗證。對交易金額的加密可以採用零知識證明(Zero Knowledge Proof, ZKP)的方案,比如zk-SNAKRS 和 Bulletproofs。在私密要求較高的場景,可以使用 MimbleWimble 模式對交易雙方地址和交易金額同時進行加密。目前主流的加密演算法都基於 Pedersen 承諾系統(Commitment Scheme)。它雖然能絕對隱藏交易內容(Perfect Hiding)但只在計算力有限的情況下提供綁(Computational Binding),這意味著交易金額有可能被改動。為了應對未來算力的突破,絕對繫結(Perfect Binding)的系統,例如 ElGamal 加密,可以以開關啟用的模式被採用。
隱私合約:以上的隱私交易方案也可以應用於隱私合約中。除此之外,使用默克爾語法抽象樹(Merkelized Abstract Syntax Tree,MAST)對合約本身進行最佳化,在減少體積的情況下提供一定程度的隱私保護。
6. 支援 Bancor 協議
Bancor 是一個去中心化的流動性網路,為使用者提供簡單、低成本的買賣 Token 的方式。Bancor 的開源協議透過智慧合約直接授權具有內建可轉換性的 token,允許整合的 token 立即相互轉換,無需在交易中匹配買賣雙方。Bancor 錢包可以直接在錢包內實現 token 的自動轉換,價格比交易所更容易預測,並且不會受到操縱。Bystack 的 Bancor 協議可以讓多種資產(比如商業積分,多種數字資產)可以快速,低成本,高效的轉換。