Computer printing a ballot receipt after using Gleipnir for voting
Our Tech


Gleipnir Technologies provides a blockchain-backed vote recording system. Gleipnir's goal is to provide anonymous, transparent, and secure voting systems to improve election integrity and voter confidence.

Gleipnir's patented processes can be used for governmental, union, corporate, civic organizations, and even homeowner associations.

Gleipnir’s technology is designed to add new capabilities without changing how we vote.  It’s an add-on, not a substitution.  Voters themselves don’t have to change anything.


We'll start with a quick review of blockchain technology.

Blockchain is a clever technique to collect data into a tamper-proof chain.  It’s used in many applications, most notably Bitcoin.

A blockchain system condenses a block of data by a technique known as hashing.  Hashing changes data into a sequence of letters and numbers with a fixed length.  For instance, a hash of the Declaration of Independence is

A row of numbers as an examples of a hash for a vote submitted the 4th of July

Hashes are very sensitive.  If Thomas Jefferson had accidentally dated his document July 5, the hash would be

A row of numbers as an examples of a hash for a vote submitted the 5th of July

To grow a blockchain, information for a new block is combined with the hash of the preceding block.  In Bitcoin, for example, a list of Bitcoin transactions between 12:00 PM and 12:09 PM is combined with the hash of the transactions from 11:50 AM to 11:59 AM.  This is hashed again, and the block for transactions between 12:00 and 12:10 is stamped with its own hash.

This continues, over and over again, with new blocks.  Anyone can verify that information in the blockchain has not been altered, because any alteration to past data would change the hashes through the entire blockchain.

As a result, votes stored on a blockchain can’t be altered.


Gleipnir’s blockchain technology piggybacks on standard voting systems.  Nothing changes about the voting process we're all used to.

In the Gleipnir system, voters check in, receive a ballot, and fill it out.  They then insert the completed ballot into a scanning system which records the vote.Voting machines running Gleipnir’s process hashes the vote and incorporates it into a new block of a vote blockchain.

Once that’s done, the voter receives a printed receipt.  The receipt has the hash value of the block containing the voter’s vote.  The scanner also prints the hash value on the paper ballot, linking the physical ballot to the digital record.

The voter can take this receipt, and only the voter knows that this is his or her hash.  The vote stays anonymous, because nothing about the voter is collected except the vote itself. Mail-in voting works slightly differently.  A voter receives a mail-in ballot with a tear-off receipt showing a unique code that’s also printed on the ballot.  

When the ballot is scanned, the unique code is stored in the blockchain.  In this case, the voter remains anonymous because the code is random.

Blue voting box with the word "Vote" 3 times, with a ballot entering it


Currently, no individual voter can verify his or her vote was counted correctly.  Citizens can’t verify the reported vote totals.  Gleipnir lets voters trust and verify results.

After voting is complete, Gleipnir publishes the blockchain.  A voter can look up the unique hash printed on his receipt and retrieve his vote record. The voter can confirm that his vote was counted correctly.

Since the vote log is digital, vote counting happens instantly.  Anyone can download the blockchain and verify reported results.

All of this is possible with anonymity, since no personal information is recorded on the blockchain—just the anonymous hashes. Only the voter can link her vote to herself.

Three hashes with a vote attached, connected


Typical blockchains, such as for cryptocurrencies, use a distributed computer network to hash and add new blocks. These blockchains are vulnerable to "51% attacks".  This means that one person controlling 51% of the network can alter past data and trick the network into thinking the altered blockchain is correct by a majority vote.

Gleipnir’s algorithms are resistant to this. Gleipnir uses a new paradigm with centralized hashing and distributed storage.  Centralized hashing means that only certified voting machines can add to the vote blockchain.

For distributed storage, copies of the blockchain are distributed to multiple parties, such as citizens.  The blockchain copies are also encrypted, so no one sees the results until after election officials publish a password.  To change one vote, a hacker would have to break into thousands of computers, crack high-grade encryption, make a fake blockchain, and replace the stored blockchain copies.

Distributed storage doesn’t end there. Paper ballots are printed with true hash values.  The hacker would still have to steal paper ballots, reprint them with the fake hashes, and put the fake ballots back to change even a single vote.

And then, the hacker would have to sneak into the pockets of millions of voters and replace their printed receipts.

Centralized hashing with distributed storage provides unprecedented election integrity.


Adding new blocks to traditional blockchains can take a long time, especially when there are thousands of new blocks at once.  Delays are unacceptable for voters.

Gleipnir avoids delays by a technique called nested hashing.  Each voting machine adds votes to its own vote blockchain nearly instantly and prints the voter receipt.

Voting machines at a precinct are "nested" together and pass their blockchains to a precinct server periodically.  The precinct server combines the voting machine blockchains into a precinct blockchain.

Precinct servers are nested again, and pass their blockchains to a state server which makes another blockchain.  This lets the network handle millions of votes rapidly, without any votes being lost.


The security measures already laid out prevent alteration of past votes, but what about someone stuffing a ballot box with new but fake votes?

Gleipnir has a solution for this, too, called "dynamic hashing difficulty".  Calculating a single hash is quick.  Hashing can be slowed down by requiring a computer to find a hash that looks a certain way, like requiring that the hash begin with five zeros.  

The computer adds random numbers the vote block and rehashes.  This repeats until the computer gets lucky and finds a hash beginning with five zeros.

There are no shortcuts.

Gleipnir’s algorithms base the difficulty (i.e., the number of zeros) on the vote trends.  If there is a series of identical ballots, the hashing difficulty increases by requiring the hash begin with even more zeros.  

It then takes longer to add a block to the blockchain, limiting how fast someone can introduce fake ballots.  The voting machine also flags suspect votes in the blockchain for later investigation.

The hashing difficulty also reduces to speed up vote processing when votes are genuine based on earlier vote trends.

Two screens with a vote. The first one points to a hash 5303caf3, then points to REJECTED. The second one points to a hash 00000b6a, then points to ACCEPTED


We assembled this quick-reference infographic, which summarizes how Gleipnir's technology works.

Download Now