What could a blockchain Constitution look like?

in #eos8 years ago

Traditional platforms such as Facebook and Twitter have a terms of service that define acceptable behavior of users. These terms of service create a hub and spoke model where Facebook and Twitter are the hub and the users are the spokes. A decentralized platform needs to have a peer-to-peer terms of service.

Blockchains could bind users together in a peer-to-peer constitution with the aim of securing user rights and enabling dispute resolution. Any two users who sign the contract by virtue of their use of the blockchain are counter-parties to one contract.

We have put together an example constitution for the communities consideration. This example is intended as one potential template that could be customized for any blockchain.

For more information about the philosophy and legal theory behind this constitution we recommend reading "How to create a meaningful Blockchain Constitution".



Example Constitution


PREAMBLE

We the Members of the Community, in order to grant and secure certain Rights amongst us, do ordain and establish this Constitution amongst the Members.

ARTICLE 1 - Principles and Values

We hold these truths to be self-evident, that by our mutual and explicit consent to this Constitution, we recognize certain mutual Rights, that among these are Life, Liberty, and Property. We agree to live by the principles of honesty, integrity, non-aggression, voluntary association and logical consistency. We recognize that violation of these principles may cause damages to the Rights of other Members. We agree in the principle that when one Member damages the Rights of another they shall be responsible to make the damaged Member whole to the fullest extent possible.

ARTICLE 2 - Approach

We recognize that it is impossible for all Members to directly determine the Rights of all other Members; therefore, we implement amongst ourselves Blockchain software to automate the evaluation and assignment of Rights according to the software contracts (aka smart contracts) created and entered into with mutual consent of various Members.

We further agree that software development is an imperfect art and will occasionally fail to faithfully mediate Rights among Members; therefore, it is necessary to establish processes for community governance.

ARTICLE 3 - Currency

The Community hereby creates a currency known as EXAMPLE, possession of which is evidence of a contribution to the community. The quantity of EXAMPLE shall increase no more than 5% per year after the first 1 billion EXAMPLE are distributed.

ARTICLE 4 - Voting Rights

Each Member may obtain voting rights by transferring EXAMPLE into a designated staking contract, which restricts liquid access for at least 3 days. We may delegate our voting rights to another Member. We also agree not to cast any vote that would support the breach of this Constitution. Voting for a permissible change to the Constitution is not considered a breach. Changes to this Constitution, Community Contract Specification, allocation of new EXAMPLE, and Block Producers shall be subject to approval voting. Votes are weighted by total EXAMPLE held in staking contract.

ARTICLE 5 - Property Rights

Property rights are defined by the intent of the smart contracts as inferred by developer comments, incorporated human readable contracts, this Constitution and inspection of the code. We recognize software bugs may cause contracts to operate in unpredictable or unexpected ways. Those who come into possession of Rights intended for another Member shall take reasonable actions to restore those Rights to the rightful owner.

We recognize that private keys can be stolen and used to sign unauthorized messages on behalf of that Member. We recognize these forged transactions lack the authority to exercise the property rights controlled by the stolen key. Furthermore, we recognize that it may not be possible to know if a key has been stolen until it has been used in an unauthorized manner.

We will take reasonable measures to secure our accounts. We shall give public notice within a reasonably short period of time after discovering our keys have been misused.

ARTICLE 6 - Arbitration and Enforcement

We agree to settle all disputes with any Member through community arbitration under the Rules of Dispute Resolution. The costs of arbitration shall be initially borne by the individual Members in dispute and later apportioned by the Arbitrator. We agree the Arbitrator’s ruling is final and binding. We also agree that precedent of prior rulings shall not be used as the basis of future rulings.

We agree that rulings of arbitrators shall have no authority over the right of the Producers to exercise discretion over which valid transactions are included in Blocks. The Producers, at their discretion, may use their ability to exclude transactions from new Blocks to enforce arbitration rulings.

ARTICLE 7 - The Blockchain

We agree the Producers may, but are not required to, update the Blockchain software as necessary to defend the rights of the Members under this Constitution; however, no Producer may update Blockchain software in such a way that violates this Constitution. We understand that updates without prior Community approval may be used for emergency situations and only to the extent necessary to mitigate additional damages while the community reviews and approves a solution. All updates will require 90% approval of elected Producers. Except for emergency updates, continuous approval by at least 90% of Producers must be maintained for 30 days before an update can take effect. The minority Producers shall either upgrade their software according to the approved update, or they shall cease producing blocks immediately.

We agree that once a valid Block has been ratified by 67% of elected Producers it shall be deemed immutable. We also agree that no Producer shall produce two different Blocks with the same timestamp and that no Producer shall interfere with the reasonable exercise of voting rights by the Members.

ARTICLE 8 - Amendments

We recognize that this Constitution and other Key Documents may only be amended or replaced with explicit approval voting under Article 4 Voting Rights for a continuous period of 30 days. All amendments that would increase EXAMPLE creation rate above 5% per year or deny EXAMPLE-weighted voting rights to the Members shall require consent of 95% all EXAMPLE voting rights.

ARTICLE 9 - Miscellaneous

Choice of Law The default choice of law for disputes among Members is the maxims of equity.

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.

Consensus The Blockchain shall use Delegated Proof of Stake Consensus (DPoS) algorithm in combination with Transactions as Proof of Stake (TaPoS).

Consideration All rights and obligations under this Constitution are mutual and reciprocal and of equally significant value and cost to all parties.

Developer Liability We further agree to hold software developers harmless for unintentional mistakes made in the expression of contractual intent as software whether or not said mistakes were due to actual or perceived negligence.

Notice Any notice required may be served by posting message to a Member’s account that is incorporated into the Blockchain by Producers, or by broadcasting a valid message to the peer to peer network if it can be proven that the Producers refuse to incorporate a valid message.

Copyright We agree that any information published to the Blockchain is irrevocably placed into the Public Domain to the fullest extent possible. Any Member may use any information, ideas, patents, or other documents in the Blockchain without restriction, fee, attribution, or warranty. We agree that we will only publish information to the Blockchain that is within our Right to publish.

Key Documents. We incorporate into this Agreement the following Key Documents: Rules of Dispute Resolution, Consensus Practice, and Community Contract Specification.

Electronic Signatures All Members, whether natural human, legal person, or other entity, agree to this Constitution by signing a transaction incorporating the hash of this Constitution and having the transaction accepted by the Producers and incorporated into the Blockchain.

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 which incorporated a cryptographic hash of this Constitution. After 3 years of inactivity an account is put up for auction and the proceeds distributed to all Members by removing EXAMPLE from circulation.

Severability If any part of this Constitution is declared unenforceable or invalid, the remainder will continue to be valid and enforceable.

Once the person has agreed, they shall be deemed a Member, bound to the terms of this Constitution, and entitled reasonable access to the Blockchain according to their standing with the Community and any arbitration rulings.

Sort:  

We further agree that software development is an imperfect art and will occasionally fail to faithfully mediate Rights among Members; therefore, it is necessary to establish processes for community governance.

Ahhh, the sweet sound of wisdom.

Dan, this is excellent.

Sometimes it seems in our desire to escape human folly through more perfect code, we sacrifice our human wisdom by delegating it away to software, thus leading us back to folly. I feel it's imperative we hold the perspective which sees the blockchain as fundamentally subservient to human concerns, that is, the needs of the participants, and their mutually agreed upon rights.

We are imperfect, and we build (increasingly less) imperfect systems. I'm glad to see at the leading edge of blockchain development, there is still a great deal of heart at work.

I have some ideas and a whitepaper I'm working on which will focus exactly on this topic. I was intending to develop on a platform such as Tauchain but in general one of the concepts at the center of it all is the concept of a constitution. It appears you've arrived independently at the same ideas so I'm going to share your post around.

I'm going to take the opposite position and say that I think this is pretty unnecessary, though a great touchstone for debate. You say in some comments (to paraphrase) that it is meant to facilitate a common understanding between people. I do not believe it would do that.

For one thing, we would have to rely on honest and competent smart contract writers to write contracts, and equally importantly honest and competent non-writing parties to a contract (counter parties in the terminology). What I mean is that it is up to smart contract writers and users to know how to go by the terms of a constitution, and how to implement this in code.

Far better would be something that is more in line with the code = law approach, which is to say, anything possible is legal. The kinds of things this constitution purports to provide would be translatable to code, though not easily - it's a hard problem. At a minimum we'd be looking at a common set of patterns or even libraries for constitutionally legal code. This would make several of the more ambiguous parts of the constitution irrelevant, parts which have holes and I believe are ripe for abuse in any case.

For example, how is one to show that assets have been appropriated unfairly? Who is the Arbitrator and how are they selected? And the emergency blockchain fork powers are also open for abuse. To invoke Goodwin's law, think of Nazi Germany, or more recently the state of emergency in France that is still ongoing since November 2015.

I would propose polymorphism with a mandatory root level parent object, like the Object object in Java, which every object must inherit and which restricts possible uses to the kinds of use cases which are permitted.

You could couple this with a number of other measures, such as

  1. minimum counter signing per contract, both in absolute number of members and stake (to enforce some kind of peer review),
  2. use formal proofs to insure code runs as intended with high probability
  3. even go as far as restricting the smart contract language to be non Turing complete, particularly in the sense of looping

Another problem with the constitution as it is written is that it is much closer to a top level legal contract. Severability for example would never be found on a constitution but always on a contract. So clearly this is a hybrid. That is a big problem because it crosses the domain of practical responsibility to moral responsibility. I actually think that this is something which would be popular here, but I suggest that it is a step in the direction of cult building.

@krnel if you haven't seen this I think you would like it a lot.

I just watched this video where you mention a blockchain constitution within the context of EOS

@dantheman I am hoping that you can respond to my original comment in light of this. I have the most upvoted critique of it here, which I am completely open on being corrected on, and I think it would help us understand the idea of it especially considering EOS, which is very exciting btw.

Thanks 🙂


Edit: So EOS is really a blockchain OS as you describe it in the video. This makes the Java style root object idea and most of the rest invalid; you're working on a different paradigm here.

You compare the constitution to a terms of service, which is much more what it looks like anyway, and basically my last point. So my follow up and replacement question is really this:

By what means do you imagine a blockchain constitution being enforced? i.e. how will this work practically?

I am not competent to comment on most of what you say, being neither a lawyer, nor a coder, but would point out that there is a minimum of two signatories required to form agreement, and any framework that establishes a higher number arbitrarily prevents the rights of people to agree.

Thanks!

[...] any framework that establishes a higher number arbitrarily prevents the rights of people to agree

Interesting claim. Can you expand on this?

I think, it refers to it being harder for any number above 2 to agree. So maybe to expand on his statement, any number above 2 raises the chance for disagreement and therefore may restrict users rights unintentionally, since the asset or issue in question may or may not be in arbitration until resolved? Or I can be completely wrong.

after the revolution

Brilliant!!! I think this is an amazing foundation for a new society .. EOS can stand for Evolution Of Society. I couldn't be in any more agreement with the philosophical principles of this Constitution.

It would be great to get more information about the Rules of Dispute Resolution, Arbitrator and the arbitration process.

Growing up in a country without a constitution like the US has, where every citizen quotes various points and amendments, this seems foreign to me. Shouldn't we be moving away from the restrictions of such agreements? Isn't that what's great about a decentralised platform like this? Now I'm not up to date on legal studies, and have little interest in such, and I don't mean to offend, simply questioning the need.

Absent an agreement between the two parties, both parties are subject to arbitrary law and judicial processes. Unlike traditional constitutions, this one is truly peer-to-peer, decentralized, and mutual.

That comment help me made sense of the need of blockchain constitution. I hadn't realize it.

In some sense if more people would agree to some blockchain constitution this constitution could become more binding than state constitution which we agree are in reality non binding due to the fact that we supposedly agree to state constitution but in effect the treat of violence or imprisonment made if we don't respect state constitution make those invalid right from the gecko.

Ok, I guess I need to read more into this and about agreements in general to truly grep it

Hello Dan- In regards to Article 3 and 4- Would you be kind enough to elaborate a bit? Is there a cap on how much EXAMPLE one can buy? Would EXAMPLE be structured in such a way that the vote of all active/ contributory Steemians was equal across the board-? With standards to define 'active and contributory' of course.

What are your thoughts on a Constitutional Convention where Steemians gather virtually and debate and discuss the details of a Constitution? There's lots of really sharp people on this platform.

Thanks

That would be a good thing to clarify.

Would it be better to just allow this to develop organically. It already comes with bias from deep within the creators themselves. If it succeeds, good!!! if it fails, good!!!

Something new and better will unfold.

The Constitution of the United States of America was one of the greatest experiments of all time. Witness all around you how this treasure is unfolding.

We the people fail miserable at "keeping" it, much less something new.
Allow the free market to write the rules, that will prove much more valuable.

What part of this constitution is not part of the free market?

Exactly, the moment you defend it, is it "free???" It has been well said, "truth" is an epistemological endeavor. I will be the first to admit, i do not know the answer, i am just observing how it trends. Word[s] is/are the most valuable asset we have, the moment you allow a body (few men) to define what the rules are it opens Pandora's box.
After two or more create THE Crypto- Constitution and a few men lay pen to it, ratify and oblige the blockchain as a whole, you have just lite a match to and endless game of amendment[s], gotcha regulation[s], and the pursuit of entities "necessary and reasonable" to "make sure" it is fair. All i wonder, is it worth it??? Just some thoughts on the matter. That's all...

If you defend your property rights, you are no longer free? The truth is self evident in the case of Blockchain. These Constitution ('s) would marry some of the greatest revelations of humanity to an immutable tome.

I must agree that an at-will Constitution must generate organically, however, a simple suite of agreements can constitute a core, which, because people have certain features and needs in common, can be proposed.

Indeed, it is possible to conceive of this blockchain as being built on a core of agreements, which are universal in application, due to the fact that people are universal in form, and that subsequently builds on that core per the variety of people's beliefs and needs.

Thus, you'd have a core suite of agreements which are essentially ubiquitous, and then various amendments which are agreed to by the various signatories, and that signatories to the core who do not agree with do not sign. This would create a suite of governments that would reflect the actual voluntary agreements signatories undertake.

For example, you and I, in addition to the core suite, agree that all houses will be painted green. Bob doesn't agree, so doesn't participate in that agreement, leaving Bob free to paint his house any color he wants. If you or I change our mind, then the minimum of two signatories necessary for an agreement would no longer exist, and the clause would no longer be in effect.

It is conceivable that some parties may desire to cause others to be compelled to involuntary compliance with certain provisions, such as mutual defense, taxation, etc. This is what I see as the essential problem to be solved, as it may be difficult to imagine reconciling such facts as the need for mutual defense with the various means such defense can take, and it may be that there are certain facts that preclude the ability of persons to not voluntarily agree, such as basic human features and needs, like needing to breathe, drink, eat, excrete, etc.

It can be postulated that some persons may not agree that mutual defense is a need, for example, and I believe that such persons should not be compelled, nor availed in the case of their not voluntarily participating, of an agreement to that effect. However, in the current year, no one can fail to breathe and remain a signatory, as dying terminates their participation, so there can be some agreements that are universal, and involuntary.

A caveat is that different people breathe at different rates and volumes, for various reasons, so a set volume of air of given quality per breath isn't something that can be specified in any agreement, except to establish a minimum that is universally inclusive, or a maximum that no one needs to exceed, and even these must be variable, as the population changes, the actual boundaries change too. Quality, too, varies, as do the needs of people regarding it, and the possibility of providing a given quality of air.

So, while it might seem that a simple agreement that everyone has a right to breathe is universal and should be easy to codify as a core agreement, is actually quite a complex matter, and likely to be separated into various agreements as per the individuals needs and desires, in the real world where air quality is largely limited and impossible of arbitrary determination.

Indeed, the right to breathe is not a ludicrous example, as air pollution is a very significant factor affecting people, and that is believed to vary according to other factors, and cause many deaths where it is bad enough. I can see that some people will feel that others must be compelled to perform certain agreements that limit the production of air pollutants, and that others will utterly disagree.

The issue of breathing is a very good example of something that does need to be rationally dealt with in the real world today, and hopefully that treatment can be attained in the envisioned context.

I'd appreciate thoughts on these points. I'll resteem and look forward to watching this effort evolve and unfold.

Thanks!

EDIT: er, I would resteem, but that does not seem possible, as the button does not appear.

The first Blockchain constitution is here. It's an honor to vote and sign-up for this constitution and I hope other Blockchain projects could follow the same and get their community members agree on some basic principles that would govern their work.

Wouldn't it be more practical to allow members create their own constitutions within their own smart contracts? I believe it will be inefficient to just have a general constitution for a single currency. It is self-limiting.

And when there is a dispute between two people who both use the same platform?

Nothing stops two people from agreeing to a higher level contract that supersedes the constitution so long as it is not in conflict with the constitution.

The contract itself owes to be self-sufficient to resolve such issues due to the inevitable limited understanding of the parties involved.

I do think it is a good idea to have a general constitution but I can't help to ponder upon all the misunderstandings that will surface. Take for example today's constitution; simple words like "property" can take quite a different spin in regards to how it is perceived and defended (depending on given vested interests).

This is why we create smart contracts which eliminate most misunderstandings.

well, exactly my point. The constitution is rendered redundant.

As I see it, the constitution is the yard-stick, where smart contracts are the inches. That is, a constitution provides the framework, and smart contracts handle the specifics.

I share some of this concern, however this appears to be an excellent first attempt.

I did notice there seems to be some ambiguity in ARTICLE 7:

We agree the Producers may, but are not required to, update the Blockchain software...
...
The minority Producers shall either upgrade their software according to the approved update, or they shall cease producing blocks immediately.

I understand the first sentence to say updating the software is voluntary, whereas the last part dictates that to remain a Producer one must upgrade to the majority Approved version, once conditions for approval have been met. In legalese, shall and must are synonyms (equivalent). I am curious what the rationale for the first sentence is, and what situation or scenario it was meant to address. IMHO the "but not required to" should be removed. It is important that the versions of software in use by all witness are compatible, and this section defines the terms for which Witnesses are required to upgrade that software so it remains so.

What does this say about dissenting minorities? Isn't this the essence of how hardforks are used to split a blockchain? Could this be viewed as a means to maintain the status quo? Perhaps you should consider a clause similar to the U.S. Declaration of Independence which states (paraphrased) that when the governance ceases to represent the will of the people it is their duty to establish a new contract that conforms to the will of the people.

So yes, the English language is versatile enough (some would say ambiguous enough) to provide for such constructions that could be viewed as contradictory.

Still, aside from this specific section this is very well written and is indeed an excellent template upon which refinements can be made.

Well done @dan!

In the Constitution it appears you are giving AI or a "legal person" full rights. I am not judging that, I wonder if there is an issue with a possible imbalance in votes between what we call a "normal person" today and AI population in the future? If we gave IOT devices full voting rights we are already a minority.

Every agreement we undertake is a form of government. There are an impossible number of governing agreements presently, and many features of many of them are, in fact, neither lawful nor enforceable. In previous comment I have pointed out that there are certain facts of human existence that make a core of agreement both possible and universal of application.

I have also pointed out that it is possible to create a single form of agreement that can sustain a variety of sub-agreements that exist on top of the core of universal application, yet permit utterly contradictory agreements to co-exist.

While you and I could agree all people need to paint their homes green, others might agree that all people need to paint their homes red. Both these agreements could co-exist side by side. Neither agreement could be compelled to be adopted by those that disagree, and signatories thereto could, in a rational blockchain Constitution, withdraw at will at any time they change their mind.

It is also impossible to envision precluding the formation of other constitutions, in a just world.

I strongly advocate for a form of currency that is limited to one per signatory, that is assignable by proxy as I have previously outlined, and that expires upon the termination of the agreement. This seems an essential feature of any just form of blockchain constitution.

Thanks!

Coin Marketplace

STEEM 0.30
TRX 0.32
JST 0.051
BTC 99914.66
ETH 4002.66
SBD 4.13