Philosophy, Programming & Distributed Voting

While studying philosophy in college I learned the basic  structure for framing an argument using premises and questions to drill down to the essence of a problem.

Shortly after learning this framework,  I noticed I was using it for things totally unrelated to philosophy, and slowly this became the way I framed arguments in my head. It’s the quickest way to figure out the “core” or “essence” of what is being argued, and then work backwards from there to figure out the optimal solution within the required restraints.

This magical structure is: “If (premise1), then (question2), (question3)… So (premise4).”

The premise is the statement you believe to be true, and the starting point for your argument.

If both the question2 and question3 are true, and the first premise is true, than the final premise must also be true.

For more information on this framework visit:

I believe that mixing this framework with a programming langauage will allow us to create a decentralized, distributed voting system.

One of the issues that comes with a voting system is how do you make sure the people voting are voting for the “right” thing. How do we know that they’re well informed enough on a specific topic to be able to have their vote be valuable to the discussion? We don’t want bozos voting on important things, that could end in chaos.

The reason we currently have a representative democracy is partly because people don’t want to have to deal with these types of things – they have other stuff to worry about. The other part is that a lot of people just aren’t smart – and you don’t really want them deciding things.

Using the mentioned framework, I believe we can reconstruct a voting system that allows even the lowest common denominator to become a valuable voting asset.

An example of an argument using this framework would be:

1. If all humans are created equal, all humans should carry equal rights. (premise1)
2. All humans are created equal. (question2)
3. Opposite sex marriage is legal. (question3)
4. Same sex marriage should be legal. (premise4)

Distributed Voting System

Anyone would be able to propose an argument for the community to vote on. The arguments would be created in a way that matches the framework above – using premises & questions.

Initially, the system would take your argument and put it through a curation period of 30 days where anyone could read the entire ”if, than” statement.

During this period, a proposed vote would need to gain / maintain a level of sustained positive engagement (discussion / sharing / views) to become active.

After becoming active, the system would send (question2) and (question3) randomly to an even distribution of nodes in the network. Ideally people would see no more than 2 simple questions per day, and the system would automatically balance the work load to keep it within the systems availability. The more nodes (voters) on the network, the more votes it can process at one time.

Voters would be asked to answer “True” or “False” to the question they are shown.

“All humans are created equal.” True or False?


“Opposite sex marriage is legal.” True or False?

These simple questions are sent out to the network, and if the majority of people vote “True”, then the question in the greater argument would become ‘true’, meaning  if (question3) was also true, then premise 1 and 4 must be true as well, and the vote is passed.

Users would not be able to see the overall topic they’re voting on, they would simply answer a boiled down true or false question which strips all of the politics and social bias from the argument.

When posed with the question “Opposite sex marriage is legal.” – even someone who is homophobic would answer “true” because first it is a fact that opposite sex marriage is legal, and further – they don’t know exactly what the vote is for so there is no way for them to know that answering dishonestly would benefit their personal beliefs / ideals.

For all the voter knows, they could be voting to ban gay marriage – or maybe the greater logical argument isnt about marriage at all, but happens to use that logical point as a stepping stone to prove something else.

This allows the system to keep people honest, generate a vote result based on facts, and strip issues of their political or social biases.

It’s time to cut the bullshitaken.


It would  be really interesting to create a custom logic based programming language like prolog on-top of a blockchain to build a dynamic logic based voting system or something similar.

If you’re interested in jumping on this project we have a few really awesome minds working on this already and would love to add more people to the team. If you want to join, or have other ideas / questions – feel free to Contact Me.

– J