Jan Xie AMA: Part One — An Introduction to Jan Xie and Nervos Origin Stories

Nervos Network
Nervos Network
Published in
7 min readJun 2, 2022

On April 21, Jan Xie, chief architect and member of core development team of Nervos Network, was invited to attend the Major Protocol Upgrade AMA hosted by @yixiu_yx on Twitter Spaces, answering questions gathered from several community channels.

The AMA replay is available at https://twitter.com/i/spaces/1gqxvlYdPyAGB?s=20.

TL;DR

Here is a brief summary of the AMA:

  • CKB seeks to extend the notion of SoV, from a store of value (SoV) to a store of assets (SoA).
  • The main improvements of the Major Protocol Upgrade include: VM, block structure, consensus rules, and P2P network. The upgrade is almost undetectable to users.
  • As the kernel of layer 1, CKB should be maintained as minimal, streamlined, reliable, and safe as possible. More things should be done on the second, third, or the application layer. This has always been Nervos’ mindset.
  • The average bandwidth of the global network is the bottleneck of performance of public chains. The most efficient blockchain is the one that makes the most efficient use of bandwidth.
  • The Major Protocol Upgrade is a type of hard fork that everyone expected and agreed to, therefore there won’t be two blockchains. Two blockchains will only occur when the community’s opinions are extremely divided, such as ETH and ETC, which is quite uncommon in history.
  • The Nervos Network, which includes CKB, Godwoken and Axon, makes different trade-offs between security, performance, and decentralization:
  • You may choose to build on CKB if you really care about security and decentralization;
  • You may choose to build on Axon if you really care about performance;
  • You may choose to build on Godwoken if you want to find a balance in the trade-offs.
  • Nervos will be upgraded from layer 1 to layer 2 in 2022. The CKB hard fork comes first, followed by Godwoken, and then Axon.
  • More projects will be launched on Godwoken V1 this year. Axon is completely compatible with EVM layer 2, so the number of projects on Axon will grow fast once it is released.

Q1: Jan, could you please introduce yourself and your blockchain experience to our newbies?

Jan: I come from a computer science background and first learned about Bitcoin in 2013. Since then, I’ve been doing research on cryptocurrencies and blockchain technology out of curiosity.

Many people thought Bitcoin was a hoax the first time they heard of it. This is very natural as it’s very difficult to convince that we, as computer programmers, could create a new currency back in the year 2013. That was a crazy idea, even ridiculous.

However, in terms of technology and design, I’ve noticed several really unique characteristics of Bitcoin. Its design is very different from what we were doing at the time with the Internet.

The Internet, for example, strives for greater performance and efficiency, while Bitcoin’s PoW is in poor efficiency (which is necessary if you want to keep it safe); The products of the Internet need to be polished while Bitcoin is particularly rough.

In the beginning, Bitcoin’s software was quite rough. For example, if a new node of Bitcoin wanted to join the Bitcoin network, it must first be able to find a node that was already in the Bitcoin network to connect, which we call a seed node. How did you find a seed node in Bitcoin? You couldn’t get that information through a P2P network, so you had to have an initial approach, otherwise it was an infinite loop.

Bitcoin used the IRC protocol to let the nodes of the Bitcoin network join a specific IRC chat room. You entered this chat room, and the person in the chat room was your seed node. This was a very rough and tricky method. It will almost certainly not be used in a real Internet product, but it was used in Bitcoin.

(Note: IRC, or the Internet Relay Chat, is a text-based chat system for instant messaging. IRC is designed for group communication in discussion forums, called channels, but also allows one-on-one communication via private messages as well as chat and data transfer, including file sharing. )

So, Bitcoin is such a product that is very crude in engineering yet so brilliant in design, that you can’t help being attracted and begin to study it.

After a while, my friends persuaded me to start a business together. As a result, I shifted my focus from initial interest in blockchains to the identity of builders. We overcame several barriers, and have been working in this field ever since.

At first, we built a crypto exchange named Peatio and made it open source on GitHub. My motivation to build an exchange is that I had searched GitHub for a long time and found no helpful exchange code. As the first open source crypto exchange, Peatio accelerated the development of the industry to some extent because many exchanges used our code. Some of the top exchanges nowadays were using the programming language of Ruby on Rails in the beginning. There were many connections.

(Note: Ruby on Rails, or Rails, is a server-side web application framework written in Ruby under the MIT License. Rails is a model–view–controller (MVC) framework, providing default structures for a database, a web service, and web pages. Rails emphasizes the use of other well-known software engineering patterns and paradigms, including convention over configuration (CoC), don’t repeat yourself (DRY), and the active record pattern.)

When Peatio was finished, we started to try new things, as the exchange is still on the application layer in essence, not so close to the underlying blockchain technology. We decided to do something more in-depth, so we proceeded to look into Ethereum.

At that time, Ethereum had just been released and it was very new. A lot of members from the Bitcoin community assumed it was a hoax, as there were too many altcoins. But for me, I regarded it as an exciting thing.

From a technological standpoint, Ethereum is unquestionably a step ahead if we compare it with Bitcoin, as it evolves from a crypto currency to a platform, like a phone that can only make calls to a smartphone. So I started to study Ethereum’s code, and tried to write an Ethereum client myself.

Meanwhile, I built a community named EthFans in China with my friends. EthFans used to be the most professional and largest Ethereum community in China. It was shut down for various reasons last year.

In short, I was coding and working on the EthFans community. When the research team of Ethereum was recruiting, I emailed Vitalik directly. This is a common occurrence with open source projects. You can actively contribute code and connect with developers on any open source project on GitHub, not only Ethereum. If a developer requires assistance, he may approach you. Before the research team started recruitment, I had built a client in Ruby called ruby-ethereum, which was compatible with Ethereum at the time. The ruby-ethereum successfully passed Ethereum’s own test, signifying that the compatibility of the client was so excellent that it could be used as an alternative to other clients. As a result, ruby-ethereum was included in the official documentation as one of the seven Ethereum clients at the time. I had done many things and Vitalik was aware of my work. My interest was research and I had a solid grasp of Ethereum, so I joined the research team. As a member of the Ethereum research team, I was involved in several projects — research and prototype design of sharding, Casper, etc.

At the same time, I set up a company named Cryptape in Hangzhou, China. At first, the company worked on permissioned blockchains. We built CITA, a permissioned chain that focused on performance and scalability while also being compatible with EVM. Later, the core members of CITA project left Cryptape and set up a company called Rivtower themselves. Rivtower is doing well now.

The blockchain system needs scalability, and this is what all of us have been trying to solve. There are actually two methods. One is to make every node in the network more powerful. If all nodes are more powerful, like from a laptop to a supercomputer, then the performance of the network will be much better naturally. With this method, you don’t have to do anything in system design. Another method is to have more laptops. More laptops will bring better performance and more computing power to the network. The former method is called Scale Up (vertical scaling) while the latter is called Scale Out (horizontal expansion).

If we want to Scale Up, there are actually two ways: one is to replace the laptop with a jumbo; the other is to replace the laptop with a cluster of servers. A Cluster will become a logical node, although there are actually many machines inside this logical node. This can actually form a kind of Scale Up effect, and the scalability of the network will become better. This method can only be used in the permissioned chains. We started with Scale Up and have done some very interesting projects, including working with banks and various organizations. So we have a lot of experience in high-performance permissioned chains.

We also helped SparkPool to design and implement the first version of the mining pool. Some of you may know that SparkPool is a project built by the EthFans community. Later, SparkPool became the largest Ethereum mining pool in the world, and it was shut down last year due to regulation concerns, which is a pity.

It is exactly because of my prior personal experience and ideas that we believe we may attempt to build a permissionless public blockchain, as all conditions appear to be mature. In my opinion, the public blockchain is the most challenging and exciting thing in the whole sector, because it not only needs advanced programming skills but also the integration of diverse competencies. So we initiated the Nervos project with several partners and have been working on it since then.

--

--