secondary title
Does blockchain need to be the world computer?
If you put aside the concept of blockchain and understand "world computer" literally, it should be a computer that users all over the world can use together. In the world computer, we should be able to build and deploy our own applications, and the world computer will help us execute them; we can save our own data on the world computer; not only that, but the applications can also perfectly cooperate to complete the tasks we have given. Task. I love the idea.
In fact, before the emergence of the blockchain, we already had such a world computer, which we called "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 use communication protocols such as HTTP and public API interfaces to cooperate to complete a certain task. Task. Over the years, cloud computing has not stopped evolving. From IaaS to PaaS and then to FaaS, the level of abstraction is getting higher and higher, the capabilities are getting stronger, and the use is getting more convenient.
The world computer should not be the goal of the blockchain, and designers should not be misled by this wrong goal, and designers must have their own trade-offs.
Ask the Right Question
secondary title
Ask the Right Question
secondary title
If we look out of the deep well of the blockchain, the question we ask should not be "how to build a world computer", nor should it be "how to solve the two major problems of performance and privacy faced by the blockchain". Blockchain is just a technological tool. What we can clearly see is that what people want is not the blockchain, but the crypto economy. As the designers of Nervos, we try to answer such a question:
The answer to the question may or may not be a blockchain, but in any case, it must support the self-assurance protocol, which is the foundation of the crypto-economy, and must also solve the problems it encounters today, such as transaction performance, And transaction privacy - yes, we still have to solve performance and privacy issues, but the subject of the problem is the cryptoeconomics, not the blockchain, which is a shiny wrench in our toolbox.
secondary title
Self-Assurance Protocols and the Crypto Economy
Cryptoeconomics (Cryptoeconomics) is a brand new economy formed after many years of blockchain development. Compared with other virtual economies, this economy stands out because it is the most active market we have created so far: it is as big as the Internet, spans different countries and regions, and attracts thousands of people from different countries. market participants; she minimizes the cost of personal creation and trading of digital assets (Cryptoassets), just as blogs and Weibo minimized the cost of dissemination and then gathered unprecedented attention, she also gathered Unprecedented mobility; she never stops, providing services to users 7*24 hours a day.What maintains such a spontaneous market operation across regions cannot be traditional institutions restricted by geography, but only universal laws that can be established at any time and in any space: mathematics, rationality, games, and so on. The edifice of the encrypted economy is built on cryptography and game theory. Through a well-designed self-running system, users are encouraged to jointly guarantee the execution of various agreements (that is, contracts) in the market, thereby ensuring the asset ownership and transaction execution of market participants. , to maintain the stable operation of the market. Since the agreement in the encrypted economy is implemented by a decentralized mechanism rather than a third party other than the participants, I call it(Self Enforced Protocol)。
self-insurance agreement. The network protocol on which the "classical" Internet relies is an optimistic protocol, and the designers always assume that the participants will follow the provisions of the agreement and act according to the steps stipulated in the agreement. The reality is completely opposite to the ideal. The participants of the Internet protocol often do not follow the steps unintentionally or even intentionally. The consequence is that the execution of the protocol is arbitrarily destroyed and suspended. The Internet created by this type of protocol is a network full of uncertainties, a network that cannot provide native support for the digital economy.
Creation and transmission of trust
text
"The Economist" gave the blockchain a very appropriate name in 2015, "The Trust Machine". I like to translate the name as "a machine that creates trust", just as Candy Machine is a machine that makes candy. As a developer who likes to create software (shi)ware (jie) by hand, "creating trust" is the coolest goal I can think of (so our company's Slogan is We Build Trust). What's interesting is that today, three years later, the blockchain has really become a Candy Machine that can conjure "candy" out of thin air. A series of various functions have been injected into the blockchain, and I don't care whether the "classical" technical solution will is a more appropriate choice.
From an architectural point of view, layering or decomposing the overall functions of a system to different functional layers or functional components is a design pattern that is superior to coupling all functions in a single unit. We could even say that decoupling is at the heart of all complex system design. The pipeline design of UNIX, the Model/View/Controller mode applied in traditional desktop software and Internet services, and the editor VIM with plug-in architecture are all good examples. The Internet also implements different functions such as data transmission and mail delivery through different network protocols. This set of protocols also includes protocols related to identity and encryption, such as PKI (Public Key Infrastructure) and TLS (Transport Layer Security). Together build the trust system of the Internet.
The PKI system is responsible for creating, managing, distributing, using, storing and revoking digital certificates, and solving the problem of correspondence between digital identities and physical identities. A digital certificate authority (CA) manages and issues digital certificates, linking a user/business's identity with a public key. The digital certificate authority can issue certificates to other digital certificate intermediaries, forming a certificate chain connected layer by layer. Based on digital certificates, secure and confidential information exchange channels can be established between websites on the Internet, between users and websites, and between users. For example, when a user visits an e-commerce or banking website, a secure link is established through a digital certificate and the HTTPS (HTTP over TLS) protocol.
This is a system of division of labor and cooperation: PKI only cares about the management of identities and digital certificates, and the encrypted transmission of data is completed by HTTPS. PKI itself is a layered architecture. At the bottom of the system is the root certification authority, which is the starting point of the entire chain of trust. The digital certificate of the root certification authority itself is built into the browser and other software by default, and is accepted by all Internet users. This kind of trust is passed up layer by layer through the certificate chain, and is finally injected into all Internet services in this system. Root certification authorities only do certificate management. They don't care about the business logic of e-commerce, games, or any other specific scenarios, and the data interaction in these scenarios does not need to go through the root certification authority. Root certificate authorities create trust for the Internet, and they are the "engine" of the entire Internet trust system. The reason why the word "engine" is in quotation marks is because the root certification authority is still an enterprise managed by people rather than a machine.The Internet has built a very successful trust network, and it works well, without performance or privacy troubles. The reason is that the Internet adopts a layered and decoupled architecture. The only problem with this classical trust network is that its trust level is not high enough, because we need to believe in the strength and character of the root certification authority (there are many security incidents in the root certification authority); Intrinsic support of the protocol, where we cannot customize and implement a protocol that is self-guaranteed to execute. We need to address these issues.
It's time for the shiny wrench.

secondary title
trust engine
secondary title
trust engine
Blockchain is a machine for creating trust, a network maintained by algorithms and economic incentives that does not rely on any third party. The blockchain happens to be the root of the chain of trust we want without relying on any third party.The trust engine we built for the Nervos network is called CKB (Common Knowledge Base), a common knowledge base. The name comes fromWhat we know about blockchain,existCKB white paperIt is described in detail in the appendix and will not be repeated here. CKB is located at the bottom layer of the Nervos network (we call it Layer1). It is a newly designed public chain protocol and is the root of the Nervos network trust chain. In addition to CKB, Nervos also needs to define a trust transfer protocol between Layer1 and Layer2 to transfer the trust established by CKB to the upper layer to ensure the execution of Layer2 DApp and the operation of the entire Nervos encryption economy. This is a layered trust network similar to the PKI system. Most of the computing, storage, and network transmission occur in Layer 2. Only when the operating nodes of Layer 2 do evil and cause trust problems, users need to interact with Layer 1 and submit cryptographic evidence. To CKB, CKB conducts arbitration based on evidence and pre-determined rules, thus ensuring the execution of the agreement on Layer2.
The goal of Layer1 is security, and the goal of Layer2 is computing.
CKB itself uses 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 known today. The Nervos network thus forms a tree-like trust transfer network:
Energy -> Layer1(CKB) -> Layer2(AppChain etc.) -> DApp
It should be pointed out that such a layered architecture will have completely different requirements for Layer1, and we have not seen a public chain design that can meet such requirements. Such goals and status quo require us to redesign Layer1. Therefore, CKB has completely different design goals from other public chains. Specifically: we want to minimize the responsibilities of CKB as much as possible, focus on safe consensus, and create trust for the superstructure, instead of maximizing CKB and making it It can support various common business scenarios. Just as the root certificate issuing company in the PKI system does not need to care about specific application scenarios. Beautiful design emerges from simplicity and balance, not superposition.
Therefore, CKB only needs to retain two functions: one is a simple and safe consensus algorithm, and the other is to support the trust transfer protocol between Layer1 and Layer2.
In order to support the trust transfer between Layer1 and Layer2, CKB chose a state-centric design and proposed a new state model, the Cell model, which is different from the account model and UTXO model. The Cell model is the smallest natural extension of the UTXO model, extending the UTXO that only cares about numbers into a Cell that can store any data type. Cell is the basis for implementing the trust transfer protocol between Layer1 and Layer2, because we must have a way to save the state, and the method of saving the state should be just right, no more, no less (eg 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, and it is best to be just right. State is generated on Layer2, recorded and verified on Layer1.
A Better World
secondary title
A Better World
secondary title
The cryptoeconomic network is a natural extension of the Internet's development to a mature stage. The Internet has experienced its own 1.0 and 2.0, which has achieved GAFA (Google/Apple/Facebook/Amazon) and BATX (Baidu/Ali/Tencent/Xiaomi), and also subverted our lives. Today, the Internet platform has gone through the growth period that needs to attract users and third-party partners. The growth ceiling of the industry is just around the corner. The relationship between the platform and platform participants has changed from a non-zero-sum game to a zero-sum game. The platform It is necessary to compete with third parties for users and profits. Even if everyone knows it, inhibiting the enthusiasm of third parties to participate also inhibits innovation. This is the dilemma of the Internet model.
Under such a predicament of being unable to innovate, the emergence of blockchain and encrypted economy has become a necessity, and we are at the starting point of the next transformation of the Internet. Let us carefully think about what the encryption economy needs, humbly learn from the classical Internet, and create the beautiful world we yearn for.https://talk.nervos.org/t/topic/336。
