Recently, the 2021 Golden Chain Alliance Ecological Conference was successfully held in Shenzhen. At the meeting, Li Huizhong, head of WeBank’s blockchain underlying platform research and development and FISCO BCOS senior architect, released FISCO BCOS v3.0 and introduced the core of the new version. technical characteristics.
FISCO BCOS v3.0 has been comprehensively upgraded from various aspects such as architecture, algorithms, products, as well as security and controllability and privacy computing collaboration, to meet the needs of the digital economy era for blockchain systems that can carry larger-scale, more scenarios, and more widely participated industries. Application requirements.
v3.0 Github address:
https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v3.0.0-rc1
v3.0 Document address:
https://fisco-bcos-doc.readthedocs.io/zh_CN/latest/
The following is the speech record:
Hello everyone, I am Li Huizhong, architect of FISCO BCOS, from WeBank. I am honored to stand here on behalf of all developers in the community and introduce the new generation of FISCO BCOS to you.
At last year's conference, we reported the concept and technical route of the next-generation FISCO BCOS to you. We firmly believe that the blockchain should undertake the mission of building a solid foundation of mutual trust for the new data infrastructure, which is our original intention.
In the context of new data infrastructure, it has become an industry-wide consensus to promote digital industrialization and industrial digitalization. The blockchain has become an indispensable basic component of the new data infrastructure due to its characteristics of distribution, multi-center, and transfer of trust. Facing the booming process of digital industrialization and industrial digitization, technology needs to carry larger-scale applications, more business scenarios, and wider industry participation. Behind these demands, higher requirements are put forward for the underlying technology of the blockchain: a new generation of the underlying platform of the blockchain requires a technology system that is easier to govern, more secure, more flexible and scalable, more efficient and easy to use, and more open.
The newly released FISCO BCOS v3.0 has been polished by the community for nearly a year, and has been comprehensively upgraded in terms of architecture, security, scalability, ease of use, and open protocols. Below I will introduce the core features of 3.0.
Support the landing of large-scale commercial scenarios
v3.0 adopts a brand-new microservice architecture design to achieve modularized hierarchical governance and parallel expansion.
The overall architecture is divided into 5 levels. The access layer is responsible for the network, the scheduling layer is the blockchain core, the computing layer is responsible for transaction verification, the storage layer is responsible for data storage, and the management layer provides management services such as publishing, configuration, and control for the entire system. Through the micro-service architecture, v3.0 realizes hierarchical governance of network, scheduling, computing, storage, and management, and each layer can be independently expanded to better support large-scale commercial scenarios.
Coping with massive transactions on the chain
In dealing with massive transactions on the chain, the key technical difficulty is to increase the throughput of the underlying system of the blockchain and reduce the transaction processing delay. Let’s take an analogy, the blockchain is like a highway, and the transaction is the vehicle running on the road. Whether this road is a one-way lane or a multi-lane road, a national road or a highway, there is a big difference in the amount of traffic it can carry.
v3.0 has upgraded the consensus and scheduling to realize the pipeline consensus mechanism and hybrid scheduling, which greatly improves the overall throughput of the system and reduces the delay at the same time. The pipeline mechanism divides the most critical transaction processing process of the blockchain system into three stages: packaging, calculation, and submission. Each stage is executed in parallel, and the stages are connected by pipeline, making full use of CPU and IO resource utilization.
In the calculation stage, we propose the industry's first deterministic multi-contract parallel algorithm DMC (Deterministic Multi-Contract), which can extend transaction verification to multi-machine parallelism, and DAG parallelism can be used in each machine. This hybrid scheduling mechanism can Implement clustered transaction verification.
You may be wondering what is DMC? Continuing the previous analogy, the traditional blockchain is like a one-way road, and transaction processing is like a vehicle passing through this road, which can only be passed in a queue one by one, which is extremely inefficient. If the road is expanded into multi-lane, it can effectively improve the efficiency, and reasonable scheduling is also required to avoid congestion on the multi-lane.
Deterministic multi-contract parallelism is a mechanism similar to "zipper-like" traffic. It is built into the underlying system of v3.0, intelligently schedules multiple contracts for efficient parallel processing, and handles intersection conflicts in an orderly manner, thereby greatly improving processing efficiency.
Support national secret access on all platforms
In terms of security, FISCO BCOS has always attached importance to national secret access and localization support. However, there has always been a pain point for programmers. In order to adapt to national secrets and localization, it is necessary to adapt development between different platforms, different operating systems, and different programming languages. The workload is huge, and each core logic change requires Compatible with various platforms/systems/languages, a lot of hair loss is unbearable.
In order to better realize national secret access in multi-language, multi-terminal, and full link, v3.0 builds a general national secret basic component, which encapsulates the national secret algorithm, the national secret communication protocol, and the domestic encryption machine access protocol into a common one. basic components. On this basis, the logic of blockchain-related networks, groups, ledgers, events, etc. is implemented in C++ language into an independent shared library, and the C language interface is provided by encapsulation.
Based on this set of low-level C interfaces, SDKs in different languages, platforms and systems can be quickly connected and developed, and these multi-language SDKs do not need to care about the underlying logic, and the system upgrade only needs to update the underlying shared library, which greatly improves the efficiency of R&D management and ensures the entire platform. The domestic safety is controllable.
Meet diverse business needs
We just mentioned that we need to meet the demands of diverse scenarios, and we feel deeply in this regard. After 4 years of development, the FISCO BCOS open source community has gradually enriched the industrial roles in the ecosystem. In recent years, we have also encountered several types of typical users: one is institutional users who have implemented applications. They have put into production and implemented many applications based on FISCO BCOS. The business volume is getting bigger and bigger; one is institutional users who operate the platform, they have built a BaaS platform based on FISCO BCOS to provide external services; the other is learning users represented by individual developers.
There is a big difference in the demands of these types of users: institutions with large business volumes on the chain need blockchain to support massive computing and storage, and can undertake the operation and maintenance of more complex systems; users of BaaS platforms need better blockchain access , isolation, billing mechanism, etc.; while learning users most need easy-to-use and quick-to-use blockchain tools.
For the demands of different users, v3.0 adopts a flexible and extensible development framework, which is professionally customized according to user needs in different scenarios. We will release 3 different types of versions, namely "Light Air Version", "Pro Professional Version" and "Large Capacity Max Version".
Air version : Following the all-in-one design of FISCO BCOS v2.0, all the underlying capabilities of the blockchain are packaged into one service for learning users to quickly get started in scenarios such as entry, development, testing, and POC verification use.
Pro version : The access layer is stripped off separately, and the core capabilities of the blockchain are expanded through multiple groups, which is suitable for conventional production business, especially for BaaS platforms to build group-based underlying basic capabilities of blockchain.
Max version : Adopt the aforementioned hierarchical expansion microservice mode, suitable for large-capacity scenarios.
Aggregate ecological public forces for high-quality development
During the research and development of v3.0, the open source community spontaneously established a number of special interest groups, covering each key module, and actively participated in the discussion of each link of research and development. Thank you for your participation and co-construction.
It is worth mentioning that the open source protocol of FISCO BCOS v3.0 has been completely changed to Apache 2.0. Like many software, at the beginning of open source, FISCO BCOS reused some excellent and popular open source components in the process of building from scratch. The GPL open source protocol was initially adopted to follow the open source protocol of partially reused components. Respect and abide by community rules.
FISCO BCOS continues to iteratively evolve. In order to meet the needs of the industry, v3.0 has been updated to a more relaxed open source license, Apache 2.0, to encourage the community to collaborate more openly and freely. We will continue to iterate on the open source road to facilitate more technical research and application exploration based on FISCO BCOS. You are welcome to actively participate in the co-construction of the FISCO BCOS open source community, and gather together to make FISCO BCOS develop with higher quality.
The above are the core features of 3.0. It has been open source for four years. Our mission is also iterating with the continuous changes of national policies and social needs. As the foundation of mutual trust for new data infrastructure, the core mission of blockchain is to facilitate the circulation of data elements and release them. Data productivity.
We all know the three classic philosophical questions: "Who are you?", "Where are you from?", and "Where are you going?" The circulation of data elements also needs to answer three questions, that is: "Who does the data belong to?" ?", "Where does the data come from?", "Where is the data going/what?". This also involves the issues of data right confirmation, credible flow, and data calculation.
We envisage that in the near future, building a trust network through blockchain, building a computing network through privacy computing, and providing an access network for distributed identities can realize the integration of the three networks and provide an effective solution for the circulation of data elements. In this process, the blockchain technology system based on FISCO BCOS, the WeIdentity distributed identity solution, the DDTP distributed data transmission protocol, and the WeDPR-PPC privacy computing solution are all key technologies.
In the future, we will continue to build the hard power of FISCO BCOS technology, and at the same time, we will unite many ecological forces to jointly promote the continuous progress of blockchain technology and the sustainable development of industrial innovation. thank you all!
For more dry goods, please pay attention to the FISCO BCOS open source community public account, visit the FISCO BCOS code repository to download all source codes of the project: https://github.com/FISCO-BCOS/FISCO-BCOS , Welcome to click on the upper right of the page Angular star collection , get the latest version.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。