In the case of blockchains used by consortiums that span multiple companies or organizations, high reliability and high availability are essential. BC+ achieves these using fast, highly fault-tolerant consensus algorithms.
Byzantine fault tolerance is especially important for reliability.
In distributed systems, some computers might experience faults such as failures or malfunctions, erroneous operations due to malicious attacks, record tampering by malicious administrators, or the like (Byzantine faults). Byzantine fault tolerance is the property of a system that non-faulty computers can obtain the right results in both recording and operating even if Byzantine faults occur in the distributed system.
The greatest advantage of Byzantine fault tolerance in blockchains is that even if a small number of peers are tampered with, other peers in the system are not affected provided that these peers are managed independently. This lowers the hurdles to allowing companies and organizations which may not be fully trusted each other to take part in a consortium.
BC+ provides Byzantine fault tolerance throughout its design. Even if Byzantine faults occur in up to almost 20%*1 of the peers involved in consensus, the execution results of the other non-faulty peers will agree, so the system will not be affected by the Byzantine fault. The core of this technology is a consensus algorithm with Byzantine fault tolerance (patented technology), which we developed based on many years of research. This makes BC+ most suited to use by consortiums as a permissioned blockchain.
BC+ isn't just designed to be Byzantine fault-tolerant, but also to offer high availability.
"High availability" refers to the property of a system in which some computers in a distributed system stop or experience failures, but the remaining, non-faulty computers continue processing normally. Computer outages are relatively common incident, caused by power outages, scheduled maintenance, and the like. High availability -- the ability of a system to continue as a whole even when some computers are not in operation -- is therefore an important property required for many systems.
With regard to availability, BC+ is designed such that even if fewer than 20%*1 of the peers involved in consensus go down, the remaining, non-faulty peers will work together to continue blockchain processing. If the stopped peers are restarted and returned to normal state, they will be automatically brought back into the blockchain system. In the event that all of the peers went down, as long as 80% or more*1 of the peers restart and return to normal state, blockchain processing will restart automatically. In this way, BC+ offers the ultimate in availability.
*1: Setting value (percentage) for typical configurations. Other configurations can be set as appropriate given the requirements of the system, for example, setting the percentage of peers of tolerable Byzantine faults under 12.5%, and setting the percentage of peers of tolerable stopping failure under 25%.
By designing and implementing this consensus algorithm, we have applied the ability to flexibly maintain a high level of reliability and availability to BC+.