How blockchain could transform decision making
Decisions power our world, from the rights of citizens in democratic states to financial moves of corporations. We, as participants in a voting process, generally have no way to verify the authenticity of data, and require to trust that a (hopefully neutral) third party entity is auditing and verifying the voting data.
With blockchain, we have the ability to inject transparency, immutability, and security into the process, since at its core, blockchain is a distributed ledger that can be downloaded by anyone that chooses to participate in the network. This allows all participates in a voting process to download all of the voting data, and audit the information themselves if they choose so. The beauty of open information on a blockchain is that makes it very hard, if not impossible, to tamper with previously recorded information. This also removes the need of a third party to audit the voting process, and the need to trust a centralized system with a single point of failure.
Current voting solutions are not inclusive or efficient. Here’s an example of my experience recently voting in Ontario: I spent about 1.5 hours waiting in line at my local voting booth, until I was finally able to put a pen mark on a paper that is put into a voting machine which inputs my vote as represented by the pen mark (hopefully correctly). After that is done, the staff stacks the voting cards in a pile for further verification, if required. Why on earth are we required to physically go to a location and spend time waiting to make a mark on paper, in 2018, when so many technological advancements exist that can streamline this entire process.
In this paragraph I will cover some basic concepts that relate to the nature of the security and immutability of a blockchain. If you are already familiar with fundamental blockchain mechanism, you can skip on to the next paragraph. Although every blockchain can have unique characteristics, we will look at bitcoin in this case to better understand blockchain. In bitcoin, there are many nodes (computers/servers) all connected to a network, with one node having the ability to post a new block every ~10 minutes. Every block in a blockchain contains transactional information (which might represent the voting option selected in governance blockchains), as well as the wallet address of the person submitting the transaction or vote, signed by that person’s private key. A wallet address is public and simply identifies the person that has voted. A private key is like a password, which only the user should know, that is able to sign transactions so that it is known that the user has given consent to have that transaction posted on the blockchain. If somebody tries to post a fraudulent vote acting as you (using your public key), they would not be able to do so without the private keys associated to that address, since any connected node in the system can verify that the signature by the private keys match the public key. Every block also includes the hash of the contents of the block, as well as the hash of the previous block posted on the chain. A hash is a function that is able to receive any input, puts it through an algorithm, and outputs a result. This is a one-way process, that can not be reverse-engineered or done backwards. You can think of it as an oven for simplification. In a perfect world, the same exact ingredients baked for exactly 30 minutes should always create the same result, but you can’t take a baked pie and make it unbaked. If anyone tries to change the contents of an existing block, this can be identified, because every block contains the hash of the current and previous block, meaning that anybody can hash the contents for themselves and see if the values match.
If there is a discrepancy, this means that the contents of the block have been compromised, and it is not the original data to when the block was created. Even if somebody tries to change the contents AND hash recorded within a block, this will still be identified since the next block posted also contains the hash of the previous block. To also change the next block to include this new hash, you are now changing the contents of the block, and the hash of this will once again not match the contents. In a blockchain, the ledger (which includes every single block since the first one) is downloaded on everybody’s local storage, and verifies every transaction back from the first block. If there are any discrepancies found anywhere within the chain of blocks, the proposed block would be deemed invalid, and would not be posted to the chain of blocks. Since the ledger of transactions (or voting information) will exist in consensus across many machines, all of the connected nodes, there is no one centralized database that can be changed or compromised. This is a simplified explanation of how blockchains work, with a focus of their immutability and transparency aspects, but I recommend you spend some time reading more about it if there was something unclear in this paragraph.
Because a ledger is distributed to every participant connected to the network, as explained above, all the voters would have access to the information, where they can see for themselves what address voted for what choice, in an open and transparent way. Votes can be submitted digitally, from anywhere, and simply requires a public key, a private key (to sign the transaction), and the selected voting option. In some cases, voting should be anonymous, and in these cases the identities (public keys) that are distributed should not have information that can link it to a human. This way, you can see what identity voted for what voting option, but you would not know what person this identity belongs to.
One big issue in identity solutions on the blockchain is that the identities (public + private key combinations) would have to be given out by some central governance controller, such as a government or organization, but they can selectively choose not to give out a verified identity to an individual to censor them. If you would like to vote in the Ontario elections, for example, the local government ensures that only those who are eligible to vote would be able to, and therefore they act as the central authority that issues ID and Voting Cards. Once they are issued, those given these tools can participate by casting their vote. Using blockchain technology will not mitigate the potential censorship that an entity can cause, unless there is a shift in how identities are issued.
There needs to be a trusted third party or autonomous process that is able to give out identities to those eligible to vote. In some cases, voting power is tied to asset holdings, such as voting in a corporation. In those cases, voting power is relative to the proportion of asset holdings. In the future we might be seeing governance mechanism that is built into the digital asset with Smart Contracts. It will be exciting to see how decentralized autonomous organizations might use governance built into tokenized assets, that gives the power back to the participants in the organization, where any changes and decisions would need to be done collectively as a community. If governments choose to utilize the blockchain to issue identities in the future, Smart Contracts can be utilized to autonomously govern the verification of eligibility for voters. Identities might include information such as: province/state of residence, age, gender, and more. Voting options might have the eligibility requirements programmed into a smart contract that can only accept votes by those identities that possess certain characteristics. For example, your vote will only be accepted if you have your province of residence recorded as Ontario, and you are over 18 years of age. This would be an automated and autonomous process that would not require any third party or middle-man to facilitate the eligibility of identities. This also adds security where the existence of an identity can be verified so that non-voting entities can not cast a vote that will be calculated. This will also minimize the massive costs of facilitating the voting process, since it’s all autonomous, done digitally, and does not require to have staff, auditors, or physical infrastructure such as voting booths.
As you can see, with blockchain we are able improve the security, accuracy, integrity, privacy, auditability, accessibility, cost-effectiveness, scalability and ecological sustainability by utilizing blockchain for our voting processes.
I believe that if an organization or government truly wants to harness a democratic system, the blockchain will be the best technology for this. Unfortunately, the governments and organizations that will embrace the technology first are those that truly want to decentralize the governance structure and create transparency, which are most likely not the same corruption-fuelled countries and governments that would benefit the most from the technology.