Crypto-Economic Design for Scalability and Sustainability
This is the fifth and final post in a series exploring the key ideas behind the development of Nervos. Today, we focus on our crypto-economic model, which is designed to optimize the long-term sustainability and growth of the network.
Good Crypto-Economic Design
We have often spoken about the unique challenges involved in designing a blockchain. It is software, but it presents many of the characteristics of hardware. For instance, once a public blockchain is operational, it is very difficult to change the underlying rules governing the protocol.
Like hardware, a blockchain must be thoughtfully designed from the start, effectively solving as many problems as possible before the system is live. In particular, the system must be designed to be sustainable. This is a design goal that has been top-of-mind for our team since we began building Nervos CKB two years ago.
Incentive Structure for Healthy Growth
The basis of any crypto-economic design is its incentive structure. Public blockchains should be built to operate for decades and beyond, so it is important that an economic model addresses not just the consensus process, but ensures the long-term sustainability of the overall protocol as well.
The network should provide a sustainable way to compensate its security providers. By maintaining a meaningful intrinsic value of the blockchain’s native token, a community of miners or validators can be rewarded while still protecting the value of the asset underlying the network’s security model.
Enduring decentralization of the network is crucial; there should always be a low barrier to full node participation and the resources of the public network should remain efficiently and fairly allocated.
A Sustainable and Decentralized Layer 1
The Layer 1 protocol of the Nervos Network, the Common Knowledge Base (CKB) has been designed to be a sustainable, preservation-focused smart contract platform. CKBytes, the native tokens of CKB, represent rights to occupy the blockchain’s state storage.
The protocol constrains state storage growth through its monetary policy and collects state rent from state users through a “targeted inflation” structure. This solves a problem found on other blockchains, where state no longer in use (such as the EOS ERC20 contract on Ethereum) must be stored indefinitely by all nodes, at no cost to the contract originator.
The primary utility of CKBytes is similar to the concept of “estate” in a preservation use case, but can also function as money, when used to transfer value or pay transaction fees. Nervos CKB facilitates User-Defined Tokens (UDTs), allowing permissionless creation of customized tokens to represent different types of assets on the network, without the need to build a new public blockchain from scratch.
Nervos CKB is designed around the “Cell model”, which is inspired by Bitcoin’s UTXO model, with cells containing arbitrary data. Like CKBytes, UDTs are stored in cells. Cell data can be state, such as ownership of a user-defined token, or code, such as the logic controlling a token’s operation.
Cells are also immutable: once they have been created, they cannot be changed. Cells serve as both the inputs and outputs of transactions and are the elements that comprise the global state of CKB (just like UTXO’s in Bitcoin).
The data model of CKB is different from that of Ethereum and other account model blockchains. Instead of state being centrally aggregated in smart contracts, users own their cells. This allows for straightforward state rent and mitigates state explosion issues caused by the tragedy of the commons. The owners of UDTs (stored in cells) are truly owners — they have full utilization of the cells that store their token data.
A Decentralized Economy
Crypto-economic design is one of the more complex aspects of blockchain design and one of utmost importance. We believe a framework of incentives and capabilities that allows a broad, decentralized, sustainable, and cooperative ecosystem to grow and flourish is essential, given that the success of the Nervos Network will ultimately be determined by contributions of the people, developers, and projects that utilize it.
For discussions or questions check out one of our community Telegram channels: English, Korean, Russian, Japanese, Spanish, Vietnamese and Chinese and join the conversation on Nervos Talk