A detailed explanation of the recently launched star public chain DFINITY's token economy and governance mechanism
Original Title: "New: Detailed Explanation of ICP's Economic and Governance System!", Author: blockpunk.
The Internet Computer is the world's first fully adaptive blockchain. The Internet Computer network, along with the special node machines that support the network, operates under the complete control of the Network Nervous System (NNS).
The NNS is a decentralized token governance system that is completely permissionless. Anyone in the world can submit proposals to the NNS, and if a proposal is voted on and accepted, it will be executed immediately, with the entire process being fully automated, allowing the network to adapt and evolve in real-time.
The NNS can execute tasks at any time, such as upgrading node machines to update protocols, securely fix applications, adjust economic parameters, or create new subnet blockchains for scaling. It operates within the protocol of the Internet Computer and can perform the aforementioned upgrades and modifications without stopping the blockchain or compromising security.
The NNS allows users to create voting neurons using ICP governance tokens. Anyone can create a neuron, and we expect thousands of neurons to be created after the genesis, which will collectively express the community's will and mediate through algorithms.
Neurons function like a savings account, setting an exit period, the length of which is configured using "dissolve delay." The voting power of a neuron, as well as the voting rewards it can earn, is proportional to the amount of ICP placed in the neuron, the length of the "dissolve delay," and the "age" of the neuron.
Neurons can vote manually or automatically, following a follow model rather than a delegate model, allowing neurons to automatically follow other neurons in a fluid democratic manner.
Neuron holders are placed in a game of cryptoeconomics, where the system incentivizes the behavior of voting "for or against" proposals. Holders can configure their neurons to follow governance, economic, and security experts, allowing the neurons to vote automatically in an ideal manner, thereby promoting the long-term increase in ICP's value.
This is the first time in history that self-guided, automated governance has been achieved through decentralized infrastructure, aiming to compete with proprietary centralized infrastructures managed by commercial organizations' leadership and boards.
Governance Overview
The purpose of the NNS is to manage the Internet Computer network in an open, decentralized, and secure manner. It can fully control all permissions of the network.
For example, it can upgrade the protocols and software used by the node machines that support the network; it can create new blockchain subnets for scaling; it can split subnets to balance network load; it can configure economic parameters, such as the exchange rate between the gas token Cycles and ICP; in extreme cases, it can even freeze malicious software containers to protect the network, and so on.
The NNS operates by accepting proposals and deciding whether to adopt or reject these proposals based on the votes of the "neurons" created by network participants. Neurons are also used by participants to submit new proposals. After a proposal is submitted, it is either accepted or rejected, and this process is almost instantaneous, or it may take some time, depending on how all neurons vote.
Each proposal is an instance of a specific "proposal topic," which determines what information it contains. For each type of proposal topic, the NNS has a corresponding system function that is called whenever a proposal of that topic is accepted.
When a proposal is accepted by the NNS, it populates parameters by extracting information from the proposal's content, thereby calling the corresponding system function. Each type of proposal belongs to a specific "proposal topic," such as "#NodeAdmin" or "#NetworkEconomics," which determines the details of how the proposal is processed. To prevent users (neurons) from spamming proposals to the NNS, a fee will be charged to the neuron that submitted the proposal if it is rejected.
The NNS decides whether to adopt or reject proposals by tallying the votes of the neurons. Anyone can create a neuron by locking the native token (ICP) of the Internet Computer, with that balance being held in an internal ledger of the NNS. When a user creates a neuron, the locked ICP balance can only be unlocked by dissolving (i.e., "destroying") the neuron.
Users are encouraged to create neurons because they can earn ICP rewards when voting on proposals. The rewards come in the form of newly minted ICP allocated by the NNS. The amount of ICP rewards allocated to neurons is based on the following factors:
The amount of ICP locked
The remaining minimum lock-up period ("dissolve delay")
The duration of the neuron's existence
The proportion of votes it participates in, as well as the total voting activity of all neurons
At any time, each neuron has a current configured "dissolve delay." This determines how long it will take to dissolve if it is in "dissolve mode." Once a neuron enters "dissolve mode," its dissolve delay decreases over time, like a kitchen timer, until it reaches zero, at which point its owner can perform the final action to unlock ICP.
For neuron owners who want to maximize value on ICP, the "dissolve delay" creates a reasonable economic incentive. Neuron owners can freely configure the "dissolve delay," with a maximum delay of 8 years. Once created, there is no way to speed up the dissolution process other than waiting for time to pass. The higher the "dissolve delay," the higher the voting rewards paid by the NNS, encouraging users to engage in the economic game, creating a long-term economic incentive mechanism where users vote for governance based on a very long-term vision.
During complex governance matters, neuron owners may find it impractical to manually vote on every proposal submitted to the NNS: first, a large number of proposals will be submitted to the NNS, and most neuron owners may not have the time to evaluate each one; second, neuron owners may lack the necessary expertise to assess the proposals.
The NNS uses a form called "liquid democracy" to address these challenges. Neurons can set follow rules, allowing them to automatically follow the votes of a group of neurons on any proposal. A universal lazy follow rule can also be defined, allowing neurons to automatically follow votes even on proposal topics that have not been set, earning rewards. Assuming neuron owners manage how their neurons follow other neurons with the network's best interests at heart, this also aligns with their own economic interests since they have locked ICP tokens.
It is expected that a significant portion of the total supply of ICP will be locked in governance neurons to earn rewards. This ensures the self-management of the Internet Computer, as it prevents attackers from acquiring a sufficiently large stake. Since neuron owners may wish to maximize their returns by voting on all proposals, most neurons will be actively managed or configured to follow other neurons so they can vote automatically.
In practice, once the followed neuron votes on a proposal, the majority of other neurons will also vote due to the follow relationship. This means that the NNS can typically quickly and definitively determine whether the overall voting power represented by all neurons wishes to adopt or reject a proposal and make corresponding decisions.
ICP Token
ICP is the network's native utility token, playing three key roles in the network:
Facilitating Network Governance
ICP tokens can be locked to create neurons, participating in network governance through voting and earning ICP inflation rewards.
Producing Cycles for Computation
ICP can be converted into "cycles," serving as a gas token to power computations, which are burned during use. The NNS dynamically adjusts the ratio of ICP to cycles to ensure that users of the network can always create new cycles at a nearly stable actual cost, making the cost of acquiring gas stable and predictable.
Rewarding Participants
The network mints new ICP to reward those who perform essential work, enabling the network to operate, including: providing "voting rewards" to participating neurons; providing "node rewards" to service providers running node machines.
ICP Ledger
The ICP ledger is set within the NNS, recording all ICP balances in a spreadsheet format. Each row is called an "account," which has two fields (i.e., two "columns"):
Account Identifier
A byte, derived from a unique value based on the identity of the controller of the "control" account. Currently, there are two types of controllers: owners of key pairs; a portion of smart contracts (containers) within the NNS. The account identifier is derived from the concatenation of the hash domain separator, the delegator ID, and the sub-account (which is zero if no sub-account is provided).
Balance
A positive integer, with the smallest unit being one-millionth of an ICP, representing the amount of ICP held by the account.
When the controller is a public key or a smart contract (container), they can perform the following operations on an account:
Send
Transfer a portion of the ICP balance to another account. If all ICP is sent to another account, the original sending account no longer exists (i.e., it is removed from the ledger).
Notify
When the recipient of the funds is an account of an NNS container (e.g., the governance container's account), the sender can request the ledger to notify the receiving container of the transfer received. The recipient can then take action based on this notification. Two examples of using this capability are creating a neuron and refreshing a neuron's stake. These will be detailed below.
Operations requiring interaction between the ledger and the governance system (neurons):
Create Neuron
When the controller is a public key holder, they can lock a portion of their balance in a new neuron. Technically, creating a neuron involves two stages: first, transferring the ICP to be staked to an account of the governance container (corresponding to a new neuron); then notifying the governance container of the received transfer, which will update its internal records of neurons. To transfer these ICP back to a different account, such as the original account, where they can be controlled again like a normal balance, the relevant neuron must be fully dissolved. The newly created neuron is controlled by the private key of the delegator who created it.
Refresh Stake
A neuron's stake can be increased by transferring to its address/account in the ledger and notifying the governance container of the incoming transfer. Refreshing the stake will proportionally change the neuron's maturity and age. For example, if the stake doubles, the maturity and age will be halved, and the age reward will remain the same (in absolute terms).
Token Economics
Neurons provide the opportunity to earn rewards through participation in governance. Rewards are distributed in the form of increased neuron maturity to those voters, and as maturity accumulates, it ultimately produces new neurons containing the minted ICP. However, the overall economic benefits of obtaining a new neuron will also fluctuate with the value of the locked ICP balance.
To maximize returns, neuron owners have a strong incentive to ensure their neurons participate in every vote to earn the maximum possible voting rewards, and to assess which proposals best promote the overall value growth of the network before voting on them.
Dissolve Delay
When someone wants to sell their locked ICP balance, they will achieve maximum benefit if they can unlock and sell it at the exact moment in the future when it reaches the highest possible value. If neuron owners vote with a long-term perspective to maximize the network's future value, they will gain the greatest returns from the network's long-term value growth. For this reason, the NNS incentivizes neuron owners to extend the dissolve delay as much as possible by offering larger rewards.
Since neuron owners' votes are more useful in decision-making when they have a long-term vision, the NNS also gives neurons with longer dissolve delays more voting weight, while neurons with a dissolve delay of less than six months are completely unable to vote.
Of course, because the locked balance can be transferred, this scheme reduces the benefits to the network, as it allows neuron owners to choose to "sell their neurons" at any time, even if they have to discount relative to the unlocked balance.
51% Governance Attack
A key security issue is preventing attackers from gaining 51% of the voting power or swaying those unwise voters to successfully harm the network. (The term "attacker" here also applies to voters who wish to harm the network, those who inadvertently cause negative outcomes, and those who may simply concentrate power excessively.)
Fortunately, the immense value locked in the NNS makes the cost of acquiring such voting power very high. Additionally, the required investment for an attack would be difficult to recoup, as any damage to the network would significantly devalue the already purchased and locked ICP. Even if attackers attempt to hoard a large amount of ICP, the vast majority of ICP supply is locked in neurons for rewards, making it impossible to quickly acquire unlocked ICP on exchanges. This forces attackers to slowly build their positions over time, and the buying pressure from large purchases of ICP would also drive up the ICP price, making purchases increasingly expensive.
Calculating Voting Rewards
Forecasts indicate that 90% of the total ICP supply may be locked in neurons. Regardless of the current level of locking, a fixed amount of ICP inflation rewards will be allocated, allowing participants to earn greater rewards until the participation rate reaches 90%, persuading those who are currently not participating to join.
We estimate the required return as a percentage of the current supply and allow this percentage to decrease over time to account for the risk of declining locked balances as the network becomes more stable. The initial inflation may be 10% of the total supply (annualized), and over time, this percentage will gradually decrease until it reaches 5% after eight years.
Algorithm
A neuron's maturity starts at 0 and increases with voting activity. When a neuron's maturity exceeds a certain threshold, it can produce a new neuron containing the minted ICP, resetting its own maturity to zero.
The amount of minted ICP in the new neuron is expected to equal the ICP locked in the parent neuron, factored by the maturity of the parent neuron. For example, a neuron containing 100 ICP with a maturity of 10% can produce a new neuron containing 10 minted ICP tokens. The dissolve delay of the newly created neuron is only one day, and if needed, the ICP locked inside can be easily retrieved.
There is an approximate equivalence between a neuron's maturity and the voting rewards it has collected, which have not yet been reclaimed through producing a new neuron. (This equivalence is approximate because maturity only determines how much ICP will be in the spawned neuron, as the "spawning" operation has a degree of uncertainty.)
Every 24 hours, we must calculate how much to increase the maturity of each neuron participating in voting. We start by calculating the maximum amount of ICP that could be created and distributed as rewards, which will reflect in the increase of neuron maturity. Once we have this amount, we can calculate how much relative share of the rewards each neuron should receive, considering factors such as the amount of locked ICP, configured dissolve delay, and age.
We derive the maximum amount of ICP that can be minted and allocated from the current ICP supply and the number of days since genesis. First, this equals 10% of the ICP supply divided by the number of days in a year. Over eight years, this number will decrease to 5%. Note that since the ICP supply may grow or decline during this period, voting rewards may not practically decrease by half.
The inflation rate in the first year is 10%
The inflation rate in the eighth year after genesis is 5%, remaining constant thereafter
The inflation rate is a quadratic function of time
Let the inflation time be G, and the total reward R(t) at any time t between G and G+8y is given by:
R(t) = 0.05 + 0.05[ (G + 8y - t) / 8y ]²
R(t) = Rf + (R0 - Rf)[ (T - t) / (T - G)]²,
where R0 is the initial rate (10%), Rf is the final rate (5%), and T is the time when the rate stabilizes (G + 8y).