What if we could increase voter participation and election credibility via secure, verifiable online voting for elections?
Researchers are building systems to utilize the immutability, transparency and distributed consensus properties of blockchain. We are finding that a blockchain based voting system could solve many of the current day election challenges.
Arnab Ghosh is a recent Electrical & Computer Engineering graduate of University of Waterloo and budding entrepreneur. Find out why he made the design choices he did on his prototype and how it improves upon existing tech-start up systems currently available. To learn more, you can read his master's thesis and stay tuned for his code going public on GitHub.
Lauren Weymouth (00:00):
I'm Lauren Weymouth, director of the University Blockchain Research Initiative at Ripple recording from San Francisco. And welcome back to season three of All About Blockchain. The top episodes based on downloads so far have been about real estate tokenization, healthcare, and sustainability goals. Thank you for your minds, your hearts, your ears. We really appreciate your listening to drive these conversations, and hope it is making you think about blockchain and how it can serve and your own orbits.
The gap shifting blockchain from emerging to mainstream technology is filling more quickly than ever expected. It's hard to avoid the rise of cryptocurrency, but awareness of this unique technology behind it is growing. Developers who recognize the value of blockchain are racing to create new use cases for it and put their ideas into production. We love talking to these innovators of the hour. We're all figuring out how to use this tech to better our lives. And today we'll be discussing blockchain based election systems.
What if we could increase voter participation and election credibility via secure, verifiable, online voting for governmental elections? Real world trials have already occurred, like in 2018, the Thai Democratic Party held a primary election to elect its new party leader using Zcoin, making it the first large scale political election carried out using blockchain technology. Researchers continue to improve upon these systems to utilize the immutability, transparency, and distributed consensus properties of blockchain. We have Arneb Ghosh joining us. He's a research assistant and masters graduate of electrical and computer engineering program at the University of Waterloo in Canada. He proposed a blockchain based election architecture using the XRP Ledger. And we'll hear about his proof of concept. Welcome, Arnab
Arnab Ghosh (01:49):
Hello. How are you Lauren?
Lauren Weymouth (01:51):
So take us back to the beginning. How did you get into blockchain?
Arnab Ghosh (01:54):
Probably at around 2012 to '13, this craze about blockchain started coming up.of course, at that time it was mostly about Bitcoin and cryptocurrency. And especially in 2017 or '18 Bitcoin took a huge leap, like the price of Bitcoin started going up. I was interested how come this, this thing is going up? What is the reason behind it? What is the concept behind, this kind of a currency? And that is how I learned first about blockchain.
I did some research myself and, I saw that like Bitcoin is just one of the application of blockchain. The blockchain as a concept is not only limited to cryptocurrency. It has certain very useful properties, which can be used in a variety of domains, Of course after coming here, I learned more about the concepts used and different kinds of blockchain. I wanted to develop something for the society based on blockchain, which will be very useful the problem set into which have not yet been solved. An election system, which is based on this kind of technology.
Lauren Weymouth (04:50):
I want to hear more about when you got to the University of Waterloo, how you were surrounded by other researchers also interested in blockchain. What is the vibe going on now at University of Waterloo?
Arnab Ghosh (05:04):
Definitely in the recent few years a number of researchers on blockchain have gone up. I have talked to many, people in research groups here, including not only in my research group but in also other research groups. They are, working on different aspects of blockchain, such as increasing the speed of transactions, strengthening the cryptography, security of smart contracts, especially with relation to Ethereum, and researching on various other applications of blockchain.
So yeah, the blockchain has been coming up as an area of increased interest in research. I would still say that, we could do more, we can, bring more people into this domain who might be interested to develop this technology further and, probably develop more,interesting applications for the greater good of the society.
Lauren Weymouth (03:56):
So we heard you say that what motivated you to design a new voting system was that you were trying to do something good for society and tackle problems that existed that you thought blockchain could help solve for. What were the problems with the existing voting system?
Arnab Ghosh (04:09):
If we talk about the most prevalent voting systems, which are based on mostly ballot paper. the problem is accessibility because in the 21st century, people don't have this much of time to, go to the election booth, stand in a queue for hours, and then cast their vote. People are busy. People are busy with their daily course. People are busy with working, developing some interesting stuff.
And often we see that, voting involves going to the election booth, uh, then waiting for a certain amount of time and many people actually don't derive,direct benefits from the election as such. So what happens is that they become disinterested and we have turnouts going down in various parts of the world. ]apart from that, there always, these allegations that, the election authority, which is considered to be under the government, they are doing something to, to manipulate the system or, the votes. we saw in the recent election in US probably a year back that, there were many allegations that, the votes counted were not real votes, or there was some fake, fake votes or votes were changed or things like that.
we need to develop the election systems, uh, as per the technology in the 21st century. Ballot paper probably it was good, uh, good for the 20th century. it's a old concept. It's a proven concept, but, in 21st century, to match up with the needs of the society, to match up with the technological advances. I feel we need to advance our voting systems as well.
Lauren Weymouth (05:34):
So inspiring. You set out to conquer voter apathy and voter fraud. What are the characteristics of blockchain systems that make blockchain suitable for building a voting system?
Arnab Ghosh (05:45):
I think the biggest advantage of blockchain is that it is transparent. And also of course, it's an immutable ledger. the main problem with, legacy election systems is that, uh, one is the corruption allegations. So if we have a transparent system, and if you are immutable system, we can solve these kinds of issues. And the second thing is that, any blockchain based system will probably be an internet based voting system. So it will be completely accessible. the technology behind, behind blockchain is not too complicated or too difficult to understand for... even for the lay man. it will be also easier to gain trust of the society, in a blockchain based voting system.
Lauren Weymouth (06:23):
All right. So this digital ledger, thanks to encryption and decentralization, helps the database keep those transactions. So they're incorruptible, right? And it's easy to record and verify. what's been logged. Are there cybersecurity considerations here?
Arnab Ghosh (06:40):
in any system, suppose I have a blockchain and I'm sending some data, I can send encrypted data as well. But there's always concerns about, you know, the interface. the main concern is if I am sending data to a network, what about the gap between me and that network? What about the security there? Once I'm in the network, of course, uh, I can, provide some encryption schemes and, do some data hiding kind of things.
And the other thing is of course, uh, authentication. The authentication process should be trustable. if there is a problem with the authentication system, then the whole system breaks because if a person can vote twice, or if, suppose, a person who is not eligible is able to vote, then again, the whole system breaks down. So we need to take care of, authentication. And also need to take care of, that gap between, when you send a vote and when the vote is in the network in its encrypted form.
Lauren Weymouth (07:28):
So this is a novel concept, but there's already many voting systems based on blockchain. We've seen some Ethereum based election applications before. Could you elaborate a little bit on their advantages and disadvantages that led you to your own architecture?
Arnab Ghosh (07:43):
there have been many blockchain voting systems which have been developed. Some of them are, uh, internet based voting systems. Some are not. For example, you have the Ethereum system, which is not completely, internet based because you need to go to the booth to cast the vote there are other, voting systems, for example, like voting system. their voting system is based on, authority, which approves the vote. So you can say there is certain degree of centralization in their voting scheme.
And in many of the voting scheme, you don't have the property of individual verification. some of the voting schemes don't have fairness. You know, the vote should not be revealed before the election process is completely over. Otherwise, it might influence the voters to vote for a particular candidate and, that kind of breaks the election system.
you have some voting systems, which don't have this property that the voter can change the vote. So in my system, if the voter wants to change his mind and vote for different candidates before the end of the election, he can do so. But, in many other systems this property is not present. And, and there's another thing that, if the voter votes for a certain candidate he should not be able to prove to a third party that, his voted for that candidate. So in many of the proposed election system, this property is not present. And I have also tried to take care of this property as well in my proposed system.
Lauren Weymouth (09:03):
So the Ethereum based election applications lack certain properties such as coercion resistance and fairness, which are essential for successful conduct of elections. Are we also looking at large scale election process? What's the scalability of blockchain networks? Is this an important consideration?
Arnab Ghosh (09:20):
Yeah. Scalability is a very important consideration for blockchain based election systems. If you see a Bitcoin based systems, they required around a few minutes for confirmation. And so if we conduct a blockchain based selection on Bitcoin, then it will probably take a few weeks or months. Even in Ethereum, which is one of the faster block chains, it gives around 30 transactions per second. And if you conduct elections on that kind of system, it will still probably take a few days.
In case of the XRPL Ledger, the transactions per second is around 1500, which is 50 times that of Ethereum.
If we scale up to national level, that issue will be even more stark. I think, XRPL offers a significant advantage in terms of scalability of the systems and ability to implement these systems on a larger scale.
Lauren Weymouth (10:09):
So we hear that scalability of blockchain networks is an important consideration. Now there are tech startups advocating for using blockchain tech to boost voter turnout and improve public trust. There is Horizon State and Utah GOP just used TiVi and other apps like votes have been deployed in state and county elections. So I'm sure you research these companies in bringing about a voting populace on blockchain. Did you borrow any features or improve upon some features?
Arnab Ghosh (10:36):
Many of the blockchain systems use a token system for voting. So that is something which, I have borrowed from some of these systems. the vote is stored in the blockchain, in all of these systems. So that property is there in my system as well. one property which I had to borrow was the voter ID, So the ID should be supplied by someone.
Lauren Weymouth (11:00)
You're talking about digital identification. Like I go to vote-
Arnab Ghosh (11:03):
Lauren Weymouth (11:04):
... and approve that I am Lauren, I'm the one voting, and then it's logged.
Arnab Ghosh (11:08):
Yes. But, then how do you prove that, you're Lauren, you haven't voted before, you are voting for the first time, and you're eligible to vote? you'll probably give some biometric identification. What will that be matched with? It will be matched with some kind of a database which is built up by some authority. that is still a work in progress to get rid of that kind of an authority. This is present in many other election schemes.
In fact, many election schemes have, more than one authority, an authority which provides the token, an authority which registers. So we are actually trying to get rid of these authorities because if you have an authority in the system, then there's always going to be allegations that, you know, this is controlled by someone. An authority is always controlled by someone. we want to get rid of these, so we are working on it.
Lauren Weymouth (11:49):
Arnab Ghosh (11:):50
Lauren Weymouth (11:51):
And why did you choose the XRP Ledger to build system? What advantages did you get from the XRP Ledger?
Arnab Ghosh (11:56):
I think the main advantage was the speed of XRP Ledger because, it is around 1500 transactions per second. The time for verification is only around eight seconds compared around the five minutes for Ethereum. So that is one of the main advantage of XRP Ledger. we can easily scale the system up so that it can be used for a practical application. And That is actually what motivated me to use, XRPL blockchain instead of say some other blockchains, such as Bitcoin or Ethereum. The speed and also the simplicity of the voting scheme.
I am storing the vote directly in the blockchain, so the encrypted vote. the XRP Ledger has a memo's field where I can send any data. for Ethereum, I don't think there's a field like that where we can send like any amount of data to store in the blockchain.
Of course, Ethereum has its own advantages. they have smart contracts. we can probably use smart contracts instead of sending the vote, as a transaction.
Lauren Weymouth (12:59):
I'm glad you brought smart contracts because I did think using the XRP Ledger to construct a voting system was innovative because it does not support smart contracts, although there are smart contracts amendments, like Hooks. Did this bring you any challenges and how did you go about solving this problem?
Arnab Ghosh (13:14):
The fairness of the election system might become a bit of a problem. for now I have used, server to generate the keys and use secret sharing for the scheme. the other, alternative is to use distributed key generation. The only thing without,the smart contracts is that, we need a certain number of talliers to be honest.
So for example, there are 10 talliers, if you use a distributed secret generation or a secret sharing scheme, which is like N out of K, so we need N out of K talliers to be honest. So yeah, that is a workaround I've used, . in a system without smart contracts.
Lauren Weymouth (13:51):
And why did you choose to do that instead of using the Hooks amendment that brings about a smart contract language into the blockchain?
Arnab Ghosh (13:58):
I think the Hooks amendment yeah, that can also be used. we can try that as well. I wanted to develop a work around for smart contracts so that we can use current XRP Ledger I think it's a reasonable approximation that, 7 out of 10 or 6 out of 10 talliers is honest, I think, even in a Bitcoin blockchain you assume 51% users are honest.That is a reasonable assumption. Of course, we can use smart contracts as well. that will be a variation of this system and in future, I will definitely look to implement it on the Hook system as well.
Lauren Weymouth (14:31):
Well, it's good to hear that you have multiple ways of, solving that challenge.
Arnab Ghosh (21:25):
Lauren Weymouth (14:36):
You mentioned how most blockchain systems are public distributed ledgers. They can make everything on the ledger transparent, traceable, and dependable. But this brings some privacy concerns to the voting process. How did you tackle this problem in your system?
Arnab Ghosh (14:49):
So in our system, we use, data hiding at every stage. So for example, if the voter is communicating his data to suppose a node or to, do the authentication server, the data there is always encrypted, and even the vote is encrypted and the vote cannot be revealed unless, the talliers come together, or if there's some dishonest talliers more than N out of K and the private key is reveal before the vote is over in that case probably the vote can be revealed before the election is over.
even then, the voter is never tied to his vote. The voter just sends an anonymous token with the vote. That token is nowhere related to the voter. And if we see the vote as a whole, the encrypted vote, which is sent by the voter, no party can actually make out that that vote has been sent by that particular voter. It's the token, which validates the vote and not the voter. that is how we achieve anonymity and fairness in the system.
Lauren Weymouth (15:46):
Now, you mentioned that this was a voting system to replace the paper-based system.
Is this a general voting system that can be applied to all voting scenarios like preferential voting systems, closed voting systems, et cetera?
Arnab Ghosh (15:59):
So I think, uh, preferential voting systems is an easy modification because,the vote is actually being, concatenated to a random message and that has been encrypted. So the vote message can be as long as we want it to be. So we can just,, include the preferences in order. And we can send that,as a transaction in the blockchain. I don't think that requires a significant modification. So we can use the scheme even for a preferential voting system.
Lauren Weymouth (16:25):
do you think society's gonna accept such a voting system?
Arnab Ghosh (16:29):
Uh, well, they're always going to be doubters and, uh, I accept that there are certain, certain weaknesses we are working on. Like I told you earlier that, there is still an aspect of an authority in the authentication side that we are looking to replace. And then there's always people who are going to point at, the assumptions that, N out of K will be honest.
probably we can use some other systems. Even in smart contracts if you use smart contracts, smart contracts have their own security issues as well. we are trying to improve the system and, with improvements, if we can explain this technology to the public, then, in time, probably the public is going to accept, a system which is based on blockchain.
I think the biggest mistake that most companies make, which are developing the system is that they don't make their code public. They don't make their exact technology public. You know, if you see the white papers, in many of the white papers, you know, they have a concept, but, uh, do they provide the code or do they provide the exact systems they're using? Many of the papers and many of the white papers and articles, they don't really provide, what exact technology they're using. And that actually makes people doubt those systems, because they think that if the company is not revealing what exact technology they're using, what is happening to the vote at every stage, then, people start to doubt the system.
And researchers then say "What about, this aspect of, of security? What about the gap, between the blockchain and the voter?" And things like that. But in this case, we want to make the system, as public as possible, everything that happens to the vote is totally transparent. So I think that will actually help people accept the system, faster.
Lauren Weymouth (18:09):
So you're a big fan of open source.
Arnab Ghosh (18:11):
Yes. I think open source is very important, especially in a democratic system. You know, if I don't make it open source, if I just, you know, say, "Okay, I've developed a system based on this and this," what is the proof? No one will accept such a system. You know, there'll be always detractors who will say that, okay, the system might have this, this kind of deficiency. This might have a security, uh, issues. And I might respond to that. I might say that, okay, does not have, but who is going to believe me if my code is not public. So I think that is a big, big factor.
Lauren Weymouth (18:41):
So say you make some improvements and you've tested it out and find in trials that this is a fair system that works.
Arnab Ghosh (18:49):
Lauren Weymouth (18:49):
How do you go about promoting technology to people?
Arnab Ghosh (18:53):
So I think the first step is to carry out small scale elections, probably college elections, university elections. And once those processes go on smoothly, college and universities, these places are from where every startup or every small technology starts. So if we implement this in university elections, it'll influence the minds of a lot of young people. slowly over time, we can move forward to maybe, county elections or, state, city elections. And then, move further up the hierarchy. You know, if the young population accepts this kind of a system, then I think slowly, the acceptance will increase among the general public as well.
Lauren Weymouth (19:32):
So what are your next steps?
Arnab Ghosh (19:34):
apart from working on the implement of the system, I'm also, implementing the system on, on AWS. for that we request certain resources. we are having a, a conversation about how to arrange for those resources. And once that is done, propose this kind of a system for an election in our university, that is University of Waterloo for student elections.
if that is successful, then probably we can take it up a level further, publish it in a journal. That will enable us to receive some feedback as well from researchers who have been working in this area. Probably we can improve more and improve the visibility as well. And then, we can take it up another level probably to city, city elections, and then we can take it up further.
Lauren Weymouth (20:16):
If, if one of the corporate guys from these tech startups just try to hire you after they hear this podcast would you take the job?
Arnab Ghosh (20:24):
(laughs) I don't know. It depends on who, who the, the tech, tech company is.
Lauren Weymouth (20:31):
Okay, Fair enough. Fair enough. You know, I think I forgot to ask you, um, tell us about your proof of concept.
Arnab Ghosh (20:35):
I implemented a Ripple node on Raspberry Pi and connected it to the test network. And,the voting code is implemented on another Rasp Pis so that we have like 10 Rasp Pis here. Some of them are acting as voters.
And so the vote is sent from one Rasp Pi to another, and then to the XRPL test network. in another machine I have implemented the counting site code, and, it downloads the votes from the XRPL test blockchain and, counts, and then displays the results. that was the initial system I developed. the reason I chose Rasp Pis is that, the cost of such a system is very low and we don't need much resources.
Of course, if you want to implement it on AWS cloud, which is my plan right now, then, there are some costs involved with it because we need certain infrastructure for that, which is not free. we are having a conversation about that, uh, how to do that.
the Rasp Pi based system was very helpful in testing out the proof of concept that the system works. of course the speed in Rasp Pi is an issue because Rasp Pis are not really meant for such heavy applications. So probably we'll get a better idea of the speed of the system on the AWS cloud.
Lauren Weymouth (21:51):
Well, it makes sense to us that a student wants to go after a device that is low cost, at first, just to prove it and then on your second round you'll use something like AWS machine, which has high capacity that's meant for high performance, right?
Arnab Ghosh (22:02):
Lauren Weymouth (22:03):
Okay, so you're a research assistant now, and you're going to continue on your own project. Do you see yourself continuing to work in blockchain?
Arnab Ghosh (22:11):
Well, of course the next four months is assured that I will work on this scheme, improvement of the scheme and probably probably we'll try to convince the university for, conducting student elections on this kind of a system and then see where it goes from there. yeah, even in the long run, I plan to, keep working on blockchain. election is one of the fields. Probably I, I look at other fields where this kind of technology can be used and, develop new use cases for the use of society.
Lauren Weymouth (22:40):
So four years from now, 2025, what do you want to see happen?
Arnab Ghosh (22:44):
I think election systems need to be reformed. we are using the same election systems as we used in the 1900s. in the 21 century we can do everything from order our groceries from the smartphone. We can, hold meetings on a smart phone. But why is not that the case with election systems? We can even do banking from a-
Lauren Weymouth (23:00):
We could stream movies from space.
Arnab Ghosh (23:02):
Yeah. Yeah. So why not, why not the same thing with election systems? Why do we still have to, walk to a booth and sign on a piece of paper and we still have the same issues? I'm not sure by 2025, but given a time span of 10 or 12 years, I would like to see, a secure online election systems, which, are accepted by the larger society.
Lauren Weymouth (23:24):
Arnab, where can our listeners learn more about your work?
Arnab Ghosh (23:27):
Right now, my thesis is up on the UW space, which is the website for thesis@universityofwaterloo. And I also plan to publish a paper soon in, either the financial cryptography conference or in one of the journals later in the year. that will provide more visibility to this kind of a scheme.
later I'd also make my code public on Git o- once it's totally cleaned up. I want that to be public as well because it's very important that, the code is public and the people know what exactly I have done. that'll not only help me get feedback, that'll also help people build trust in this kind of a system.
Lauren Weymouth (24:04):
Thank you. Is there anything else that you want people to know about that I haven't asked you that you haven't already shared?
Arnab Ghosh (24:11):
I think you've asked me (laughs) most of the questions.
Lauren Weymouth (24:14):
Okay. Thanks so much, Arnab.
Arnab Ghosh (24:18):
Thank you. Thank you, Lauren.
Lauren Weymouth (24:20):
Well, we appreciate your work. Arnab, your work looks to secure a way for people to cast their votes and to verify that it was counted correctly. Thank you for pioneering the future of elections, and for trying to make online voting safe. We enjoyed hearing about your work and hosting you on UBRI's podcast All About Blockchain. And listeners, thank you for giving us your time today. If you have any questions about this episode or feedback for new episodes, please reach out to firstname.lastname@example.org