Pebble: decentralised, secure, and transparent elections

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, a Non-Governmental Organisation’s (NGO) general assembly, or a Decentralized Autonomous Organization (DAO). It is tied to the very notion of democracy since its inception, 2500 years ago. As technology now promises to offer more security and fairness, we must do all we can to harness the power of innovation and ensure the integrity of all election systems.

The way we currently organize elections is costly, vulnerable, and it often leads to disputes challenging the results. Initially, online voting offered promises of better efficiency and security for more accessible elections. However in recent years, voting systems have not been able to keep up with emerging technologies, nor the fragmentation and low levels of trust in institutions. Most of the existing e-voting solutions are plagued with technical issues (i.e. outdated cryptographic engineering, proprietary source code that has not been peer-reviewed, unintuitive interfaces) and structural weaknesses (lack of transparency, little to no verifiability, trusted third parties that act as single points of failure).

Even blockchain-based DAOs involving millions worth of crypto-assets rely on online voting systems that are either centralized, unable to preserve fairness or to protect voters’ privacy. These voting tools, whether they rely on staking or not, come with significant biases and vulnerabilities, such as violation of voter privacy or disclosure of early results that can influence voting behaviors. The lack of proper decentralized voting solutions thus contributes to the disproportionately low levels of community participation which in turn prevents distributed Applications (dApps) and DAOs from delivering their true revolutionary potential.

These shortcomings also apply to most online voting solutions readily available today. NGOs, universities, unions, public consultations, boards of companies all increasingly rely on voting tools that work as “black-boxes” instead of enhancing transparency, security and trust in their governance. 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 designed to be 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 pave the way for transitioning from traditional “pen and paper” voting to an innovative, transparent, and community-centric online voting solution.

We combine Time Lock Encryption (TLE), Zero-Knowledge Proofs (ZKPs), 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 by automatically adjusting the difficulty of an underlying cryptographic puzzle to ensure that no ballot can be spoofed or opened before the end of the election, then publishes them anonymously onto a decentralized, publicly accessible immutable bulletin board.

Our innovative use of encryption and blockchain-based, immutable, and publicly accessible ballot box is key to guaranteeing that every voter’s ballot is taken into account and that no fraud is occurring. When the election is over, anyone can join the table and take part in the self-tallying process. The voters are the talliers of the election. 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 describing how Pebble works
  1. Before the election: an organizer sets up the election (sets the list of eligible voters and the parameters of the election) and invites voters to participate.
  2. During the election: the voter chooses for whom to vote and encodes it in their ballot. The ballot is automatically encrypted using TLE and attaches a ZKP signature that anonymously proves their eligibility. The ballot is posted anonymously to the blockchain where they can make sure it has been taken into account.
  3. After the election: the community is notified that voting has ended and can publish the decrypted ballots. Those ballots that have not been opened can still be decrypted by the community by solving the associated TLE puzzles. Any user can verify these are consistent with the ballots immutably registered on the blockchain.

Empowering voters to act as their own election authorities, Pebble is the only distributed voting system to guarantee voter privacy, eligibility verifiability, universal verifiability, individual 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, an early alpha is already available and we are currently working on a beta that will be made available for anyone to use and organize self-tallying decentralized elections.

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 lives. 

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

Whether you are a potential beta-tester, a ZKP brainiac, a DAO community-leader, or just someone who is interested in improving online voting, join the conversation! Tell us what you think here or reach out at contact@pebble.vote. This is how we will build a voting system that generates sustainable trust, enabling more democratic and trustworthy governance for communities of every size, all around the globe.