-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Governance] Incentive #1438
Comments
Sounds good idea and reasoning, I remember this draws with @vang1ong7ang. We just need to be aware about the current PR opened about burning system_fees, better to discus this first before merging. Otherwise we would need to revert that. #1430 |
Do you remember we discussed the redistribution matrix in Ouro Preto? The matrix is used here to make the analysis of redistribution problem much easier. |
I remember, @vang1ong7ang, very good job. |
Public permission-less blockchains are open and distributed systems with diverse groups of participants. A well-designed crypto-economics model is to provide incentives so that participants' pursuit of own economic interests leads to desired emergent behaviors in alignment with the protocol, to contribute to the blockchain network's success.
More specifically, the design of a crypto-economic system must provide answers to the following questions:
Incentive layer is to solve such problems with a robust economic model.
Incentive Abstraction
We can only use the token on neo to incentive participants because it is on-chain incentive. The input of incentive process are the balances of all accounts and a sequence of governance transactions while the output of incentive process are the new balances of all accounts. The changes of each balance reflect what we incentive for.
Incentive Metrics
The following metrics are used to make comparasions between incentive solutions.
Incentive Solution
The solution of incentive layer will be proposed in the following sections.
Incentive layer consists of two parts:
income
where the system income and how to get the income
redistribution
how to redistribute the system income to incentive good behaviour and make the network sustainable
Token Model
The dual token model (a.k.a NEO and GAS) is one of the distinctive features of Neo. Divisible NEO is proposed as an optional optimization in #1439.
It is hard to say the dual token model of Neo is totally better than single token models like Ethereum and EOS, but we believe the dual token model has its unique advantages.
Actually mixing utility token and governance token is a dangerous way and it limits the maximum activity of the network. There is a competition of occupancy rate between utility token and governance token in single token model and governance token is related to security and utility token is related to activity. In other words, the network will be in danger and easily to be attacked if the network is popular enough because the more utility token, the less governance token.
Inflation
We recommend to keep the way of GAS inflation (we treat the GAS release is actually a kind of inflation) on Neo2 as a respect to supply model of NEO and GAS because it would works well in the foreseeable short term (There is no inflation for NEO in our dual token model).
System Income
System income comes from GAS inflation and transaction fees on Neo network.
Transaction fee consists of system fee and network fee.
Redistribution
Before reading this section, you need to know how Neo2 distribute the GAS while consensus per block. Actually in Neo2, system fee is distributed to all NEO holders, and network fee is given to the current speaker (one of the consensus nodes who propose the block).
The system income will be redistributed to different roles on Neo network. We have the following equation to describe the rule of redistribution.
We define the earning vector as the vector of earning expectations of all the roles in Neo network and we consider 3 roles in Neo network, which is, consensus nodes, voters and NEO holders. One can play multiple roles at the same time.
Note that we are using earning expections instead of earnings because it is average earnings. We keep the mechanism in Neo2 to give a part of the transaction fee to the current speaker in each block instead of all the consensus nodes. So here we just calculate the earning expections because such part of transaction fee will be distributed to each consensus nodes almost equally in long run..
We define the income vector as the vector of inflation and transaction fee.
The redistribution matrix shows in the following in our solution.
We use the reserve rate to adjust the distributed GAS to the NEO holders. It is a number between 0 and 1. r = 0 means NEO holders never get GAS unless they participate in governance process while r = 1 means NEO holders never get additional GAS in governance process.
We recommend to choose the reserve rate as small as possile to incentive the voters, but better to make all NEO holders be able to vote or transfer their NEO in
90
days. In other words, if I have1
NEO without GAS, I can have enough GAS for me to vote or transfer my NEO90
days later. Then NEO holders don't need to buy additional GAS from elsewhere to participate in the governance process of Neo network.We define a weight vector as following:
The following equation is satisfied.
The text was updated successfully, but these errors were encountered: