Implement Liquid Democracy on Ethereum: A Fast Algorithm for Realtime Self-tally Voting System
This work addresses the problem of efficient blockchain-based voting systems for decentralized governance, though it is incremental as it builds on existing liquid democracy concepts with a focus on optimization.
The authors tackled the challenge of implementing liquid democracy on Ethereum with real-time self-tallying, proposing a fast algorithm that reduces on-chain processing complexity to O(log n) per voting message, enabling compatibility with gas fee limitations.
We study the liquid democracy problem, where each voter can either directly vote to a candidate or delegate his voting power to a proxy. We consider the implementation of liquid democracy on the blockchain through Ethereum smart contract and to be compatible with the realtime self-tallying property, where the contract itself can record ballots and update voting status upon receiving each voting massage. A challenge comes due to the gas fee limitation of Ethereum mainnet, that the number of instruction for processing a voting massage can not exceed a certain amount, which restrict the application scenario with respect to algorithms whose time complexity is linear to the number of voters. We propose a fast algorithm to overcome the challenge, such that i) shifts the on-chain initialization to off-chain and ii) the on-chain complexity for processing each voting massage is O(\log n), where n is the number of voters.