Blockchain technology has been a hot topic over the past two years, resulting in the publication of an increasing number of related books and research articles. On one hand, we are very positive about this innovation. And, in the opinion of many, blockchain is as significant and disruptive as the Internet, which has radically changed our economy and lives. One popular declaration is this:
The Internet solves the problem of information transmission; therefore, it can be called the “Internet of information.” Likewise, blockchain solves the problem of value exchange and it can be called the “Internet of value.”
One the other hand, we are troubled about blockchain. Until now, numerous resources, including highly skilled experts, have been injected into research on this promising technology; however, we have seen little valuable usage of blockchain with the exception of bitcoin and similar virtual currency applications. What is the specific reason for this?
This question is complicated and not easy to answer. One way to arrive at a viable answer is from the technical perspective: What is the exact meaning of bitcoin? What is blockchain? After all, only by such technical clarifications can we get the right answer.
What Is Blockchain?
According to the popular definition, blockchain is a type of decentralized, trustless distributed ledger technology. What are the core technical mechanisms of blockchain? From the decentralization perspective, what matters most is that blockchain uses a distributed architecture and P2P mode to enable point-to-point interaction. From the trustlessness perspective, blockchain uses two important mechanisms: The public/private key mechanism and the consensus mechanism.
Blockchain can be roughly classified into three types: Public blockchain, consortium blockchain, and private blockchain. Such classifications refer to three types of blockchain applications. The openness level of a blockchain application — whether it is completely open, semi-open, or completely closed — is very important. This is because the implementation mode varies with the openness level. For example, different openness levels mean different consensus mechanisms, on-chain and off-chain data distribution paradigms, and security implementation modes.
Impact of Blockchain Technology on System Architecture
Our constant blockchain research is not merely intended for writing articles or reports. Instead, we are doing so to reap tangible benefits. We need to use blockchain technology to build relevant systems. But what impact will blockchain technology have on the architecture of a system?
Blockchain-based systems need to collaborate with legacy information systems
Figure 1 below shows some types of applications that are largely based on consortium blockchain and private blockchain. As shown in this figure, the architecture of the entire system inevitably changes after blockchain is introduced. For example, the content of blockchain is displayed in the lower right corner of the figure. Certainly, some unchanged traditional systems also exist. Therefore, in consortium and private blockchain scenarios, if we want to roll out a blockchain application, it is a must to integrate legacy systems with blockchain-based systems.
Figure 1 Application architecture of an information system that has introduced blockchain
A typical architecture has four layers: The presentation, application, service, and data layers. The presentation and application layers basically remain unchanged, while the service and data layers use blockchain technology. The service layer processes the service logic. Some service logic at the service layer has nothing to do with blockchain; therefore, it is unnecessary to distribute such service logic onto the chain, because there are many constraints and limitations when implementing some functions on blockchain. Certainly, some service logic needs to be distributed onto the chain. As such, chain logic is classified into on-chain and off-chain logic. Off-chain service logic is not related to blockchain; therefore, data for off-chain service logic does not need to be associated with blockchain. This results in independent data.
Data processing for on-chain logic is relatively complex. It is difficult to distribute all data onto the chain because some functions in a single-chain data structure are difficult to implement (for example, difficulty in querying and low query speed). Some data related to blockchain, therefore, is distributed onto the chain, while the other data is distributed off the chain. On-chain and off-chain data combine to support the operations of blockchain. In addition, stored off-chain data can back up on-chain data to ensure quick recovery from a fault.
Tightly coupled systems incur many difficulties in cross-organization coordination and communication
How will the system architecture evolve after the emergence of blockchain? Before the Internet appeared, two different enterprises exchanged information via non-standard protocols and interfaces because their systems were disparate. After the Internet emerged, and quickly gained traction, an obvious change took place. That is, the Internet adopted unified standard communication protocols to standardize interaction interfaces between different systems. Although the systems of enterprises are still different, they can communicate through standardized protocols and interfaces; however, the Internet still uses a loosely coupled architecture.
Unlike the Internet, blockchain actually takes a contrasting direction. It uses a single set of systems to cover different organizations and enterprises to jointly enable a business model. To put it simply, a single set of systems supports many units and organizations, forming a tight coupling mode. Tight coupling changes the systems of different units and organizations into one system. The tightly coupled system can bring many benefits. In some scenarios, different organizations all want to implement their own systems, but what they are doing is similar and much of their work is repetitive. For example, in a payment and settlement scenario, every organization needs to make their own account books, and what they need to do is similar. Due to their separate account books, they have to make a reconciliation. Any error requires modification of the affected accounts. Can we make a single account book, such as with bitcoin, so that multiple units use the same system? This expectation coincides with the concept of blockchain. Since this mode is beneficial to everyone, everyone is willing to build the system together. Of course, a lot of detailed problems must be resolved. In particular, a big problem for the tightly coupled system lies in cross-organization coordination and communication. All stakeholders need to collaborate with each other and jointly negotiate for feasible solutions.
According to McKinsey’s research, new technologies emerging over recent years have a great impact on the financial technology system. The Internet mainly affects interaction-centric products; cloud computing has a great impact on services; and Big Data technologies are mainly targeted at risk control. Blockchain, however, has a far-reaching impact on the underlying three layers of the technology stack for financial institutions: Settlement infrastructure, system interaction, and rule setting. Of course, the technology stack for financial institutions can be expressed in various ways. Here, McKinsey’s description is used. In general, blockchain will definitely affect the infrastructure of financial institutions, but how large will the impact be? For now, this is a difficult question to answer.
The distributed shared ledger brings security and privacy issues
The third concern about blockchain lies in security and privacy issues brought by the distributed shared ledger. Although the distributed shared ledger helps solve some problems, it creates other ones.
The first issue is about the public key and private key. The private key is used to identify the ownership of an asset. Once the private key is lost, ownership of the asset is lost. Currently, many applications use software to protect private keys. Theoretically, private keys can be attacked and hacked. In practice, if the anti-attack technology is not advanced enough, it is easy for today’s cybercrime groups to succeed. The anti-attack technology system is very complex, including software anti-tracking, anti-debugging, various encryption algorithms, and diverse countermeasures. Even if an anti-attack technology system is very strong, it can be attacked, in theory. This is a big problem that must not be ignored. In fact, significant losses have even occurred in the bitcoin sector, including when a famous bitcoin exchange lost all bitcoins. Some improvement technologies, therefore, were introduced. Cold storage, for example, uses private keys in offline mode and then returns the results to security terminals; however, cold storage is still problematic from the perspective of information security because it still relies on a medium and its usage is not sufficiently convenient.
Privacy issues are another concern. For applications implemented on blockchain, we hope that important information is invisible to irrelevant users; however, in some scenarios, other parties must verify information for relevant users. This results in an obvious contradiction that is difficult to technically eliminate. To address this challenge, new technologies are being developed. A promising one is ring signature technology, which hides the information of transaction initiators and supports homomorphic encryption. Ring signature technology, however, is still being developed, and many technical barriers must be overcome. In addition, blockchain will be used in some special scenarios, such as financial services. The finance industry is strictly regulated, but regulators expect to have access to the content they need. How can we meet such expectations of regulators? Related technologies are being developed for this as well.
Smart contract technology faces many legal and technical challenges
Smart contracts are indeed an important invention. They use code to represent and execute certain clauses in commercial contracts. Some people even summarize it as, “Code is law.” This declaration sounds promising, but, in fact, it is likely to confuse people and is not as effective as expected.
First, a series of legal issues must be resolved regarding smart contracts. For example, how well do legal professionals, such as judges and lawyers, understand smart contracts? How can we integrate smart contracts into existing legal systems? We have a long way to go to answer these questions. Additionally, a commercial contract involves many people, including both contract parties and their lawyers, at least. Text content is easy to understand, but code is abstract. How can we clearly understand such abstract code? If contract parties fail to understand code, how can they determine that the contract drafted by others still meets their original intent? It is also obvious that some clauses are not suitable to be represented or executed through code, such as scope description and cooperation willingness. These issues are unavoidable if we look at smart contracts from the legal perspective.
Second, there are also many technical problems to be solved regarding smart contracts. For example, the logic vulnerabilities and defects of code are difficult to eliminate. The software industry has been developing for several decades, but there is still an understanding in the industry that defect-free code does not exist and code defects are “normal;” however, a large number of defects or vulnerabilities in a commercial contract will create severe consequences.
Another issue lies in the version upgrade of some parts in the same commercial contract. What if the upgrade execution results are different? This is also a tricky problem, and countermeasures are still under research.
The consensus algorithm is not perfect and must be adjusted and optimized
The consensus mechanism is a core part of blockchain, but there is no perfect consensus algorithm. The current consensus algorithm options all have certain problems. For example, the public blockchain uses a Proof-of-Work (PoW) scheme with many advantages, including complete decentralization, good extended applications, and 50 percent error tolerance. Its disadvantages include high delay and huge resource consumption. The consortium blockchain uses Byzantine and improvement algorithms. Compared with PoW, these algorithms have low power consumption but limited scalability, and their error tolerance is only slightly more than 30 percent. What we need to do is select the most appropriate consensus algorithms and constantly adjust and optimize these algorithms to adapt to specific scenarios and applications.
Blockchain is very complex. To develop good blockchain applications and give them full play, we must have a deep understanding of related blockchain technologies, particularly the five problems mentioned above, which are the main reasons that blockchain has not been widely used.
CMB’s Constant Exploration of Blockchain
In terms of blockchain exploration, CMB uses the following strategies:
•Conduct extensive cooperation and communication with all industry players and carry out research in some key fields.
•Set up our own team to understand blockchain in detail.
•Develop a blockchain-capable platform to truly enable the use of blockchain. Although some open source platforms can be found, most of them have defects or availability issues and cannot be directly used. As such, CMB decided to develop a platform based on their own perspectives.
•Specific work priorities have been mentioned before. For example, CMB will adopt different consensus mechanisms in different scenarios, and understand the details of consensus mechanisms and constantly modify and adjust them.
•Smart contracts are useful in the finance industry but also have some problems; therefore, CMB will continue research meant to solve these problems or prevent them from causing serious consequences.
•Finally, CMB will pay due attention to the resolution of privacy and encryption issues.
The exploration of blockchain cannot stay only in theoretical research. We need to do something in practical operations. To this end, we need a platform that meets the desired requirements, and CMB has decided to establish a blockchain application system, which is a cross-border settlement system based on blockchain. So far, this system has been developed and will be put into operation in the production systems. Once live, the system will truly solve the cross-border settlement issues faced by CMB.
CMB has six organizations outside China: One subsidiary and five branches. All of them do fund transfers with CMB’s headquarters. CMB has a direct settlement system. The major issue with this system is that it only supports exchanges between headquarters and branches, but does not allow direct exchange between branches outside China. In addition, many manual processes and close coupling with the core system cause other problems, such as multiple approval procedures, complex operations, difficulties adding new overseas organizations, and a long implementation period.
To reconstruct this system, CMB researched blockchain technology. The bank found that the decentralized and distributed architecture of blockchain best suits their current cross-border settlement scenarios; therefore, CMB decided to use blockchain to reconstruct and implement a new cross-border settlement system. Specifically, CMB has connected all their six outside-China organizations to the blockchain-capable system, allowing settlement requests and processing between any two organizations. The new cross-border settlement system based on blockchain has the following four advantages:
•Decentralization: Adopting P2P architecture instead of the original star structure reduces forwarding nodes and improves efficiency. In this way, any two organizations can interoperate with each other, and packet transmission time is reduced from the original 6 minutes to only seconds.
•High security: The private blockchain closed network environment is highly secure; it is difficult to forge and tamper with packets. In this environment, the system is simplified because there is no need for complex comparison.
•High availability: The distributed architecture does not have core nodes, which ensures that the entire system will not break down upon a single point of failure. And failure in any node will not affect the operations of the entire system. After the system is implemented, blockchain technology brings tangible benefits.
•High scalability: New participants can quickly and conveniently deploy and join the system.
(This document is developed based on the speech made by Zhou Tianhong, General Manager of the Information Technology Department of China Merchants Bank, and has been confirmed by Zhou Tianhong.)