區塊鏈即服務平台(BaaS)各模塊性能要求和組件列表


寫在最前

本文是自己對如下資料進行閱讀后進行的總結。如有不足和錯誤之處請及時指出。

(1)《區塊鏈即服務平台BaaS白皮書 V1.0》(來源:可信區塊鏈推進計划區塊鏈即服務平台BaaS項目組 )
(2)《企業級區塊鏈實戰教程》https://learnblockchain.cn/books/enterprise/。該教程是基於Fabric進行講解的。


BaaS平台設計原則

  • 降低開發和使用成本
  • 快速部署
  • 方便易用
  • 高安全可靠
  • 靈活擴展
  • 可視運營

BaaS平台框架

BaaS平台分為2部分:區塊鏈服務管理平台、區塊鏈服務運行態。

 

(圖片來源:可信區塊鏈推進計划區塊鏈即服務平台BaaS項目組

區塊鏈服務管理平台

  • 區塊鏈服務管理平台主要是對區塊鏈網絡啟動前的資源、配置等進行管理,包括:
  • 資源管理:區塊鏈運行硬件/雲服務的管理。
  • 區塊鏈管理:在搭建新區塊鏈之前的相關區塊鏈上的配置管理。
  • 平台管理:搭建區塊鏈之前對區塊鏈的賬號、安全、日志、監控等的管理。

區塊鏈服務運行態

  • 區塊鏈服務運行態是指對區塊鏈啟動之后,提供的服務進行配置管理,比如
  • 資源層:為區塊鏈運行環境分配對應的資源,比如Mem、CPU、磁盤等
  • 區塊鏈基礎層:區塊鏈系統
  • 業務層:提供智能合約接口和對應的錢包
  • 應用層:DApp應用層

區塊鏈服務管理平台核心模塊

  • 硬件資源配置管理
  • 區塊鏈部署配置管理:區塊鏈整體運行參數,比如出塊時間、出塊大小、共識算法、P2P網絡配置等。
  • 智能合約管理:權限配置,合約審核配置、合約事件訂閱
  • 動態聯盟管理配置:聯盟成員的加入、退出管理,包括加入條件設置等
  • 區塊鏈模塊管理:對每一個需要設置初始運行參數的模塊進行參數設置(設置默認參數)
  • 區塊鏈監控:網絡鏈接監控、硬件資源使用情況、告警配置
  • 區塊鏈瀏覽器
  • 賬號管理
  • 日志管理:用戶日志、平台日志等
  • 系統監控
  • 計費管理 

區塊鏈基礎層核心模塊

  • 可插拔共識機制:PoWPoSDPoSPoARAFTPBFTABFTTendermintYACPoET(時間證明)
  • 高可用存儲和多類型賬本機制:鏈式存儲、非鏈式存儲(DAG
  • 多類型的交易模型:UTXO模型、賬戶模型
  • 多語言支持的智能合約引擎:EVMWASM
  • 安全隱私保護
    • 加密體系:ECDH(密鑰協商算法)、ECDSA(數字簽名算法)、國密(SM2/3/4
    • 身份認證和權限控制:基於CA/VPN的節點准入、數據訪問、接口訪問、交易日志訪問、記賬權、驗證節點權限控制
    • 隱私保護:
      • 發送方隱私保護(環簽名、群簽名、分級證書機制、KSI
      • 接收方隱私保護(分層確定性錢包、隱私地址私鑰管理機制)
      • 數據隱私保護(加鹽加密處理、基於承諾的零知識證明、zkSNARKZcash應用)、同態加密、多方安全計算)
  • 跨雲部署
  • 跨鏈交互
  • 基於預言機電鏈上、鏈下訪問(引入驗證機構)
  • 分布式的身份管理(基於DIDPKI數字身份管理)
  • 分布式賬本存儲介質:(LevelDB(對服務端應用支持不友好)、pingcap/tidb、基於PBFT協議的分布式數據庫)
  • 網絡傳播機制:P2P、局域網穿透技術NAT方案、非結構化P2P網絡、結構化P2P網絡(以太坊使用分布式哈希表DHT
  • 多底層鏈支撐:Fabric、Coda、Quorum等

BaaS的落地應用

  • 供應鏈金融
  • 版權確權
  • 積分兌換
  • 產品溯源
  • 游戲

常用的企業級聯盟鏈系統

參考:https://blog.csdn.net/starzhou/article/details/103041911

 目前比較成熟的阿里BaaS平台支持了3種底層鏈:螞蟻區塊鏈、Fabric和Quorum。其中Qurum可以適用,因此可以去阿里BaaS雲平台上了解

區塊鏈平台

網絡層

共識引擎

智能合約沙箱

智能合約語言

數據模型

狀態數據庫

Hyperledger Burrow

Tendermint

EVM

Solidity

基於賬戶

LevelDB

Quorum

Go-ethereum

P2P/HTTPS

Raft/PBFT

EVM

Solidity

基於賬戶

LevelDB

FISCO BCOS

Cpp-ethereum

P2P/HTTPS

Raft/PBFT

EVM

Solidity

基於賬戶

LevelDB / MySQL

Hyperledger Fabric

Grpc-based

Gossip

Solo/kafka

Docker

Go / Node.js / Java

基於賬戶

LevelDB / CacheDB

Corda

AMQP1.0

notary

JVM

Java

UTXO

常用關系型數據庫

Chain Core

Gossip

Federated Consensus

Ivy

CVM

UTXO

PostgreSQL / RocksDB

 

企業級區塊鏈編程注意事項

  • 確定性:代碼可重放,固定輸入得到固定輸出
  • 可終止:程序有一個最終台,有退出機制,而不是無線運行。同時占用的CPU、RAM、ROM等都有一定的限制,而不是無限的
  • 代碼隔離:在區塊鏈上,代碼隔離主要是不同交易、合約狀態、賬號信息方面的隔離。比如智能合約的執行最好是在沙盒環境下執行,比如EVM、Docker、WASM等虛擬機環境下


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM