BraidChain

Imagine ordinary elections where you go at the ballot box to vote for candidates/parties of your choice. There would be gatekeepers which would check the validity of your passport and would make a stamp into it so no one would not be able to vote more than once. You would get an envelope and would go to the voting booth where you would have privacy to put your choice in the envelope. But let's make them special, and in the envelope, you would put the public key of your generated key pair.

The list of public keys collected in such a way (braid) would have excellent property. The keys would be anonymous but at the same time legitimate - meaning that only citizens public keys are there, and everyone has only one of that. That then allows not only to run electronic ballots securely, transparently and anonymously (with the help of onion protocols) but also have new kind of social networking platform. A platform where you would feel safe to whistleblow with credibility. A platform where no single person would be able to pollute the information space.

There are actually many ways one can establish braids. Imagine a human chain protest, such as Baltic-Way, Honk-Kong, etc. If you look at the videos produced for them, you would see that people generally were fearsome of repressions and thus tried to hide their face with hair, hats or with headlights in Honk-Kong protest. They were anonymous but still present and verified by both hands held by neighbours. Only one person was able to be in one place. Thus to establish a braid, each of the participants needs to show his secretly generated public key, for example, with a QR code. Then the observers would film the chain and scan every QR code.

Another way is to imagine protest organizers to generate key-pairs and put each private key in the envelope and whereas the list of public keys would be published. The organizers then would give an envelope to each participant without knowing what private key is inside. (This was one of my earliest designs where instead of the envelope one would have a smartcard). Since public keys would not be directly related to individuals that would establish a braid.

And lastly, the braid can be established with electronic voting. All electronic voting schemes start with authentication; thus, every participant must have a tool which has key-pair with public-key known to organizers and the public. The goal of the electronic voting scheme whatever it is is to deliver secretly generated key pair's public-key to the electronic ballot box anonymously while the system still remains transparent and secure. Often electronic voting schemes choose two, whereas blockchain only chooses transparency with the benefit of wasted work.

One of the great cryptographic tools is a linked ring signature scheme where which allows signing a message on behalf of the group. That seems to work well for Monero cryptocurrency used for trade of drugs, guns, humans, etc. However, other uses are not known to me and generally seems it is still considered an experimental feature of cryptography. Nevertheless, we can still build an electronic voting scheme on it.

Imagine that the organizers randomize a public keys and split it into the groups of N members. Each member would download all public-keys of the group he is being put in. Then he/she would generate a key pair and would sign the public-key with the ring signature scheme. The signature he/she would deliver anonymously by using an onion protocol like TOR or send it with an envelope. The resulting collected keys would be anonymous and the system transparent and secure as long as ring signature scheme is not broken.

And the last scheme which I developed as a side project for PeaceVote system is SynchronicBallot protocol. In its heart is of the protocol is a concept of synchronicity - multiple votes happening at the same time with a common meaning. The anonymity is based on the assumption that that the maintainers of gatekeeping and the maintainers for observers would not ever trust each other to compromise the system. The security of the ballot is based in commonly used cryptographic hash functions and electronic signature schemes. More on that see the repository SynchronicBallot.jl.

Quite a useful benefit for electronic ballots is that they can be repeated again with the keys from the previous braids in the result obtaining more anonymous key pair. In the way, one can imagine a braid made out of hair or etc. One can count the number of hairs in the input and number of hairs at the output but could not follow through every thread. The same for the keys we know that the input keys were legitimate, and if the electronic voting scheme had been secure, the output keys were also valid, which could have been braided in ways beyond imagination. The set of all braids then would form criphtographically multi linked blocks - BraidChain.