Decentralized voting system (Snapshot)

Gepubliceerd op 7 mei 2023 om 10:56

When we go to vote in the Netherlands, we all go to the ballot box. There, we get a big piece of paper and a red pencil. Here we fill in which party and person we want to vote for. Then the big sheet of paper goes into a big container and these are then counted manually by hand.

This way of voting is old, but very effective. In the crypto world, users can also vote. The users of a particular crypto project can vote and help determine what the future of the project should look like.

This way seems to work remarkably well in practice. However, there are many snags in this system of voting. It is time-consuming to vote this way. Especially when there are hundreds of thousands of users. This is because the vote must be transmitted over the blockchain. And that is precisely where the problem lies. The blockchain is not scalable enough to handle such amounts of transactions at once. Snapshot has found a solution to this.

What is Snapshot?
Snapshot is a protocol for crypto projects that allows for decentralized voting. In itself, the Snapshot protocol is not new because in a number of other crypto projects it is already possible to vote with Governance Tokens.

In essence, governance tokens work as follows: users with a governance token can send it to a special wallet. The wallet with the most tokens is the winner. I think you'll quickly realize that this way of voting is very disadvantageous and sending the tokens to a wallet isn't always easy.

Cons of governance tokens

Sending tokens is not free. There are transaction fees associated with this. On Ethereum's blockchain, transaction fees sometimes ran into hundreds of dollars. 

Some crypto projects make it possible to vote because they like to put the direction of the project in the hands of the users. So this is very much like a democracy where the people decide what direction a country should take. This same concept also applies to crypto projects with governance tokens.

High transaction costs can cause users to be deterred from voting with governance tokens. People who do have enough money and can pay the transaction costs can vote. Thus, the other users with less budget may not vote because they find the transaction costs too high. This is not very democratic.

Why is Snapshot better?
The Snapshot protocol can be used by anyone. The users do not pay any cost for sending the crypto that can be used to vote. This is because Snapshot uses IPFS (InterPlanetary File Sytem).

IPFS is a decentralized data storage network that exists alongside the "real" blockchain (the main chain). Because this data is not processed on-chain, there are no costs involved in moving data across the IPFS network.

Moving processes from the main chain to the IPFS is becoming more common. Blockchains (the main chain) have to process more and more data which causes higher transaction costs and increases processing time. Outsourcing certain processes to a blockchain outside the main chain can ensure that the main chain is less burdened. This can be compared to setting up a new roadway that allows traffic to be spread out more. The IPFS is thus similar to a sidechain

How does Snapshot work?
So Snapshot is a protocol that runs on the Ethereum blockchain. This is currently the largest blockchain in the world for smart contracts and decentralized applications (Dapps). All Dapps built on Ethereum can run on Snapshot. However, they will need to have a profile/account on the Ethereal Naming Service (ENS).

ENS is very similar to the DNS system we use for websites. DNS is a system where the IP address of a website is linked to the web address. Instead of remembering the IP address of, you can search for directly in the search bar. The same applies to ENS. For example, you can enter the name of the Dapp to then be able to use the Dapp. But this can also be useful if you want to send crypto to another person. Instead of having to remember the counterparty's public wallet address, you can also send the crypto directly to the counterparty's profile. For that, you just need to know the name of the counterparty's profile.

How can users use Snapshot?
Users who want to vote on Snapshot need a wallet that contains governance tokens. It doesn't matter which wallet you use, as long as it supports Ethereum tokens. You can then easily link the wallet to the platform where voting can take place.

Note that you must use the governance token that can be voted with. Often you should have the token developed by the project itself. This may even be an NFT (Non-fungible token). So it is important that you have the right governance token.

What makes Snapshot innovative?

It has been possible to vote within crypto projects. The DAO (Decentralized Autonomous Organization) is used for this purpose.

DAOs cost a lot of money and time. This is because users have to send tokens to another address in order to vote. This transaction goes through the blockchain's "normal" network. This means that users have to pay transaction fees to vote. This leads to high transaction costs and long processing time when hundreds of thousands users want to vote at once. The blockchain simply cannot handle this. So not convenient if you want to get as many users to vote as possible.

The users of Snapshot therefore do not send their votes via the 'main chain' but via another sidechain blockchain that exists alongside the main chain. The transaction and the outcome are then stored on the main chain. By processing the vote on another blockchain, this leads to faster processing time and lower transaction costs.

Pros and Cons of Snapshot


  • Snapshot runs on Ethereum's blockchain, which most decentralized applications run on. This means that a large number of applications can use the Snapshot protocol;
  • Users do not pay high transaction fees to vote;

  • The votes collected have greater support because they don't just come from the "rich" (that's because of low transaction costs);

  • Snapshot is open-source;

  • It's easy to integrate crypto projects with Snapshot. And thus user-friendly.


  • Snapshot uses smart contracts. There is always a risk that something will go wrong with the processing within these smart contracts, which can result in irreversible problems.
  • Not very democratic if one user have more voting tokens than the other user.

Reactie plaatsen


Er zijn geen reacties geplaatst.