On May 16, under the guidance of Hangzhou financial office and hosted by Babbitt, the 2019 Hangzhou blockchain week · chaine technology open day officially kicked off. At the conference, nearly 1000 blockchain enthusiasts from all over the country gathered to discuss the latest blockchain technology development.
During the open day, Daniel shared the theme of the next generation of blockchain infrastructure of nervos CKB.
Daniel said: there are only two directions for the future development of the public chain, one is to expand capacity on the chain, the other is to expand capacity outside the chain. Capacity expansion on the chain is to make a stronger chain, but it is inevitable to make trade-offs and trade-offs on a chain. The core value of blockchain is to provide trust, and its future must be layered. Different problems need to be solved by different levels. Trust can be obtained on the chain, and higher performance can be obtained outside the chain. Finally, the optimal effect can be achieved in an overall way.
On chain capacity expansion or off chain capacity expansion?
From 2017 to 2018, there was a wave of upsurge in public chains. The technologies of these public chains are complex and complex. However, if we look at convergence from a higher perspective, there are only two directions for the future development of public chains, one is capacity expansion on the chain, the other is capacity expansion off the chain.
1. Capacity expansion on the chain
There are several ways to expand capacity on the chain, the first is “larger block”, which BCH is doing; the second is “using faster consensus algorithm”, because we found that one chain has insufficient performance and TPS is too low, and the increase of consensus nodes often leads to performance processing bottlenecks.
Based on the principle of headache and foot pain, when we see a performance bottleneck somewhere in a chain, we will replace it with a stronger technology. For example, some people think that blockchain is a single line system, so there is a third way of “parallel computing sharding technology”; others think that the fourth way of DAG, a new topological data structure, is more suitable for handling massive data and transactions than the chain structure.
In fact, all the on chain capacity expansion schemes are achieving one goal: to be a stronger chain. However, each technical solution faces different choices when it is implemented. Each solution will make some compromises in other aspects while bringing better performance.
For example, the complexity of sharding implementation, the centralization caused by some consensus algorithms or expansion schemes, the lack of testing of DAG theory and engineering, etc.
2. Capacity expansion outside the chain
We see that there are many out of chain capacity expansion schemes, such as lightning network, state channel, plasma, truebit, etc., but there is also a problem in out of chain capacity expansion: for example, if we want to buy a mobile phone, the seller tells us that on this mobile phone, all mobile phone applications released before today can be installed and used, but they cannot be installed and used after today. Will we still buy this mobile phone after the app is released?
The current two-tier expansion schemes can switch freely in user experience, TPS and performance, but the biggest bottleneck comes from the lack of support of the first tier network.
How to make a layer of network better support them? This may need to pass the hard fork again and again, and every hard fork needs to pass the long community consensus, and the upgrades and optimizations that can be done can only be a small part.
Design methodology of blockchain
After the above thinking, we summarize a set of our own blockchain design methodology, which mainly includes the following aspects.
1. What is the core value of blockchain?
We believe that the core value of blockchain is to provide trust. Based on this, we can draw a derivative conclusion: blockchain realizes trust through global consensus, which is bound to be a very slow and expensive thing.
“No consensus algorithm can be faster than no consensus algorithm. “It means that the consensus of distributed and decentralized systems cannot be achieved faster than that of centralized systems. Therefore, blockchain should consider how to play the value of trust.
2. The blockchain system must be layered in the future
From the architecture point of view, it is a better design pattern to layer or decompose the whole function of a system to different functional layers or functional components, which is better than coupling all functions in a single entity.
We think this view is also applicable to blockchain, which divides the network into different layers and solves different problems from different layers. Finally, we combine these layers of systems to achieve the maximum effect in a holistic way.
3. Consider the needs of different levels
If the future blockchain is a hierarchical network, then we need to think about the role of each layer in the network.
We believe that the core role of the upper layer is to provide higher performance, better user experience, and use it to solve the business requirements of the actual scenario. The bottom layer (we call it layer 1) needs to provide the ultimate security and Decentralization for the system to ensure the security of the upper application.
4. The bottom layer protocol design is fully optimized for the top layer
When we understand the relationship between layer 1 and layer 2, we need to reexamine what we should do when we are doing the underlying design?
What should be done at the bottom is to fully optimize for the top without sacrificing security and decentralization.
In this figure, layer 2 is above the split line and layer 1 is below the line. Layer 2 is responsible for performance. Layer 1 focuses on decentralization and security.
That is to say, most of the computing, storage and network transmission takes place in layer 2. Only when the operation node of layer 2 does something bad and there is a trust problem, the user needs to interact with layer 1. At this time, layer 1 is equivalent to a court providing arbitration, so as to ensure the implementation of the agreement on layer 2 and fully optimize for the upper layer.
Technical features of nervos CKB
Based on this thinking, we think that the bottom layer of layer 1 needs to do the following four things:
1. Asset management and storage model
First, layer 1 and layer 2 need to be passed safely. The platform not only needs to ensure the security of the token assets of the platform itself, but also needs to allow users to publish custom assets on the platform, and ensure the security of user-defined assets.
Let’s think about erc-20 token released on Ethereum, who will guarantee its security?
Secondly, it is necessary for us to support the user to complete the custom function. When designing the underlying account model, it should be asset oriented. Only in this way can the user’s assets be better mapped to the upper network for transactions, businesses, applications, and finally easier to return to the underlying layer for liquidation.
So we use the design idea of bitcoin utxo for reference and design a CKB account model with unique characteristics (the name of nervos native token is CKB).
In addition, in addition to issuing assets and mapping assets, when users of layer 2 need to return assets to the underlying layer for network clearing, they will submit relevant cryptography evidence. At this time, the underlying network is required to have the storage and verification ability for the data of cryptography evidence, so layer 1 must do a good job in asset management and have a general storage model.
2. Ckb-vm virtual machine
All blockchains need virtual machines. When designing or selecting virtual machines, we need to figure out what is the orientation of blockchain. Is it a high-level language supported virtual machine at the application layer or a virtual machine at the bottom layer to protect the security of the system?
We think that the virtual machine of layer 1 should be secure, flexible and transparent in runtime. This needs to ensure that every instruction executed in the virtual machine can easily calculate its cost.
This is very important for the underlying economic model, so we choose the lower risc-v hardware CPU instruction set to realize the virtual machine of CKB. In short, our virtual machine is running like a hardware CPU.
3. NC Max POW consensus algorithm
To make the underlying layer more secure, we use the pow consensus algorithm. Recently, there are many people discussing who is more secure in POW and POS algorithm. In fact, there is no way to prove that POS algorithm is more secure than pow, but what we can be sure is that POS is more complex than pow, and there is no way to ensure that it can be safe in theory design and engineering implementation. POW has been validated by the production environment for up to ten years.
But we didn’t stop there. Under the condition of ensuring safety, we still need to squeeze out every drop of oil and water from the hardware to improve the performance. Therefore, we propose our own consensus algorithm: NC max. It will use a very clever way to squeeze the utilization of bandwidth to improve the efficiency of the algorithm, while POW’s algorithm is ultimately to ensure how to use bandwidth efficiently rather than waste it.
4. Economic model
When we divide the network into layer 1 and layer 2, we also need to consider how to capture the value generated by the upper layer to the bottom layer. When such value is captured and precipitated, it can more effectively motivate the miners in the network to get more benefits. When miners get more profits, they will bring more resources to the network to ensure the safety of the whole network. When the security boundary of the whole network is upgraded, it can also provide better security protection for the upper layer, which is the core of economic model design.
The core of economic model design is not only to reach every consensus, but also to promote the whole ecology to be more and more prosperous.
Finally, let’s share what we are doing in 2019. On March 9, we released the proposal for the design of nervos CKB economic model. In the near future, we will release the test network. In June, we will release the paper of nervos CKB consensus algorithm. It is expected that Q4 main network will go online. Welcome to pay attention.
Pay attention to us
Official website: https://www.nervos.org