Governance Slashing

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 :slight_smile: