Voting Process on EOS
EOS is a very unusual platform. Probably the two following characteristics make EOS paradoxical: the improvement of decentralization is achieved via the decrease of the nodes, and the security is backed by the full openness instead of anonymity. All these things are possible because of the EOS voting process.
How Voting Process Secures the EOS Network?
There are only 21 block producers and everyone in the EOS community knows who these people/companies are. The transparency allows making sure that 21 nodes are controlled by different actors, and such thing as one party controlling over 50% of nodes is barely possible. The voting process is almost constant so every two minutes the list of the block producers can be updated. If some block producer fails to meet the community needs, it might lose its votes and position. This place can be occupied by someone who appears to be more successful among the voters (or EOS community members) because the list is much longer than 21 parties: the rest companies are the block producer candidates. When a block producer loses its position this place gets occupied with the next candidate. The fear of quitting the top 21 (where parties get paid good money for their job) in combination with the transparency makes the candidate responsible for its actions.
It's hard to unite with the other block producers for malicious activity when everybody knows your name. They all try to preserve a good reputation and they are nice to each other. If people feel that some of these block producers are starting scheming some doubtful actions they will end up at the bottom of the list in a couple of minutes thanks to the voters. Now compare this to the allegedly decentralized proof-of-work blockchains controlled by a few numbers of mining pools. That's why 21 block producers are making EOS more decentralized than the blockchain with the highest amounts of nodes.
The voters have a good motivation to vote — if they don't they might end up under control of the dishonest or inefficient block producers. The security of the EOS network is safe but it totally depends on the willingness of people to maintain this security via voting.
The Technology of Voting On EOS
In order to vote the EOS community members are staking the EOS tokens. The more staked coins = the more votes. The voters are required to stake their coins for three days. More than that each voter is voting for 30 candidates simultaneously (the list of candidates is much wider). For instance, if you have 500 EOS tokens you choose 30 candidates to vote for, and each of them receives 500 votes from you. The 21 candidates with the highest approval level get elected, the rest candidates that have fewer votes become the backup block producers.
The voting is happening on-chain — mainly in the wallets interface. People might opt to use offline or online voting. A vote is just another transaction in which the user specifies the elected candidates and signs it using the private key. The votes can be changed, but this process requires staking some EOS token for three days again. There's an interesting option — the voting tokens can be delegated to the other EOS community members to help them gain the desired amount of votes (proxy voting).
Conclusion
When it comes to supporting this or that product on the market we vote with our money. That's what we do our whole life. We buy what we like and the company is responsible for providing us with good production. If the company fails to do so, we stop voting for it immediately.
The same similar model is implemented by the EOS developers. The greatest thing here is that the block producers are not elected for terms like 4 years, or something like this. No, they should fight for the trust of the community every 2 minutes and they are motivated by the great rewards for creating blocks. This is a super-motivation. The entire voting process on EOS expands the horizons and shows the new ways of conducting governance.