Forbidding bribery and vote-buying in a blockchain Constitution is of course meaningless without enforcement. On previous blockchains, there exist (to the best of my knowledge) no constitution as such, or constitutions with weak or no enforcement. But on an EOSIO Software based blockchain, there are mechanisms for arbitration and enforcement that can make a Constitutional prohibition meaningful.

Here’s a story about how an arbitration process might play out in such a case. Details may be imperfect and some steps may be omitted (or even in the wrong order compared to how they will eventually evolve in practice), however the overall shape of the story is as accurate as I can make it.

The Offense

BP Candidate Corrupt Carl offers money for votes for himself to become a Block Producer. Vinny the Vapid Voter takes the money and votes for Corrupt Carl. All of this can be proven via various sources including public statements, emails, multiple sources of testimony, and various on-chain facts.

The Community Response

Community member Righteous Rachel notices the pay-for-votes scheme and sees that, as a community member, she is harmed. She thus has a cause of action against both Carl and Vinny. Rachel as Claimant initiates an arbitration case against both of them. Rachel puts down a good-faith bond indicating she’s serious and willing to pay damages if her complaint is found to be frivolous. Arbitrator Alex is assigned (the details of assignment and checking for conflicts of interest are omitted here).

The Arbitration Begins

Alex checks and sees that Rachel has no track record of bad faith arbitration complaints, and has placed a bond. Alex, as Arbitrator of an active case, sends notice to Carl that he has been named as Respondent in an arbitration case. Carl is not considered a flight risk because he has a large presence and is actively campaigning for Block Producer; he will have to lay a deposit.

In contrast, Alex feels that Vinny is a flight risk because his account has no other data and was only opened a few weeks before. To mitigate this risk, Alex takes the dramatic and unusual step of ordering the account of Vinny frozen until he responds to the charges. Vinny can unfreeze his account by placing an amount of tokens equal to the likely judgment (or possibly a percentage of the likely amount) into a bond fund (like escrow or paying bail).

The BPs respond automatically to the arbitrator’s properly formed order, and freeze the account of Vinny.

With his account frozen, Vinny cannot now ignore the community. Carl responds to the notice of arbitration, funds his arbitration bond account, and prepares his defense. Vinny goes silent and his account remains frozen.

The Arbitration Process Takes Place

Over the course of many days or weeks (30 to 90 days is not unusual), all sides are given ample opportunity to exchange information relevant to the case, to rebut one side’s facts with more accurate and complete facts, etc. Each can retain outside expertise to help them if they wish.

Alex, seeing the importance of the case, uses a portion of the arbitrator’s fee (calculated as a portion of the money at risk) to hire a professional arbitrator as a “second seat.” (Were the case large enough, Alex would be part of a three-person Arbitration Board. For simplicity we assume a single arbitrator in this story.)

By the end of the arbitration process, both sides have heard all evidence and been given opportunity to comment on and challenge all evidence. The Arbitrator has asked questions and assembled the facts.

The Arbitrator Rules

By now over 30 days have elapsed. Carl has suspended his vote-buying campaign so that he doesn’t expose himself to even more liability, in case he loses. Nobody can find Vinny. Alex has taken great pains to write a detailed Finding and an Order, with help from her professional arbitrator assistant.

Alex publishes the Finding and the Order. It lays out all findings of facts, as well as the judgment and what needs to happen to satisfy the judgment.

Carl is found to have clearly violated the Constitution. Because of this, Alex is empowered to order Carl’s account to be permanently frozen and all his tokens confiscated. However, because it’s Carl’s first offense, Alex follows community standards for first offenders and orders that Carl be fined 10% of his tokens and be banned from candidacy as a Block Producer for 90 days.

The entire record of the case is published on IPFS and the hash of the case is entered into the blockchain for this Arbitration case.

Carl’s on-chain record now shows one good-faith arbitration case which he lost. When he pays his fine and serves his time, his record will show he discharged his debt and is in good standing with the community. (If he re-offends, he will no longer be a first-time offender.)

As the whistle blower, Rachel receives a portion of Carl’s forfeited tokens, and her bond is returned to her. Her record shows one good-faith arbitration case which she won.

Vinny’s account remains frozen. He too violated the Constitution. Alex has ordered that he forfeit the bribe money he received, plus a penalty equal to twice that amount. His account doesn’t have that much, so his balance is ordered to be reduced to zero and his tokens are transferred to an account used to pay restitution to victims.

The Enforcement

Carl wishes to remain in good standing with the community. He pays his fine voluntarily and, after his 90 day suspension, resumes campaigning for BP, but no longer offers to pay for votes.

Alex’s order to take Vinny’s token balance is entered with the BPs, who see that it is a properly formed order by an assigned Arbitrator on an open arbitration case. At least 15 BPs sign the transaction (meeting the multi-sig requirement) to transfer Vinny’s token balance to the restitution fund. That transaction goes into a 30 day queue, at the end of which, if Vinny hasn’t returned to dispute it and nothing else arises to challenge it, the transaction will take place.

The Aftermath

Friends of Carl (FoC) who want to get away with vote-buying try to pick apart Alex’s case. Carl, afraid of being a second offender, stays clean.

One FoC attempts to challenge the Arbitration ruling with an appeal, and files a new arbitration case naming Alex as the respondent. This case is thrown out because arbitrators are exempt from liability for their rulings, and FoC’s bond is forfeit. The FoC then files a new case against the ruling, saying it was decided incorrectly. This case is assigned an arbitrator who quickly finds against FoC, whose case was so weak he now has a record of filing a bad-faith arbitration request. He forfeits his deposit and loses reputation.

If the FoC tries yet again to appeal, it’s likely nobody will agree to be arbitrator, or that the deposit and fee required will be very high.

Meanwhile, other BP candidates begin to realize that they are at risk if they offer to pay for votes. Voters realize that, as whistle blowers, they can turn any offer they get to be paid for their vote into a very lucrative arbitration case. Vote-buying goes underground and becomes a tiny fraction of all voting. (BP rewards on an EOSIO software based blockchain are tuned to be modest — too small to make widespread vote buying cost-effective.)

The Analysis

Who was punished worse, Vinny or Carl? Vinny might have only faced a fine of $30 on a $10 bribe. But, Vinny did something unforgivable: he didn’t face up to his actions and take responsibility. He opted out of the community by opting out of a core value, arbitration. No community can survive if it lacks core values and if it cannot determine who is in and who is out. If Vinny ever tries to rejoin under another account name, and gets tied back to this unfinished business, he will still have to clean up his mess and make restitution to the community.

Carl might have paid a much larger fine — his 10% loss might have amounted to $1 million USD or more — but Carl faced the community, obeyed the ruling, and mended his behavior. Carl has behaved as we would want him to, as someone willing to take responsibility.