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

Loading player…

La promesa de la votación blockchain - Sam Richards

Ethereum LimaWed, Oct 9, 2024, 12:00 AM

Presentación de Sam Richards en el marco del Ethereum Lima Day. Por qué votar usando Ethereum es importante. En qué se viene trabajando, cuáles son los retos y oportunidades.

Transcript

H gra [Applause] ROM um so I need to speak in English um so that's your first first rug pole of the day um apologies I'll try to slow slowly go through this but yeah want to talk today about just the potential of blockchain voting um which is something very near and dear to my heart um so it's kind of a question right what is the promise if you have read up or Googled around on this topic you may have seen a wide variety of opinions um examples of City and National governments um you know States um experimenting with early Pilots of blockchain voting and there's definitely excitement and like um eager participants to try all this stuff out um here's one example even in as early as 2018 so six years ago right um governments in Thailand Russia Japan United States all over the world experimenting with early early ways of of how could we potentially run elections even on a blockchain um meanwhile you also probably hear of you know reporters researchers saying blockchain would be a disaster to to run elections on right and you know yeah research papers from very prestigious universities and and scientific clubs saying like internet voting blockchain voting not a good idea um so what I'm hoping to do today is to kind of talk through some of the reasons why some people think it's really great why some people think it's a bad idea and hopefully give some clarity on on how to think about it and and hopefully you can come up with your own conclusions by the end um so like Romy said my name is Sam I work at the ethereum Foundation um here's our Discord if you want to come say hi or have questions at the end um let's get into it so today yeah I want to talk about blockchain voting some of the why why voting why is it important um what's needed in a voting process what like security and Trust guarantees are super important for voting um what are some of the challenges what are some of the opportunities um and where are we now with this technology right it's it's very early um where are we now where do we think we can go in the future so before I get into voting I guess starting big picture of like what is the potential of crypto broadly right is it to improve money and finance and I think you know the the creation of Bitcoin in in 20 8 I think was very much aimed at that right like how can we add transparency um and immutability and all these sound properties to money and finance right and that's awesome that's a huge ambitious goal in itself but I think a question a lot of us in the ethereum space ask right is like can we also build something even bigger whether that's you know a better internet a lot of talk about web 3 right building a better internet can we build a better world can we make a world that's more trustworthy more democratic more inclusive and transparent um a lot of these words you probably see and hear about the space um and that's why I think voting is a great example of that right like it's not a specifically financial application sure there might be lots of money on the line um but I think it's a good use case for blockchains that's not specifically Financial of Nature and also voting is important right um even if you talk about you know elections this year seeming to be a big one for that like raise your hand if you've ever participated in a a local or national election um it's something a lot of us go through as just citizens of the world right we we want this to be a valuable process and a way for us to give voice and and Empower us to help make decisions in the world but what's the problem with voting today I mean ultimately voting I'd say is just hard right um you know it's a fairly simple process when you think about it um but when you get into the details and see a lot of just resources go into it again taking elections as an example um very expensive to just ensure the security of the process the um you know the accountability of it making sure everything runs smoothly um it's something you know governments and corporations spend a lot of money on to try to try to make sure that these processes are are trusted and yeah again there's you know laws there's processes there's a lot of things that say governments will do to try to ensure that these things go well um and in most cases we could say elections work well um hopefully what most of us experience at The Ballot Box right is not this right like hopefully we have a safe space where you know there's privacy we are confident that our vote is counted we you know are able to access the polls and participate in this system um but even with that you know I'm from the United States there's still issues in the supposedly you know Advanced economy and advanced civilization that like people have trouble like trusting the system and believing that like hey was this vote actually processed correctly um so I think a helpful framing to like try to compare different options here is just thinking through like what does a voting process need to begin with um you know voting it's critical to have process Integrity it's it's critical for things to be secure and trusted um so some of the dimensions I want to lay out here for how we like at the foundation have thought about it um is on a few different dimensions of like what does a voting process really need and one is just correct execution so what is that ultimately it's pretty straight forward that the result should be correct right that each single vote should be counted um the ultimate tally should be correct um and not only should it be correct but ideally it's guaranteed to be correct so that people trust that the results are correct that people buy in and are convinced hey this process works um I know my vote was counted I know my vote wasn't double counted um we want things to be correct right so that's one second one I think censorship resistance and that may be a term you hear a lot of in the blockchain space um but in short anyone who can vote should be able to vote right um no one should be able to prevent you from voting and once you do vote no one should be able to delete your vote right your vote shouldn't be removed from the database by some system administrator um we want to ensure that yeah like anyone who can vote can participate and if they participate um their results are counted third privacy is a really big area in voting no one should be able to know who you voted for or even if you voted at all right um um that's really important because we want each of you to vote based on how you feel right not on how your neighbor feels or some gang feels or the police feel um you shouldn't feel like you're being judged for your own decisions and like in an electoral process privacy we view as as super important um and finally we think about collusion resistance and what that really means is you should not be able to prove to someone else how you voted so even if your vote was private and you were able to cast it um you should not be able to have a receipt to show to someone else how you voted and why is that important well bribery for one or just overall coercion if someone's forcing you to vote a certain way if you're unable to prove how you voted it makes someone much less willing to pay you to vote a certain way um so selling votes becomes much less of an issue if you can't prove how you vote so again those are kind of the four dimensions we think about of like what does a voting process absolutely need to be secure and we can make a little table about this so going back to you know the way things largely work across the world is in-person voting um and they try as hard as they can but for this I give kind of the shrug of Moji of like we don't really know for sure that you know the governments are correctly counting all the votes that they're not censoring any of the votes um you know I may think I have privacy when I go to The Ballot Box because I'm in a nice little cubicle and no one can see what I'm inputting but I don't really know if they show my vote to someone else um and it's just a little unknown how things work today um obviously again governments corporations try very much to ensure to the degree they can um but there's largely no guarantees around how these processes work so enter electronic voting right and like why even bother um this I think is fairly simple like we're all here at an ethereum event I think we all believe in technology largely like the ability to use the internet for different processes would be much more efficient so we could do it much more often right if you think about right now most democratic votes we give like one input every 1 to six years that's not very frequent for you know Democratic participation um so if we think if we could vote more often on more things at you know smaller scale events more relevant to us um that would be a big unlock and a big opportunity for us in society you know if voting was as easy to use as Tinder or you could just you know swipe on a candidate and say yeah I like them no I don't like that proposal you know is it as easy as a a Twitter poll um I think we all agree like that would be better than having to take time off work go to the polling station um it's just a very slow clunky process right now but one question is without a blockchain can electronic voting work so people have been thinking about this question for a long time way before blockchains I'd say over 20 years um and the good news is there are some solutions for electonic voting or EV voting um I'd say the bad news is they all eventually make some trust assumptions of how things could and should work and most of them kind of follow a similar set of techniques which involve encrypting votes setting up a system of of tallers to count the votes and this requires an assumption that the majority of these tallers are honest um and if you see a lot of these papers in recent years they they all tend to rely on this this concept of a bulletin board to um to complete their security guarantees and what is this bulletin board they typically describe it as like this a pendon database if you will where anyone can send a message to anyone else can read from it um and anyone can ensure if they send a message it'll get accepted and maybe you can see where I might be going with this is like it turns out blockchains are a great bull bulletin board and there already out live and public and they've demonstrated their ability to be very secure in this specific use case so why blockchain voting I kind of already touched on it but blockchains as a technology Focus very specifically about providing guarantees around process Integrity right if a process runs on a blockchain or say a program running on ethereum that process is guaranteed to run as it's written so these pre-agreed upon code and logic will receive inputs and calculate that consistent output which we can see is very compelling to this this type of use case no one can prevent the execution from happening no one can tamper or manipulate with the results with the execution and no one can block anyone else's input into into the blockchain so you can start to see some of these these security guarantees we would want from a voting process a blockchain solves pretty well this is a screenshot at the solidity documentation which is one of the main programming languages of ethereum and you can see one of the first examples is a voting voting contract um this is a very simple example of it and it's okay if you don't code but I think the point is like it's pretty simple you can see there's a a vote function it checks if the vote has already been cast by an individual if not it blocks it and anyone can see and inspect this open- source code make sure it runs the way you would expect it to and that the results are calculated so in that sense it's completely auditable it's completely transparent to everyone to to scrutinize the system so we're done we did it um yeah we did but wait they actually not quite so so there are some challenges um I mean for one I think there's the same challenges that any blockchain application faces so if we were to do voting on The blockchain we still have a lot of the same questions of just like just because it's on a a blockchain a software project can still be poorly implemented just because your shitty project is now on a blockchain doesn't mean it works well um so we still got to think about software quality there's still ux concerns of just like how do you manage your keys there's scalability there's acquiring ethereum for gas cost um and there's one key aspect specific to voting which is transparency that ends up being a little bit of a challenge so ethereum as you may know like most blockchains it's by default completely transparent and this adds a lot of nice properties that other folks have talked about of it's auditable it's open anyone can ECT and scrutinize it so all transaction data is public by default um but as we talked about with voting privacy is actually really important right like if everyone can see exactly who I voted for on the blockchain that's not going to defend us against collusion resistance right bribery becomes very easy if I can just say hey check out my ether skan transaction it shows I voted for you now please pay me um so this is a serious problem with blockchains so if we yeah compare the iners approach ethereum like we just talked about really good at correct execution great at censorship resistance but oh no privacy and as a result collusion resistance is a bit of a problem um so I don't have enough time to like dig deep into the details but short answer is that instead of just abandoning blockchains for this reason um like a lot of researchers and news articles have of just like okay blockchains don't have privacy let's just abandon them we can actually solve some of these problems using by layering on additional techniques on top of the blockchain applications and in short the answer is cryptography specifically a concept called zero knowledge proofs which I saw there's a talk about later today so check it out um but using ZK proofs we can actually get all these different guarantees so that we can have privacy while having onchain votes um and that's a really exciting future that is just becoming um kind of production ready um there's a great recent post on kind of just like this state of different projects in ethereum building private voting um here's a quick overview of some I'll talk briefly on the project I'm working on Macy you can see different projects have different tradeoffs but Macy specifically um I don't think I have enough time to go through this um basically solves this privacy problem by encrypting votes so that onchain voting is still happening but votes are encrypted and they're private so any onlooker is unable to see how the votes are cast um but it gives some unique properties where a a person can then take these votes decrypt them tally them offchain so by doing a separate process off of the blockch chain and then submitting the final results back on chain and that gives us a unique Advantage where we still have everything on chain that needs to be on chain so people are guaranteed to be able to cast their votes if they're eligible they're guaranteed to just have those nice properties that blockchains give um but it also gives us some really nice privacy features um to make sure that like hey we can't prove how we voted we can't bribe each other we can't have all these issues that come up um with these challenges so in short zero knowledge proofs encryption blockchain by combining these different things together um we can actually come up with some pretty incredible solutions to to build out onchain voting um again I I'm sorry I don't think I have time to go through this stuff I guess just to show where we are at now is like there's been research for a few years on this we have open- source code um and we have projects running some of these voting systems in production this example is a project called clear fund that has integrated this Macy privacy voting stack um and is basically running like crowdfunding campaigns which is voting with dollars in production today um so the approach we're kind of taking is starting small and iterating we want to become you know the most secure electronic voting system in the world we think ethereum has the potential to provide this to the world um we're starting with ather applications and ethereum infrastructure um but what we're really excited about in moving towards is yeah like working with City governments working with national governments to potentially run Pilots of of voting voting processes on chain and if you know anyone who works at a local government um please please get me in touch um so quick credits um vitalic who founded ethereum wrote this great post that covers a lot of what I did today if you do want to check it out there's a QR code right there um I was also able to work with someone shout out to Chris Garner who got this translated into Spanish um you can see the post was merged I don't think it's yet been deployed so this link might not work yet but it will within a couple days so yeah if you want to be able to read about this in Spanish um encourage you to check it out very soon I don't think I have time for questions but feel free to hit me up and join our Discord if you do have questions um thank you very much [Applause] guys

Automatic transcript — names and jargon may be misspelled.