.bit is a decentralized name protocol developed by a decentralized identity service provider (d.id team). .bit is committed to providing each organization and individual with a globally unique decentralized name that is fully controlled by the user. As the core puzzle of d.id’s decentralized identity blueprint, the .bit protocol was launched in November 2020 and launched on the Nervos CKB mainnet in July 2021, with a cumulative financing amount of US$18 million.

As we all know, although the Nervos CKB team has top-level architectural capabilities and the project itself has a luxurious investor lineup, for a long time, Nervos CKB has received little market attention, low market value, and few ecological applications. .bit was once the most important ecological application on Nervos CKB, so it was also nicknamed "building a high-rise in the desert" by friends. So, what is the reason why Nervos CKB has received less attention from the market in the past few years, and what makes us insist on running .bit on Nervos CKB? I will talk about my views from a developer's perspective.

The reason why Nervos CKB received less attention from the market in the past

In my opinion, the key reason why Nervos CKB has received less attention from the market in the past few years is that it has chosen a completely different technical route from Ethereum: insisting on UTXO + PoW; maintaining isomorphism with Bitcoin; and serving as Bitcoin’s Contract Kernel. The thinking behind this technical route seems out of place in the market environment where EVM has dominated the world in the past few years. The impact of choosing a technical route that is different from the mainstream is:

1. It takes time for the market to understand it;

2. It takes time for developers to become familiar with the new programming model. These impacts have led to the fact that the innovative work of the Nervos CKB team in the past few years has not received attention and recognition.

However, now the entire market climate has changed, and the Bitcoin ecosystem has begun to become the focus of market attention. The market has also begun to realize that the designs of Nervos CKB that once seemed incompatible with the mainstream now seem so forward-looking.

Why .bit runs on Nervos CKB

1. Nervos is isomorphic to Bitcoin and adheres to PoW + UTXO

The reason why the core members of our existing team left Internet companies to enter the Web3 industry was largely due to their identification with the narrative of Bitcoin's founding school and their appreciation of its simple and exquisite design. We like something closer to Bitcoin.

If .bit wants to become a name system that is completely controlled by users, it must run on a sufficiently solid and reliable foundation, so the PoW public chain is an inevitable choice. Today, when PoS and its variants are mainstream, we insist that the PoW mechanism is more solid. In my opinion, the reason why PoS and its variants have become mainstream is not because PoS is more reasonable. One of the important reasons is that it is much more difficult to successfully launch a PoW public chain. Building a PoW ecosystem is a complex project. So far, Nervos CKB is one of the few PoW smart contract public chains that has been successfully launched, and the mining machines have evolved to the ASIC stage, and the mining output has also been halved.

Nervos CKB and Bitcoin are isomorphic, which means they are both UTXO models. The UTXO in Nervos CKB is called Cell, which is essentially an enhanced version of UTXO. In Bitcoin's UTXO model, the spending conditions of UTXO can only be controlled through simple scripts with limited expressive capabilities; while in the Cell model, Turing-complete languages ​​can be used to control the spending conditions of Cells in more advanced programming. Therefore, Nervos CKB provides developers with extremely strong programmability while continuing the simple and elegant design of Bitcoin. As we will talk about later, the UTXO model can also help applications achieve Mass Adaption more easily.

2. Custom cryptographic primitives + Cell as asset container - can help applications implement Mass Adaption

Strictly speaking, .bit is not chosen to run on Nervos CKB at startup. Rather, .bit was an internal project that was originally abandoned and was relaunched with the emergence of Nervos CKB.

.bit was first launched in early 2019. It was originally intended to run on Bitcoin, and application data was stored in OP_RETURN. We completed the development and deployment of the test version, but ultimately chose to kill the project. Our goal is to enable .bit to serve a wide range of organizations and individuals. Therefore, the platform it relies on must meet two conditions at the same time: 1. It is strong and reliable enough; 2. The threshold for use is extremely low. Bitcoin is strong and reliable enough, but the threshold is extremely high.

These thresholds are difficulties that all new users must overcome when entering Web3, and they are also obstacles that make it difficult for excellent Dapp applications to break out on a large scale. They include:

1. Users need to understand and keep their private keys;

2. Users need to first have tokens used to pay transaction fees

For example, you issue a new NFT on Ethereum, and a user with no Web3 experience is attracted by your concept and decides to buy your NFT. He will then go through a series of unfamiliar tasks: downloading the wallet, backing up the mnemonic phrase, going to an exchange to complete KYC and completing the legal currency deposit, and then return to your website to make a purchase. The vast majority of users are unable to complete these tasks independently, and they basically give up on backing up the mnemonic phrase.

For another example, you give an NFT to a user who has just created an Ethereum address, but because there is no ETH in his address, he cannot perform any operations on the NFT. Although there are some gas payment solutions for EVM, it is still a more complicated solution.

We can summarize the past situation like this: All Dapp users must first become users of the public chain; all Dapps must first help the public chain acquire users before they can convert their own users from the public chain user pool.

So how are these problems solved on Nervos CKB? the answer is:

1. Support custom cryptography primitives so that users no longer need to care about private keys

2. Cell, as an asset container, cleverly allows users to no longer need to care about transaction fees when operating assets.

- Custom cryptographic primitives

In other words, unlike other public chains that hard-code cryptographic algorithms into the consensus layer, developers can deploy any cryptographic algorithms on Nervos CKB and call these algorithms for verification when necessary. For example, you can deploy Bitcoin's signature verification algorithm in Nervos CKB, so that your application can verify the signature of the Bitcoin private key. In other words, Bitcoin users can directly use Bitcoin addresses to manage assets on Nerovs CKB. By the same principle, the addresses of all public chains such as Ethereum Dogecoin can directly manage assets on Nervos CKB. We can summarize that all users of the public chain are naturally users of Nervos CKB.

Going further, we can also deploy encryption algorithms that have been widely adopted in the Internet world to Nervos CKB, such as secp256r1. All modern browsers already support the W3C's Webauthn standard, and the secp256r1 algorithm is part of Webauthn. This means that the private key in the user’s mobile phone/computer/tablet security chip can directly manage the assets on Nervos CKB. This is a genius idea! Users without any technical knowledge of Web3 can sign transactions through simple face or fingerprint recognition, and it is completely decentralized. In other words, all Internet users are naturally users of Nervos CKB.

我认为这是 Nervos CKB 设计中最天才的部分!这也是 .bit 项目被重启的直接原因。目前,.bit 业务流程中已经全面支持 Passkey,这使得那些没有 Web3 基础的用户也可以直接使用 .bit。

- Cell as asset container

In the EVM account model, each asset corresponds to a contract, and there is a data table in the contract that records how much of the asset each user owns. When you need to send assets, you need to initiate a transaction that calls the contract and pay the transaction fee from your account. A common problem is that new users often do not have any tokens in their accounts and cannot pay transaction fees. The EVM ecosystem has already seen a solution for transaction fee payment, but overall it is still a relatively complex solution. This solution also cannot effectively solve the problems of new users.

In the Cell model of Nervos CKB, each asset also has a corresponding contract, but how much of the asset the user owns is stored in the Cell controlled by the user. In other words, there is no unified data table to record how much each user holds of a certain asset; instead, each user's own "safe" (i.e. Cell) records how many assets the user holds. .

The interesting point is that Cell itself is composed of the CKB token. The number of CKBs contained in a Cell determines its upper limit of data storage. These data may be the number of certain tokens, or the metadata and image data of the NFT. The meaning of the data is defined and interpreted by the developer. At the same time, network transaction fees are also paid in CKB. That means that when constructing a Cell, in addition to storing asset-related data in the Cell, you can also attach more CKB to the Cell. The additional CKB will serve as a source of transaction fees for future operations on the asset.

This means that even if it is a brand new user, after we send an asset to him, he can operate the asset without making any other preparations! He does not need to care about transaction fees, because the assets he receives already include transaction fees. This is an extremely clever design!

@zhixian once made a vivid metaphor: the assets on the EVM are like a car without a fuel tank. You need to bring a barrel of oil every time you drive. When you give the car to someone else, the other person must also prepare the gasoline. Only people can use this car; the assets on CKB are cars filled with gas, and anyone can start and drive them directly. At the same time, due to the design of abstract cryptography, this car is completely independent of the driver's skills (that is, it does not require users to understand and manage private keys), and everyone can drive it.

To sum up, the reason why .bit chooses to run on Nervos CKB is because only Nervos CKB can not only provide a solid and reliable operating platform for .bit, but also greatly reduce the threshold for using .bit, making .bit truly Ability to target large-scale users. I believe that any developer who wants to build a great product will want their product to be targeted at a larger market, and Nervos CKB is the best choice in my opinion.

The rise of UTXO programming paradigm

It is easy for developers who are new to the ecosystem to look at the Nervos CKB programming model (i.e. the extended UTXO model) with experience in the account model, and then feel various discomforts. For example, why is global state management so complicated? Cell preemption is such a headache. My view on this is that the account model and the UTXO model each have their own pros and cons. In some scenarios, the account model is efficient, such as the management of global status; in some scenarios, the UTXO model is more efficient, such as the aforementioned asset built-in transaction fees. If you always stand on the basis of the account model, looking at the UTXO model is like looking at a monster. In fact, in the early days of Ethereum, many developers who were accustomed to Internet application development were not accustomed to programming on EVM; for a long time after the birth of Bitcoin, it was regarded as monster.

When you are new to UTXO programming, you may face some tricky challenges. But don’t worry, these can often find corresponding solutions and discussions on the Nervos CKB forum. In my previous series of articles "Understanding CKB Application Development from DAS", I discussed some of the challenges we have encountered and the corresponding solutions.

我认为,随着 UTXO 公链承载的资产越来越多,基于 UTXO 编程的意义和必要性开始变大,开发者对 UTXO 的理解也会加深。UTXO 编程终将成为一种流行的编程范式。与 Bitcoin 同构的,具有强大可扩展性的 Nervos CKB 也将作为 Contract Kernel of Bitcoin 而存在。

#BTC #CKB #CKB是最好的BTCL2