Pebble: Building the first decentralized and transparent voting solution on Tezos

Voting is the bedrock of a free society. It is one of the most common tools of governance in our organizations, whether you take part in a shareholder meeting, a city council, an NGO’s general assembly or a DAO (Decentralized Autonomous Organization). It has been a fundamental component of democratic cultures for more than 2,500 years… and as technology and security offers more security and fairness, we must do all we can to harness the power of innovation to ensure the integrity of all election systems.

In recent years, voting systems have not been able to keep up with the emergence of digital technologies, nor the fragmentation of public opinion and low levels of trust in institutions. The way we organize elections is costly, vulnerable, and it often leads to disputes challenging the results. Elections increasingly fail to generate consensus, even in countries with a long-standing democratic tradition like in the United-States.

Initially, online voting offered promises of better efficiency and security for more accessible elections. Unfortunately, most of the widely available e-voting solutions are plagued with technical issues (outdated cryptography, proprietary source codes that are not peer-reviewed, outdated interfaces…) and structural weaknesses (lack of transparency, little to no verifiability, trusted-third parties that act as single points of failure…).

Even blockchain-based decentralized applications sometimes involving millions worth of crypto-assets rely on e-voting systems that are either centralized, unable to preserve fairness or to protect voters’ privacy. These voting systems, whether they rely on staking or not, come with significant biases and vulnerabilities. The lack of proper decentralized voting solutions thus contributes to the disproportionately low levels of community participation which in turn prevents dApps from delivering their true revolutionary potential.

With the Covid19 pandemic forcibly accelerating the digitization of our decision-making processes, we need efficient, privacy-ensuring and trustworthy e-voting systems more than ever, within blockchain communities and beyond.

Pebble is the first fully decentralized, secure, and transparent e-voting solution.

Drawing inspiration from the most secure e-voting systems, we harness the power of state-of-the-art cryptography and blockchain technologies to bring the best sides of traditional “pen and paper” voting to an innovative, transparent, and community-centric online voting solution.

We combine time lock encryption, zero-knowledge proofs, and Distributed Ledger Technologies to enable self-tallying elections, eliminating fees and vulnerabilities induced by the reliance on trusted-third parties. Unlike other e-voting protocols, Pebble encrypts ballots upon casting, automatically adjusting the difficulty to ensure that no ballot can be spoofed or opened before the end of the election, then publishes them onto a decentralized, publicly accessible immutable bulletin board.

Our innovative use of encryption and blockchain-based, immutable, and publicly accessible ballot box enable every voter to check that her ballot is taken into account and that no fraud is occuring. When the election is over, anyone can sit around the table and take part in the decentralized tallying process. Even better: you can verify the announced results anytime! All of this while allowing voters to express their voice in an online, secure and private manner.

Diagram simplified pro

By empowering voters to act as their own election authorities, Pebble is the only distributed voting system to guarantee voter privacy, eligibility verifiability, universal verifiability, and fairness in low coercion environments.

After a first academic publication and a conclusive pilot, our team is developing Pebble as a Tezos-based open source voting protocol. Thanks to the support of the Tezos Foundation, we are set to deliver a first alpha version of Pebble at the beginning of 2022.

Pebble will initially be deployed to meet the needs for distributed voting solutions in the Tezos ecosystem, but aims to become a global reference for distributed voting in the greater blockchain community. We will then work with NGOs, universities, and unions to test the solution in different real-world conditions, build a solid track-record that will establish the legitimacy of Pebble, as we set ourselves up to radically change the way we conceive and practice voting in our everyday life.

Creating a new e-voting system is no easy feat. That’s why we assembled a team of cryptographers, developers, electronic voting researchers, and decentralized governance experts to build Pebble.

But that’s also why we need your help!

Whether you are a potential beta-tester, a ZKP brainiac, a DAO community-leader, or just someone who wants to help us improve online voting, join the conversation! Tell us what you think here or reach out at contact@pebble.vote and help us build a voting system that generates sustainable trust.
With your support, Pebble will soon enable more democratic and trustworthy governance for communities of every size, all around the globe.

5 Likes

Super cool! The trickiest property that a perfect blockchain voting system should satisfy seems to be coercion resistance: the inability to prove how you voted, even if you wanted to. Does Pebble satisfy this property, and if so, how?

See also: Blockchain voting is overrated among uninformed people but underrated among informed people

Hey @Swarles!
Thank you for your enthusiasm!
For now, Pebble is meant to enable decentralized and transparent elections in “low coercion” environments through a self-tallying protocol.
To be fair, whether you can have both coercion resistance and self-tallying in the same e-voting system is still very much an open research question at the moment.
For now the only way we could achieve coercion resistance would be through the use of secure hardware… at the cost of decentralization -and user-friendliness.
We are constantly on the lookout for ways to improve the project, reading the latest papers (and Vitalik’s publications of course :wink:), keeping an eye on the latest e-voting innovations…
If we hear about a technical solution to achieve coercion-resistance on top of privacy, fairness and verifiability in a transparent and decentralized setting, it will definitely be slapped at the top of our roadmap.

Great, thanks for your transparent reply.

1 Like

Anonymous voting is a critical component, I agree. Can ZK proofs help here?

Hi @RichAyotte!
We use ZK proofs to provide voting anonymity while ensuring that a ballot cast is eligible, in a similar manner to how Zcash-like anonymous transactions work. Unfortunately this doesn’t prevent coercion, as revealing your private keys would allow one to verify how you voted, in the same way that you would verify your ballot yourself. To the best of our knowledge all existing coercion resistant voting protocols involve some trusted third parties to tally the votes, which is incompatible with our goal of maximising decentralization.
Nonetheless for people and organizations with different priorities, those alternatives can be pertinent.
This is another open research question our work contributes to.