Congress

A transparent, fair, auditable, directly democratic proposal and voting platform in which each member of the Public Voter Registry participates in the legislative process.

Congress...the supreme legislative body of a nation and especially of a republic (Merriam Webster)

Martian Congress: An on-chain, ultra-transparent end-to-end auditable governance system utilizing the non-custodial wallet, public voter registry and a coin-shuffle-based encrypted ballot distribution system to ensure fair voting on public proposals, bills, and amendments by secret ballot.

Abstract

A purely on-chain, cryptographically secure voting process would allow each citizen to participate directly in the formation of a Republic in which matters of the "res publica" are decided by a congress consisting of the very public itself, without the need for intermediaries. Utilizing a blockchain to timestamp proposals and identify the members of the public is part of the solution, but benefits are lost if reliance on unmanageable databases or staked tokens make voting via smart contracts vulnerable to network attacks. We propose a solution to the aforementioned limitations and seek a transparent and simple solution which allows all participants to easily audit and verify the validity of the vote. By utilizing an open source model in which the code itself becomes the constitution, we opt for a server/client architecture in which the initial participants curate via transparent rules a public voter registry. Any member of this assembly of citizens can initiate proposals, bills, and amendments. These proposals are stored using a distributed file storage system (IPFS/Airweave) but also include the ability to suggest changes to the code itself. As the server restarts in regular intervals, the system is capable of inheriting voted-upon changes. As the code is open source, any dissenting faction can - in theory - break off and start its own offspring. This puts additional motivation on the assembly to carefully discuss and include all viewpoints. Each proposal triggers a coin-shuffle procedure in which participants request private ballots for that particular vote. This allows us to verify the authenticity of the participants (one-vote-per-citizen, irrespective of net worth) and at the same time makes the vote private and fair. Various proposal lengths and percentages of citizen votes required for a pass are variables that the public can decide upon. The Republic becomes a living software structure in which all members of the public are equally citizen, assembly of congress, and representatives of their Republic.

Implementation

Goals of an end-to-end auditable and secure electronic voting process are as follows:

  1. Correctness:

    • Only authorized parties can vote, i.e. registered voters

    • No voter votes more than once

    • No voter can replace votes

    • The party in charge of tabulation cannot change the outcome

  2. Verifiability: universal or private

  3. User anonymity

  4. Receipt-freeness

We achieve these goals using a combination of a Publicly available online HD Wallet, a Citizen registry with "proof-of-humanity", a private and secret coin-shuffle based Ballot acquisition procedure and finally with a Proposal platform that allows proposals to be timestamped and anchored in a public blockchain (Marscoin) for immutability and verifiability.

Overview

After a user successfully registered an account in the public user registry using his private and secure online HD wallet ("proof of humanity") he/she awaits for votes of confidence by existing citizens ("vouching"). Once a certain threshold of community members vouching for a new citizen has been reached, the new citizen thus becomes allegeable to join the proposal and voting process. In the HD wallet (seed-phrase based and encrypted backups available behind a standard 2FA secured user login) based platform the citizen will at first only see a new tab that invites him to join the "Public". Once the citizen's status as human has been verified using a liveness test, a basic profile with his publicly visible information will be uploaded and the user will be able to unlock the next stage of his civic progress: the Proposal platform tab - as long as he secures enough votes of confidence from fellow citizens ("Endorsements"). In this way the system keeps the voter registry database anchored in reality: a new "arrival" has to present himself to existing citizens and get enough of them to lift his status up. Rules on how many votes of confidence are required, how often someone can vouch, etc. are defined in the system code ("Constitution") itself and are, among any other system variables, changeable by via code-diff proposals (see below).

At this point our new citizen can enter a new proposal and publish it. Each proposal consists of a title, description and link to further discussion (Forum). The proposal once published (via IPFS) will be notarized by the Marscoin blockchain. In the current version all proposals posted are open for public vote. A citizen can check out new active proposals, discuss them in the Public Forum and then proceed to request a ballot and cast a vote on the proposal. If the proposal does not garner enough votes (percentage threshold missed) in their alloted time, they simply become failed proposals that nevertheless appear in the congressional archive.

Voting on existing proposals requires the receipt of a ballot. A ballot is simply a small unit of Marscoin (1 zubrin, the smallest unit) which a user receives after participating in a coin-shuffle. The coin-shuffle allows us to cryptographically to establish a private vote that is yet auditable and fair. In order to participate in a vote, a citizen joins a coinshuffle. The coinshuffle creates a transaction in which all participants get their 1 zubrin ballot coin returned to them. While the participants are on-chain verifiably participants from the voter registry (identified by their public address) the 1 zubrin ballot which the coinshuffle reallocated to them cannot be traced back to an individual voter.

Coinshuffles take place every day and are automatically generated on the server using websockets. At this point all important parts of the system are independently verifiable and visible on-chain: A citizen is identified by his public addess. Ballot-request transaction participating in the on-chain coinshuffle is verifiable. The - anonymously - returned shuffled secure and private ballot-coins are visible as well. The transactions signed with these coins are visible as well. The vote tally is a sum of all the signed ballot-coin originating transactions and verifiable on-chain as well.

Our citizens then are free to cast their vote on the proposal for which the coinshuffle ballot generation took place. The zubrin is sent as miner fee while the voting transaction records the citizens decision via the OP_RETURN code on the Marscoin blockchain. No coins are lost. The miners get paid for supporting not only the financial backbone of the colony but also the governance system. Using a highly ASIC-resistant algorithm we propose that most citizens also run mining nodes (a proposal to move the Marscoin blockchain from scrypt-mining to RandomX is expected).

Server scripts then tally the publicly visible blockchain-notarized vote and highlight the results for convenience on the Martian Republic platform. As the voting occurs completely transparently on-chain, a verification is possible by anyone without the need for sophisticated tools or other indirect assessments is encouraged: creating a system that avoids opaqueness via obfuscation or unnecessary complexity.

Different types of proposals govern different aspects of this citizen driven direct congressional republican government:

  • Constitution: the code and basic premise underlying the Martian Republic toolset. The code running the system itself is stored as open source in a public repository. Only diffs from the system user are pulled

Last updated