On-chain voting system for fair elections, to enable better democracy with a novel voting system based on leading research on electoral systems
Prize Pool
Prize Pool
This project is an (attempt) to implement a novel voting system on chain. The voting system is based on combining 'Ranked Pairs' (https://en.wikipedia.org/wiki/Ranked_pairs) selection of candidates with what otherwise looks like 'Single Transferable Vote' on STV (https://en.wikipedia.org/wiki/Single_transferable_vote). This voting algorithm is profoundly better at selecting candidates to represent votes that systems currently used for democracies worldwide, and I am passionate about getting making such a system available. Unfortunately I did not get nearly as far in this during the hackthon, due to a variety of challenges, and this submission is far from being a working usable imprementation.
Main technical detals:
While I learnt a lot and was making better progress towards the end, it took me some time to get compents of tech stack working. I wrote and deployed Stylus Rust contracts, used Rust for integration and as a rudimentary command line interface during development, used World ID to ensure voter uniqueness (note the system was based on both continuous voting and incrementally building a ranked vote, allowing voters to interact repeatedly but be unique voters), and I used Blockscount for all chain explorer purposes (note I could not do Rust contract verification using Blockscout though).