Vocdoni: Enabling open & verifiable democratic participation

DappCon 2026 · June 2026 · 18:52

Presents Vocdoni, a platform built to run voting and democratic decision-making processes that are both open to scrutiny and verifiable, without requiring participants to trust a central authority to count correctly. It covers how cryptographic techniques can let anyone confirm an election's results were tallied properly while still protecting individual ballot privacy. The discussion positions verifiable digital voting as infrastructure relevant well beyond crypto-native governance, including civic and organizational elections.

Speakers

Topics

From DappCon 2026, hosted by Dappcon Berlin.

Transcript

Okay. Hi everyone. Uh this is Jordi uh from the Vogoni project and today I want to share you uh what we have been doing uh towards uh strengthening democracy and how we use the centralized technologies uh for creating a voting system that is uh transparent, verifiable and much better than current uh voting systems, digital voting systems. So first of all let me put you in context. Uh we are in Catalonia in the 1st of October of 2017 and the Catalan civil society decided that they wanted to vote if they wanted to be part of the Spanish estate or they want to form an independent estate. So everything pretty normal in a Pacific way. They tried to well they try to vote and this happened

basically sorry for the images. Uh but what happened is that the Spanish central government sent the military police for stopping uh people uh to not let them uh vote freely. So basically we have images like this uh basically the police beating people for voting in a democratic country in the 21st century. This is crazy and this is not what I learned at school. And yeah at that point we thought we need to build some kind of system to allow this to never happen again.

So also at the same time we realized that democracy is at risk back then and nowadays. So we are using obsolete uh democratic infrastructure. there's a clear declining in uh trust in the institutions meaning that people especially younger generations uh participate uh less and they have less engagement and there are also more other problems especially related to technology. One of the first cases we can refer is the Cambridge Analytica uh case where we had uh some private companies that were spreading misinformation and manipulating the public opinion. Then uh as I showed you as I showed you in the later images in

the last images uh we saw that uh nation state can queries and intimidate people for not voting and then there's also a biggest risk I think which is the nation states have the monopoly of organizing truly democratic elections. They are the only ones that have the census and they are the only ones that have the resources for creating a proper election with all the democratic guarantees. So yeah based on that uh we started the Vogdani project whose vision is to improve democratic health and promote participatory uh governance using the centralized and open source technologies.

So uh we wanted to create a system for the bright and the dark times a dem a digital voting system because of course we cannot solve all the democrat all the democracy problems and we need to focus on one and we decided that the creating a decentralized and censorship resistant voting system was the thing. So the system should be uh universally verifiable meaning that since you cast a vote since the tally is done you can verify that your vote has not been altered and also that the tally was done properly. Then this system of course should be anonymous. We must protect voter privacy and even the organizer uh privacy. This system should be also flexible meaning that it meets most of of the governance uh requirements of

different organizations and adapts also to any identity system. In an ideal world, we would have uh shared uh public identity system which is shared by by everyone but this is not what's happening. So each state has their own uh system. Even inside nation states we have different identification systems. Then the system should also be scalable meaning that we want to reach uh nation state elections and efficient also needs to be affordable because we cannot make uh people pay for voting and someone needs to to cover this cost. Uh for this uh we wanted to use uh the economies of a scale using a shared infrastructure.

This system so uh should also be anti-corruption ensuring free and fair participation safeguarding against uh collusion and external pressures like the ones that we showed and it also needs to be neutral and stoppable nature of the election to be able to stop the voting if the things are not going as they want and for this uh we used Ethereum uh because we think it's the best community the best technology and the it has the best uh security guarantees So a little bit of the journey of the timeline we started in 2017. Uh we fork Zcash because of their uh privacy guarantees and basically we were sending Zcash transactions

uh in a form of votes. The problem with that is that uh the Zcash ecosystem is not programmable enough and we didn't get the flexibility we wanted. We also developed a native mobile application where you can follow some organizations uh vote and so on and read some news. But yeah, at that point you realize that people were not uh willing to download an application that they just use for example three, four, five times a year. It's not like a social media application. Then we transitioned to an Ethereum uh virtual machine approach using approval authority network where the nodes were distributed among universities, public bodies and also individuals and we did this because in

2018 Ethereum was not scalable enough and uh we also lack some of the cryptographic primitive that allowed us to create such a system. Uh this experiment went well but not that bad and uh because of that we in 2019 we decided to switch to a tenderinbased approach. For those who who don't know tendermin is the base layer of the cosmos ecosystem. Uh this technology allows you to just focus on the application layer. So we didn't need to care about the bridge layer or the consensus layer. So basically we built a Golang state machine on top of tender mean that allowed us to have the scalability that we wanted and also to implement our own cryptographic

primitive course based on the follow on the standards and so on. And we also switched uh to a web application because in order to make it accessible the best way is to just have a a link that uh you can put it on a browser and everyone has a browser nowadays. And in 2024 uh we re-evaluated the Ethereum ecosystem and thanks to advancements in uh applied cryptography scalability we decided to start uh Dainci which is a new and a better version of the protocol that we had built on top of tendermin.

So what's the soci stands for decentralized autonomous ba integrity network with cryptographic inference. Let me segment this a bit. So it's decentralized and anonymous autonomous sorry because the protocol can run autonomously. So there's no central parer coordinator and it uses uh EVM contracts as a coordinate as a coordination layer and a purpose specific ZK rollup. Then it's also a vote integrity network because there's an incentivized network of the vote the votes cast by the users. And finally we call that this uh protocol has a cryptographic inference because the network itself by mathematical uh meanings uh derive conclusions. So the tally exclusively some cryp from

cryptographic primitives uh and everything is fully backed by zero knowledge proofs. Uh how it works. Okay. So in one point we have the votes then the voters uh the sequences and ethereum. So basically what happens is an organizer wants to organize an election. So it goes to what we call the process registry. It creates the voting process with uh all the data the process the voting process should have and then there are uh this network of sequences that are listening to this smart contract. Then they fet the information and they store it. uh all the voting process is stored in a in a form of a Merkel tree all the data and so on and then when the voting uh window opens the

voters uh can start voting. Of course uh before of that uh the sequences needs to generate uh an encryption key for the voter and what they do is to do a multi-party computation for generating this key. Then the key is published and the voters can start sending the votes. The voters in the on the client side they encrypt the votes using homamorphic encryption. They prove their eligibility using uh also a zer circuit and they authenticate using standard ethereum signatures. Uh they can override the votes as many times as they need. This is one uh form of um uh lowering the pressure uh if they are being coerced.

And then when it happens on the sequencer side, let's say we have the vote on the voter side, then the voter can send the vote to any of the sequencers. And then the sequences what they do is is to verify that the boat is running well and they can encrypt uh and and then they encrypt the boats. That way we remove the receipt uh from the voter. Then they recursively aggregate these votes and they update an Ethereum um the Ethereum state root hash uh that is stored on the Ethereum network uh for that specific election. Uh when it happens when the when the voting finishes basically is that they uh talk to each other they uh reconstruct the key and they compute the results. Then

the results also pass through a ZK circuit and we can be sure that the results were counted correctly. all the information all the not the public information but the cryptographic uh traces are stored on Ethereum and then everyone can uh reproduce the election and check that everything is fine. Then we have the protocol but then we need something that is usable for the people and then we enter to the front end and the voter experience. The voting experience should be something that is easy to use then should that should work on any device and it should be user centric. Easy to use I mean my grandmother should be able to vote because everyone should be able to vote.

It's a democratic process and I don't expect my grandmother to have a hardware wallet. So we need to find a way to circumvent uh these technical uh stoppers. And for example in the images you can see that one of the methods that we use for example is to just send a QR code with a link and an embedded private key on the on the code. This is sent by postal mail and then if even if you don't have a mobile phone you can go to a public station and and vote. Then as I said it should work on any device. Uh so we just use a browser and uh all the UI that we created is super web two. It's super userentric. The voter doesn't need to know that he's using blockchain or

any kind of this cryptographic technology. how it looks like how it look like sorry for the voter basically when you when you open the link for the voting you can receive this link by postal mail by email by SMS whatever and then you see this image basically you have the questions the title of the process you can also embed videos whatever you want then you click on identify and then uh the authentification is up to the organizer so we are flexible in that terms you can you we can use uh electronic passports you can we can integrate databases we can use CS CSV even CSV files and in this case for example I'm just using my email and my name then uh we enabled a two-factor authentification mechanism so I will

receive a two-factor code on my email and then I will be uh I'll be authenticated then I will just select my question I my my answer sorry uh and I will be able to to see that that I'm voting for this and then I will confirm my vote uh the vote will be sent to the network of sequencers and finally I will get a a unique identifier that later I can use uh for uh verifying that my vote was not altered and was actually counted.

This is uh the UI for the organizer point of view. We have uh all the voting processes that we created. We have our member base the settings and if you want to create a voting process we have some templates like for example annual general meeting election participatory budgeting uh we can set the process title we can even attach a video if you want to have some live video we can add the description and then we support any kind of of uh voting method. So we can have single choice multi set uh the basic configuration. So start time and end time some extra configuration if you want the results to be hidden until the end if you want live results and then you select the sensors based on some filters that you can apply on the member

base. Cool thing about this is that we have been serving real world uh organizations since four to five years ago. Uh here you have the different verticals. We are serving public administrators like the Barcelona city hall. Also super cool. The images that you saw with the QR codes was for the municipality of Belutz that held the first uh legally binding digital referendum in Spain. We also help a lot unions and professional bodies like the official uh industrial engineer college in Catalonia. We also helping membership associations, political parties, for example, New Belerus which is the the opposition of the of the Belarus government in exile.

We also helping sport clubs and entertainment like the football club Barcelona and then given that we have the protocol and then the UI of course we have the integrators part that they can use an SDK and API that we have available uh for integrating the base uh technology the base voting technology on their applications. So uh I would like uh to showcase three real nice uh use case that we had during the past year. The first one is was uh three weeks ago uh where the teachers in Catalonia more than 100,000 teachers were on a strike uh for saving public education. Uh they wanted better classrooms less rate less ratio of

students per classroom and they wanted better salaries because you know uh inflation and so on. And basically what happened is that the unions uh had a meeting with the government and they uh created some kind of pre-agreement. But then the teachers wanted to decide to do a referendum about this pre-aggreement. Uh we've been talking to them and we set up this uh this voting for them. It was amazing. It uh last for 4 days and the only thing that they needed to vote it was just their uh official teacher email. So basically they put their email then they received a two-factor authentification code in their email and they were able to vote because we are sure that just one teacher will have

just one uh email. Uh the results were amazing. Uh 61% turnout more than six uh,000 votes cast and nobody contested the results because we have all the cryptographic traces. Nobody can say oh I voted twice the results are not uh correct and all these kind of things. So as we say legitimacy as at scale without relying on blind trust like using Google forms or things like that. Second one uh almost two months ago we helped the Russian opposition uh for doing an election where the this democratic election could not be uh safely happened in Bellarian territory because the

voters are dispersed. there's a lot of political pressure, people are in exile and there were like a lot of attempts to disrupt uh participations. Uh it was crazy because I think that the infrastructure was basically attacked by the nation state because we had a big big DDoS attack. Uh we went down not the protocol but the the front end and the and the API that we are using. We went down for 20 minutes but well hopefully we we went uh able to to recover and also the nice thing about this is that the voters used a varian self-s sovereign identity that was created uh by them for for authenticating theel so in that case I think that must work uh

when the democracy itself is attacked and the third one which is also pretty amazing uh we have a political party in Spain called scar republicana which basically had some key votes uh for investing which uh today is the president of the of the generalat of Catalonia which is the government of Catalonia and they wanted to let their member base uh decide if they wanted so basically they set up a referendum for investing or not uh the pres the current president of Catalonia and this in directly supported uh the continuity of the Spanish prime minister So it was a internal democracy with real

political power that required verifiable uh legitimacy. It was uh super nice because we had almost 80% of turnout and they were 20 parliamentary positions at stake. So as you can see we can leverage web3 technology uh we can create this kind of sanctuary technology but what we need to do is to make it available to the people even sometime of course there's some trade-off uh we don't have hardware wallets but well if we can create a system that is better than the system that we have now why not doing so at some point we will get there and that's it thank you and thank you for having me All right. Uh, do we have any questions

for Jodi? We'll be able to take just one question. >> Yes, just in front. >> Thank you. Uh, amazing. Um, I'm not sure if I did understand. Do you >> what what we have is a thing called the valid protocol which is basically a way of expressing the way you interpret the results of an election which is basically a matrix where you will be able to this to say for example for this specific voting the results needs to be counted like this and this is fully supported. So the it's just a matrix it's super extensible and we support any kind of voting you can imagine.

Thank you. All right, let's put our hands together for journey. Thank you.