Lately, a growing amount of attention has been turned to Bitcoin and Ethereum. These are based on blockchain technology. Blockchain technology is behind countless new trends such as cryptocurrency, initial coin offerings (ICOs), and non-fungible tokens (NFTs). Blockchain technology uses a fundamentally different approach than conventional core technologies, and many people lack familiarity with it. In this three-part feature, we'll look at what blockchains are, how blockchain technology works, and how blockchain technology is used in business.

In part 1, we have focused on typical blockchains and how they differ from conventional systems. In part 2, we will introduce DNCWARE Blockchain+*, the unique blockchain designed by Toshiba Digital Solutions.

* DNCWARE Blockchain+ is a registered trademark of Toshiba Digital Solutions Corporation in Japan.
* DNCWARE Blockchain+ is not currently available for purchase outside Japan.


What is DNCWARE Blockchain+?


As we explained in part 1, blockchains can be broadly divided into public and private blockchains (blockchains operated by specific administrators or consortiums). DNCWARE Blockchain+ (referred to hereafter as "BC+") is an enterprise private blockchain developed by Toshiba Digital Solutions to support the digital transformation (DX) of customers. BC+ enables users to immediately start using blockchain because it makes it easy to develop applications, without having to consider the complex mechanisms of blockchains.

The name "DNCWARE" comes from the "DNCWARE ClusterPerfect*" integrated cluster management software.

* ClusterPerfect is a registered trademark of Toshiba Digital Solutions Corporation in Japan.

ClusterPerfect is our solution with a track record that extends over more than 20 years. It has often been deployed in mission-critical systems with high availability demands. We have researched consensus algorithms which form the foundation of cluster control such as ClusterPerfect, for many years. Our development of a consensus algorithm implemented in BC+ is one of the fruits of this research work. This is why we included "DNCWARE" in the name of our blockchain.

Let's explore the mechanisms and features of BC+ in detail.


BC+'s process flows and main features


First, let's look at the basic process flows performed by BC+. BC+ performs processing in the following way, similar to the typical public blockchains we explained in part 1.

① Sending transactions
The user digitally signs the transaction and sends it to the blockchain. BC+ transactions contain the ID of the destination smart contract (a program recorded in the blockchain that specifies how the blockchain is to behave) and arguments to pass to the smart contract.

② Processing transactions
Individual peers (computers connected to the blockchain network) verify the digital signatures of the transactions they receive, pass the arguments in the transactions to the smart contract specified with the smart contract ID, and execute the smart contract.

③ Generating blocks
Each peer combines multiple transactions into a block.

④ Block consensus and recording
All peers record the same content in blocks.

BC+ also has the following features.

Feature 1: High degree of customization and ease of application development thanks to smart contracts
Feature 2: Access controls for users, groups, and smart contracts
Feature 3: High reliability and high availability
Feature 4: Enhanced tamper evident technology (authenticity)

Below, we'll discuss each of these features in detail.


Feature 1: High degree of customization and ease of application development thanks to smart contracts


First, let's look at the high degree of customization possible with BC+. Consider Bitcoin, the most notable example of a public blockchain. With Bitcoin, processing algorithm for cryptocurrency are built into the blockchain as a fixed function. Bitcoin cannot be used for other purposes, and it isn't possible to customize (adjust/change) processing algorithm based on user needs.

With BC+, smart contracts can be used to provide customizability. Smart contracts are programs recorded in the blockchain that specify how the blockchain is to behave. Smart contracts are created by application developers and deployed (i.e., registered/modified) in the blockchain for use. For example, cryptocurrency processing algorithm can be implemented using smart contracts which realize cryptocurrencies with various characteristics to suit their purposes. Applications are not limited to cryptocurrencies. Various other functions can be implemented using smart contracts, broadening the blockchain's potential. In this way, BC+ serves as a highly versatile platform.

BC+ is also designed to execute all kinds of system processes as smart contracts, where the processes include system configuration changes, creation of users, deployment of smart contracts, etc. As a result, all blockchain-related changes, without exception, are recorded as transactions.

Another aspect of BC+ is the ease of application development. In BC+, smart contracts are written in JavaScript. This eliminates the need to learn a special programming language to create smart contracts.

Also, as explained in the section on process flows, smart contracts are executed by multiple peers, but with BC+ there's no need to take this into consideration when writing a smart contract. Synchronization between peers, fault tolerance, and other internal matters are handled transparently as BC+ features on the platform. In other words, when creating a smart contract, one can code application logic as if the smart contract were a program running on a single, highly reliable computer, without having to worry about the operation of the blockchain. This makes it simple to create smart contracts on BC+, and simplifies the development of applications that use BC+.

BC+ also ensures that smart contracts are easy to deploy. To deploy smart contracts, no permission of any peer administrator is required, and it is performed by deploying them on a single peer, from which it is automatically reflected on all other peers. Of course, there is no need to stop the blockchain operation or to restart any peer in order to deploy smart contracts. This is one of the features of BC+, in which applications and peers are operated independently.

BC+ also offers a web browser-based graphical user interface (GUI) that can be used not only to view information recorded in the blockchain, but also to program, deploy, and debug smart contracts (Fig. 1). This ease of use is one of the key features of BC+.


Feature 2: Access controls for users, groups, and smart contracts


Anyone can issue and perform transactions on public blockchains such as Bitcoin and Ethereum provided that the required fees are paid. The contents and outputs of that processing are also publicly visible around the world. These ensure the high level of transparency offered by public blockchains, but in many cases that high transparency makes these blockchains unsuitable for business applications.

For example, when companies use blockchain technology in the course of improving operational efficiency across multiple companies or supply chains, they don't want the contents of transactions with other companies to be seen by third parties. They need to limit the disclosure scope of the history of transactions recorded in the blockchain.

BC+ uses an original system of access controls to enable BC+ to be securely used in business applications (Fig. 2).

These access controls only allow blockchain users to access and use the limited parts of the blockchain for which they have been given permission. Furthermore, applications and peer management are separated in BC+, and peer administrators are not given the right to view blockchain records.

Let's explore the functions that make this possible, along with the specialized terminology involved.

A "wallet" essentially is a private key used to digitally sign transactions. For typical blockchains, which often have cryptocurrency functions, transactions transferring cryptocurrency must be digitally signed with a private key, so the word wallet is used because they might be considered to "contain" cryptocurrency. BC+ does not have embedded cryptocurrency functions, so these are not regarded as cryptocurrency wallets, but we will use the term 'wallet' as-is as a general term.

A wallet address is a string calculated using a one-way function from the public key that corresponds to a wallet's private keys. It is used to uniquely identify a wallet.

Another important term is "user." Normally, a system's user refers to a specific individual or company, but in the case of BC+, a certain access control subject on the blockchain is referred to as a user. This concept is unique to BC+, and works by using a specific method to link wallet addresses with a user and record them in the blockchain, defining which wallets correspond to which users, thereby identifying users. Only one user can be linked to any given wallet, so a wallet's owner can be interpreted as being a specific user.

Now let's look at "access control lists." BC+ has access control lists for each type of access. There are various lists, such as lists of users that can execute each smart contract, lists of users that can view transaction execution histories of each smart contract, and lists of users that manage configuration changes to applications. These lists are all recorded in the blockchain securely.

Access control lists don't just include users, but smart contracts as well. This makes it possible to achieve advanced automation, such as using smart contracts to view transaction histories or to make configuration changes to applications. Groups of users and smart contracts can also be created and included in access control lists. Groups make it easy to manage access control when there are many related users or smart contracts, or when adding or removing them.

Below is a rough overview of the access controls applied by BC+ when using these functions to view a transaction history (Fig. 3).

① The wallet address is calculated for the wallet used to digitally sign the disclosure request transaction.

② The user linked to the calculated wallet address is identified using a correspondence table.

③ The access control list is checked to verify if the specified user has permission to view the transaction history.

④ If and only if the user has viewing permissions, the transaction history recorded in the blockchain is disclosed to the user.

The disclosure request transaction itself does not change the state of the blockchain, so it is not recorded in the transaction history.


Feature 3: High reliability and high availability


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+.


Feature 4: Enhanced tamper evident technology (authenticity)


BC+ offers enhanced tamper evident technology to ensure authenticity, one of the features of blockchains. There are several methods for verifying authenticity.

A) Verify a transaction's digital signature and check if the recorded transaction request has been tampered with by a third party.

B) Recalculate a block's hash value and check the hash value recorded in the following block. Confirm that the hash chain is not broken -- that is, that the block has not been tampered with. Block hash values can be acquired by anyone, regardless of the access controls.

C) Compare data recorded in multiple peers and confirm that none of the peers have been tampered with by their administrators.

D) Replay smart contracts and compare smart contract execution results and confirm that internal status information has not been tampered with.

E) Compare the block hash values in transactions with the block hash values actually recorded in blocks and confirm that tampering has not been conducted by multiple peer administrators working in collusion. This technology is patented our technology.

BC+ performs verification through various combinations of methods A to E, depending on the specific objective.

This approach of performing double and triple check for authenticity from a variety of perspectives makes tampering extremely difficult. In this way, BC+ ensures an even higher level of authenticity which is the hallmark of blockchains.


BC+ feature summary and future business applications


With BC+ blockchain, smart contracts can be written in JavaScript, a popular language among developers, and they are easy to deploy, so even new users can develop and use applications with relative ease. Despite its ease of use, it is also powerful.

For example, its access control functions make it possible to use it as a blockchain that separates access rights as needed, such as having portions which are open and visible to everyone and portions where data and smart contract execution results are only disclosed to related users and groups. What's more, BC+ is a blockchain with enhanced tamper evident technology, high speeds, and high reliability.

Because of these features, it is a blockchain that can be used by various companies and organizations for diverse purposes. In the next article, the last part of this running feature, we will talk about how blockchain is applied to businesses.

Kotaro Endo

Expert
Core Technology Development Dept.
Software Systems Research and Development Center
Toshiba Digital Solutions Corporation


Since joining Toshiba, Kotaro Endo has been engaged in the development of basic software for industrial computers and the research and development of server cluster technologies. His research and development work has covered various technologies, and he is now developing technologies for use in blockchains and the SQBM+ quantum inspired optimization solutions.

  • The corporate names, organization names, job titles and other names and titles appearing in this article are those as of August 2022.

>> Related articles

Running Feature: Blockchains, Driving a Paradigm Shift in Digital Society(Article list