区块链BaaS云服务(15)复杂美chain33
1. 整體架構(gòu)
采用模塊插件化的設計,模塊可插拔,適應多種場景。
- 應用層
EVM虛擬機, WASM虛擬機,GO語言原生合約以及JVM虛擬機(研發(fā)完成,測試中) - 共識層
支持POS,DPOS以及POS33的公鏈共識、Tendermint及pbft聯(lián)盟鏈共識、Raft私鏈共識、平行鏈共識等。 - 數(shù)據(jù)層
數(shù)據(jù)存儲方式支持可擴展,目前支持MPT、MAVL、KVDB、MVCCKVDB多種方式,其中我們自研的MVCCKVDB能避免了狀態(tài)樹膨脹而導致性能下降的問題,支持LevelDB、ES等多種后端存儲。 - 加密算法
兼容國際標準以及國密標準(SM2,SM3,SM4,SECP256K1,ED25519) - 交易緩存池
交易排隊機制可配置(時間,價格)
2. 主鏈+平行鏈架構(gòu)
- 平行鏈依附于主鏈,共享主鏈共識網(wǎng)絡,通過grpc接口同主鏈節(jié)點相連,理論上一條主鏈下可以掛無數(shù)的平行鏈。
- 在主鏈上,交易只做共識和存儲,只運行一些基礎核心的合約,所以主鏈的穩(wěn)定性會比較強,進而保證整個區(qū)塊鏈網(wǎng)絡的穩(wěn)定。
- 實際的交易都在平行鏈上執(zhí)行,平行鏈各自執(zhí)行自己的交易,互不干擾。
- 多條平行鏈共存,實現(xiàn)了交易的并行執(zhí)地。
3. 關(guān)鍵特性
3.1 性能提升
為提升系統(tǒng)整體性能,chain33從以下幾方面來進行了優(yōu)化
-
共識流程的優(yōu)化(聯(lián)盟鏈)
chain33聯(lián)盟鏈引入了聚合簽名的技術(shù)來降低共識過程中的消息通信,通過leader去收集簽名,于聚合后發(fā)送給其他節(jié)點,通過聚合簽名就可以驗證是否 2/3的節(jié)點已經(jīng)簽名,這樣就能保證在區(qū)塊鏈節(jié)點增加的情況下,交易數(shù)不會大量增加,提升共識的效率。 -
交易并行執(zhí)行
-
存儲分片
主要基于kad網(wǎng)絡,分片算法可以保證數(shù)據(jù)相對均勻的分布在區(qū)塊鏈的各個節(jié)點上,每個節(jié)點僅需要保存一部分數(shù)據(jù),非常適合海量數(shù)據(jù)存儲的場景,且可以隨時增加機器實現(xiàn)動態(tài)擴容。數(shù)據(jù)打包之后進行分布式存儲,減少了數(shù)據(jù)的數(shù)量,避免數(shù)據(jù)過于碎片化增加網(wǎng)絡負載。
3.2 隱私保護(聯(lián)盟鏈)
考慮到聯(lián)盟鏈的高安全性需求,通過以下方:
-
節(jié)點準入機制
節(jié)點加入或退出共識網(wǎng)絡,都需要經(jīng)過區(qū)塊鏈上的管理合約進行授權(quán),沒有經(jīng)過授權(quán)的節(jié)點無法加入共識網(wǎng)絡。 -
數(shù)據(jù)傳輸保護
節(jié)點與節(jié)點之間TLS加密,節(jié)點與應用之間的TLS加密方式實現(xiàn)傳輸過程中的隱私保護。 -
數(shù)據(jù)訪問保護
通過權(quán)限管理智能合約來界定數(shù)據(jù)的訪問權(quán)限,只有被賦予相應權(quán)限才可以訪問相關(guān)數(shù)據(jù)。 -
可分享型隱私保護
數(shù)據(jù)加密上鏈存儲,結(jié)合代理重加密及秘鑰分片技術(shù)實現(xiàn)隱私數(shù)據(jù)的動態(tài)授權(quán)。秘鑰可以通過shamir門限秘鑰分享算法( (k,n)門限密鑰共享算法,算法把密鑰拆分成n個密鑰分片,只有收集大于等于k個分片才能將原始的密鑰重構(gòu),k就是門限值(k < n) ),分成多片存放于多個安全節(jié)點上,同時還支持超時配置。
3.3 區(qū)塊鏈交互易用性
chain33引入命令行工具、區(qū)塊鏈瀏覽器、多語言SDK等來提升系統(tǒng)的易用性
- 區(qū)塊鏈瀏覽器
- JAVA-SDK
- GOLANG-SDK
- PYTHON-SDK
- PHP-SDK
4.chain33技術(shù)特點總結(jié)
- 國產(chǎn)開源
- 國密算法
在區(qū)塊鏈多語言版本的SDK中,既支持國際標準,也支持國密標準。支持SM2,SM3,SM4。 - 支持國產(chǎn)芯片
支持部署運行在國產(chǎn)芯片服務器上。 - 模塊化設計
項目吸納了Linux 內(nèi)核設計的模塊化思想,開發(fā)了多個功能模塊,集合組成了模塊插件倉。 - 共識機制可插拔
Chain33兼容多種共識機制,包括 RAFT、PBFT、POS、DPOS 等主流共識,也包括 SPOS、POS33 等自主研發(fā)共識機制,插拔不同的共識算法,可快速搭建私鏈、聯(lián)盟鏈、公鏈、平行鏈。 - 平行鏈架構(gòu)
平行鏈技術(shù)已經(jīng)成為分片的主流的解決方案之一。在 Chain33中,主鏈不僅僅提供管理所有的平行鏈的功能,還提供了平行鏈消息存儲的功能,通過主鏈數(shù)據(jù)的分片,以及高性能的共識算法,兼顧了鏈本身的安全性以及系統(tǒng)的可擴展性。 - 高效存儲
支持業(yè)務層快速調(diào)用區(qū)塊鏈系統(tǒng)數(shù)據(jù),如存證系統(tǒng):底層建設的區(qū)塊鏈數(shù)據(jù),可以以ES數(shù)據(jù)庫進行方便檢索、個性化檢索等。 - 跨鏈交易
在采用側(cè)鏈中繼技術(shù)和比特幣交換資產(chǎn)設計上,基于哈希鎖定,使得參與雙方都受到合理保護,資產(chǎn)轉(zhuǎn)移更有保障。在與以太坊或其他區(qū)塊鏈資產(chǎn)互操作上,采用合約橋加公證人機制,保障各方資產(chǎn)轉(zhuǎn)移在可信基礎上安全流轉(zhuǎn)。 - 隱私保護
采用代理重加密加秘鑰分片的方案,實現(xiàn)數(shù)據(jù)可分享型存儲,保障數(shù)據(jù)隱私。 - 簡單易用
系統(tǒng)安裝簡便, 同時提供BAAS服務可以實現(xiàn)可視化安裝,以及提供智能合約IDE工具,幫助開發(fā)者節(jié)約成本。
參考
【1】. chain 33產(chǎn)品文檔
總結(jié)
以上是生活随笔為你收集整理的区块链BaaS云服务(15)复杂美chain33的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (chap1 网络基础知识)网络的构成要
- 下一篇: 区块链系统之《一种基于区块链的云数据共享