A Deep Dive into Nervos

0 7
Avatar for BitSoMi
4 years ago

Q: How would you explain “What is blockchain?” to a kid?

Jan: The blockchain is a stone that can be seen all over the world, and the words you engraved on the stone cannot be changed. The blockchain is actually as simple as that.

A stone is a very ordinary thing, but it is one of the few technologies that can preserve information for thousands of years. Almost all of the information from ancient civilizations were preserved in stone.

Q: Just like the mysterious black slabs in <2001 a space odyssey>.

Jan: Sort of, a blockchain is an engineering method that allows us to expand the visibility of a stone to everyone across the world.

Q: So what can we do with the stone?

Jan: The most direct usage of a blockchain is an audible record. No matter what takes place on a blockchain, all of the information is engraved onto the stone for everyone in the world to see.

We can also add another layer called “punishment” onto the blockchain. In this scenario, if you do something different from what you said, you will have to accept the predefined punishment (aka slashing conditions). In the past, punishment was carried out through social institutions (ex. Courts or police) but now this can be automated on a blockchain as well.

We want to take this simple system of a stone and use engineering to turn this into a much bigger system the world can rely on. With auditing and punishment built into a blockchain, this creates a complete system and allows people to build “trust” amongst each other. Just like in the real world, my contract is a promise and if I don’t abide by my contract & violate my promise, I will face punishment. If we put all this into a blockchain, it can be scaled up to a much larger system than we see in our society today.

Q: If the blockchain is a stone, what is Nervos?

Jan: Nervos is the whole system developed around the stone. The stone itself can only do the auditing. I engraved my words on stone so everyone can see it, that’s it. Nervos is designed to solve other problems, such as how to automate the execution of the penalty if you didn’t make your promise.

Q: You wrote an article about blockchain as a “Trust Engine” before. Can you elaborate a bit about this concept?

Jan: If Nervos is the system and a blockchain is a stone, the output of the system is trust. The stone continuously transfers trust between it to other components in the system, and it can do so because you have engraved your promise on the stone — where others can audit your promises.

If you do not fulfill your promises, then you will be punished in the system. This penalty is achieved through an agreement between the stone and the other components.

Q: How is the transmission of trust actually achieved?

Jan: The core of the blockchain is a cryptographic system. All of the data contained within blocks are linked together through cryptography. The verifier writes all the transactions on the stone and the world can check it. If you think this result is not correct, you can show evidence to Nervos CKB (the underlying chain of Nervos) and report bad actors.

All of the evidence is based on data & cryptography so unlike in the real world where lawyers debate each other, this evidence is what machines can understand directly. Therefore Nervos CKB can automate the decision making process which allows “trust” to be built in scale. It is similar to the trust system in our normal society where trust is built through contracts, law, and our judicial system.

Q: So Nervos meant to move the entire system of real society in the virtual world?

Jan: Yes, this is something we believe in and are already in the process of testing. It’s already been done before, though manpower, all we are doing is having machines do it to scale up the system. During the industrial revolution, human physical labor was replaced with machines, and now the blockchain replaces people’s trading systems with machines.

Q: Is it equivalent to building a new society?

Jan: We are building a new society in the places where transactions need to be trusted. It’s way to confuse these concepts with crypto-anarchism, which some people talk about, but we are not building a new government or a new court system. We think this will mainly be used for business transactions.

The layered architecture in blockchain design

It is impossible to make a trade-off between security, decentralization and performance, so we ended up with a layered design.

Q: What is the biggest difference between Nervos and other public chains?

Terry: One of the most important features of Nervos is our “layered architecture”.

In the design of a blockchain, everyone knows that there is an impossible triangle — security, decentralization and performance — and the tradeoffs between them.

Nervos is trying to solve the problem of the triangle with a layered design system. In layer 1, Nervos CKB provides security and decentralization, while Layer 2 pursues the ultimate performance.

One question many people ask is why don’t use use Ethereum as our Layer 1 vs redesigning our own. We believe that if we don’t redesign Layer 1 while taking into considering Layer 2 from the beginning — it would be impossible to get the quality improvement by simply adjusting the parameters of an existing Layer 1 system.

Q: Layered design seems to be a natural idea for people who are coming from computing background.

Terry: That’s right. The storage of the computer is divided into a level 1 cache, a level 2 cache, memory, and a hard disk. The fastest reading and writing speed is the level 1 cache, so why do we need so many types of storage? Can all computers only use 256g of level 1 cache line? Of course not. There is also an “impossible triangle” — price, capacity and speed. If you want to build a computer that only uses level 1 cache, it would be prohibitively expensive.

It is impossible to make a trade-off between the three, so we ended up with a layered design instead. The level 1 cache is the most expensive and fastest, but the capacity is also the smallest; the level 2 cache is larger and slower, but the price is also cheaper. Then there comes memory. When memory is not enough, we can store on the hard disk — the largest capacity, the slowest speed, and the cheapest price. After so many years of development in computer science, this layered design is still in use. Complex systems usually ended up as decoupled.

CKB is a bit like computer memory, it’s visible to developers, but users don’t need to care about the CKB directly.

Q: Do other industries have this “layered” example?

Jan: I think there is a deeper reason for the layered structure. Layering is like the division of labor. In primitive society, everyone does all the things, you have to hunt, collect, and raising kids. Then there was a division of labor, someone goes for hunting, some others focusing on collecting, someone else taking care of the children at home. The division of labor is actually a differentiation, so that everyone can do what they do best.

Nervos CKB is the base layer only focusing on security, the upper layer will take care of everything else across all use cases (gaming, supply chain, e-commerce etc). The second layer can go as far as it needs to in order to improve performance. Previously blockchain has been very primitive, now we want to create a blockchain with divisions of labor built in.

Q: But there is a difference between the division of labor and layered structure. The layer structure has upper layer and base layer, while the division of labor is more flat?

Jan: Right. Division of labor is a more general concept than layering, and you can think of layering as a special type of division of labor. In the modern society, the government is like the bottom layer, which is responsible for maintaining the stable development of the whole society, and then going up to agriculture, industry and so on.

Q: How come the layered structure not very common in public chain design?

Jan: I think it’s because people misunderstood Satoshi previously. If you think all the nodes in the network is the same, it is actually against the division of labor. If all nodes are required to be the same, then each node has to do all the things — it has to mine, store transactions, relay and broadcast messages.

This kind of thinking will constrain the development of blockchain, and people are realizing that is not what Satoshi meant in the first place. In response to other people’s posts, Satoshi said that only a few people in the future Bitcoin network may be mining, and then others would use the SPV protocol to use the network with light nodes. This is why there is an SPV client in Bitcoin’s white paper. The SPV client is different from the full node. Satoshi purposely designed two sets of nodes from the start.

Common Knowledge

Common knowledge is the basis of collaboration. There are no technical means before to preserve a large amount of common knowledge.

Q: What exactly is Common Knowledge Base?

Terry: Someone once asked me: “why is it so expensive to store a piece of data on the blockchain, I don’t even have to spend money saving data on my own server.” I found this question very interesting — the data on blockchain is expensive because it is a piece of data that reached consensus, in other words, it is a common knowledge that everyone knows and admits, this is what makes storing information on a blockchain expensive.

The idea of Bitcoin was to make a public accounting book which reports who owns how much + keep track of all transactions. At Nervos we want to take this one step further and store all kinds of common knowledge within our blockchain, not just transactions.

This sounds similar to a database, however the main difference is that it uses a blockchain & cryptographic techniques to store something which is provably verified & has been reached through by consensus. All calculations and applications should be done within Layer 2, on top of Layer 1 (the Common knowledge Base). At the same time, the layer 2 solutions can be decentralized or centralized.

Jan: In fact, all laws and regulations are forms of common knowledge. Because there is no technical means to preserve a large amount of common knowledge, this may be a relatively new and abstract concept. You can think Nervos CKB as a court’s archives, and all the files are stored there. Because everyone knows it and abides by it, we can now trust each other and cooperate on activities.

Why is cross-border cooperation more difficult nowadays? Because I don’t know what laws and regulations you will abide by, you don’t know what’s on my side either. But in the virtual space, we can build something like Nervos CKB as a global standard, so everyone can cooperate without boundaries.

<A Brief History of Humanity> states that human beings are a community of imagination. Common knowledge is actually a common imagination. Something that all human beings know and imagine about.

In game theory, common knowledge is the basis of collaboration.

Daniel: The role of Nervos CKB is to reach consensus and store it. The biggest difference from the past is that the scope of action now is all human beings and the whole world. And thanks to blockchain, we can do it with a minimized cost. Nervos CKB is the core system designed for achieving common knowledge.

Q: Nervos has Nervos CKB as layer 1, and there have a lot of layer 2 solutions. Why do you decide to make your own layer 2 — Nervos AppChain?

Terry: Because the best way to understand the needs of developers, is to go through the trial and error process yourself. We had to come up with an initial implementation on our own to best understand our users.

Q: When did you form the idea of ​​Nervos?

Jan: There are many factors, it is not something that I have come up with myself, but a result of the common development of the entire industry.

The development of the blockchain has actually gone through several stages. At the beginning, it was Bitcoin, and everyone thought the blockchain should be “currency”. Looking back, the idea was too narrow, but at that time, it was a very bold idea, and it was hard for people to understand.

When Ethereum came out, people started to think blockchain as a “world computer”, Ethereum wants to put everything into the blockchain, so we have “trust”.

But gradually I started to think: what is the blockchain? What should it be used for? The core of the blockchain is cryptography and game theory. How do you use these two points to solve the problems, such as the scalability issue the blockchain is facing now?

Ethereum has both computation and state in its blockchain, it’s quite difficult to scale them together. Then my natural response is: maybe we should not let the blockchain do everything? Instead, we can take some things out and let blockchain do what it does best, we can use the engineering method to enlarge it.

The blockchain has proven it is a strong trust engine, everyone trusts things on blockchain. The question becomes: how do you use the blockchain to build a larger system?

Q: Nervos is taking a very different road from Ethereum.

Jan: Ethereum’s approach is to add everything into the blockchain for complete trust. We’ve tried this approach and found it to be very difficult, so we decided to try a different approach.

The Nervos approach is to take the narrow scope of what a blockchain is good for, and try to expand its utility as much as possible.

Actually second layer solutions like the lightning network were designed very early, but they did not carry a strong voice initially since people were not clear about the future of second layer solutions. Once Ethereum was born everyone’s attention was drawn to it and Ethereum itself became the mainstream post. Only when Ethereum encountered problems people started to think more deeply about state channels, plasma, etc. Now Nervos has the ability to architect a blockchain network from the ground up, with layer 2 solutions in mind from day one. When you look at these developments, this is a change in the industry: everyone has started to try the second way.

Q: The evolution of this industry is very interesting. We were in a dark forest, there was no light. Satoshi was the first one to open a crack and let the light in, and then everyone realized that we can use programming to create currency. So everyone began to explore all kinds of possibilities…Vitalik created Ethereum, moving forward from “currency” to “world computer.” However, people later found that Ethereum had some problems that could not be easily solved. They had to take one step back. Has this trend of thought occurred in the history of the Internet?

Jan: There were many protocols which appeared during the internet era. For example, within newsgroups there was the NNTP protocol. NNTP was similar to the internet before the Internet. Instead of using a browser, it uses a set of software to receive news like you receive emails. There is also the Telnet protocol for BBS. When I was in college, BBS was quite popular.

Q: When the Internet protocol was originally designed, did it adapt to the business logic behind it?

Jan: No. But the Internet was a layered design from the very beginning. TCP is designed as a four-layer structure, and the OSI model has a seven-layer structure. These technology stacks contains obvious engineering and structured thinking. There are many different network protocols before TCP came out. But when TCP appeared, everyone began to feel that they had to be layered, let it divide the work to do different things. Then this set of protocols works well till now.

The blockchain industry is probably at the stage of the TCP stack: people start to think about layered structures.

Most importantly, layered structure should be considered as a whole. Instead of layer 1 first and then layer 2, I think we need to think about the whole design before launching a system. Layer 1 should not be a world computer, it is not for the end-users, but mostly serving layer 2 deployments and developers. Just like the IP layer is for the TCP layer, not for live streaming.

It was hard to image there will be a live streaming business when you were in TCP era, I cannot predict what will be the killer application for blockchain, but in the future it will be something that none of us has imagined. I am very convinced of this fact.

The Use Cases

“There will be a lot of “new concepts coming from news concepts” appearing from the Crypto Economy”

Q: What new business scenarios will land on Nervos network?

Jan: The Crypto Economy with the blockchain can bring a lot of business scenarios that we couldn’t even imagine before. Nervos is just one of the teams that wants to achieve this vision. So maybe this question is more about what kind of business scenario can the Crypto Economy achieve?

I think there will be a lot of things. For example, cross-border cooperation is obviously easier. The most immediate example is Nervos’ own fundraising. We just finished a strategic round and investors are from all over the world — we are just a small team in Hangzhou. I don’t think we can do this before the blockchain appeared. If it were equity investment, the investors have no way to invest in the equity of a small Chinese company, we also have no way to deal with those foreign contracts. The cost is too high — I don’t know if your legal documents can be trusted, and you don’t know what the legal terms I am obeying.

But it is easy using tokens to finance. Because everyone trusts that tokens will not be over-issued and will not be destroyed. Everyone trusts that tokens can be sold in the secondary market. This is the change brought about by the new technology.

Another example is a decentralized exchange. If you can do a decentralized transaction, you can easily convert between any two assets and it will be a huge financial market. If you look at the foreign exchange market, big in trading volume and has good liquidity, while it is just about currencies. If you can move around other assets such as CryptoKitties or real estate, eventually everything can be circulated in a market where liquidity and trading depth are good, then the business impact it can cause is bigger than your imagination.

When assets are liquid enough, people may not need to hold assets. Because you can buy and sell it at any time, and all of this is automated, imagine that you have an app on your phone, you can sell one ten thousandth of your apartment, or sell three CryptoKitties in exchange of a movie ticket.

This is an example of good liquidity. Because the liquidity is too good, anything can be bought/sold at any time. This idea is very interesting, because you will find that we seem to have returned to the era of property trading. In this case the medium of exchange currency is much less important in this scenario. Because previously the medium of exchange currency was made to reduce the cost of the transaction, but the transaction costs are becoming extremely low now, thanks to the blockchain.

Q: In other words, money becomes redundant, just like mobile payments make cash extra.

Terry: Or this can mean that all assets are currency. The concept of money will become generalized.

Jan: Actually, you have already used it, like the Yu’ebao (a wealth management product) under Alipay, which is not a currency, but since its liquidity is so good, you can turn it into money and use it to pay almost anything in China.

There are actually many other ideas. Aside from the liquidity of trading, let’s talk about digital assets in the virtual world. If we can really own digital assets — many of today’s digital assets are not real assets, such as the props in games -they have no liquidity. Anything without liquidity cannot be an asset.

CryptoKitties tell us a story: A is a company that make the CryptoKitties, B is a company that makes hats for the CryptoKitties, and C is a company that makes boots for the CryptoKitties. A user buys a Crypto Kitty, a hat, a pair of boots from A, B and C, and the Crypto Kitty becomes a cat wearing a hat and boots. The user can sell the cat at ten times of its original purchase price just because the cat, hat and boots are rare made the total combination even rarer.

The previous digital world has many isolated islands. For example, Tencent will not open source its API, even if itopen source it, Tencent may change the API when some developers add value to it. Because Tencent is a God who can change the rules in its world. This is not an equal cooperation. After the emergence of the blockchain, everyone can work together on an equal footing.

Why do we want openness and circulation? When you open your assets to the public, someone can add something new to the assets. This is the same as the real world, when you do flip house, the value of the house will appreciate a lot.

I can take my rare crypto kitty to the bank to make a mortgage. It is a normal asset, and it can even be used to issue bonds. Because assets are the core of finance, once the foundation of assets is available, the full set of financial tools can be copied in the digital world.

This will obviously be a huge market because digital assets are now blank. There is a consensus in everyone’s mind that the future of all mankind is going to be digitalized, so the future of the digital asset market must be huge.

And the future needs to be based on the blockchain. We have seen on the internet that this is impossible. It is impossible for Tencent and Alibaba do this, they will not even cooperate with each other first. Of all the solutions we can currently see, only the blockchain is feasible.

To sum up, previously we can’t own digital assets nor the crypto economy, but it is possible with the usage of blockchain.

Q: The data we created in the games become Tencent’s private property.

Jan: Right. The most important thing here is ownership. With ownership, you have the right to do things. We need Tencent to allow us to do things now, but even if it really allows, the result is Tencent’s, not mine. Because Tencent is God in its world.

Why PoW?

“Trust can’t be created out of nothing, you need to anchor it with energy.”

Q: Nervos seems to create a unique system that different from any others.

Jan: We are taking our own path. We are not focusing on smart contracts, we don’t do sharding to solve the scalability problem and we use PoW instead of PoS.

Q: How do you think of other projects, like Bitcoin, Ethereum?

Jan: Bitcoin has a very strong cryptographers and developer community. How many universities are doing research on Bitcoin? How many universities around the world will do research around other public chains? This difference is huge. The blockchain-related papers you see every day have a high probability of being associated with Bitcoin. Even if the purpose of doing such research is to make a new public chain, but so many people are helping you to understand yourself and analyze your own shortcomings, this is a very powerful force.

Daniel: Ethereum is also very strong. The entire ecosystem of Ethereum is like an onion, the innermost layer is the public chain, and the outer layer is the smart contract, developer tools, community and so on. This is the biggest advantage of Ethereum and also the biggest disadvantage too, as there are different conflict of interests within Ethereum, thus the consensus is hard to make.

Terry: Ethereum has DApps. We seem to have taken one step back from it by just generalizing the data stored in the public ledger. But we believe it could be a progress, since Ethereum’s practice of putting computing and storage together is proving to be difficult to go on. We decided to do a subtraction. We believe that smart contracts should be placed in the second layer.

Jan: I think it’s very important that the process of creating a new system is not a closed-door experiment, but based on a good understanding of everything created before it. Investors asked why we don’t do sharding — it is not we don’t know how to but I think if we solve the second layer well, we don’t even need to do sharding.

Q: Why PoW, not PoS?

Jan: I always think PoS is a bit problematic. Because consensus is to create trust, trust is impossible to create by itself. Imagine a snake biting its own tail. PoS uses the system’s own published assets as a deposit to ensure the security of the system. It does not anchor anything, it is floating in the air. I didn’t see any trust created in the way of PoS. I think the creation of the trust still has to anchor energy. The dollar anchor is the military strength of the United States. If the United States does not have such military strength on that day, then I think the value of the dollar has to be marked with many questions. PoW is equivalent to anchoring with the military, and PoS is anchoring the dollar with dollars.

Terry: Many projects may have other concerns when choosing a consensus mechanism, such as the benefits of the foundation itself or the interests of the investors. When we consider PoW and PoS, it is mainly from a technical perspective.

Jan: Yes, if your public chain is using the PoW mechanism, you will firstly be questioned by the investors. Everyone knows that PoS+Sharding+smart contract is the three magic weapons for a new public chain in raising fund.

Terry: The PoW Nervos is going to use isn’t the same as the Bitcoin though. We have some innovation on our PoW. Bitcoin has a lot of subtle designs, Blockstream has done some sharing and their technical research capabilities are very strong. But with so many great researchers and developers, all the improvements have to be decided by the miners, and there will be problems with this.

Daniel: Designing a consensus algorithm requires context, including many external considerations. The characteristics of Nervos CKB are different from those of Bitcoin. The use scenario of Nervos CKB is limited, the things that Nervos CKB has to do are very simple, so there is room for improvement in this PoW performance. But this kind of improvement is not as big as the PoS is talking about, and we actually hope to achieve about 1000 tps (transaction per second). The performance of PoS can reach such a big improvement because they sacrificed something else. Nervos CKB’s primary pursuit is security, not performance.

Q: I noticed that your previous article also mentioned a thing called Trustware, how did this concept come about?

Jan: The concept of Trustware was not proposed by us, but was proposed by Andreas M. Antonopoulos, author of <Mastering Bitcoin>. He thinks the blockchain is Trustware, which combines both hardware and software’s features. The difference between hardware and software is that if the hardware is wrong, it is very slow to modify. If a car fails, it needs to be recalled. On the other hand, the software is very easy to modify. The blockchain is software as it is easy to program, but it is hard to change things on the software, so blockchain feels like hardware + software. That’s where Andreas finally put forward the concept of Trustware.

Our understanding is to let developers write software, and the software can be trusted through Nervos CKB. What developers need is to make sure the software they write is trusted.

Trustware is not only a DApp platform, because DApp is decentralized, but the application on Trustware is not necessarily decentralized. It can be centralized or decentralized. A centralized website can also be connected to Trustware to enhance your trust.

Terry: To decentralize everything is more like pirates, which sounds sexy. But we belong to the middle, and our layer 2 can be co-existing with centralization and decentralization. We will let the market decide which one to use.

Jan: This is not to cater to the market, but because we think this is a right way. Complete decentralization is actually anti division of labor, as the division of labor will be sort of centralized. Because if I assign a specific task to you, it means I trust you, the process of division of labor is kind of centralized. If you believe that the division of labor in human society is correct, then centralization must have its own value. It’s just that we need a lot of centers, not only one center. When the centralized system and the decentralization system begin to compete, this result will ultimately benefit everyone.

Q: I found that there are still many things in this area that are very difficult to explain and understand.

Daniel: It was very difficult to explain to the people 100 years ago, “What is a bank deposit?” “I deposit the money in the bank, and I’m getting interest? how do you do that? Isn’t this a scam?” But now that you don’t need to explain it, you can safely deposit the money in the bank.

This is always the case. There are many things in your time that are very complicated, others can’t understand, and a few people can understand. And the public needs time to constantly internalize this knowledge. Like I don’t really need to explain to others what bitcoin is now compared with ten years ago. Because after years of development, a lot of knowledge has gradually become common knowledge in the public mind.

I believe there will be applications based on the blockchain which ordinary people can use it easily within 2–3 years — it could be developed on Nervos or other public chains. At that time, the public did not need to understand the concept or the technology behind. How many people understand the underlying protocols of the Internet? No, they don’t have to understand it to use the wechat. We believe that day will come to the blockchain soon.

Original Content by Nervos Network

1
$ 0.00
Avatar for BitSoMi
4 years ago

Comments