Elements of an “interplanetary” voting system

In this post we describe a high-level design for a voting system resulting from combining two protocols, ipfs and nMix. Ipfs is, from wikipedia: InterPlanetary File System (IPFS) is a protocol designed to create a permanent and decentralized method of storing and...

A general ballot encoding method

In a previous post we described a method to encode votes for multiple choice using base-n encoding of digits. It turns out this method can be generalized to any kind of ballot, provided a small layer of interpretation is added on top for each particular case. Recall...

3 crypto schemes for liquid democracy (II)

In part 1 we showed the first of three schemes supporting liquid democracy. Scheme Mixnet/Mixnet combined results from two tallies to obtain each election result. All three schemes follow the two tally pattern, and differ in how the combination is made, resulting in...

A typed purely functional election

This post is a continuation of A mixnet-based secure voting protocol and A typed purely-functional state machine. We briefly describe a prototype implementation of the former which uses techniques from the latter. An election, like baking a cake, can be understood as...

Multiplicative vs Additive Homomorphic ElGamal

A homomorphism is a structure preserving map between two algebraic structures. Let’s consider a simple function from the integers to themselves (endomorphism): f : ℤ → ℤ, f(x) =  x + x This function simply doubles its argument. It preserves group structure, in...