BitCongress & Internet Government

Blockchainist Paper #3

Blockchainist Papers
12 min readJul 4, 2018

It is time to gives the tools to the people, the vital tools needed to every user to be in charge of their societies current local laws, county funds, state budgets & federal tax appropriations. This is the goal of BitCongress, and voting on the Blockchain in general, to bring together the words like vote, money, rule, law, share, value and put them inside of Bitcoin itself, this may show the world that Bitcoin is more than anyone ever imagined. The creation of an open system to post laws, vote on anything you can think of will change society forever. It will give every person the power to send decisions and money where they want them to go. Users can give appropriations & funding to any address of a candidate, legislation, budget or appropriations for a new proposal.

BitCongress — Voting On Bitcoin

BitCongress is a purely peer to peer version of electronic vote would allow online votes to be sent directly from one party to another without going through a central voting register. Digital signatures provide part of the solution, but the main benefits are lost if a trusted third party is still required to prevent dead voters somehow voting or in digital terms, double voting. We propose a solution to the double voting problem using a peer to peer network. The network timestamps transactions, funding, candidates, comments, legislation and elections by hashing them into an ongoing chain of hash based proof of work, proof of stake, proof of tally forming a record that cannot be changed without redoing the proof chain. The longest chain not only serves as proof of the sequence of events witnessed, but proof that it came from the largest pool of computational power which is now termed as “mining”. As long as a majority of computational power is controlled by nodes & miners that are not cooperating to attack the network, they’ll generate the longest chain and outpace attackers. The network itself requires minimal structure. Messages & data are broadcast on a best effort basis, and nodes can leave and rejoin the network at will, accepting the longest proof of work as proof of what happened while they were gone. BitCongress is a combination of old world congressional concepts, blockchain technology and most importantly Bitcoin, the underlying backbone of BitCongress. A governance system built on Bitcoin, Counterparty & Smart Contracts in a separation of computational power structure.

Bitcoin

Bitcoin has first been used as money by sending Bitcoins or is domination called a Satoshi from one address to another, signifying the transfer of value or money from one peer to another peer. This abstract concept of cryptocurrency has an underlying voting mechanism to most of its fundamental core principles, such as Proof-Of-Work and Satoshi consensus. To agree upon the ledger that is tamper proof is one of the most valuable network effects ever created, first realized by a ledger or money, soon a ledger or creations and a ledger of decisions.

The first implementation of voting on the Bitcoin Blockchain is this simple idea called BitCongress. This system uses multiple layers to create a separation of powers within the application. This is done by using Bitcoin for appropriations, funds, and records via the Proof-Of-Work Blockchain. Then there is Counterparty for votes, statements, data, notes and other kinds of inputs and outputs. Finally, there are Smart Contracts that hold the elections, the laws, the rules, the applications, the organizations, corporations & autonomous agents. These 3 layers are combined into a process, network & application that works on top of basic systems like IFTTT, Bitcoin, Counterparty & Lightning Network.

Tokens are utilized within Counterparty as data recorders, secured records, proofs, votes, vote data, identifiers and much more within BitCongress. When a rule, law, election or a proposal is published using BitCongress it is done so by creating a Smart Contract via If-Then logic statements running on a server hosted on a Full Node device. This smart contract holds the addresses of different things you can vote on such as candidates, yes answers, no answers, legal choices, rule changes, etc. This is where the Bitcoin, Counterparty Tokens & Smart Contracts all come together in what we call BitCongress.

With the creation of Bitcoin & the Blockchain there has been a true demonstration of a consensus based monetary system fully functioning globally for over 8 years now. The advantages of this system shows how a peer to peer system running a decentralized node network can become the most powerful computer network on the planet in under a decade. We propose a voting system to be created in conjunction with Bitcoin, Counterparty & Smart Contracts like BitSwitch or any other Bitcoin based C++ Contract system using a distributed model to verify elections, votes and voters on separated blockchain networks. Using Bitcoin for its proof of work blockchain which has grown into the largest & safest blockchain in the world, votes will be created on the counterparty system which sits on top of Bitcoin. This will allow every vote to be hashed into the Bitcoin Blockchain, time stamped and registered on the public ledger forever. Smart Contracts will be used to create elections as smart contracts that have a set of rules to follow including election time, candidates, legislation & custom election rules. We have created a tool for legislation similar to a Bitcoin wallet or the Smart Contract Contract Maker for legislation, amendment, debate & voting called Axiomity. It will be distributed to every available market and freely accessible to anyone online. With a combination of the Bitcoin, Counterparty & Smart Contract network, we have created a robust system to upgrade Voting, Legislation,

Elections & Public Debate. BitCongress is a system that combines Bitcoin, Counterparty, Smart Contracts & a API layer called AXIOMITY into a fully functional Congress on the Blockchain. BitCongress is a great tool for Governance, a remote control right in every phone, tablet, tv and computer, to legislate, to vote, to decide in the moment how our society should be, in an instant, on the blockchain.

Each owner transfers the vote to the candidate or legislation by digitally signing a hash of the previous transaction and the public key of the candidate or legislation and adding these to the end of the vote. A voter can verify the signatures to verify the proof of tally. The problem of course is the voter can’t verify that one of the candidates or piece of legislation ignored the vote, received the vote, faked the vote or denied the vote. A common solution is to introduce a trusted central authority, or counter, that checks every vote for identity of voter, double votes & onsite voter manipulation. After each election, the vote must be counted by a trusted authority, and only votes made directly within the centralized counter system are trusted not to be a double vote, false voter or other voter fraud. The problem with this solution is that the fate of the entire voting, election & legislation system depends on the counter counting the votes, with every election having to go through them, just like a government election. We need a way for the voter to know that the person, law or decision they voted for is recorded, counted, acknowledged & equally has power like all other votes. For our purposes, the election is held as a multi signature smart contract held between voters, candidates and legislation. This smart contract election will be running a set of rules for a set of time, able to accept votes with its public key, register them, process from them with the public key of the voter and return them to the voter after election. The only way to confirm the absence of an election, its votes & its voters is to be aware of all elections. In the central counter based model, the counter was aware of all elections and decided which votes are registered first or at all. To accomplish this without a trusted party, elections must be publicly announced, and we need a system for participants to agree on a single history of the order in which they were held, voted for and the ending results. The voter needs proof that at the time of each election, the majority of nodes agreed it was the first received. To implement a voter identity system that keeps track of address sending votes for election fraud management, we use a Proof of tally for every Bitcoin address used for voting. Using BitCongress we input a tally count into the blockchain for each voting address every time it votes, giving a timestamped tally to each vote done by that voting address. The Proof of tally is read by both BitCongress for voter verification and by the election for election data recording on each voter. The election can keep track of the Proof of tally on each address using it for results within the election. Every VOTE is given to a single Bitcoin address as a login system. That address now gets hashed in a transaction with its Proof of tally number. The Smart Contract election looks for this Proof of tally and records it in the election. Each election is now connected to a voter’s address and a tally count that goes up on each vote completed. This gives a profile of a Bitcoin address as Active Status, Inactive Status or Fraudulent Status, allowing BitCongress to rank the voter as a real voter or a non active voter. The elections record the Proof of tally on each address showing a history of votes from a voter while keeping the actual person behind the Bitcoin address private.

Candidates, Legislation & Amendments

Using the Legislation & Voting tool called BitCongress, one can hold their votes securely using a private key like a Bitcoin wallet. Within BitCongress there are several features, from creating elections to creating legislation. Anyone can create a piece of legislation and post it to the election, viewable and interacted with by BitCongress, other users can select that piece of legislation now viewable to the public, select any word, sentence or entire sections of the law and submit an amendment. This creates a new piece of legislation and posts it to a new election. All amended legislation is branched in a history viewable in BitCongress. Every piece of legislation can be viewed, amended and voted on by anyone holding a vote unless it’s created as a private election, this allows only specified vote addresses to vote. When a piece of Legislation is posted a new election is created on a Smart Contract with its custom set of rules imposed by BitCongress. When a candidate or piece of legislation is voted for yay or nay, a VOTE, a Counterparty token, is sent from the voter to the election, the VOTE is immediately returned to the Voter when the election ends. bitcoin data is sent by BitCongress to activate the Smart Contract election holding the piece of legislation. Posting a Vote casts a yay or nay vote & the legislation gets a vote count up or down +1 or 0. Depending on the vote count in the election when it ends, the registered winner is sent a winning token using Counterparty and the legislation moves up in ranking on a public common law ledger similar to a blockchain explorer depending on its vote count, how many winning tokens it and it’s amendments have in total & a reddit like up and down popularity poll. The posted Candidates, Legislation & Amendments can all be seen in BitCongress the wallet/explorer, as it relays callbacks from Counterparty running over the Bitcoin Blockchain. It will allow anyone to post as a candidate or law in a custom election, with all changes to legislation, all votes and all events timestamped into a blockchain of elections, holding votes and voters public keys within the elections history. All elections are hosted on the Smart Contract blockchain and will be interactive using callbacks, websockets, get, post & http requests.

Election

An election is created within a Smart Contract using BitCongress or some other blockchain system & user interface. Each election will have an election timed lifespan, set of rules, candidates, legislation, budget & an accessible URL that can be accessed by the public. Each election has its own Smart Contract address and using BitCongress communicates with the Counterparty address & Bitcoin Address that to bitcoin data holds and moves the votes from voter to candidate and then back to voter. Within an election each law can be voted for yay or nay. When a vote is caste a vote is sent from voter’s address to legislation's yay or nay addresses or to a specific candidates address, these addresses are built into the election smart contract. When an election has candidates or legislation receiving votes the election smart contract responds to and records every vote into the Bitcoin Blockchain using the Counterparty VOTE token. The election logs the changes, the vote count is recorded and displayed within BitCongress using bitcoin data onto the Smart Contract Blockchain. This allows a multiple blockchain record of the Legislation, Vote & Voter interaction. The election once expired will automatically return all votes caste, but will not increase the vote count of the legislation or candidates within the election.

Voting

When voting for a piece of legislation or candidate each yay, nay or candidate has an address. A vote token is sent from the voters BitCongress application to the address of the legislation's yay nay or if a candidate their public address, the election maintains the votes until the election is ended, then the votes are returned to the voters. This way votes are recycled and personally held. A proof of tally system will allow each voter to build a tally count on the amount of elections they have participated in. This shows an address of a voter as active, non active or fraudulent depending on the proof of tally, a voter will be denied an election if the voter’s address is found to be fraudulent based on double vote attempts from that address. VOTEs can be acquired by creating a profile on the BitCongress website. The only way to get a vote is to submit a Bitcoin address as a owner of the vote. Once a bitcoin address is given a VOTE, it will never be able to receive a VOTE again from the BitCongress site. This will allow for a truer Proof of tally to be used with confidence. Votes can be sent from Voter to Voter, they are automatically returned to the sender or voter, but there is a record of this on the Bitcoin Blockchain. This allows for the vote to not be used as a monetary tool, but a vote token for record of approval. It keeps a record of this to build a Proof of tally on all Bitcoin addresses used in elections. Showing a voter profile for Bitcoin addresses, yet holding that voters privacy.

Count Methods

One of the most important features of BitCongress is the count method used for massive elections such as presidential, legislation that millions of people will be voting on does not constitute a normal vote count. We propose the use of the Borda Count in a modified manor married to a blockchain of consensus. The Borda Count allows for a points system of election over a normal standard election count. In the US Presidential elections there is a system used called the electoral college. This system allows an institution of electors to pick a candidate depending on the 270+ count. If the electoral college cannot elect a winner, the House, then the Senate votes for president. We propose a count system that uses a Modified Borda Count as a primary count for all elections by default & a Quota Borda System for any “large” scale elections. If this count method is not fulfilled a winner a secondary vote can be done using a different count method. The Borda count is a single winner election method in which voters rank options or candidates in order of preference. The Borda count determines the outcome of a debate or the winner of an election by giving each candidate, for each ballot, a number of points corresponding to the number of candidates ranked lower. Once all votes have been counted the option or candidate with the most points is the winner. Because it sometimes elects broadly acceptable options or candidates, rather than those preferred by a majority, the Borda count is often described as a consensus based voting system rather than a majoritarian one. The Modified Borda Count is used for decision making. For elections, especially when proportional representation is important, the Quota Borda System is used. Under the Borda count the voter ranks the list of candidates in order of preference. So, for example, the voter gives a ‘1’ to their first preference, a ‘2’ to their second preference, and so on. In this respect, a Borda count election is the same as elections under other ranked voting systems, such as instant runoff voting, the single transferable vote or Condorcet methods.

--

--