Given that is near to impossible to execute large voting processes on Ethereum mainnet (due to gas costs and TX processing), we present a Layer 2 based scaling solution. The Vocdoni Bridge aims to improve the process of signaling/voting for token holders of any Ethereum compatible token.
This proposal relies on EVM storage Merkle proofs. In order to cast a ballot, the voter needs to provide a Merkle proof to verify that his address holds tokens on the target ERC20 smart contract. A user can fetch its proof by using the web3
eth_getProof RPC method.
The census Merkle root will be the Ethereum root hash on which the election is taking place.
Current existing solutions are:
- Centralized and trusted.
- Not taking into account user segmentation (census).
- Not able to tally the overall process autonomously.
- Not able to verify the correctness of the tally.
- Not able to trigger on-chain actions.
- Do not scale.
- Do not allow true privacy for the voter.
The Vocdoni Bridge solution improves the current solutions by:
- Handling the logic of the signalling/voting process with a custom voting blockchain operated by trusted entities whose reputation is at stake. Each process can be externally verified.
- With a Merkle Tree census approach, using standard Ethereum storage proofs. A user can prove that he or she holds tokens by providing a Merkle Proof for a specific Ethereum Block Hash.
- Autonomously process and verify each signal/vote of a process. The results can be processed real-time or at the end of the process.
- Being able to trigger on-chain actions using an Ethereum Sidechain bidirectional message-passing component.
- On going ZK-Snarks integration, thus making an anonymous voting possible.