From a home for articles deleted from Wikipedia
Jump to: navigation, search
This article was considered for deletion at Wikipedia on December 18 2018. This is a backup of Wikipedia:FISCO_BCOS. All of its AfDs can be found at Wikipedia:Special:PrefixIndex/Wikipedia:Articles_for_deletion/FISCO_BCOS, the first at Wikipedia:Wikipedia:Articles_for_deletion/FISCO_BCOS. Purge


FISCO BCOS[1] is an opensource blockchain platform built by Financial Blockchain Shenzhen Consortium (FISCO) taskforce team. It is based on BCOS[2] and Ethereum with features customized for financial industry satisfying regulatory requirements.



In December 2017, it was published as an open source blockchain platform.

In 2018, FISCO BCOS was brought into practical use as applications for Reconciliation and Digital Escrow[3][4] area.


The initiative of building up FISCO BCOS came from the facts that the financial industry stands with an unique IT infrastructure and requirements from regulation that solutions over traditional blockchain platform may not fit into the context without customizations.

The characteristics of Financial Blockchain platform can be considered with following:

  • Performance: Financial Industry demands the blockchain platform with the performance to process a huge volume of transactions in high frequency which can cope with the growth of the business. Such drives a need for a more efficient consensus mechanism applied at the blockchain network than one currently adopted in e.g. Bitcoins
  • Security: Despite blockchain technology already guaranteed data safety and free of tampering risk, it is essential to apply a mature and safe encryption algorithm which could be adaptive and subject to the requirements from regulation of industry
  • Compatibility & Compliance: the platform requires to be supportive to existing or legacy systems of the corporate and always comply with regulation and legislation.
  • Maintenance and governance: it is always of financial corporate’s top priority to maintain a full control and surveillance in activities happened over the blockchain network. It is vital to the corporate to obtain statistic figures on demand for auditing purpose and be reported immediately when abnormities are detected.
  • Role: Participants at Financial industries have their clear roles and functions in their business context such as regulator, buyers & dealers. Each role accesses information and does functions at different point of time in a business cycle. The control of access & function to the information on the blockchain are necessary.


Advanced Messenger On-chain Protocol (AMOP)

FISCO-BCOS has built in with an inter-communication network (AMOP – Advanced Messenger On-chain Protocol) between participating institutions to allow a direct but secure peer-to-peer communication over the blockchain network where the communication is invisible to others and without any interceptions.

This protocol is designed to be used at the case where a round of handshakes process between institutions are required before committing a transaction on chain such as price negotiation and inventory verification.


  1. Uses blockchain network to support inter-branch, peer-to-peer and real-time message communication;
  2. Blockchain system actively invokes the operation API of the off-chain system;
  3. Provides standardized API for the interaction between off-chain systems and the blockchain.

The technical features of this protocol include the following:

  1. Peer-to-peer network topology: the communication path of the network nodes is planned to ensure that the messages are deliverable;
  2. Rapid detection of node abnormalities in the blockchain network and automated path switching to resend messages;
  3. Encryption technology used in the communication process to ensure the confidentiality of the communication layer.

Contract Naming Service (CNS)

Information like users, accounts or smart contracts are now denoted as an address of fixed length series of HEX values on blockchain platform, such make it difficult to be identified its type when being used in the application. For instance, a smart contract has to be assigned with an address like “0x92535066cd4b022c7e84b058d8bbbf71e22c3c78” so its instruction can be triggered. Such address is renewed at those modules where smart contracts are referenced when upgrade or redeployment of smart contracts process takes place. This whole process is complex and error-prone.

Contract Naming Service (CNS) is then designed to isolate the address coupling between application layer and smart contracts by assigning an easy-to-identify name to the smart contract so business layer can reference it instead. When the smart contract is called, CNS will resolve the address to execute the smart contract. It also reduces the risk of deploying a new version of smart contract as update of address is only done on the CNS.

When canary release is required, CNS provides to reserve both new and old addresses of smart contract and redirect portion of transactions to the new contract address according to the rule while other will remain pointing to old contract address until canary release is 100% complete.

Parallel Consensus and Parallel Computation

Parallel PBFT Consensus

PBFT algorithm achieves consensus by having multiple rounds of voting upon a proposal, meanwhile the voting process involves numerous back and forth acknowledgments between nodes or within a node. Each round of voting must reach a mutual agreement between the nodes before next round of voting can begin.

Because such process requires extensive travelling of data between nodes, the performance is subject to the network quality. On a sub-standard network and computing environment, it may take additional rounds of consensus processes before forming an agreement. That brings occasional instability and delays on the consensus process.

FISCO BCOS addresses above issue by optimizing the PBFT to let computation of all nodes including both leader and voting nodes be run in parallel at each round. When one node is computing to verify a batch of transactions, all other nodes are also synchronized to compute and vote on it without waiting for the others.

In addition, Parallel PBFT further reduces time-consuming and redundant computing processes. Through network path optimization and caching of repeated computing results, the time required to complete each step of the consensus process is lessened.

Parallel PBFT further keeps blocks generation at minimum at a period recognized as less or no financial activity to avoid blocks having no transactions from being generated

Browser and Control

FISCO BCOS provides a blockchain browser to access and query the data of blockchain at real-time, information like following can be obtained

  • Node information on ID, port number, block height, etc.;
  • Block information on block height, time, number of transaction, block creator, Gas, etc.;
  • Transaction information on hash, block owner, Internal Block ID, time of transaction, sender, receiver, etc.; users can also obtain information on transactions being processed.

The browser also comes with a flexible UI framework allowing developers to customize the browser for specific need.

Real-time Transaction Monitoring, Reporting and Interception

With the capability to obtain real-time and committed transaction data from the chain, FISCO BCOS can leverage its access control functionality and smart contract to define a set of rules to detect and intercept transactions with certain characteristics.

One of the example is to build a blacklist of anti-money laundering with inspection rules in place. When a suspicious transaction is detected, system will send an alert and intercept the transaction.

Identity Authentication

Blockchain offers a strong digital identity verification mechanism. Any role and identity connected to the FISCO BCOS are verified through its public/private key pair or CA certificates. This makes all the identities on the blockchain verifiable.

Combined with financial KYC process, information describing customer’s identity such as biological traits, customer credits and due diligence can be published onto the chain. If necessary data masking processes or cryptographic algorithms can be adopted to protect the privacy of the KYC information so as to ensure that the customer has a verified and legal identity on the blockchain. The whole process occurs without divulging any sensitive information.