One of the things many of us love most about EOS is the promise of on-chain governance. Every smart contract on the EOS blockchain is connected to a Ricardian Contract according to the EOS Smart Contract wiki:
Each Smart Contract must be accompanied by a Ricardian Contract that defines the legally binding terms and conditions of the contract.
According to wikipedia:
A contract is a promise or set of promises that are legally enforceable and, if violated, allow the injured party access to legal remedies. Contract law recognises and governs the rights and duties arising from agreements. In the Anglo-American common law, formation of a contract generally requires an offer, acceptance, consideration, and a mutual intent to be bound. Each party must have capacity to enter the contract. Although most oral contracts are binding, some types of contracts may require formalities, such as being in writing or by deed.
Right now, people are interacting with the EOS blockchain without agreeing to the EOS Constitution.
If you're using the EOS blockchain, you should be familiar with the EOS Constitution:
This Constitution is a multi-party contract entered into by the Members by virtue of their use of this blockchain.
Article I - No Initiation of Violence
Members shall not initiate violence or the threat of violence against another Member. Lawful prosecution of crimes with the goal of preserving life, liberty and property does not constitute initiation of violence.
Article II - No Perjury
Members shall be liable for losses caused by false or misleading attestations and shall forfeit any profit gained thereby.
Article III - Rights
The Members grant the right of contract and of private property to each other, therefore no property shall change hands except with the consent of the owner, by a valid Arbitrator’s order, or via community referendum. This Constitution creates no positive rights for or between any Members.
Article IV - No Vote Buying
No Member shall offer nor accept anything of value in exchange for a vote of any type, nor shall any Member unduly influence the vote of another.
Article V - No Fiduciary
No Member nor EOS token holder shall have fiduciary responsibility to support the value of the EOS token. The Members do not authorize anyone to hold assets, borrow, nor contract on behalf of EOS token holders collectively. This blockchain has no owners, managers or fiduciaries; therefore, no Member shall have beneficial interest in more than 10% of the EOS token supply.
Article VI - Restitution
Each Member agrees that penalties for breach of contract may include, but are not limited to, fines, loss of account, and other restitution.
Article VII - Open Source
Each Member who makes available a smart contract on this blockchain shall be a Developer. Each Developer shall offer their smart contracts via a free and open source license, and each smart contract shall be documented with a Ricardian Contract stating the intent of all parties and naming the Arbitration Forum that will resolve disputes arising from that contract.
Article VIII - Language
Multi-lingual contracts must specify one prevailing language in case of dispute and the author of any translation shall be liable for losses due to their false, misleading, or ambiguous attested translations.
Article IX - Dispute Resolution
All disputes arising out of or in connection with this Constitution shall be finally settled under the Rules of Dispute Resolution of the EOS Core Arbitration Forum by one or more arbitrators appointed in accordance with the said Rules.
Article X - Choice of Law
Choice of law for disputes shall be, in order of precedence, this Constitution and the Maxims of Equity.
Article XI - Amending
This Constitution and its subordinate documents shall not be amended except by a vote of the token holders with no less than 15% vote participation among tokens and no fewer than 10% more Yes than No votes, sustained for 30 continuous days within a 120 day period.
Article XII - Publishing
Members may only publish information to the Blockchain that is within their right to publish. Furthermore, Members voluntarily consent for all Members to permanently and irrevocably retain a copy, analyze, and distribute all broadcast transactions and derivative information.
Article XIII - Informed Consent
All service providers who produce tools to facilitate the construction and signing of transactions on behalf of other Members shall present to said other Members the full Ricardian contract terms of this Constitution and other referenced contracts. Service providers shall be liable for losses resulting from failure to disclose the full Ricardian contract terms to users.
Article XIV - Severability
If any part of this Constitution is declared unenforceable or invalid, the remainder will continue to be valid and enforceable.
Article XV - Termination of Agreement
A Member is automatically released from all revocable obligations under this Constitution 3 years after the last transaction signed by that Member is incorporated into the blockchain. After 3 years of inactivity an account may be put up for auction and the proceeds distributed to all Members according to the system contract provisions then in effect for such redistribution.
Article XVI - Developer Liability
Members agree to hold software developers harmless for unintentional mistakes made in the expression of contractual intent, whether or not said mistakes were due to actual or perceived negligence.
Article XVII - Consideration
All rights and obligations under this Constitution are mutual and reciprocal and of equally significant value and cost to all parties.
Article XVIII - Acceptance
A contract is deemed accepted when a member signs a transaction which incorporates a TAPOS proof of a block whose implied state incorporates an ABI of said contract and said transaction is incorporated into the blockchain.
Article XIX - Counterparts
This Constitution may be executed in any number of counterparts, each of which when executed and delivered shall constitute a duplicate original, but all counterparts together shall constitute a single agreement.
Article XX - Interim Constitution
This constitution is interim and is intended to remain in effect until a permanent constitution is written and ratified in a referendum.
Have you read this constitution and have you initated some process on-chain to agree to it? Unfortunately, there is no such process at the moment. In some ways, this is worse than a Terms and Conditions link next to a checkbox where people check the box without reading the terms. In this case, many people are interacting with the EOS blockchain without even knowing the constitution exists.
Let's pause a moment to point out @eosDAC plans to solve this problem for our members. We will have a specific membership smart contract action which eosDAC token holders will need to execute if they want to be considered members of the DAC and be protected by the eosDAC constitution. This smart contract will reference the eosDAC constitution which you can read here. If you'd like to continue to support our efforts to enable DACs and provide value to EOS, please give
eosdacserver your vote.
Constitutions are important because they define and clarify the expectations of everyone involved. If we say something is "bad" or someone was defrauded or something was stolen then we need to be clear on what the rules are and what we're going to do when those rules are broken. Block Producers, like eosDAC, are required to follow the Ricardian Contract of the regproducer action. Although the dispute resolution and arbitration aspects of EOS are still being worked out, if a dispute arises and is ruled in such a way requiring a Block Producer to freeze funds or reverse a transaction or something of that nature, it may put that Block Producer at risk unless everyone involved actually agreed to follow the constitution via a voluntary contract.
We have a real-world example of this right now. Some EOS token holders for various reasons do not have access to their accounts. An initiative was started in the EOS911 Telegram to help these users protect their property, if possible. You can learn more about that here. Unfortunately, ECAF (EOS Community Arbitration Forum) has yet to make an official ruling on if BPs should freeze the accounts which may have been compromised or fraudulently obtained. ECAF may be hesitating to take action due to EOS users not actually signing a contract to follow the constitution. This puts BPs in a difficult situation where we've been shown valid evidence of fraudulent activity and cryptographic signatures from the original account holders, but are expected by many to do nothing about it without an official ruling from an arbitrator. If we delay, the funds will most likely be lost. As BPs we're stuck and ECAF seems stuck as well. Not only that, we're not yet clear on how decentralized the arbitration process will be and if consensus between 21 BPs might actually be more effective at representing the will of the token holders at this stage.
So this is a problem. How are we going to fix it?
Since the EOS blockchain is already up and running, we have to find a way to back into this. One possible option is to have each BP sign a message on the blockchain which explicitly states they will follow the EOS Constitution as of the current block and all previous blocks already signed. From there, we might get consensus from the community to modify the regproducer and claimrewards actions to include an agreement referencing the current Constitution as of that block time. We might also modify the Ricardian Contracts of these actions to reference the constitution. Article VII of the constitution implies all Ricardian Contracts should reference how disputes will be handled which is something else we'll need to improve for the system contracts we already have.
With support from the community, we might slowly expand the number of contracts which directly reference the EOS Constitution to ensure everyone involved signed an actual contractual agreement with legal protections, not just a code of conduct bad actors can freely ignore. All application developers using the EOS software could then display these contracts as part of their application. Application developers which have an on-chain agreement to abide by the constitution could then be recongized by things like the Metacert Protocol.
These are just ideas for discussion. At this point, I'm not giving a direct call to action other than to get the BPs and stake holders to discuss these challenges openly. Getting users to agree to the EOS Constitution may not solve much if we can't yet agree on what the EOS Core Arbitration Forum is or how it is governed.
We are in uncharted territory here trying to protect life, liberty, and property using a blockchain in ways no other system has been able to do so far. It's not perfect and probably never will be, but we can take the first steps towards something better to ensure EOS remains a leader in on-chain governance and smart contract technology.
There are many varying views on these issues, even among our own eosDAC launch team. I'm publishing this on my personal blog because it's not yet something we have consensus on as a DAC. This is just to get the conversation moving forward, and I'd love to hear your thoughts below.
Update: It seems we have our first action taken by the ECAF.