Conflux Network’s Economic Model: Block Reward Components Under the Network’s Mining Incentive Model
Part 3: Demystifying the components of Conflux Network’s Mining Incentive Model and how mining rewards are calculated on the network.
In part 2 of our economic model series, we discussed how Conflux Network aims to effectively encourage the various roles within the ecosystem and to properly distribute the limited computing and on-chain storage resources.
In the initial phase, direct builders and ecosystem contributors are rewarded to constantly improve the ecosystem and lay a solid foundation for the entire ecosystem during the cold start phase.
In the operational phase, system maintainers are inspired to promote continuous system upgrading; ecosystem contributors are encouraged to constantly generate value for the ecosystem. Meanwhile, self-adaptive configuration of Conflux system resources is promoted through system resource marketization.
Miners, the major maintainers of the Proof of Work (PoW) system, are mainly responsible for confirming transactions recorded in the system. They are important roles for the stability of the system. Incentives are the main source of miner incomes, so the design of the miner incentive model directly affects the sustainability of the system.
So how do the mainstream chains design their miner incentive models?
For all public chains, especially for PoW-based ones, it is crucial to design a reasonable incentive mechanism to encourage all participants to abide by the rules. The design of Bitcoin’s incentive mechanism is one of the core factors for its success. People say that the foundation of Bitcoin security is that more than a half of its miners are “good men.” But in reality, miners are profit-seeking. They are not “good men” and do not have the virtue of “honesty.” The only reason why they behave honestly is because they can get the highest profit to be a “good” man under the incentive model of Bitcoin.
According to Bitcoin’s incentive mechanism, miners can get a certain amount of Bitcoins as a block reward for each block mined on the longest chain. At the very beginning, the reward for each block is 50 BTC. After every 210,000 blocks are mined, the block reward will be halved. Up to May 12, 2020, the block reward of Bitcoins has been halved three times, which is now 6.25 BTC per block.
Besides block reward, another income source of miners is transaction fees. When a user initiates a transaction, a fee is needed. All the transaction fees within a Bitcoin block will be paid to the miner of this block. In the early stage of Bitcoin development, transactions were few, so the main income source of miners was the block rewards. As time goes by, when Bitcoin has more users, and the block reward has been halved several times, transaction fees will become the main source of miners’ income instead of block rewards. For example, in block 500439, the transaction fee is over 13 BTC, higher than 12.5 BTC of the block reward.
The income of Ethereum miners also consists of block rewards and transaction fees, but it has a few differences from Bitcoin:
1. The basic block reward of Ethereum will not be halved as Bitcoin. In the initial phase, the basic block reward of Ethereum was 5 ETH. In the Byzantium hard fork in 2017, EIP 649 (Ethereum Improvement Proposal) was activated, and then the block reward was reduced to 3 ETH. Later, EIP 1234 further reduced the reward to 2 ETH.
2. In order to price the computing resources consumed by smart contracts, when users initiate transactions on Ethereum, they do not directly specify the transaction fee, but offer a unit price of the transaction fee, which is called gas price. When the transaction is executed, the used gas is computed according to the actual amount of calculation. The amount of used gas multiplied by the gas price is the transaction fee that Ethereum will eventually charge for each transaction.
3. Ethereum generates blocks faster, so there will be more forks. In order to offer a better experience for miners, Ethereum introduced the concept of “uncle block”. Besides the parent block, each block can choose up to two “uncle blocks” and the miner can get additional 1/32 of the basic rewards for each uncle block. The transactions in the uncle block chosen by the pivot block will not be executed, since it does not share the throughput with the system. But the miner can still get a certain reward for it with the amount of:
(8 + the height of the uncle block — the height of the pivot chain block)/8 *basic block rewards.
Next, we will take the Conflux consensus mechanism as an example to analyze the PoW public chain with tree graph structure and talk about our solutions.
Why is the Bitcoin incentive mechanism not available in the tree graph structure?
Conflux Network preserves all blocks to optimize transaction throughput by fully utilizing the network bandwidth, as well as to prevent attackers from discarding honest miners’ blocks through manipulating the tree graph structure. With this design, if we adopt the rule of Bitcoin or Ethereum which offers a fixed reward for each new block, we will face the problem which we call “zero-cost attack”.
Consider that in the Bitcoin network, an attacker is trying to mine a fork chain to compete with the pivot chain (the longest chain). If the attacker succeeds, he can get all the rewards for the blocks on the fork chain; but if he fails, the whole fork chain he mined will be discarded, and he gets nothing from it. In the process, a large quantity of computing power is consumed, high electricity cost wasted, and the attacker also risks losing everything. The cost of launching such an attack on the Bitcoin network is considerable.
If Conflux Network employs a fixed reward as Bitcoin, the attacker, even if the attack fails, can still get the same block reward as normal miners on the network because Conflux preserves all blocks. Under such a circumstance, fixed block rewards mean that failed attackers will not be punished.
By only looking at the results, the failed attacker cannot change the order of transactions or achieve double spending, but this does not mean that he has never compromised the security and stability of the system. On the one hand, if failed attackers will not be punished, miners may not have enough motivation to strictly abide by the block generation and reference rules. At any point they can take a shortcut. And finally, the computing power that abides by the rules may fail to fulfill the required ratio to ensure the system security. On the other hand, although a failed attack will not endanger the security of confirmed transactions, it has influence on the convergence of the tree graph structure. The direct consequence is that the transactions conducted during the attack take longer to be confirmed, and the tree graph structure will also become more complicated and difficult to maintain.
We do not want to see that miners casually violate the consensus rules and even try to launch attacks simply because the incentive mechanism does not punish attempted attacks. Therefore, we have fully considered how to detect and punish suspected “attempted attacks” when designing the incentive mechanism. The final solution is to punish the block that is not propagated in time, whether when it is not propagated in time after generation or when it deliberately ignores some of the blocks it has received as generated.
By adopting a unique Tree Graph structure, Conflux Network improves the throughput of PoW-based blockchain systems processing non-conflicting transactions in concurrent blocks. This way, Conflux improves system efficiency without compromising safety or decentralization.
Similar to Bitcoin and Ethereum, the mining rewards on Conflux Network also include block rewards and transaction fees. Beyond basic mining incentives, storage maintenance rewards are an additional part of miners’ income on Conflux. In this article, we will talk about the block reward components.
The block reward is determined by the basic block reward and the penalty coefficient:
Block Reward = Basic Block Reward * (1-Penalty Coefficient).
The specific number of the basic block reward will be disclosed in the economic white paper which will be released soon. For now, we can disclose that the basic block reward is decided by the total number of the generated blocks in the Conflux Network system. The longer the system runs, the lower the basic reward will be.
As Conflux Network does not discard any blocks, even blocks generated by attackers will be preserved.
Therefore, Conflux distributes each block reward after deducting a certain ratio of the basic reward in order to punish attack attempts. We hope the penalty coefficient of honest blocks is low while that of attack blocks high.
To set the penalty coefficient reasonably, we have to analyze the behaviors of attackers. In the figure below, we use an example to demonstrate that, if an attacker wishes to create a fork chain, he needs to purposely ignore the existence of certain blocks.
To more specifically describe this mechanism, we need to first recall a concept named “anticone-block”. In the Directed Acyclic Graph (DAG), if there is no directed path between two blocks, then they are each other’s anticone-block. If we see the relation shown by directed edges as time order or causality relation, then the anticone-blocks are the blocks of which the relations cannot be settled using directed edges.
For example, in the following figure, B and C are each other’s anticone-block.
In Conflux Network, a block’s block reward is relevant to the number of its anticone-blocks. The more anticone-blocks, the less its block reward.
When an attacker generates a “malicious block,” all the blocks they purposely ignore will become the anticone-blocks of the malicious block, which will cast a financial penalty to the attacker by reducing their block reward. What’s more, the penalty is permanent. Even if their attack succeeds and the malicious blocks become the pivot chain, their relation with and the number of their anticone-blocks will remain the same.
In selfish mining — another form of attack — the attacker may deliberately hide the new blocks for some time before propagation so that other miners’ mining time on the pivot chain will be reduced, and the attacker will have a greater advantage on the pivot chain. Looking at the Tree Graph structure of all blocks in Conflux, the structures formed by fork attacks and selfish mining are similar. Therefore, from the structure, fork attacks and private mining are indistinguishable. They have the same outcomes: slow propagation and high numbers of anticone-blocks. But actually, it is not necessary to differentiate a fork attack or selfish mining. We just need punishment.
In the current Conflux Network system, the punishment of a block b due to anticone-blocks is settled according to the following steps:
In a normal network environment, a new block of an honest miner usually has less than 5 anticone-blocks. In other words, the loss of an honest miner will be less than 0.25% of the basic block reward. For attackers, however, as the time and number of the blocks they hide increase, the block rewards they receive will reduce sharply. Through the increase of hidden blocks, the number of anticone-blocks of honest miners also increases, but their block reward will not be heavily affected because they originally only had a few anticone-blocks.
Our experiment proves that during a fork attack, the block reward will be influenced by the block hiding time (withholding). In the figure below, the horizontal axis represents the block hiding time (withholding time), and the vertical axis represents the ratio of the attacker’s “actual gain” to “honest behavior gain”. The four colors correspond to the attacker controlling 10%, 20%, 30%, and 40% computing power of the entire network. It can be seen that as the block hiding time increases, the block reward of the attacker sharply decreases, and will eventually reduce to 0 after 1 or 1.5 minutes.
In the next article, we will introduce how the Transaction Reward Mechanism of Conflux Network’s Mining Incentive Model is designed.