<p>Blockchains are a bad solution for voting, and in my opinion the widespread interest in using them for this purpose is misguided.</p>
<p>One of the important properties of a voting system is making sure that it is impossible for a voter to prove after the fact what vote they cast, in order to avoid vote selling or intimidation. Because of this, systems that do allow voters to prove what they voted for are in fact outlawed for government elections in many jurisdictions.</p>
<p>The property you want is <strong>auditability</strong> (individual users need to be able to check their vote was counted, and verify that the tally was computed correctly), but that doesn't require <strong>publication</strong>. A blockchain is however inherently a publication mechanism, and systems that rely on a blockchain to tally votes imply that everyone can see all votes.</p>
<p>In practice, modern cryptographic voting systems (see <a href="https://en.wikipedia.org/wiki/End-to-end_auditable_voting_systems" rel="nofollow noreferrer">E2E auditable systems</a>) actually have very good properties, without the need for publication. They rely on a central server which can see the IP addresses of the voters (but can't see the encrypted votes, and Tor can conceal IPs), let a group of trustees jointly decrypt the resulting tally, and let individual users verify after the fact that their vote was included in that tally.</p>
<p><strong>But isn't that centralized?</strong> Yes it is. But decentralization is only a means to achieve a goal. In Bitcoin, we need decentralization as it's the only alternative to having a central party with transaction censoring rights. In a voting system, having a central party who can censor encrypted votes is typically preferable to allowing the whole world to see your vote (and still allow a 51% majority to censor and thus influence the outcome).</p>
<p>I also recommend reading Ben Adida's blog post on the matter: <a href="https://benlog.com/2017/12/28/blockchain-and-voting/" rel="nofollow noreferrer">https://benlog.com/2017/12/28/blockchain-and-voting/</a></p>

CC BY-SA 4.0
2016-02-10T19:57:11.360Z
2020-12-10T18:17:37.517Z
2020-12-10T18:17:37.517Z
Pieter Wuille
<p>I believe <a href="http://followmyvote.com" rel="nofollow">http://followmyvote.com</a> is worth looking into; at least they claim to allow both anonymity, security and auditability at the same time.  I'm not sure if it's resistant to vote-buying, it sounds a bit too good to be true, but I'd recommend to reach out to Adam Kaleb Ernest and ask for details.</p>

<p>There is also the opposite approach, just accept that the nut is uncrackable.  The German Pirate Party seems to be doing that; they are using Liquid Feedback and voting non-anonymously there.  Centralized tool and no blockchain involved; the developers don't see blockchain tech having anything to do with voting systems.  Anonymity collides very much with the idea behind "Liquid Democracy", and they've so far given up on the idea of going for pseudonymity.  Probably the design in followmyvote could be used to allow for pseudonymity.</p>

CC BY-SA 3.0
2016-02-15T06:30:50.137Z
2016-02-15T06:30:50.137Z
tobixen
<p>This is certainly possible with <a href="https://github.com/ethereum/wiki/wiki/White-Paper" rel="nofollow noreferrer">Ethereum</a>. It won't meet the requirement of being "simple to use for people that may or may not have previous BTC/blockchain experience" but if you have programming experience you could hook up it up to a nice app or <a href="https://github.com/ethereum/web3.js/tree/master" rel="nofollow noreferrer">website</a>.</p>

<p><strong>Alternatives that don't seem to meet your needs:</strong></p>

<p><a href="https://bitcoin.stackexchange.com/questions/23893/what-are-the-limits-of-m-and-n-in-m-of-n-multisig-addresses">Bitcoin multisig</a> allows up to 15 people voting on a single standard transaction. This has the most support and tools for people to that are new to the concept of a blockchain. Maybe you can do a delegate type setup?</p>

<p><a href="http://wiki.nxtcrypto.org/wiki/Voting_System" rel="nofollow noreferrer">NXT implemented a voting system</a> that allows up to 100 answers. I'm not sure about the number of tools to make this easy to use for your average person.</p>

CC BY-SA 3.0
2016-01-11T16:55:30.547Z
2016-01-11T16:55:30.547Z
2017-04-13T12:47:33.660Z
Steve Ellis
<p>I am considering starting a new co-op based business. Since the business will be member-owned, it would be nice to launch the business with a voting tool. I want to be able to propose items to the co-op members and have them vote through a transparent system. I understand that there are efforts to use the blockchain (or blockchain-esque tools) to handle voting. But all of the ones I can find are for large scale efforts (like BitCongress). </p>

<p>Are there any blockchain tools/approaches that can handle voting for small-ish groups? Ideally it would: </p>

<ol>
<li>Handle voting from 300-400 people</li>
<li>Be able to be deployed on my own server (not a cloud-based solution)</li>
<li>Be simple to use for people that may or may not have previous BTC/blockchain experience</li>
</ol>

<p>I should also add that I have the coding skills to develop my own blockchain voting tool. So if there is no OOTB solution for what I need, I'd appreciate links to whitepapers or other documentation that outlines approaches to a blockchain voting scheme. </p>

<p>All help is welcome.</p>

<blockchain><voting>
Blockchain Tools for Voting Among Small Groups?
Unknown Coder
# Blockchain Tools for Voting Among Small Groups?

(Asked by: username_0 on 2015-12-31)

I am considering starting a new co-op based business. Since the business will be member-owned, it would be nice to launch the business with a voting tool. I want to be able to propose items to the co-op members and have them vote through a transparent system. I understand that there are efforts to use the blockchain (or blockchain-esque tools) to handle voting. But all of the ones I can find are for large scale efforts (like BitCongress).

Are there any blockchain tools/approaches that can handle voting for small-ish groups? Ideally it would:

1. Handle voting from 300-400 people
2. Be able to be deployed on my own server (not a cloud-based solution)
3. Be simple to use for people that may or may not have previous BTC/blockchain experience

I should also add that I have the coding skills to develop my own blockchain voting tool. So if there is no OOTB solution for what I need, I'd appreciate links to whitepapers or other documentation that outlines approaches to a blockchain voting scheme.

All help is welcome.

**Tags:** blockchain, voting


---

## 3 answers

### Answer by username_1 on 2016-02-10. Score: 8

Blockchains are a bad solution for voting, and in my opinion the widespread interest in using them for this purpose is misguided.

One of the important properties of a voting system is making sure that it is impossible for a voter to prove after the fact what vote they cast, in order to avoid vote selling or intimidation. Because of this, systems that do allow voters to prove what they voted for are in fact outlawed for government elections in many jurisdictions.

The property you want is **auditability** (individual users need to be able to check their vote was counted, and verify that the tally was computed correctly), but that doesn't require **publication**. A blockchain is however inherently a publication mechanism, and systems that rely on a blockchain to tally votes imply that everyone can see all votes.

In practice, modern cryptographic voting systems (see [E2E auditable systems](https://en.wikipedia.org/wiki/End-to-end_auditable_voting_systems)) actually have very good properties, without the need for publication. They rely on a central server which can see the IP addresses of the voters (but can't see the encrypted votes, and Tor can conceal IPs), let a group of trustees jointly decrypt the resulting tally, and let individual users verify after the fact that their vote was included in that tally.

**But isn't that centralized?** Yes it is. But decentralization is only a means to achieve a goal. In Bitcoin, we need decentralization as it's the only alternative to having a central party with transaction censoring rights. In a voting system, having a central party who can censor encrypted votes is typically preferable to allowing the whole world to see your vote (and still allow a 51% majority to censor and thus influence the outcome).

I also recommend reading Ben Adida's blog post on the matter: <https://benlog.com/2017/12/28/blockchain-and-voting/>


---

### Answer by username_2 on 2016-02-15. Score: 1

I believe <http://followmyvote.com> is worth looking into; at least they claim to allow both anonymity, security and auditability at the same time. I'm not sure if it's resistant to vote-buying, it sounds a bit too good to be true, but I'd recommend to reach out to Adam Kaleb Ernest and ask for details.

There is also the opposite approach, just accept that the nut is uncrackable. The German Pirate Party seems to be doing that; they are using Liquid Feedback and voting non-anonymously there. Centralized tool and no blockchain involved; the developers don't see blockchain tech having anything to do with voting systems. Anonymity collides very much with the idea behind "Liquid Democracy", and they've so far given up on the idea of going for pseudonymity. Probably the design in followmyvote could be used to allow for pseudonymity.


---

### Answer by username_3 on 2016-01-11. Score: -2

This is certainly possible with [Ethereum](https://github.com/ethereum/wiki/wiki/White-Paper). It won't meet the requirement of being "simple to use for people that may or may not have previous BTC/blockchain experience" but if you have programming experience you could hook up it up to a nice app or [website](https://github.com/ethereum/web3.js/tree/master).

**Alternatives that don't seem to meet your needs:**

[Bitcoin multisig](https://bitcoin.stackexchange.com/questions/23893/what-are-the-limits-of-m-and-n-in-m-of-n-multisig-addresses) allows up to 15 people voting on a single standard transaction. This has the most support and tools for people to that are new to the concept of a blockchain. Maybe you can do a delegate type setup?

[NXT implemented a voting system](http://wiki.nxtcrypto.org/wiki/Voting_System) that allows up to 100 answers. I'm not sure about the number of tools to make this easy to use for your average person.


---

