New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

The Promise of Blockchain Voting - Sam Richards | Ethereum Foundation

ETH Belgrade CommunityMon, Oct 7, 2024, 12:00 AM

The Promise of Blockchain Voting - Sam Richards | Ethereum Foundation

Transcript

hello hello eth Belgrade thank you guys for having me thanks for being here day three final stretch I know you'd rather be outside drinking a beer somewhere so thanks for being here um like you said my name is Sam Richards I work at the ethereum foundation specifically I work at psse privacy and scaling Explorations we build public goods on ethereum using programmable cryptography um and today I want to talk to you about voting and specifically the potential or the promise of blockchain voting and I think it's still somewhat of an open question right like what is the potential of blockchain enabled voting if you do some quick Googling around I think you'll find a range of of takes on it um you know even a few years ago you had states in the US exploring pilot projects you had countries around the world um you know like India just wrapped up I think the largest democratic election in the history of humanity um spoiler alert they did not use blockchain base voting they did explore it um so I think many examples of like interest and engagement in it but you'll also see takes that basically just say this is a horrible idea like we should not run elections on a blockchain um a lot of journalism's covering this even prestigious institution this is a screenshot from a paper from a bunch of MIT researchers back in 2020 basically saying like this is a bad idea guys like just stop it stop it um so what I want to do is kind of explore this landscape a bit um see what people have been saying what what my thoughts on it are um you know what are some of the advantages what are some of the challenges we see with this technology um and hopefully give you some information for you to kind of decide on your own of like what is what is the promise of this stuff so starting with the why why work on voting if I can get a little existential for a moment like why crypto what are we doing here guys um you know what is the potential of this this industry this technology right is it improving money in finance you know I think we saw with Bitcoin kind of emerging from the financial crisis of 2008 a specific focus on the financial system and I think already we've seen incredible progress in that space in terms of just like improving those systems making them more transparent more efficient uh but I think a lot of us think hey like we could probably do something bigger right like could we build a bigger internet could we build a better world one that embodies these values of Open Source and transparency and just like inclusivity um I think bringing it back to voting like a lot of us see this as a really compelling use case for this technology um so why work on it I mean in short I think voting is important right even taking a look at like elections specifically like who here is voting this year or has already voted most of us right I took this picture this week I heard Belgrade even had some local Municipal elections a couple days ago right it's something a lot of us go through but what's the problem I think in short like voting is pretty hard it's a simple concept but once you get into the details of of how to run say an election process things actually get really complex and really difficult and for the centuries or Millennia that we've been you know experimenting with different forms of democracy there's been a ton of experimentation and a ton of just time energy resources institutions governments right like creating regulation laws processes to to really try to uphold the Integrity of these election processes and thankfully like this isn't the experience most of us get at The Ballot Box thankfully hopefully it's something more like this a picture from an election in Taiwan earlier this year where you have some order and and privacy um but I think what we see is even in you know the supposedly like most advanced democracies and nations in the world is like just a lack of trust and you know belief in the fact that these processes are being running fairly um and consistently so if we kind of take a step back and think about from first principles like what does a voting process even need right I think the tldr it just has a high need for for process Integrity today I'll I'll focus on these four dimensions which I think are particularly important for voting first being correct execution pretty straightforward all these kind of are but correct execution means right like the the votes should add up to the correct result right like when we do the tallying of all these submissions all these ballots that should be correct and ideally that whole process should be transparent so that everyone can buy into the fact that it's correct censorship resistance a phrase we hear a lot in the blockchain space right of like anyone who is eligible to vote should be able to vote right pretty simple no one should be able to prevent your ability to vote and once you cast your vote no one should be able to rip up your Ballot or delete your record in some database right you should have the ability to to actually be able to vote privacy a big one right no one should be able to see how you voted you should be voting because of how you feel about a certain issue not because you're worried about what your neighbor thinks or your employer or your government or some gang down the street and you probably shouldn't be able to see how other people are voting we don't want this kind of like crowd herd mentality of okay I'll just I'll just vote for whoever the influencers are voting for because that's the safe bet right like we want to ensure the Integrity of these processes lastly collusion resistance basically it should not be easy to bribe or coer someone um um and that's key is like you really shouldn't be able to prove to someone else how you voted you shouldn't be able to just take a picture of your ballot and send it to someone so that you can get paid for that so if we look at those four dimensions we can put them in a nice little table and we can start to compare some approaches inperson voting how most of this goes today um basically I think the short is like we don't really know right right governments institutions put a lot of money and effort into this but ultimately we're kind of just trusting them to run things correctly and there's really no way for us to verify or like hold them accountable that they're not censoring votes that they're not you know revealing our votes to to third parties we don't really know shrug Emoji how about digital voting I think most of us here are probably internet native folks I think with the movement all our lives into the digital realm like we kind of see the benefits of potentially doing digital voting you know efficiency accessibility for the most part integrating these experiences into existing Services right like I think a vast potential here environmental benefits to me the most interesting I think is just like if we can make these processes much more efficient we can do that much more often and that empowers us to just do more things in a democratic manner right like most of us vote once every few years right like what could we do what could we accomplish if we could vote much more often at smaller scales more adapted to the information each of us have available I think we can all agree just a lot of potential here but at least with the Platforms in place again we don't really know it's mostly trusting some party to just do everything correctly and and not cheat us so I think one question that comes to mind we all love blockchain here probably I think we're bought in but like should we just stamp a blockchain on everything and say it's better is it possible without one people have been looking into this solution researching this stuff for over 20 years and it's hard to kind of summarize and generalize across all that vast research but I think in short like yes there have been Solutions but broadly the bad news is they all make certain trust assumptions a lot of these protocols have similar designs in in terms of just like encrypting votes so we protect privacy usually there's some agreed on set of tallers with some honest majority assumption and this is again to like make sure there's no one Central party who we have to trust um and they generally rely on this this primitive that is often referred to as a bulletin board and what is that it's basically a place where any voter can send their message and there's some guarantees of like hey anyone can read the bulletin board anyone can submit votes to it um and you might see where I'm going is like I think it turns out the most secure way to actually Implement a bulletin board this kind of vague research concept is to use an existing blockchain right like blockchains like ethereum have been running for you know coming up on a DEC never had downtime right they've been tried and true and I think that gets into the the reason we see blockchain voting as compelling is like at the end of the day blockchains are all about process Integrity right like if you write and deploy a program on a blockchain you have certain assurances that it will run and execute According to some pre-agreed code no one can prevent that execution right no one can tamper with it no one can you know block others from say submitting votes everyone can view and verify the results in a very transparent manner you can start to see it provides a lot of these guarantees that traditional processes and systems just can't offer and if you check out say like solidity documentation um a smart contract programming language in ethereum one of the first examples is like hey let's let's build a voting application and if you look with like under 50 lines of code you can Implement a voting application you know I wrote this myself and you can see there's like a a vote function that just adds to to a vote count so we might say like boom blockchain's solve it done and done but we do have some problems and I would say the main one is that ethereum and most public blockchains in production today right are by default completely transparent which means hey this is great cuz we can verify we can we can track the accountability of these things but all data is public so everyone can see exactly how you voted which we talked about makes bribery extremely easy um you know we have these digital signatures that prove who this is from um we could very easily just like send someone an ether scan link and say yeah like here I voted for you pay we can even build smart contracts to automate this process and this will obviously kind of break blockchain voting if we want to uphold these uh these security guarantees and people warned about this pretty early on this is a paper from 2018 basically saying like hey onchain vote buyings super easy um sellout Dow is a fun little story about an eth Berlin hackathon a few years ago um with molok Dow which was an early Dow um funding public goods in ethereum and one of the members hacked on this this web app and smart contract that basically says like hey you can bribe me just just send me some eth and he wrote a smart contract he delegated his voting power to the smart contract and you can see he just has like a public buy function that says hey send me 0.5 eth and you can create proposals and you can vote on my behalf you don't have to trust me you don't have to take my word for it you don't even have to know me you can just buy me um and I think that's you know a simple example but the hacker marianao raised a really interesting point which you is the need for private onchain voting if this stuff is actually going to work so if we think about ethereum compared to some of these other options yep it provides correct execution we have these nice guarantees about censorship resistance but privacy is not available out of the box and as a result collusion resistance a major major issue so can we solve this stuff um I think there's many different ways to implement this and there's many different projects trying to solve this problem which is great but like in short the way many of us view it is like more cryptography is the answer and at least for now zero knowledge proofs can be a great way to accomplish that so most of you probably heard of ZK hopefully by this point um really interesting technology has great um you know powerful features for blockchains it's basically a way of proving some fact without actually revealing all the information of the fact and a couple like common examples right maybe you know the solution to a puzzle but you don't want to reveal the entire solution you want to prove your 18 to get get into a bar but you don't want to show someone your exact birth date maybe you want to take a loan from a financial institution this technology gives you the power to prove according to my financial institution of like hey I have why amount of Assets in my bank account without having to show you my entire Financial history so really powerful technology that we think we can apply to this use case to to provide some of these nice properties and we think this could kind of unlock this Holy Grail of like how can we provide all these important properties to a voting system and one implementation that I'm working on currently is called Macy and that stands for minimal anti collusion infrastructure and how does how does Macy go about this WTF is Macy in short it's an onchain voting system um we try to add privacy and that collusion resistance I just talked about it was proposed by some guy a few years ago R&D has been funded since by the ethereum foundation um it's basically an application powered by smart contracts and ZK circuits um it's open source software anyone can take off the shelf and use and deploy and what it provides is onchain voting but private onchain voting um and provides the public and transparency we think is really useful in terms of the onchain results like what are the actual results in a verifiable way so we think this combination helps give us the best of both worlds essentially so getting into how Macy works there's a couple roles there's basically you know the voter in the system obviously and we have this this role known as the coordinator and this would be someone actually like deploying this system and operating say an election so let's take a look at how it works say we got an election coming up we're all really excited um we got the user and the coordinator that I just described first thing is the coordinator is going to deploy this set of smart contracts on chain and this can be deployed to like any evm chain um what the user is going to do is is create a shared secret much like we use encryption to connect with websites securely on the internet today they're going to use that secret to create a vote and then encrypt that vote and that encrypted vote is get is what gets submitted on chain so on chain anyone can see the transaction taking place you know vanilla ethereum or blockchain stuff but as you can see the actual data within that vote is encrypted and not decipherable by anyone right so you got a bunch of people submitting votes going through the election some time passes right some deadline is hit some election ends once that election process is done what the coordinator will do is query the votes just like anyone can because it's a public blockchain but they have the unique ability to decrypt those votes and tally them in some offchain process once they process and tally those votes what they do is essentially submit a commitment to the results using a ZK proof that basically guarantees that they did not tamper with the results they calculated them correctly they didn't censor anyone they didn't double count anything um and it gives people that nice public onchain result of of how things went down so there we go elections on chain so if we look at where are we now as I mentioned you know this stuff started as an E3 search post there's there's onchain open source audited code um that projects are using today to to launch um launch onchain voting processes um projects like clear fund here in the screenshot are even using it for quadratic funding projects and crowdfunding initiatives which is you know essentially voting with money when there's even higher Stakes around privacy inclusion um and bribery so we're basically working on the system you know we have a team and an open source community building it out that's great because the technology still is early right you know zero knowledge proofs blockchains there are some current trust assumptions involved if you kind of notice that flow of like this coordinator this person operating the role does have some power to decrypt the results and like they could you know bribe people with that information if they're malicious that information could leak so there's ways where we're we're building out solutions to that which is great um but currently there still are some some trust assumptions with this stuff so where we're at today probably something more like this um but I think you know particularly within the next couple years I think we'll definitely get into a place where like this is a much more compelling solution than anything else in existence um we've been running experiments with projects to do onchain voting onchain quadratic funding and we're actively looking for more more people to work with where do we think we're going I mean we think Macy or some iteration of this can build the most secure EV voting system in the world ambitious Vision but we think this technology makes it possible how do we get there like I said I think starting with ethereum Native projects blockchain project projects people and users who are used to you know using wallets using this technology like qf initiatives like Dow governance I mean if we look here's a screenshot of just like some onchain treasuries right organizations with billions of dollars that stake um we're already working with some of them such as like the optimism Foundation to say like hey you do retro pgf you know Grant rounds of $100 million um clearly you want some security guarantees that people aren't cheating or being bribed um so we're looking to start there but starting to also have conversations with some you know forward-looking Innovative municipalities of like could we actually use this stuff in the real world and and get real people using this stuff um so the hope is that you know next time we're all here in Belgrade together um these elections will be will be happening on chain thanks if I have time happy to take questions how we doing on time questions are good we got time all right Hi Sam thank you so much for your presentation you mentioned a lot of and it seems to be the perfect use case to have you know like real word voting for governments for national elections municipalities and so on but what's interesting to see and this is like more to hear your thoughts on that is that actually most of the countries that are part of the European Union are going on elections this weekend so over 30 States uh will be voting for The Parliament and we've been seen more and more the turnout in Europe very very low so it's always around 35 last month in Portugal for the uh national elections we had actually an above average which for them is 49% to go to the ballots in vote and I can see the technology can support at certain extent but I wonder besides the accessibility and also the trust that this new technology can bring what do you think that could actually help people you know to think about and go vote great question yeah I mean ultimately at least from my perspective I've definitely been focused on the infrastructure of this stuff and I think getting engagement with election and participation super important not stuff were currently like focused on solving um I mean I'm at least hopeful with just like moving more things and more services online and digital that like that will help right if you're an expat if you're in the military you can vote remotely um to be able to vote from your phone um obviously unlocks hopefully a lot of chance es to to improve participation um but yeah I think part of it's also just education right of just like at least where I live in the US I think a lot of people have become apathetic just because they don't think their vote matters they don't trust the system I think there's just a lot of misinformation in the space so I am hopeful that like if we could get government adoption of this stuff and education around this of like why this technology so powerful how it does actually guarantee a lot of these Pro processes that we haven't been able to guarantee before that people can buy in and get excited about like okay like my vote will be counted and I and I know for sure that's true but yeah it's a tough problem right we can't solve we can't solve everything at once hey Sam this was really great um so I guess what I'm wondering is what do you think will be the biggest challenge because obviously in an ideal scenario we want people to care about elections and we want the government to acknowledge the results of these elections um not having these like stop to steal you know things going on um so what do you think will be the biggest challenge when it comes to Humanity's sort of desire for power I foresee that will definitely have some opposition from people who are used to kind of like managing the strings like I'll give you a quick example I've lived in the US in New Hampshire for years but also I'm from Eastern Europe and in my little Hometown there's a person that always wins the election and the anecdote is that they're like hiding like bags of votes and it's all done very manually so how do you think we can overcome human desire for power at whatever cost to even be able to integrate this technology to get people to trust in the system again and create a better future yeah great question another big problem that I probably can't answer I mean I think the biggest obstacle is probably just political will of just like like you say of like the people in power are probably pretty happy with how things are going right now and like how easy it is to say bribe voters um but I think that tied is is changing and people are somewhat hungry for these Solutions you know I was just I was in blocks spit in Croatia last week and we met with some folks from the parliament of Croatia and they're seeing examples in the wild not specifically of blockchain voting but of like Estonia that's been running digital elections for like a decade now and they've brought in members from the Estonia government to teach them and show workshops and I think there is mounting pressure partly driven by just like the economy going digital governments now kind of like competing with each other for talent for tax dollars and I think you'll see like competition over government services broadly becoming something that there's just more pressure and conversation around but I think it will take people and just like political will to say like hey we actually want this thing um the other piece I think is just like proving it in smaller Stakes environments like when I was also out in Croatia I met with someone who like works at the local football club and they do digital elections and like everyone in the city knows about the football club and if we can get an organization like that to adopt it get people using the technology and comfortable with it and demonstrate hey this stuff works we think that will raise awareness and raise demand for people asking questions of like hey if our football club can do it like why can't our city government do this how we doing thank you guys what a session guys what a session and for time purposes we do have to jump into the next one but I'm sure everyone can grab you after for their questions and did you share your your Twitter handle everything like that so people can contact uh Sam onchain on Twitter and yeah I'll be floating if you guys want to chat I got a couple questions but we just don't have time for it so I'll be speaking to great great to

Automatic transcript — names and jargon may be misspelled.