区块链 FISCO BCOS学习文章(1)-平台介绍
作者:互联网
一、架构
1. 群组架构
根据业务场景和业务关系,企业可选择不同群组,形成多个不同账本的数据共享和共识。
2. 并行计算模型
改变了区块中按交易顺序串行执行的做法,基于DAG(有向无环图)并行执行交易,大幅提升性能
3. 分布式存储
支持企业(节点)将数据存储在远端分布式系统中,克服了本地化数据存储的诸多限制。
4. 预编译合约
预编译合约能够突破EVM的性能瓶颈,实现高性能合约;
基于C++的Precompiled合约:区块链底层内置C++语言编写的Precompiled合约,执行效率更高。
5. 控制台
控制台可以让用户快速掌握区块链使用技巧等。
二、关键特性
整体架构 | |
---|---|
架构模型 | 一体两翼多引擎 |
群组架构 | 支持链内动态扩展多群组 |
分布式存储 | 支持海量数据存储 |
并行计算 | 支持块内交易并行执行 |
节点类型 | 共识节点、观察节点 |
计算模型 | 排序-执行-验证 |
系统性能 | |
峰值TPS | 2万+ TPS(PBFT) |
交易确认时延 | 秒级 |
硬件推荐配置 | |
CPU | 2.4GHz * 8核 |
内存 | 8GB |
存储 | 4TB |
网络带宽 | 10Mb |
账本模型 | |
数据结构 | 链式结构,区块通过哈希链相连 |
是否分叉 | 不分叉 |
记账类型 | 账户模型(非UTXO) |
共识算法 | |
共识框架 | 可插拔设计 |
共识算法 | PBFT、Raft、rPBFT |
存储引擎 | |
存储设计 | 支持KV和SQL |
引擎类型 | 支持leveldb、rocksdb、mysql |
CRUD接口 | 提供CRUD接口访问链上数据 |
网络协议 | |
节点间通信 | P2P协议 |
客户端与节点通信 | JsonRPC,Channel协议 |
消息订阅服务 | AMOP协议 |
智能合约 | |
合约引擎 | 支持Solidity和预编译合约 |
引擎特点 | 图灵完备,沙盒运行 |
版本控制 | 基于CNS支持多版本合约 |
灰度升级 | 支持多版本合约共存、灰度升级 |
生命周期管理 | 支持合约和账户的冻结、解冻 |
密码算法和协议 | |
国密算法 | 支持 |
国密SSL | 支持 |
哈希算法 | Keccak256、SM3 |
对称加密算法 | AES、SM4 |
非对称加密算法 | ECDSA、SM2 |
非对称加密椭圆曲线 | secp256k1、sm2p256v1 |
安全控制 | |
存储安全 | 支持落盘数据加密存储 |
通信安全 | 支持全流程SSL |
准入安全 | 基于PKI身份认证体系 |
证书管理 | 支持证书颁发、撤销、更新 |
权限控制 | 支持细粒度权限控制 |
隐私保护 | |
物理隔离 | 群组间数据隔离 |
隐私保护协议 | 支持群签名、环签名、同态加密 |
场景化隐私保护机制 | 基于WeDPR支持隐匿支付、匿名投票、匿名竞拍、选择性披露等场景 |
跨链协议 | |
SPV | 提供获取SPV证明的接口 |
跨链协议 | 基于WeCross支持同构、异构跨链 |
开发支持 | |
合约开发工具 | WeBASE-IDE,ChainIDE |
开发建链工具 | 提供一键搭链脚本工具 |
合约部署与测试工具 | 基于Java SDK的console, 交互式控制台基于Web3SDK的console |
SDK语言 | Java、nodejs、go、python |
快速开发组件 | 提供Spring-boot-starter |
压测工具 | SDK内嵌压测工具,支持Caliper |
运维支持 | |
运维建链工具 | 提供企业级联盟链部署工具 |
可视化数据展现 | 区块链浏览器 |
可视化节点管理 | 基于WeBASE,提供节点管理器 |
动态管理节点 | 支持动态新增、剔除、变更节点 |
动态更改配置 | 支持动态变更系统配置 |
数据备份与恢复 | 提供数据导出与恢复服务组件 |
监控统计 | 输出统计日志,提供监控工具 |
监管审计 | 基于WeBASE,提供监管审计入口 |
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/intro/introduction.html
标签:存储,FISCO,基于,支持,BCOS,区块,合约,节点 来源: https://blog.51cto.com/u_15077160/2914364