Is there any kind of mechanism planned for slashing if validators dont want to obey governance vote result? We can vote as much as we want, but at the end of the day its the validators that will have to upgrade the network and if they dont agree with the result there is a possibility they do not upgrade. I think mechanism like that is a must.
If they don’t upgrade, they can’t participate in consensus. As easy as that.
Aka they don’t earn and money anymore and become obsolete.
Why slash them?
They didn’t upgrade, so they are no longer part of the current network.
If majority doesnt upgrade isnt the “current network” still the old one? My question is what happens if majority doesnt want to upgrade
There are currently basically 3 types of governance.
- Off chain Governance - this is the agora
- Voting - This happens on chain, I think you know what voting is
- Validator acceptance - this is the final step of governance. A new upgrade needs to be accepted by the majority of validators.
If the majority of MultiversX Validators upgrade their node to the latest version, then the network has experienced an upgrade!
If the required amount of nodes does not upgrade, well, then there is no upgrade for the network.
If a governance vote has achieved a vast majority of “yes” votes, then there is no reason to think validators will not upgrade.
Each shard needs 2/3rds of active nodes.
So metachain and the 3 other shards need 267 (or 268?) active nodes on the new version.
If there are less nodes active, then the shard will “halt” and just pause with processing transactions until more nodes come online, to ensure security is always at a minimum level.
But each shard also has 400 more nodes, which are in the waiting list.
So assuming the upgrade needs to pass and the chain also needs to work the next day, then about 2144 nodes out of the 3200 nodes need to upgrade to the latest version.
If this is the case,… the upgrade is live.
If not, not.
Whats the point of governance then when we need Validator Acceptance? Governance should be imperative to validators, not suggestion to them. That way the final decision is taken by the validators not from people that vote.
Consensus means, the nodes reach an agreement of the current state of the blockchain.
There are different consensus mechanisms like Proof of work or proof of stake.
If the nodes run different versions that are incompatible with each other, then they cannot reach an agreement properly.
Basically, nodes on version 2 cannot communicate with nodes on version 1.
And consensus on MultiversX is reached basically through a majority vote.
If the supermajority of nodes say “yes this new block looks good to me and adheres to the rules of the network” then it is accepted by the majority of the network and seen as a valid block.
If we now start a new upgrade, aspects about how consensus is reached may change, or what is allowed to be in a block may change. With 1.5 we introduced guardians for example. So accounts got changed and transactions are not suddenly signed by two accounts instead of one.
Nodes need to be able to communicate with each other and have the same ruleset they adhere to. If they adhere to different rulesets, because they are on different versions, then there is no consensus.
If you have an idea how to mitigate this, please let me know.
Anyways, I think we should not touch this “final layer of governance”.
Validators are the most techy people on the chain (typically) and know best how the upgrade works and what it does.
If someone proposes a shitty upgrade and it gets the support of the community, then validators can coordinate each other and collectively decide to not upgrade.
Or there is an upgrade with an error that causes validator nodes to crash - then they will also not upgrade.
Or there is someone manipulating the governance vote (see this discussion in the agora). Then the validators can decide to not upgrade because this (malicious) vote has been manipulated by bad actors to pass.
It’s important to have this final level of governance.
Besides, even if we didn’t have it, let’s imagine
Then we still need it from a technical point of view as I just explained.
To reach consensus - you need the nodes to have the same ruleset, to work together, to be able to communicate. Otherwise the network doesn’t work.
Makes sense now?
You can’t expect a nintendo Wii and a nintendo switch to communicate in order to play mario kart with your friends. Doesn’t work. You play the same game, but a different version and they are not compatible with each other
I know all of that, i just asked will punishment be implemented if majority doesnt upgrade and dont obey governance vote. Btw i created the thread you linked. We have to choose what kind of blockchain we want to be. Do we want users to decide or validators. If we want users to decide we need to implement punishment if validators decide to like you said “coordinate each other”.
Shitty upgrade that gets community support? What? Who decides whats shitty and whats not? The validators? Then again, whats the point of the governance if they can just decide proposal is shitty? If validators think its shitty they can spend time educating the community before the vote and make sure community doesnt support it. Governance should be imperative.
@live I was just making an example.
Anyways, punishing them for not upgrading when there is an issue with the node software for example is extreme. How do you prevent unrightful punishments?
Also, how do you even decide if you can/should punish someone?
What if the vote was indeed manipulated and validators recognize that, do not upgrade and then get punished for it?
Also, how do you want to punish them? By slashing their stake?
Assume the majority doesn’t upgrade.
Then we have to slash the majority of nodes.
Then these nodes do not have enough EGLD to be active (let’s assume we only shash the validator’s own stake, not user-delegated EGLD).
So… we just made the majority of nodes unavailable.
They don’t have enough EGLD anymore to run. To participate in the consensus.
And since the majority has been slashed… well… the network has been halted because the minimum amount of nodes required for each shard is not available.
Great. We slashed them, at the cost of the availability of the network.
And they can’t even add more stake now, because the other nodes will not process transactions until more nodes come back online.
This would require an emergency update (obviously without on-chain governance) or a fork of the entire chain. If none happens, that’s it for MultiversX.
We could implement a slash if we are talking about slashing a few validators if they don’t upgrade. But let’s assume more than one third does not upgrade.
If more than one third does not upgrade, then no consensus can be reached and the shards will halt until more compatible nodes come online to meet the 66% quota I talked about.
Soo… we have the choice between forcing the governance on all nodes and risking availability… or not doing that.
We can slash a few validators, but if more than a third doesnt upgrade and we slash them, bye bye availability.
More than one third slashed and therefore unavailable = the 2/3rd minimum amount of nodes required per shard is no longer met = shard is halted.
Anyways, if individual validators do not upgrade (less than one third) they are excluded from consensus anyways and do not earn anything anymore. Furthermore, their nodes will no longer produce valid blocks according to the new ruleset of the network and will get very quickly jailed (which means their node is excluded from consensus until a fine of (currently) 2.5 EGLD is paid and after that the node has to wait in the new-node-waiting list possibly for MONTHS until they can be added to the active consensus again).
So I guess that is a form of slashing anyways.
We need to make a trade-off here between availability of the network and the governance mechanism.
I choose availability and security of the network above all.
Governance is second for me.
And I think most would agree with me.
Without a network, governance is useless/pointless.
Where/how/what am I voting about if the network isn’t here.
Im sure we can think of a punishment that doesnt end up halting the network and criteria to when the punishment is used, but the discussion have to be started imo. We want these validators to obey at the end of the day, if they just upgrade there wont be any punishments or halting, no one has interest in halted network, but they need to know that there is a punishment if you go against the public decision. Its like when you get punished if you dont follow the law.
Since i dont see any argument that defends quadratic form of voting, im confident that we will move to linear system as soon as its available to create a vote for it, so the vote manipulation should not be in the conversation then.
If we move to linear model, right, then manipulation becomes much more difficult.
Either way, the other reason(s) remain(s).
Scenario 1: If a few do not upgrade: We already have a slashing mechanism in place basically as described above. But this mechanism is also only effective if less than 1/3rd of the nodes do not upgrade, because these nodes will be jailed (pay 2.5 egld fine and sent back to the long node-waiting-list).
Scenario 2: If more nodes do not upgrade (more than 1/3rd) consensus becomes impossible anyways and the network halts.
Scenario 3: If almost all nodes do not upgrade - we will remain on the same version.
This is when we could talk about punishing the nodes.
But then again… why did they not upgrade? There is extremely likely a good reason why almost all did not upgrade.
I don’t like to propose ideas on this topic because it’s no longer only about governance but also very much about consensus.
If you have concrete ideas 1) when and 2) how we should slash validators let me know. I am interested in your idea but extremely afraid of all possible consequences.
In my opinion, there is probably a good reason if almost all nodes did not upgrade. How do we decide if we should slash them then in all 3 scenarios, respectively? How do we slash them without hurting the network, in scenario 2 and 3 respectively? Should we increase the punishment/slashing in scenario 1?
Governance is like referendums, it overrules everything. In a country if referendum passes it doesnt matter what every single politician thinks (in our case validators) whats voted on the referendum becomes a law. Good or bad, thats it, if we want to give power to all users we have to take the risk of sometimes not the optimal decisions being taken. If we think that risk is too much to take, the governance is not needed. Just do it like Monero, if majority nodes upgrade the network upgrades, if not, then the upgrade is denied, but dont throw sand in people eyes with votes that make them think that they take all decisions.
The governance is meant to vote on what the people want and what the MultiversX Foundation should implement.
Only the current upgrade sirius 1.6 has been fully developed and is ready to be made live on mainnet already when we voted on it.
The next upgrade, 1.7, is still being discussed right now. 1.7 will bring the staking phase 4 and validators are discussing it in the validator sessions and have been discussing it on xDay also.
The staking phase 4 / mainnet 1.7 is not ready yet and is being discussed, then voted on, then implemented.
Sirius basically posed an exception. We voted if it’s okay to bring “go-live” to what the foundation already built.
In the future, if we want change, we will need to vote for it and the foundation will build it.
That’s how other chains do it too.
The Governance votes do not (this is how I understand it) 100% of power into the people’s hands. The validators still play a very important role in the overall governance process.
The governance voting and agora are the decision process and the validators are the final levels of acceptance.
Again, if you have suggestion how to change it let me know. I have plenty of ideas but all of my ideas are compromising network security or availability or run on assumptions that may not always be true in reality
So i think there was a misunderstanding with that. Because the governance process (agora+vote) is decision process to tell the foundation what to build and what to implement.
This is doesn’t mean that the governance controls all aspects of the chain. Validators still play a crucial role - not in the decision process though.
Governance is for decision process.
It is 100% or 0%, if you let validators have the option to overrule the result that means people have 0% power and its all smoke and mirrors.
I have some things in mind, but to be fair im not confident enough to discuss them since i dont have that deep understanding of the tech needed for a discussion like that, hope others join aswell.
Let’s see. Its an interesting topic though.
Maybe someone can come up with an idea that doesn’t have any negative consequences to the chain
Also, the governance process now, which can be “overruled” by validators, is still super important. The majority decides and votes on what should be implemented by the foundation in a next update
In a normal country, you also have politicians doing new laws, but (usually, in democratic countries) judges and courts can overrule new laws and make them invalid.
Ever heard of “seperation of powers” in governments?
Heard about legislative, judical and executive branches?
Politicians
Courts
Police
and the voters that vote politicians into power OR vote on direct votes.
We have 3 kinds too.
Agora
Governance votes
Validators
Why is it wrong to have this?
Why is it not okay to have a party (validators/judges or courts) that can overrule decisions from the vote (governance vote / politicians)?
It getting a bit deep and out of the conversation, but its not okay because you should not be able to buy your spot as a judge, like you can with validator spot, but lets not dilute the discussion any further.
In reality, the slashing you speak of is already present, but not in the form you think.
Let’s imagine that the governance has voted for the next 1.7 upgrade with staking v4, but that a majority of validators don’t accept it, because the upgrade intend to reduce the maximum number of nodes a validator can have, which in effect is not to their advantage, but to that of network decentralization.
This is where the power of delegated proof of stake comes into its own. If this kind of event happens, it’s going to become a major issue throughout the community. If the blockchain’s social layer comes to the conclusion that a majority of validators have refused the new update for their own egotistical interests, the community will just withdraw their funds by unstaking massively from these validators, and put them with those who have accepted the vote.
As a validator, not implementing simply out of egoism an update that has no technical problems and is voted for by the community, jeopardizes their social reputation, and therefore their income.
Just like when a politician is elected, but goes against what he was elected to do. His supporters won’t vote for him in the next election.
It’s the same here, except that elections come every new week, so a bad actor can very quickly be ejected from the group of nodes validating the blockchain, because users have removed their staking delagations from them.
I’m late to this convo but I’ll say that validators are also large holders so their vote towards governance holds a decent amount of weight.
If enough validators feel strongly enough about a proposal they can likely sway the vote.
As someone mentioned, if they don’t follow through with the proposal decision then they are no longer able to earn rewards and participate in consensus. Plus soon enough we will have the auction que and hopefully others that can replace them in that worst case scenario.