Skip to content
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] Optional Optimizations #3

Open
SueNEO opened this issue Feb 5, 2020 · 0 comments
Open

[Governance] Optional Optimizations #3

SueNEO opened this issue Feb 5, 2020 · 0 comments

Comments

@SueNEO
Copy link
Owner

SueNEO commented Feb 5, 2020

Six optional optimizations are listed as follows. We recommend to accept the third (Divisible NEO) and implement it.

1. Permanent Inflation of GAS

As it discussed on #326.

In this system GAS becomes a deflationary currency over time. This means it encourages the hoarding of GAS rather than the spending of GAS. We see this time and time again with crypto assets that try to be a “means of transfer.”

If something is meant to be used as good means of transfer (utility coin) as opposed to a store of value it SHOULD be inflationary. GAS will not be able to fulfill its main purpose of utility if it is a deflationary currency.

To make matters worse, the deflationary nature of GAS is accelerated by not only lost GAS, but also by NEO black holes which continually accumulate GAS, and remove it from the system entirely. We can combat black holes by making sure that the amount of GAS lost to it always remains below the inflation rate. This makes the GAS supply more stable, and disincentivizes users from hoarding GAS.

Encouraging users to spend GAS on network fees and system fees (as well as for purchases outside of the network) will, in the long run, be much more positive for the Neo ecosystem.

We are extremely lucky to be able to leverage the dual token model to have one asset be used as a store of value, and one asset to be used as a means of exchange. Deflation is good for a store of value, and inflation is good for a means of exchange.

Making GAS inflationary solidifies the use case and separation for NEO and GAS instead of blurring the lines.

So by making GAS inflationary we have achieved Goal 3 which is encouraging use and spending of GAS in the Neo ecosystem.

Also, permanent inflation of gas makes the incentive process works well in long term.

2. Dynamic Governance Cycle Length

For simplicity, fixed 180 days of cycle length is used in governance process. It may
be not the optimal choice so there is a better way to let NEO holders to decide
the cycle length in the governance process.

Actually this optimization will make NEO holders spend more time and energy
in Neo governance. Carefully to attach this optimization.

3. Divisible NEO

Currently the total supply of NEO is 100, 000, 000. The precision of NEO may be not enough in many scenarios such as payment and exchanges. The value of NEO had reached to more than $100 in history.

It is a no harm optimization to make NEO divisible or even infinite divisible although there may be a bit more complex in implementation. See more discussion on #285 issuecomment-403863134 as a reference.

4. Election Expenses

All who want to be a candidate of consensus node should lock some NEO from the time it becomes a candidate of consensus node to the end of current governance cycle as a election expenses.

Actually candidates don’t pay anything. They only lock their NEO but they cannot get GAS through the locked NEO. In other words, they only lose the opportunity cost of participating in governance process.

There are three main reasons for this optimization:

  • increase the responsibility of candidate and consensus nodes because they lock token on Neo network

  • prevent the spam of joining election to reduce the voting cost of voters

  • increase the benefit for voters

#5. Patch of Black Hole Account

Black hole accounts refers to accounts without the private key kept by anyone, which means the balance of such accounts will never be spent.
.
There would be several problems because of black hole accouts. Follow the link neo-project/neo#285 to see more discussions about the black hole accouts. It is not a big issue for GAS because there are inflations (or GAS release) on GAS and GAS supply will never stop especially if the optimization of Permanent Inflation of GAS is used. But for NEO, there is no inflation.

In short term, it is not a big issue because the balances in black hole accounts are low and they will never affect so much.

But in long term, if there are 1% NEO loss per year, more than 50% NEO will be lost in 70 years. It is a bad signal for the security and decentralization of Neo network. Also the voting rate of Neo network will be pretty low again. In addition, if someone do it in purpose and produce some look-liked black hole account but keep the private key for decades, the one may affect the market or affect the governance process of Neo.

TODO: Binding GAS & NEO

6. Matching GAS with the Supply and Demand of On-chain Resources

GAS is the utility token on Neo network. the supply and demand of GAS is very important to keep Neo network runing stably.

Actually the ideal scenario is the GAS supply is exactly the same as the demand as well as the network resources. But in real, it is almost impossible.

Ethereum has gas price to adjust the supply and demand and EOS also has their own way to adjust it.

Imagine two extreme cases:

  • If the TPS of Neo network is 1, each transaction cost 1 GAS, and currently there are totally 100, 000, 000 GAS in circulation, GAS will be totally useless.

  • If the TPS of Neo network is 100, 000, 000, each transaction cost 1 GAS, and currently there are totally 1 GAS in circulation, the high TPS will be totally useless.

Above all, the GAS and network resources will be never matched perfectly.

We recommend to introduce the gas price mechanism like Ethereum, which means, introduce a factor specified by user on transaction fee, to Neo network to adjust the GAS supply in market.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant