project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

Swipe 2 Bribe

Fixing corruption by making it permissionless. It is not as stupid as it sounds.

Swipe 2 Bribe

Created At

ETHGlobal Paris

Winner of

5️⃣ Sismo — Top 5

🏊 UMA — Pool Prize

Project Description

This project will revolutionize politics. Nah, but seriously, We Are All Gonna Bribe It. Okay, jokes aside - we know that this project looks like a giant meme from the outside.

But listen up: It is not as dumb of an idea as it looks like. With our system, politicians can submit a promise at the beginning of the election period and until the election period ends, regular citizens can stake money on those promises via an escrow smart contract. If the promise is fulfilled in a previously specified amount of time (e.g. a reign period), the politician that submitted the promise to the contract will get the stake. Otherwise, the stake is returned. The promise evaluation is handled by UMA's Optimistic Oracle. Politicians and citizens have to register with our Sismo groups to prevent bot attacks, and every user can only deposit a predetermined amount of money, so that rich people are not advantaged. We believe that this is one of the only ways to fight corruption in the government - we have tried for years to defeat corruption, but it is still happening in western democracies. So why not make bribing permissionless and transparent. Everyone will be able to bribe politicians to pursue his favorite election promises, instead of what corporations demand behind closed doors.

Anyways, back to the funny stuff. We also deployed a frontend and came to the conclusion, that the best kinda frontend is a tinder clone. Citizens can swipe through all submitted promises before the election and decide on which promises they swipe right. Who would have thought that Tinder one day will revolutionise politics??

How it's Made

We used the following technologies:

  • Hardhat, Solidity and Javascript for our Smart Contracts
  • React and Node.js for our frontend
  • UMA's Optimistic Oracle for trustlessly deciding whether an election promise was kept or not
  • Sismo's Authentification service to make sure that promise-submitters are actual politicians and citizens only vote once. Here we overstepped the current implementation of Sismo and found a "hackathon-workaround" by creating placeholder groups that are based on github authentications. It is feasible however, that in the future Sismo will work together with national entities to bring passports on-chain. Thus, we consider Sismo a valid use case.
  • Metamask SDK to provide the user with the option to sign in with his Metamask wallet to stake on promises.
  • To provide more usability, we implemented Biconomy's Account Abstraction transaction batching. This way, users can swipe on a bunch of promises without having to sign a transaction after each swipe.
  • We deployed two contracts on Goerli testnet, one that handles the Sismo Authentication verification and a main contract, that interacts with the Optimistic Oracle and allows users to submit and stake promises. The frontend directly calls these contracts and basically uses them as a backend. The contracts can be found under the following addresses: 0x8e46A84eCf34caff642b9B6c38Da3511187DE707 0x1360c34ae91f3A0ee514FcFf31834901552260f3
background image mobile

Join the mailing list

Get the latest news and updates