Blockchain

127 views
Skip to first unread message

Clay Shentrup

unread,
Jun 25, 2017, 1:34:02 AM6/25/17
to The Center for Election Science
https://www.youtube.com/watch?v=k53LUZxUF50

I feel like there's an opportunity here to use the blockchain idea for some democratic purpose, especially given the mathematical aptitude of Warren, Jameson, Andy, etc. Am I onto anything?

Neal McBurnett

unread,
Jun 25, 2017, 10:13:29 AM6/25/17
to electio...@googlegroups.com
Using traditional hash chain techniques as an aid to transparency, via immutable logging that can be robustly audited, is great.
Such techniques have been used in computer science for decades:

https://en.wikipedia.org/wiki/Hash_chain

Including a few references to hash chains like this in a well-known Bitcoin-like blockchain can also help, sort of like publishing a hash in a newspaper to commit to something.

Blockchains are much more complicated than traditional hash chains, because they are designed to deal with the lack of any central authority. A public election already has a central authority, the clerk of elections, which defines who is allowed to vote, what will be voted on, when the vote will take place, etc. In such an election, the clerk should use hash chains to tie evidence together, and should publish hashes of that data in newspapers, blockchains, and many other places for transparency. But it would generally be unnecessary and cumbersome to move blockchains deeper into the implementation. They aren't necessary, and may lead to chaos, or even a hostile takeover of the election by outside forces. They also don't really address the necessity for voter anonymity, the ability to determine that only eligible voters cast votes, that only legal votes are tabulated, the risk of denial-of-service attacks, etc.

See also: Blockchains and Elections: http://freeandfair.us/articles/blockchains-and-elections/

At the same time, there are surely creative ways to use blockchains for new kinds of consensus and more flexible distributed decision making.

One big step in that direction is Random-Sample Voting (RSV): http://rsvoting.org/ which allows any organization to relatively inexpensively conduct an election (i.e. a very public and trusted poll) on any topic, including any well-established roster of eligible voters.

The whole world of decentralized autonomous organizations (https://en.wikipedia.org/wiki/Decentralized_autonomous_organization) as supported by Etherium and the like are much bigger steps in that direction, for consenting adults.

Cheers,

Neal McBurnett http://neal.mcburnett.org/
> --
> You received this message because you are subscribed to the Google Groups "The Center for Election Science" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to electionscien...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

David Hollander

unread,
Jun 25, 2017, 5:51:08 PM6/25/17
to The Center for Election Science
There are numerous  problems with bitcoin-style blockchains which use random-oracle and proof of work mining to achieve consensus. They support a very low number of transactions per second, they produce large amount of waste heat and are environmentally damaging, they have a tough time adapting to external changes in the environment (quantum computers could break things badly depending on initial hash function chosen), they are not actually anonymous (with the exception of Monero), and the majority of profits generated by capital improvements to the currency network (which are responsible for generating all of the utility the currency provides to coin holders) are collected by rent-seekers rather than the developers who invested time in building them.

I believe that it is possible for virtual corporations to use zero-centered range voting to democratically control the issuance of shares without the need for mining at all. I would model a  virtual currency network which issues coins as a virtual corporation which issues shares, where the voting shares can be freely traded and exchanged by recipients after they are issued. Over the long term the value of such a currrency should increase if new shares are issued smartly in exchange for infrastructure improvements which improve liquidity and the ease at which shares can be exchanged for other goods and services, and decrease if new shares are issued frivolously. There would be no predefined coin emission function for virtual corporations, but investors could still examine the historical record of votes, and examine for what purpose new shares were issued.

Ideally the end-user wallet application would allow users to create, hold shares, and vote in an arbitrary number of democratic corporations. The user interface would not impose barriers locking users into a single currency network.

DH

David Hollander

unread,
Jun 30, 2017, 5:05:04 PM6/30/17
to The Center for Election Science
The Ripple Consensus protocol appears to use multiple rounds of approval voting on possible transactions to reach consensus on the order in which sets of approved transactions should be appended to a public ledger:

https://vimeo.com/64405422

https://ripple.com/files/ripple_consensus_whitepaper.pdf

This consensus method takes ~ 5 seconds. By comparison, Bitcoin takes 10 minutes. It should be possible to design a similar public protocol which records submitted votes in a 'vote ledger' instead of submitted transactions in a 'transaction ledger'.

David Hollander

unread,
Jun 30, 2017, 5:40:20 PM6/30/17
to The Center for Election Science
An 'approved vote' in this context would not be a vote in support of a candidate, but a vote which a participant in the vote counting process believes to be non-fraudelent. The "Unique Node List" in the context of Ripple is a network of rival banking organizations that is selected so that a majority of banks are unlikely to simultaneously engage in collusion and approve fake transactions. For public electronic elections, the UNL could be published by public election boards and consist of list of nodes operated by rival election monitors. For instance, competing political parties, news organizations, non-profits, and international observers. This assumes that there is an agreed upon electronic method for observers to distinguish fradulent votes from legitimate votes without compromising the identity of voters. Although I prefer paper-only ballots and election methods which are simple enough to be counted by hand, this could be an area for further research.

Warren D Smith

unread,
Jun 30, 2017, 6:16:02 PM6/30/17
to electio...@googlegroups.com
I agree with David Hollander complaining re blockchains.

--
Warren D. Smith
http://RangeVoting.org <-- add your endorsement (by clicking
"endorse" as 1st step)

David Hollander

unread,
Jun 30, 2017, 10:49:33 PM6/30/17
to The Center for Election Science
I've located an interesting interview with the author of the ripple consensus paper I previously linked:

https://www.youtube.com/watch?v=GyNXedeCyNg&feature=youtu.be&t=4m20s

4 minute 20 second mark:

Interviewer: In the case of Bitcoin, the vulnerability in terms of attackers is 51%. What is that percent in Ripple?

Schwartz: So, if you're just trying to prevent the network from making forward progress, it's lower, you can prevent the network from making forward progress with as little as 20%. But if you do that, you essentially have to cryptographically sign the messages you are sending to do that, and everybody would just stop listening to your keys. So the consequence of that, if you do a 51% attack on Bitcoin you make money, you can do double spends. In Ripple, you can only prevent the network from making forward progress. And the solution is very simple, you just stop trusting the public keys which have provably colluded to prevent the network from making forward progress.

With a public bitcoin-style blockchain, anyone can anonymously connect as many nodes to the network they like. As the 'hashing power' of a single group of colluding parties on the public network approaches 51%, the ability of this group to commit undesirable actions increases. For bitcoin, one of these 'attacks' is referred to as 'double spending', where the colluders can reverse a transaction in order to spend it again. I believe the profitability of the double spending attack in bitcoin  assumes there is some external good which people are acquiring using bitcoin and then keeping after the spent money disappears from the receiver's account. If a Bitcoin style blockchain was to be used to facilitate multi-party vote counting in public elections, I'm not sure if the 'double spending' attack would actually allow for double voting or vote swapping. However it might cause disenfranchisement, where voters receive confirmation their vote was cast from an electronic voting terminal, only to later find out at the end of the election that it was reversed and never included in the total. There appear to be a variety of other concerns associated with the '51% attack'. It may be hard to predict how these concerns affect voting systems without examining specific proposals.

In contrast, if a Ripple-style distributed ledger was used for multi-party electronic vote counting, it appears the worst that can happen is that the vote counting would be paused. If 80% of the vote counters could no longer reach agreement on the the next set of non-fradulent votes to add to the officially recorded list of votes, then the election would be paused until the vote counters exhibiting faulty behavior were identified by their public keys. These public keys could then be traced to specific organizations, such as a newspaper office, a political party, or a county election board.

In both a blockchain and a consensus ledger, I believe voters could audit the final results at the end of election, provided the format in which electronic votes were recorded had cryptographic properties which allowed for them to do so. However, this would already be the case if votes were counted centrally by a single party. If a cryptographic voting method allows for auditing at the end of the election, then decentralized multi-party vote counting using a blockchain might not add much value. However, if multi-party electronic vote counting was implemented using a Ripple-style consensus algorithm, then this might add a valuable feature where the entire election could be 'paused' within 5 seconds of fraud or fault occurring. This could potentially allow anyone monitoring the network to trace fraud to its source in less than 1 minute of it ocurring. Pausing the election when fraud is detected might be preferable to waiting to the end of election to check for fraud, as fraud detected at the end of an election could be harder to rectify if a winner has already been announced.

I have not yet surveyed existing proposals for electronic voting systems to see if there are alternate proposals for distributed multi-party vote counting. However if someone is looking into Bitcoin-style blockchains to add such a feature to an electronic voting system intended to be used in public elections, I would recommend that they look into the 'Ripple protocol consensus algorithm' first.

Clay Shentrup

unread,
Jul 1, 2017, 12:23:48 AM7/1/17
to The Center for Election Science
Tezos and Ethereum use proof of stake.

David Hollander

unread,
Jul 1, 2017, 2:28:19 PM7/1/17
to The Center for Election Science
According to wikipedia:

"in PoS-based cryptocurrencies the creator of the next block is chosen in a deterministic (pseudo-random) way, and the chance that an account is chosen depends on its wealth (i.e. the stake)"

In the context of public elections, using a  proof-of-stake blockchain doesn't make sense. The public ledger would be only be a record of votes which were agreed non-fraudulent, not a record of wealth or shares. All voters would have the same stake, and the node operators (vote recorders) would not have any stake which could be measured by the vote ledger. It is unnecessary to pick a single node at random as being correct, because there would be no transaction fees (bonus votes) to assign to that node. Using any system designed upon artificial scarcity and transaction fees to create incentives would be unnecessary and detrimental, as there are already sufficient natural incentives for volunteers to help move ballots and observe elections without being paid per ballot moved. Using a completely trustless network to count votes for public elections would not add trust or value, as the initial roll of voters containing the cryptographic data necessary for every other node to verify that votes were non-fraudulent would still need to be provided by an initially trusted party (election board), and would still need to be crypographically auditable at the end of election regardless of what manner they were compiled into a single list. In order for a decentralized list to actually add value and trust to a public vote counting process, the volunteer nodes need to publish public keys and be able to pause vote counting process for human oversight an intervention. The majority of what something like Ethereum is doing simply doesn't apply and would likely subtract trust in elections due to the introduction of many unnecessary moving parts creating new attack vectors for election fraud.
Reply all
Reply to author
Forward
0 new messages