FISCO BCOS is an enterprise-level financial alliance chain underlying platform that is dominated by domestic enterprises for research and development, open sourced to the outside world, and safe and controllable. Created by the open source working group established by the Financial Blockchain Cooperation Alliance (Shenzhen) (abbreviation: Golden Chain Alliance), the working group members include Beyondsoft, Huawei, Shenzhen Stock Exchange , China Information, Sifang Jingchuang, Tencent , WeBank , Yibi Technology and Yuexiu Jinke and other member institutions of the Golden Chain Alliance.
FISCO BCOS was officially open sourced in 2017. As of May 2020, more than 1,000 companies and institutions, and more than 10,000 community members have participated in the joint construction and governance, and have developed into the largest and most active domestic open source alliance chain ecosystem.
Application projects cover cultural copyright, judicial services, government services, Internet of Things, finance, smart communities and other fields. Nowadays, based on the convenient and comprehensive development tools of FISCO BCOS, it has become a more open open source ecosystem.
FISCO BCOS design ideas
FISCO BCOS takes the actual needs of the alliance chain as the starting point, takes into account performance, security, operation and maintenance, ease of use, and scalability, supports multiple SDKs, and provides visual middleware tools, which greatly shortens the chain construction, development, and Time to deploy the application. In addition, FISCO BCOS has passed the two evaluations of the Trusted Blockchain Evaluation Function and Performance of the Institute of Information and Communications Technology, with a single chain TPS of up to 20,000.
In 2.0, FISCO BCOS proposed the “one body, two wings and multiple engines” architecture to realize the horizontal expansion of system throughput, greatly improve performance, and have industry-leading advantages in terms of safety, operation and maintenance, ease of use, and scalability.
Integration refers to the group structure, which supports the rapid formation of alliances and chain building, making it as convenient for enterprises to build a chain as a chat group. According to business scenarios and business relationships, companies can choose different groups to form data sharing and consensus on multiple different ledgers, thereby quickly enriching business scenarios, expanding business scale, and greatly simplifying chain deployment and operation and maintenance costs.
Two wings refers to the support of parallel computing models and distributed storage, both of which bring better scalability to the group architecture. The former changes the practice of serial execution in the order of transactions in the block, and executes transactions in parallel based on DAG (directed acyclic graph), which greatly improves performance; the latter supports enterprises (nodes) to store data in remote distributed systems, Overcome many limitations of localized data storage.
Multi-engine is a collection of a series of features. For example, pre-compiled contracts can break through the performance bottleneck of EVM and realize high-performance contracts; consoles can allow users to quickly master blockchain usage skills.
The core part of FISCO BCOS
The core module of FISCO BCOS includes the following parts:
Consensus mechanism: a pluggable consensus mechanism that supports PBFT, Raft and rPBFT consensus algorithms, with low transaction confirmation latency, high throughput, and eventual consistency. Among them, PBFT and rPBFT can solve the Byzantine problem with higher security.
Storage: The storage of the world state is converted from the original MPT storage structure to distributed storage, avoiding the problem of performance degradation caused by the rapid expansion of the world state; introducing a pluggable storage engine, supporting a variety of back-end storage such as LevelDB, RocksDB, MySQL, etc. , While supporting the simple and rapid expansion of data, it also isolates calculation and data, reducing the impact of node failure on node data.
Network: Support network compression function, and implement a good distributed network distribution mechanism based on the idea of load balancing to minimize bandwidth overhead.
Performance improvement strategy
In order to improve system performance, FISCO BCOS optimizes transaction execution from two aspects: improving transaction execution efficiency and concurrency, so that transaction processing performance can reach more than ten thousand.
Precompiled contract based on C++: Precompiled contract written in C++ language is built-in at the bottom of the blockchain, which is more efficient in execution.
Parallel transaction execution: Based on the DAG algorithm, the transaction execution flow in the block is constructed according to the mutual exclusion relationship between transactions, so as to maximize the parallel execution of transactions in the block.
Asynchronous parallel processing of the transaction life cycle: asynchronous and parallel processing of various links such as consensus, synchronization, and order placement.
FISCO BCOS security solutions
Taking into account the high security requirements of the alliance chain, in addition to the TLS security protocol used for communication between nodes and between nodes and clients, FISCO BCOS also implements a complete set of security solutions:
Network access mechanism: Restrict nodes from joining and exiting the alliance chain, and delete malicious nodes in a designated group from the group, ensuring system security.
Black and white list mechanism: Each group can only receive messages from the corresponding group to ensure the isolation of network communication between groups; the CA blacklist mechanism can disconnect the network connection with the malicious node in time to ensure system security.
Authority management mechanism: Based on the distributed storage authority control mechanism, it can flexibly and finely control the authority of external account deployment contracts and the creation, insertion, deletion and update of user tables.
Support national secret algorithm: support national secret encryption, signature algorithm and national secret communication protocol.
Disk placement encryption scheme: Supports encryption node placement data to ensure the confidentiality of data on the chain.
Key management scheme: On the basis of the disk encryption scheme, the KeyManager service is used to manage node keys, which is more secure.
Homomorphic encryption and group ring signature: The chain provides homomorphic encryption and group ring signature interfaces to meet more business needs.
Development, deployment and operation and maintenance of FISCO BCOS
Development and deployment tools
FISCO BCOS introduces development and deployment tools, interactive consoles, blockchain browsers and other tools to improve the ease of use of the system and greatly shorten the time for chain building and application deployment.
Interactive command line tool console based on JavaSDK
In order to facilitate the rapid development of applications by developers in different languages, FISCO BCOS also supports JavaSDK, Node.jsSDK, PythonSDK and GoSDK.
Operation and maintenance tools
In the alliance chain system, the operation and maintenance of the blockchain is very important. FISCO BCOS provides a complete set of operation and maintenance deployment tools, and introduces contract naming services, data archiving and migration, contract life cycle management and other tools to improve operation and maintenance efficiency.
Operation and maintenance deployment tools: a convenient tool for deploying, managing and monitoring multi-institution and multi-group alliance chains, supporting multiple operations such as expanding nodes and expanding new groups.
Contract naming service: Establish a mapping relationship from contract address to contract name and contract version to facilitate the caller to call the contract on the chain by memorizing a simple contract name.
Data archiving, migration and export functions: Provide data export components to support on-chain data archiving, migration and export, which increases the maintainability of on-chain data and reduces the complexity of operation and maintenance.
Contract life cycle management: The contract life cycle management function is provided on the chain, which is convenient for the chain administrator to manage the contract on the chain.
Community open source development tools
Relying on the huge open source ecosystem, the partners in the community adhere to the co-construction concept of “from developers, for developers”. Based on the FISCO BCOS underlying platform, they independently develop a number of handy development tools and give back to the community, from different business levels Reduce the difficulty and cost of blockchain application development in terms of demand. The following is a partial list:
Blockchain middleware platform WeBASE: For a variety of objects, such as developers and operators, and according to different scenarios, including development, debugging, deployment, auditing, etc., to create a wealth of functional components and practical tools to provide friendly and visualized Operating environment.
Distributed identity solution WeIdentity: a blockchain-based distributed multi-center technical solution that provides a series of basic layers and application interfaces such as distributed entity identification and management, trusted data exchange protocol, etc., which can realize entity objects ( Person or thing) data security authorization and exchange.
Distributed event-driven architecture WeEvent: realizes a credible, reliable, and efficient cross-organization and cross-platform event notification mechanism. Without changing the development language and access protocol of the existing commercial system, cross-organization and cross-platform event notification and processing can be realized.
Cross-chain collaboration program WeCross: supports cross-chain transaction transactions, satisfies the atomicity of cross-chain transactions, governs cross-chain, supports multi-party collaborative management, and avoids single-point risks.
Scenario-based privacy protection solution WeDPR: For applications such as hidden payment, anonymous voting, anonymous bidding, and selective disclosure, it provides instant-available scenarios-based privacy protection and efficient solutions to help various industries to legally and compliantly explore data-related businesses.
Blockchain data governance component solutions: stable, efficient, and secure blockchain data governance component solutions provide blockchain data mining from three aspects: the underlying data storage layer, smart contract data analysis layer, and application layer. , Tailoring, expansion, trusted storage, extraction, analysis, auditing, reconciliation, supervision and other key capabilities in data governance. The specific components include WeBankBlockchain-Data data management general components: Data-Stash data warehouse component, Data-Export data export component, Data-Reconcile data reconciliation component.
Blockchain multi-party collaborative governance component solution: A blockchain governance component solution that can seamlessly adapt to FISCO BCOS. The first four open source components start from the aspects of private key loss resetting, fine-grained control of contract permissions, and full lifecycle control of private keys and certificates. They provide deployable smart contract code, easy-to-use SDK, and reference. Deliverables such as Demo. The name of the separate governance structure is the WeBankBlockchain-Governance multi-party governance collaboration component: Government-Account account management component, Government-Authority authority management component, Government-Key private key management component, Governance-Cert certificate management component.
Blockchain application development component solution: a set of open, lightweight development component sets, covering the development, debugging, application development and other links of smart contracts, including Solidity smart contract development tool library, smart contract Gradle compilation plug-in, application development scaffold. It specifically includes WeBankBlockchain-SmartDev blockchain application development tools: SmartDev-Contract smart contract library component, SmartDev-SCGP contract compilation plug-in, SmartDev-Scaffold application development scaffolding.
ChainIDE: Provides smart contract cloud development tools to help developers save marginal costs and accelerate the implementation of blockchain applications.
FISCO BCOS Blockchain Toolbox: Work with IDEs such as WeBase/Remix/VSCode/ChainIDE to improve development experience and efficiency.
AnsibleforFISCO BCOS automatically generates enterprise-level deployment files: This project provides an ansibleplaybook that automatically generates enterprise-level configuration files for the blockchain open source project FISCO-BCOS. The configuration can be generated within 30 seconds (except download time), which greatly simplifies deployment Difficulty, to avoid errors that are prone to manual configuration.
Other tools include Truora trusted oracle service, Liquid smart contract programming language software, and WeEvent’s blockchain-based distributed event-driven architecture.
Posted by:CoinYuppie，Reprinted with attribution to:https://coinyuppie.com/understand-the-open-source-ecology-of-the-alliance-chain-of-fisco-bcos/
Coinyuppie is an open information publishing platform, all information provided is not related to the views and positions of coinyuppie, and does not constitute any investment and financial advice. Users are expected to carefully screen and prevent risks.