-
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
NEO3 Governance Mechanism #1446
Comments
A very interesting idea.Somewhat similar to the Chinese People's Congress system.Incentives for committee members can be viewed as salary for performing management work.Indeed, a simple majority obeying a minority strategy may have a majority tyranny. |
I understand the goals here but I think there may still be a transparency problem. NEO holders may be the ones electing the members of the committee, but there's no guarantee that the final proposal is a reflection of their faith. Having a small number deciding off-chain in this way is just a little too "behind closed doors," and there's no veto for NEO holders on what they come forward with. Could we improve your solution by requiring potential delegates to propose a manifesto, with their desired consensus/oracle/IR nodes and network policy settings? NEO holders could then vote on-chain for their preferred candidate in the same way as proposed, and you can take the most approved manifestos and have the delegates reach the 2/3 compromise. By requiring the final proposal to fall within the bounds of the manifestos as voted on by NEO holders, I think it would help ensure that the final decision was a good reflection of the votes. There may be situations where the final proposal needs to fall outside the bounds of the original proposals, in these cases I think it would be good to have the ability for NEO holders to veto. It would be up to the delegates responsible for the final proposal to justify the differences to the satisfaction of the voters. |
I think the committee has too much power without watcher and I suggest that it can be split into two groups. One for making the proposal, another for making a decision. Both are voted by neo holders.
|
Interesting discussion.. typically, the strategic decisions are made by community debates,but no "official" workflow exists for that. Regarding pricing, I think that CN can decide on that, based on the proposal they submit before voting period (limiting costs up and down). CN represent Neo holders also to select oracle nodes (and count), neofs nodes...because all of the protocol depends on the blockchain, and if CN are not good, nothing will work anyway. Neo holders should also decide CN count. |
i don't like the idea of governance committee. they could buy votes and we go back to squard 1 your should keep vote decentralized as much is possible also i dont like the idea everybody should vote i will try to explain in democracy many rule over few because they are many imagive everybody vote sun is "green" this could be correct because many vote sun is green , so i propose voter should pass a test to be eligible to vote. |
I may be in the minority, but I actually really like this idea and have pondered a similar system in the past. I think one of the things we need to consider is that the average NEO holder doesn't have the knowledge to make informed voting decisions - nor do they care to. Most people are too busy just trying to survive day to day to also worry about making decisions on blockchain proposals. However, people often do know who they trust and share similar values with to represent them in that decision making. Perhaps I am wrong, but sometimes I think we are so far into the weeds and care about this stuff so much, we assume everyone else will too. A few things I would consider:
I acknowledge that the system as proposed is not perfect, but I would rather have a smaller pool of informed people who really care making decisions about the platform, than a large pool of people who aren't and don't. If there is enough members of the Governance Committee, I feel it could still be decentralised enough to prevent concentration of power, knowing also that NEO holders are also able to remove anyone who they feel isn't representing the best interests of the chain. |
I'm trying to separate the different roles in the blockchain. In fact, the committee is likely to appoint itself as a consensus node. But logically, they are two different roles. |
But the large wallet can send his neo to different addresses. We have no way to detect in the system whether different addresses belong to the same wallet. |
HI erik as i mentioned above , those people who can vote they should pass every quarter some kind of skill test to be eligible to vote. read some "Plato" and u will understand what i mean |
A voter who passes the test means an elite vote.It would be a good proposal if we could have a test to determine whether voters are elite.But it is very difficult to implement this test method on the chain.Even in reality, in some countries with indirect elections, it is difficult to do this, and it may eventually be reduced to a monetary politics. I think before we discuss this, we should first determine the probability that this committee system can correctly express the views of voters.I did a calculation with my colleague a few days ago: We assume that there are three voters, ABC, from whom any individual is elected to represent the committee, and the probability that the elected member has P is consistent with the voter's opinion. In the end, for a person in ABC, the probability of his opinion can be correct publishing is more than ten percent. Of course, my calculations are rough. My colleagues wrote some programs, and the final estimate was about 30 percent. |
We should just allow candidates for the governance committee to specify their preferences before gathering votes. For example, maybe one candidate prefers low tx fee and inflation, another candidate has strong preferences for certain consensus nodes etc. It could be optional, with these things being specified during registration as a delegate. I think this is a good enough start in helping make sure that the committee has produced a result that is consistent with the votes. |
hello , I didn't mean elite but people who are sophisticated and worthy to vote , those people are hard to manipulate as simple people are easy to manipulate u can see that every day |
what about people who vote need to lock their NEO for x days before voting take place. |
We could perhaps use NeoID to overcome this issue, and require voting wallets to have some kind of verified identity. We don't need to know who they are for the purposes of voting, just that they are an unique person. Again, I recognise there are issues with this - there are good reasons for people to have more than one wallet and not wanting to attach ID to all of them. There is also an issue of what identifying property would be required and what is considered "verified." Further, NeoID has not been finalised. However, if we're talking about electing people into a position of power, it could be problematic if people can have disproportionate influence from the shadows. I think it is at least worth consideration. |
Should we consider the incentives for committes? |
I think there should be incentives. But it is not necessary to decide immediately. We can advance the governance mechanism first. |
I like this proposal, but i have two questions
|
If we lock NEO while it is being used to vote, we limit the ability for an exchange to vote since it will affect the exchange's liquidity. Aside from that, it's been argued in the past that exchanges have a right to vote so that they can fulfil their responsibility as custodian for those coins. I think the only thing we can do is encourage the adoption of non-custodial exchanges, fortunately Neo has very good ones. |
i think the delegated committee mechanism is an elegant way to systemize the governance scheme for Neo. It is efficient, executable, and tested in the more traditional organizations. On the macro side, the governance scheme should be carefully studied along with some other grand topics that has been discussed recently:
On the micro side, a detailed scheme to clarify the election process, scope of responsibility, decision making process should be proposed:
|
a few interesting pieces presenting an alternative approach applying liquid democracy: Vitalik piece about futarchy: |
Thanks for the clarification @erikzhang , I think it's a good idea. I just think we should enforce that the proposal is to have institutions as committee members, not people, and the intention of having them to share responsibility of running nodes. It makes a whole world difference. Example: if we say person X (comittee member) is managing a node, we know its a very weak trust point, but if its a company, with values involved, its a whole different story. People can easily collude to break the system and take profits, but companies cannot, specially if they are big ones. |
For me it is the opposite. I would rather vote for a person that I trust to be a committee representative instead of a faceless organization. I agree that it is likely better to have such institutions physically running consensus nodes since they are able to provide better hardware and security to the network, but I would not trust them as committee members. |
|
Don't get me wrong @EdgeDLT, I would vote for you... but only you 😉 |
@shargon, it looks like to me that each member can run a CN, but it's not a 100% rule... so it could be that one member runs 90% of nodes, and some members run no nodes, if they agree to. |
I have been thinking about this proposal for some couple of days. In fact, it looks like we are changing the voting from "vote to ensure a trustable network" to "vote to ensure a well managed network", something like that. Perhaps, I need to think a little bit more and discuss off-chain to have more insights. |
I like the idea of governance committee. In neo3 there will be several roles and being realistic, most users will not have time or interest in choosing each option. This way of delegating facilitates the election process and also opens up new possibilities for delegation. Users can trust an entity/candidate who is highly reputed for his honesty and not exclusively for his technical level, and he will choose the best technical option that guarantees his level of trust. There are some things that are not totally clear to me;
|
@igormcoelho If we are assuming that most committee candidates are also going to be running nodes, then I would agree, but I don't think that is necessarily the case. In fact I think it may be better to have no crossover at all between committee members and CN operation. It gives way too much power over the network. They should set the policies and select the best node operators, not do it all themselves. |
I concur with @EdgeDLT IMHO there should not be any overlap between committee members and CN operation. I also think that a bicameral committee might be worth considering. |
@EdgeDLT to avoid getting too deep in debates wheater individual or institution is the committee members, I have a proposal to make:
Could @erikzhang consider changing the word |
In the new mechanism, you can only vote for one candidate, unless you spread NEO into different addresses. This makes each NEO weight the same.
I think the committee needs very little incentive. We can think about it and decide later.
CN's rewards are currently very small.
No.
I don't think you can prevent them from off-chain interaction, even if you put all the processes on the chain.
NEO can participate in voting only after it is locked. |
As we mentioned in the our proposal of governance #1437
Maybe liquid democracy can be introduced to the governance mechanism, and it will provide better pareto efficiency. And about the cost, as a reference, Implement Liquid Democracy on Ethereum: A Fast Algorithm for Realtime Self-tally Voting System, which proposed an algorithm even for real-time voting:
|
@neo-project/everyone I have updated the proposal. Please review it again. |
This is good for me, I think that it's better and simpler for the users. |
Agree |
Yes. Simpler and clean. +1. |
Should they automatically become a consensus node, or gain the right to select a consensus node (including having the option to run it themselves?) I think this is an important distinction to make. There is still the potential for confusion here; are NEO holders being expected to vote for the best committee members, or the best consensus nodes operators? There will be crossover in those roles in some cases, but they are not necessarily going to be the same entities. In this case, it doesn't seem as simple as proposed. We would still be requiring NEO holders to select both committee members and consensus nodes, except we may also need them to juggle votes away from their preferred committee candidates in order to move better CN operators to the top 7. If each of the top 7 are able to delegate to a CN candidate, I think we avoid this issue as we can expect those members not suited to run nodes will select strong CNs. If the NEO holders have a problem with a particular CN, they can vote against the committee member and the process remains intuitive. |
Maintaining consensus nodes, I think, is the most important task for the committee. So when people vote, they actually know about it(Voting committee is also actually selecting consensus nodes). Therefore, for me, it is acceptable to vote for the first seven as consensus operators. |
Maybe we should open a new issue to discuss the incentive model. Q1. How to incentive the committees? |
If it's not being adjusted, @doubiliu will help do it. |
I'm working on it. |
Expecting |
Whether we are voting on topics, voting for committee members, or voting on consensus nodes themselves, I do believe we will run into this problem. Perhaps only 5-25% of the user base feels they are even qualified to make a informed decision. I think the STEEM dPoS system handled this problem very well by allowing voting by proxy. The idea is, I might not have the technical knowledge to make decisions, nor may I have the time to keep up with what is going on in the ecosystem, however I might trust EdgeDLT to make decisions, therefore I will proxy my vote to him. If he has 1000 NEO, and I have 1000 NEO, his votes are now weighed at 2000 NEO and I cannot cast my own vote until I turn off the proxy. I believe having a system similar to this would let a higher amount of the ecosystem have their votes counted towards topics/committee members/consensus nodes themselves. |
Abstract
Currently, NEO has many issues to vote on. For example, you need to select consensus nodes, oracle nodes, and NeoFS IR nodes. You also need to determine network policies, fees, and GAS circulation. A large number of on-chain voting will increase the burden on the network and even seriously affect the performance of the neo network. In addition, it is questionable whether ordinary users have the professional ability to make decisions on various issues. In this case, a referendum on all matters is unrealistic. I propose a mechanism where all neo holders vote on-chain and elect a governance committee. The committee then makes all other decisions.
Governance Committee
The number of members in the governance committee is fixed, tentatively set to 10. If there is no vote, the members of the governance committee are the default members designated in the genesis block. After the neo3 mainnet is launched, neo holders can vote for members of the committee, with 1-neo-1-vote. The 10 people with the most votes will form the governance committee. Voting can take place at any time and votes are counted in each block. If users do not participate in the voting of the governance committee, they will not be able to get GAS incentives.
Decision-making process
The decision-making process of the governance committee is divided into two steps: first, vote on the proposal off-chain, and then send the approved proposal to the chain. A proposal requires the signatures of more than 2/3 of the members to be approved. Off-chain voting has greatly reduced the burden on the neo network. In addition, the approved proposal is accompanied by the committee's signature and needs to be sent to the chain to take effect, which ensures the transparency and fairness of the decision to the greatest extent.
The Governance Committee will make decisions on two types of affairs. The first type is the designation of functional nodes, such as consensus nodes, oracle nodes, and NeoFS IR nodes. The second type is parameter settings, such as network policies, fees, and GAS circulation.
======================Updated in 2020-03-11======================
Consider that consensus nodes have a special power: they can reject a proposal by rejecting the transaction. This power should be granted directly by the NEO holders. Therefore, consensus nodes should also be directly selected by the NEO holders. However, if both roles (committee and consensus nodes) are selected by the NEO holders at the same time, this will increase the burden on the NEO holders.
Therefore, I propose an amendment. NEO holders vote for 21 members for committee, and the 7 members with the highest votes automatically become consensus nodes.
In this way, the committee has the right to propose and the consensus nodes has the veto right. Both roles are chosen by NEO holders. And the voting mode is very simplified, it will not increase the burden on users.
The text was updated successfully, but these errors were encountered: