3. Functional overview¶
Tags: “Features Overview”
In order to support the demand for massive services, FISCO BCOS v3.0 Stable Edition has designed the system architecture, processing flow, execution, and storage accordingly, and launched three different forms to meet the differentiated needs of different blockchain deployment scenarios。The functional overview is as follows:
| Overall architecture | |
|---|---|
| architectural model | A flexible and adaptive blockchain framework that currently includes a lightweight Air version, a Pro version for complex business scenarios, and a scalable Max version |
| Group architecture | Support in-chain dynamic expansion of multiple groups |
| distributed storage | Support massive data storage |
| parallel computing | DAG-based support(directed acyclic graph)、DMC(parallel deterministic contract algorithm)and intra-block sharding techniques |
| Node Type | Consensus node, observation node, light node |
| calculation model | Sort-Execute-Validate |
| System performance | |
| Peak TPS | 100,000+ TPS(PBFT) |
| Transaction confirmation delay | second level |
| Recommended hardware configuration | |
| CPU | 2.4GHz * 8 Nuclear |
| Memory | 8GB |
| Storage | 4TB |
| network bandwidth | 10Mb |
| ledger model | |
| Data Structure | Chain structure, blocks connected by hash chain |
| Whether to fork | not bifurcated |
| Bookkeeping Type | Account model (non-UTXO) |
| consensus algorithm | |
| Consensus framework | Pluggable design |
| consensus algorithm | PBFT |
| Storage Engine | |
| Storage Design | Support KV and SQL |
| Engine type | Support for rocksdb and TikvDB |
| CRUD interface | Provide CRUD interface to access data on the chain |
| network protocol | |
| inter-node communication | P2P Protocol |
| Client-node communication | WebSocket Protocol |
| Message Subscription Service | AMOP Protocol |
| Smart Contracts | |
| Contract Engine | Support for WASM and EVM |
| Contract Language | Support for Solidity, C++and WBC-Liquid |
| Engine features | Turing Complete, Sandbox Run |
| Version Control | BFS-based support for multi-version contracts |
| Cryptographic Algorithms and Protocols | |
| State Secret Algorithm | Support |
| State Secret SSL | Support |
| hash algorithm | Keccak256、SM3 |
| symmetric encryption algorithm | AES、SM4 |
| asymmetric encryption algorithm | ECDSA、SM2 |
| asymmetric encryption elliptic curve | secp256k1、sm2p256v1 |
| Safety control | |
| communication security | Supports full-process SSL |
| Access Security | PKI-based identity authentication system |
| Certificate Management | Support certificate issuance, revocation, update |
| Permission Control | Supports fine-grained permission control |
| privacy protection | |
| Physical isolation | Data isolation between groups |
| Scenario-based privacy protection mechanism | Based on WeDPRSupport hidden payment, anonymous voting, anonymous bidding, selective disclosure and other scenarios |
| cross-chain protocol | |
| SPV | Provides an interface for obtaining SPV attestations |
| cross-chain protocol | Based on WeCrossSupport isomorphic, heterogeneous cross-chain |
| Development Support | |
| Development of chain building tools | Provide Air version blockchain deployment tool, Pro Version Block Chain Deployment Tooland Maxb version blockchain deployment tool |
| Contract deployment and testing tools | Interactive Console Java SDK-based Console |
| SDK language | Java(Recommended Use)、Go、Python、C++、C、Rust(Language to be adapted: Node.js, C#、iOS、Android) |
| Rapid component development | Provide Spring-boot-starter、Spring-boot-crud |
| Operation and Maintenance Support | |
| Dynamic management node | Support dynamically adding, removing and changing nodes |
| Dynamic configuration change | Support dynamic change of system configuration |
| Data Backup and Recovery | Provides data export and recovery service components |
| Monitoring Statistics | Output statistical logs and provide monitoring tools |