At the beginning of the next transformation of the internet
What does the blockchain mean to you? Bitcoin is a digital currency, while Ethereum is known as the “world computer,” a computer that users all over the world can use together, powered by the blockchain. In the “world computer”, we would be able to build and deploy our own applications, which would work seamlessly together to complete tasks; we would also be able to save our data onto the world computer. This idea, and all the possibility it contains, has excited me from the first day I heard about Ethereum. There are many other projects out there aiming to create a better “world computer.” But I have developed a different view by asking one simple question:
Does the blockchain need to be a “world computer”?
The truth is, before the blockchain, we already had a “world computer.” We called it “cloud computing.” The services provided by cloud computing can be accessed by users all over the world. Through these services, we can build and deploy our own applications and save application data. Applications can then use a communication protocol such as HTTP and a public API interface to collaborate and complete tasks. In recent years, cloud computing has continued to evolve, from IaaS to PaaS to FaaS. Cloud computing’s level of abstraction is getting higher and higher, its capabilities are growing more and more powerful, and its use is becoming more and more convenient.
If you are hoping to use blockchain as a world computer, you have to admit that the blockchain is inferior to the cloud computing platform in many aspects: the cloud computing platform can support unlimited throughput and provide near-perfect privacy protection between users. But we know that the disadvantages of blockchain are not the result of casual mistakes. On the contrary, Satoshi knew exactly what he/she wanted. In his/her opinion, it was worthwhile to give up something for that goal.
Is becoming a “world computer” the true goal of the blockchain? Do we have to use the blockchain as a “world computer”? I have been asking myself these questions.
Ask the Right Question
If we jump out of the depths of the blockchain universe, our question should not be “How can we build a world computer?”, nor should it be “How do we solve the two major problems of performance and privacy faced by the blockchain?” Blockchain is simply a technical tool.
What people want is not the blockchain, but the crypto economy.
The crypto economy is a new economy formed after many years of blockchain development. This economy stands out from other virtual economies because it is the most active market we have created so far. The crypto economy is as large as the Internet and spans many different countries and regions. It has reduced the cost of the creation and trading of digital assets (crypto assets) to a very low level, and offers unprecedented mobility, serving users 24/7.
In designing the structure of the Nervos Network, I am taking on the question: “How can we design infrastructure for the future crypto economy?”
The answer to the question may or may not involve the blockchain. But in any case, it must support a self-enforcing protocol, which is the basis of the crypto economy, and it must also address the problems the crypto economy currently faces regarding performance and privacy. But the main body of the problem is the crypto economy, not the blockchain. The blockchain is merely one of many powerful tools in our toolbox.
Self-enforcing Protocol, the basis of the crypto economy
In order to maintain the operation of the crypto economy, any traditional system that is geographically restricted would not work. The building of the crypto economy is based on cryptography and game theory. Through a well-designed, self-operating system, the user is encouraged to jointly guarantee the execution of various agreements (i.e. contracts) in the market, thereby ensuring the ownership rights of the market’s participants and the stable operation of the market. Since the protocol in the crypto economy is implemented by a decentralized mechanism rather than a third party, I call it the “self-enforcing protocol.”
The “self-enforcing protocol” is the foundation of the crypto economy. The network protocol on which the “classical” Internet relies is an optimistic one — the designer assumes that the parties will follow the specification defined by the protocol. However, the reality is far from this ideal. The participants of the Internet protocol often do not intend to follow its steps. As a result, the execution of the agreement is arbitrarily destroyed and suspended. The Internet created by this type of agreement is a network full of uncertainty, a network that cannot provide the necessary support for the digital economy.
Creation and transmission of trust
The Economist chose a very appropriate name for the blockchain in 2015: “The Trust Machine.” I understand this name to mean that the blockchain creates trust, in the same sense that a “candy machine” creates candy. As a developer who likes to create stuff, “creating trust” is one of the best goals I can think of. In fact, at Cryptape, our slogan is “We Build Trust.” However, blockchain has been given too much functions that does not related to trust. A series of unnecessary functions are set into the blockchain, although more appropriate “classical” technology solutions are readily available.
From an architectural point of view, layering the overall functionality of a system and spreading it across different functional layers or components is a more sound design pattern than coupling all functions into a single unit. Decoupling is at the heart of all complex system designs. UNIX pipelines, MVC model and Emacs the best operating system are all good examples.. The Internet also implements different functions, such as data transmission and mail delivery, through different network protocols on different layers. Protocols related to identity and encryption, such as PKI (Public Key Infrastructure) and TLS (Transport Layer Security), built the trust backbone of the Internet.
The PKI system is responsible for creating, managing, distributing, using, storing, and revoking digital certificates to address issues related to both digital and physical identities. A digital certificate authority (CA) is responsible for managing and issuing digital certificates that link the identity of the user or business with the public key. The digital certificate authority can issue certificates to other digital certificate intermediaries to form a chain of certificates connected at different levels. Based on digital certificates, secure and confidential information exchange channels can be established between websites, between users, and between websites and users. For example, when a user visits an e-commerce website, a secure link is established through a digital certificate and HTTPS (HTTP over TLS) protocol.
This is a system of division of labor: PKI only cares about the management of identity and digital certificates, and the encrypted transmission of data is done by HTTPS. PKI is itself a layered architecture. At the bottom of the system is the root certificate authority, which is the starting point for the entire chain of trust. The digital certificate of the root certificate authority is built into the browser and other software by default. This trust is then passed through the certificate chain and eventually injected into all Internet services in the system. The root certificate authority only handles certificate management. It is unconcerned with the business logic of e-commerce, games, or any other specific scenarios. The data interactions in these scenarios do not need to go through the root certificate authority.
Root certification authorities create a trust for the Internet, and they are the “engine” of the entire Internet trust system. The word “engine” is in quotes because the root certificate authority is still an enterprise managed by people, not by machines.
The Internet has built a very successful and functional trust network, through a layered and decoupled architecture. The only problem with this classical trust network is that its credibility rating is not high enough. We need to trust the strength and character of the root certificate authority; it lacks self-protection. Without the inherent support of the self-enforcing protocol, we are unable to customize and implement protocols that are self-enforcing. We need to solve these problems. Therefore, our ideal crypto-economic network infrastructure should also be a layered and decoupled architecture defined by a set of protocols rather than a single protocol, complete with native support for self-protection protocols and free from reliance on the third-party chain of trust.
Here is where our shiny tool, the blockchain, comes into play.
CKB: Nervos’s Trust Engine
The blockchain is a machine that creates trust. It is also a network that is maintained by algorithms and economic incentives that do not rely on any third party.
Our trust engine for the Nervos network is called Nervos CKB, or Common Knowledge Base. This name stems from our understanding of the blockchain, which is described in detail in the appendix of the Nervos CKB white paper and will not be repeated here. Located at the bottom of the Nervos network (which we call Layer 1), CKB is a newly designed public chain protocol that is the root of the Nervos network trust backbone and the anchor of the entire Nervos network. In addition to CKB, Nervos also defines a trust enforcing protocol between Layer 1 and Layer 2, passes the trust established by CKB to the upper layer, guarantees the execution of Layer 2 DApps, and guarantees the operation of the entire Nervos crypto economy.
This is a hierarchical trust network similar to the PKI system. Most of the computing, storage, and network transmission takes place in Layer 2. The user only needs to interact with Layer 1 when malicious play occurs in the operating nodes of Layer 2; at that point, users submit cryptographic proof to resolve the trust issue. CKB arbitrates based on proof and pre-determined rules, thereby guaranteeing the implementation of the agreement on Layer 2. The goal of Layer 1 is security, while the goal of Layer 2 is computation.
CKB itself uses the PoW consensus to anchor CKB with energy in the real world through PoW. PoW was chosen because it is the most reliable open network consensus protocol currently known. The Nervos network thus forms a tree-like trust delivery network:
Energy -> Layer1(CKB) -> Layer2(AppChain / State Channel etc.) -> DApp
It is important to point out that such a layered architecture will have completely different requirements for Layer 1, and we have not seen a public chain design that meets this requirement. Such goals require us to redesign Layer 1.
I believe beautiful designs result from simplicity and balance.
Therefore, CKB has completely different design goals from other public chains. Just like the root certificate issuing company in the PKI system does not need to care about the specific application scenarios, we want to minimize CKB’s responsibilities, focus on safety consensus, and create trust for Layer 2, rather than maximizing CKB to support a variety of common business scenarios.
CKB only needs to retain two functions: one is a simple and secure consensus algorithm, and the other is to support the trust enforcing protocol between Layer 1 and Layer 2.
Our research and engineering team is designing and implementing a new PoW consensus. The goal is to exploit the potential of PoW, improve the throughput of CKB, and shorten the transaction confirmation time while ensuring security. Since most of the transactions in the Nervos network will occur in Layer 2, I believe that the performance achieved by the new PoW algorithm and the parallel computing-friendly Cell model (see the Nervos white paper) can support the early Nervos network needs.
In order to support the trust enforcing protocol between Layer 1 and Layer 2, CKB chose a state-centric design and proposed a new state model different from the account model and the UTXO model. The Cell model is the minimal natural extension of the UTXO model, extending the UTXO that only cares about numbers to a Cell that can hold any data type. The Cell model is the basis for implementing the trust enforcing protocol between Layer 1 and Layer 2, because we require methods to store necessary state. The state store should be efficient and sufficient, not over the top; we don’t need a KV or SQL DB.
We need a virtual machine for state verification. This virtual machine does not need to support too many scenarios. The state is generated on Layer 2 and recorded and verified on Layer 1.
In addition to maintaining its own security and supporting the trust enforcing protocol and Layer 2, CKB’s economic mechanism is also facing greater challenges. The CKB token will be the collateral for Layer 2 and the default value storage (SoV) for the Nervos network. We need more research in this area. Fortunately, there are great economists who are helping us.
Nervos’s unique design concept means that CKB must give priority to the needs of Layer 2 at the initial stage of design. CKB is the layer 1 designed for layer 2. In many ways, this will make it easier to implement the Layer 2 solution in the Nervos network.
A Better World
The crypto economy is a natural evolution of the Internet at its maturity. The Internet has experienced its own 1.0 and 2.0, leading to the rise of GAFA (Google/Apple/Facebook/Amazon) and BATX (Baidu/Alibaba/Tencent/Xiaomi) along the way, and revolutionized our lives. Today, the Internet has already grown out of its expansion period of attracting users and third-party partners, and are getting close to reach its growth ceiling. The relationship between platform and platform-participants have turned from non-zero-sum to zero-sum game. Platforms now need to compete with third parties for users and profits, even though everyone knows that killing incentives for third parties is killing innovation. This is the dilemma of the current Internet.
We are at the beginning of the next transformation of the Internet, and the crypto economy has become a necessity where the former can’t innovate. Let us carefully consider what is needed in the crypto economy, humbly learn from the classical Internet, and create a better and beautiful future that we are aspiring to be in.
P.S. You can find the article’s Chinese version here.
About Nervos Network
Founded by a team of blockchain veterans from Ethereum, imToken and Yunbi, Nervos is a network of interoperable protocols built on top of an open network and designed for enterprise applications. By providing a hybrid solution that combines the advantages of a public blockchain and an application chain, Nervos Network allows enterprises to build and deploy decentralized applications (dApps) without committing their entire tech stack to the blockchain.
For more information, visit us at:
Official website: http://nervos.org/