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