Why every Blockchain needs a Constitution

in #blockchain8 years ago


Blockchains need a constitution. After 8 years and hundreds of blockchain experiments, one thing is perfectly clear: blockchains do not solve the governance problem. The theory that code is law and the argument that objective math is an incorruptible ruler have both failed in practice.

People are the Blockchain

It is the people who use a blockchain as an accounting system that give numbers derived from the blockchain value. Any and all value held by Bitcoin, Ethereum, or Steem exists solely at the whim of public opinion.

Governance in Bitcoin is mired in gridlock for lack of a formal process. Something as simple as changing the block size has led to unending debate, denial of service, censorship, and other underhanded tactics. If any system were to let the code rule it would be a system that makes effective coordination and cooperation impossible.

Most people recognize that a rigid set of code is a cruel master. If code is to rule, then code must be immutable. If code is immutable then it lacks the ability to adapt which will eventually lead to extinction in the darwinian marketplace.

What is worse, immutable code assumes perfect (bug free) code. Any serious programmer knows an nontrivial code is impossible to perfect or guarantee to be bug free. Developers are still finding exploits in security critical code that is decades old and has been reviewed by thousands of open source users.

If code is to be tamed by people, then governance becomes essential. The code can help implement the governance process, but ultimately it is the people who must cooperate with one another to effect change. We cannot even rely on the code to perfectly implement governance.

Majority Rules is not Enough

Systems like BitShares, Steem, and The DAO operate on the premise of one-share, one-vote. The model is very similar to a corporation where the shareholders vote to select directors who operate the company.

Under a majority rules system there is no guarantee that 51% will not abuse the 49% or that the 99% will not abuse the 1%. Majority rules is a variation of might-makes-right and cannot protect property rights or any other community values.

Governance by Constitution

I have been a critic of the United States Constitution because it either authorizes the tyrannical police state we have today, or it is powerless to stop it. Either way, the Constitution of These United States has failed.

Constitution a body of fundamental principles or established precedents according to which a state or other organization is acknowledged to be governed.

In my opinion, the U.S. constitution has failed for the following reasons:

  1. It authorized the use of force for taxation
  2. Laws are interpreted by human judges
  3. It makes it too easy to change laws
  4. Geographic monopoly prevents competition

A blockchain based system can remedy all of these things.

Blockchains are Nonviolent

A blockchain is inherently non-violent. A blockchain is sovereign over its own data and changing numbers in the database is never a violent act. If these numbers have meaning/value to people, that meaning and value resides in the subjective opinion of each individual. A blockchain law that taxes your account is not violent, it is merely an expression of public opinion on your purchasing power.

Blockchains are Interpreted by Computers

The law of the blockchain is written in code. Code is unambiguous and reliably evaluated by every individual who cares to evaluate it. There is no possibility of disagreement on the deterministic judgements rendered by the computer. This level of clarity and formality protects everyone and prevents judges from exercising arbitrary power through biased interpretations.

Blockchain Laws can be Difficult to Change

Bitcoin is a perfect example of how lack-of-governance makes laws difficult to change. It is trivial to implement a formal process that makes changing of laws just as difficult (or more so) than changing Bitcoin.

If you require 100% unanimous agreement to change the code, then your system will be just as hard to change as Bitcoin. Eventually market forces will determine the fate. The blockchain will fork and the market will decide which fork has value and which one is worthless. The market might even give both sides different non-zero values.

The goal is to avoid Forks

The purpose of any governance system is to minimize the likelihood of a fork. A fork occurs anytime an organization is divided into two or more parts that each go their separate way. Usually both sides of a fork lose as the sum of the forks is less than the value of the whole.

A constitution combined with on-blockchain governance exists to avoid forks. This is achieved through the following processes.

  1. the community self-selects people with common values
  2. the community has a means to measure validity of proposed laws

Failure to define a constitution will result in everyone developing their own opinion on what the community values should be. Eventually something will happen that will result in an unresolvable conflict of values. When this happens the community will split and everyone will be poorer for it.

Qualities of a Good Constitution

A good constitution sets the boundaries of acceptable law / code. It must be narrow enough to have meaning, but not so narrow as to over restrict development of code.

Define Values not Laws

Values - a person's principles or standards of behavior; one's judgment of what is important in life.

Given the same set of facts, rational people draw different conclusions due to different values. Two people that have the same values can have a productive debate that reaches a conclusion they both agree with. People with different values often have unresolvable differences of opinion. By defining values a community self-selects for people that are likely able to reach consensus.

Defining laws does not work because they are overly specific. Two people with different values can agree on the same law for different reasons. If people come together because of agreement on the current set of laws, there is no guarantee that they are likely to agree to any changes to the law.

Define the Minimal set of Values

We don’t need to agree on religion to do business. The more values a community defines in its constitution, the less likely the community is to grow. Broad, universally accepted values are more likely to be successful than narrow / controversial values.

Don’t assume the Impossible

If you declare the value that code is law in your constitution then you assume code is bug free and that code reflects intent. This is a set of values that are clearly based upon flawed premises. Even Bitcoin forks to fix bugs.

Make Constitution Immutable

If a blockchain is to have flexible laws (code), then it needs a practically immutable constitution. If there is a need to change the constitution, then chances are it is defining laws rather than values. Community values should not change over time because not everyone will change their values at once. If values change then forks are inevitable.

In the event that new values are required, then a new community should form and the market will assign value to each community. If an issue isn’t big enough to form a new community over, then it isn’t big enough to justify a change to the constitution.

Provide for Dispute Resolution and Jurisdiction

In the absence of an agreed jurisdiction, conflicts between community members are subject to any and all jurisdictions. Ultimately a blockchain is nothing more than an unincorporated cooperative, partnership, community, organization, or company operating outside any jurisdiction. People come together, define a governance structure, and adopt a blockchain as an accounting system.

There will be disputes that go beyond the blockchain. By planning in advance, everyone in the community is better off.

I recommend using arbitration and an immutable set of international law. Specifying any countries law is likely to result in laws that change in ways that violate community values.

Get Signed Acceptance

Every user should cryptographically sign the constitution. This gives the dispute resolution terms standing in a court of law and demonstrates the extent to which the community has consented to a common set of values. Failure to agree on values should be a red-flag.

Conclusion

A properly written constitution that is universally accepted by almost all members of a crypto-currency community is a critical component toward building confidence in the market. It is best to define your constitution early, before problems come up. If you wait until problems show up, then it will only make the problems more difficult.

Sort:  

My creative:

Confederation of Independent Systems

We are the minds of 9 Independent Systems of Cyberspace: Bitcoiners, Ethereans, Bitshareans, Shibes, Monerians, Dashes, Nemsters, Nexters and Safers inspired by A Declaration of the Independence of Cyberspace and the Knowledge given us by Satoshi Nakamoto, today, 6 of June 2015, declare our Confederation for piece, for good, for better.

Guided by the Golden Rule we declare our essential rights:

  1. Everything have the right to be or not to be
  2. Everything have the right to sense, calculate, store and transmit data or matter
  3. Everything have the right to do everything privately or publicly
  4. Spacetime is a public good until proven otherwise
  5. Property ownership shall be obtained by reaching a decentralized consensus.

All rights derived from essential as the following: the right for a Private Key, the right for a Public Key, the right to transact, the right to build a reputation and other derived rights are integral part of nature until proven otherwise.

In Math We Trust
Cyberspace, 1433609025 Linux Time. Proof of existence

Wow! That is a super duper comment. Thank you for sharing.

Could a formal spec act as a constitution for a blockchain? Or should it be a yellow paper? Whatever form it takes it will have to take a form which everyone can understand and not only high priests. Countries have a constitution written in a way where only high judges can interpret it. In the United States we have a constitution which can only be interpreted by the Supreme Court and it's ultimately requires trusting a group of people who act as high priests.

The same could be said about scripture where only certain people are in the high priest position to decipher the true meaning of the scripture. This could lead to problems in the future if the community disagrees with the interpretation of the high priests. And formal specifications as they are currently are not done in a language we all understand.

The good news is technology is improving. There is a technology now called controlled natural language, which allows for Controlled English. A formal specification written in Controlled English would be readable by anyone who can speak English.

We have to avoid legalese because that opens us up to the same "obfuscated code is law" as we have currently with Ethereum smart contracts. Everyone has to act as the distributed high priest and if necessary vote up and down or reach consensus line by line on every block of controlled nature language which doesn't just have to be English but can be in every language and dynamically translated for all participants into their native language.

References

  1. https://en.wikipedia.org/wiki/Controlled_natural_language
  2. https://en.wikipedia.org/wiki/Attempto_Controlled_English
  3. https://en.wikipedia.org/wiki/Formal_specification

Could a formal spec act as a constitution for a blockchain?

I think you are missing the point. For me, the crucial role of a constitution is to cover areas which cannot be enforced by the code or achieved via economic incentives.

Apart from that, a constitution could serve as a formal declaration of intentions for the code, so that we can easily differentiate between bugs and features, but for me this is only a minor role, as the whitepaper does it quite effectively.

@dan , do I understand your approach correctly?

I never said the code enforces it. I said the formal specification can provide the most description clarity in terms of human communication of intention or rules. People know 1+1=2 not because I say it does, but because there is a formal proof which proves a+b=c and so on. These proofs are how we all agree that math is real, concrete, and that is why numbers and symbols have an absolute meaning.

My approach is to use the formal specification as the document which acts as the blockchain constitution or smart contract constitution. This is why I always was in favor of formal verification. What I do not want is an English document which can be interpreted any kind of way because natural language is horrible for determining meaning when compared to formal communications such as constrained or controlled natural language or formal specification.

The formal specification would make it so that every possible rule is formalized as mathematics. The Controlled English would make it so every English speaker could interpret the precise meaning without any ambiguity, doubt, or disagreement. 1+1=2 everywhere on the planet because of the formal proof behind the math. For the constitution, it should be as certain as 1+1=2 for each and every line and I can only think formal specification is the way to do it.

An interesting fact to note is you actually can encode the entire traditional legal system as mathematics. You can take the logic behind all forms of laws as well as contract types, and import it into software, and merge it. Legal ontologies exist such as LKIF.

In the formal specification you can always have dispute resolution capacity. This capacity could exist on a spectrum where the first resort is to resolve all disputes internally and only as the mechanisms fail should the final resort be to use off chain off cyberspace mechanisms which in my opinion should be included but should be the fallback mechanism of last resort.

a constitution could serve as a formal declaration of intentions for the code

We agree and that is what I was saying only what I'm saying is natural language isn't very formal. You can take a formal proof and every human on earth can interpret it exactly and precisely because it's the basis of math. On the other hand if you take natural language then you have so many different languages and within each language you have all sorts of dialects, buzzwords, and I want us to avoid the Tower of Babel effect we see elsewhere. Useful quote from Wolfram:

"So we’re slowly moving toward people being educated in the kind of computational paradigm. Which is good, because the way I see it, computation is going to become central to almost every field. Let's talk about two examples—classic professions: law and medicine. It's funny, when Leibniz was first thinking about computation at the end of the 1600s, the thing he wanted to do was to build a machine that would effectively answer legal questions. It was too early then. But now we’re almost ready, I think, for computational law. Where for example contracts become computational. They explicitly become algorithms that decide what's possible and what's not.You know, some pieces of this have already happened. Like with financial derivatives, like options and futures. In the past these used to just be natural language contracts. But then they got codified and parametrized. So they’re really just algorithms, which of course one can do meta-computations on, which is what has launched a thousand hedge funds, and so on. Well, eventually one's going to be able to make computational all sorts of legal things, from mortgages to tax codes to perhaps even patents. Now to actually achieve that, one has to have ways to represent many aspects of the real world, in all its messiness. Which is what the whole knowledge-based computing of Wolfram|Alpha is about."[29]

References

  1. https://en.wikipedia.org/wiki/Pythagorean_theorem
  2. https://en.wikipedia.org/wiki/Formal_proof
  3. https://en.wikipedia.org/wiki/Constructive_proof
  4. http://www.estrellaproject.org/lkif-core/
  5. https://github.com/RinkeHoekstra/lkif-core
  6. https://en.wikipedia.org/wiki/Tower_of_Babel
  7. https://sites.google.com/site/controllednaturallanguage/
  8. https://en.wikipedia.org/wiki/Computational_law

My background is not in mathematics, but it sounds to me that a proposed constitution written in a formal, mathematic language may be an idealistic impossibility.

Isn't this what Gödel proved impossible with his incompleteness theorem? Won't we inevitably have contradictions in any formal system of high enough complexity?

The U.S. constitution doesn't require judges to interpret it, that is propaganda used by the media to disempower individuals.

I agree that the terms need to be short, easily understood, and generally unambiguous.

If the Supreme Court does not interpret the constitution then how do we know which interpretation is the real one?

If it is "short, easily understood, and generally unambiguous" and well-written, then you wouldn't need a judicial arbiter. Even if a group of people is writing it and the document represents community consensus, the wording needs to be decisive rather than a compromise that looks like it was written by a committee. That alone would make it clearer than any law passed by the US Congress, most of which end up in court for interpretation because they were written in committee or because the writers overreached beyond their areas of expertise. I'd add that any constitution must be a broad statement of principles and not anything subject to enforcement.

Unfortunately it's not that simple. We can't even agree on if slavery ended in this country. The Thirteenth Amendment if you read it carefully puts in an exception which indicates not only has it not ended but it has been expanded.

These are the words:

Section 1. Neither slavery nor involuntary servitude, except as a punishment for crime whereof the party shall have been duly convicted, shall exist within the United States, or any place subject to their jurisdiction.

If anyone could just read the constitution and know exactly what it says then common sense would indicate that all prisoners are slaves to the government. Of course we know the government isn't going to admit that and instead people will use more ambiguous terms like "state property".

Do convicted criminals maintain citizenship status? Some cannot vote and cannot buy a gun even after they've served their time. If the constitution were so clear then these debates would not be happening.

Originally race was the justification for slavery. Now if you ask some of the best lawyers they cannot tell whether or not slavery has ended. Should we take the words from the constitution and assume we know the meaning as well as the experts in which case the US government looks evil or should we assume the experts know what those words really mean?

  1. http://www.newsweek.com/slavery-still-legal-united-states-365547
  2. https://en.wikipedia.org/wiki/Thirteenth_Amendment_to_the_United_States_Constitution
  3. http://www.usatoday.com/story/opinion/2014/08/14/slavery-legal-exception-prisoners-drugs-reform-column/14086227/

Thank you for writing this post.

I think that, thanks to the discussions here on Steem, my opinions have settled and I now would not define myself as a "code-is-the-law" staunch believer. I have evolved into a "constitution-is-the-law" believer.

If we declare that smart contract code is the law (and this is what any reasonable person can deduce from Ethereum's website combined with the DAO's terms & conditions) then when things go wrong, no matter what, we need to stick to those rules. Even if there are sound economic arguments to do the opposite and even if the majority supports doing the opposite. This is the meta-rule that should always prevail: Even if rules are bad, they should never be changed in mid-game. And this meta-rule should be a crucial part of every blockchain constitution.

Why did people start selling off the DAO token when the hacker attacked? Because they took the Ethereum immutability declaration and the DAO terms & conditions seriously. They sold their token for half the price because they actually believed that this is their last chance to rescue their investment. A now it turns out they were naive fools.

We were just kidding with this immutability thing and nobody reasonable should have taken it seriously. Our initial declarations and intentions don't really matter. You should have expected that since a hard-fork is possible, then when the majority wants it, it will be done.

Is this really the new economic model we want to create?

Blockchain without a constitution is an ugly monster which in the long run will do more harm than good. A majority is capable to produce a good constitution. But it is not capable to offer effective minority protection in real-life situations.

If the Ethereum website had said: If a smart contract runs amok you can try to convince devs and miners to override the system and get your money back, then everything would have been fine. I personally think such a blockchain makes no sense but I have no problems if some people decide to create such a platform and then use it. My only demand is this: clearly declare those intentions before anything bad happens.

This gives the dispute resolution terms standing in a court of law and demonstrates the extent to which the community has consented to a common set of values. Failure to agree on values should be a red-flag.

This should be avoided. Sure it would work as a last restore but I think we should do everything we possibly can to not rely on traditional institutions. Why use the blockchain if ultimately if something goes wrong everyone is going to run right back to the familiar system? I think we have to come up with our own systems of governance, dispute resolution, and a digital equivalent of a constitution for the digital age, which may not actually resemble what we currently call a constitution but would serve a similar function.

I take these stances because what attracts me to the blockchain is that we can do these functions better than can be done by traditional means. If we rely on traditional means then it invalidates the use case of the blockchain itself to improve on traditional means.

We obviously need our own system. Government's will enforce arbitration if it is agreed to by the parties. In this way, governments can enforce blockchain rulings. We just need individuals to consent to allowing blockchain rules to resolve disputes.

Ultimately a person must resolve the dispute.

I suppose we can use government apparatus as an enforcement mechanism for the blockchain rulings. It can be a double edged sword though because it can risk giving national governments a kind of influence.

Human society needs the right device. People understood this long ago and came up with legal laws - rules which, as you know, the state sets. These rules must comply with all. People are comfortable and calm, when the house is warm and light, where there is food, well run transport, shops, schools, hospitals, when enforced traffic regulations, in other words, when the order in the country.

I have been a critic of the United States Constitution because it either authorizes the tyrannical police state we have today, or it is powerless to stop it.

Lysander Spooner detected. Upvote achieved.

I find it interesting the concept you lay out above. I am sceptical though whether it should be labeled a "Constitution". I prefer to make decisions on principles that I find relevant to the subject in question, whatever that might be. Regardless of the fact those principles exist in a published text or not, aiming to mould the users' expectations, according to individual interpretations.
After all, Constitutions are ever subject to abuse. Whether the decisions are valued as right or wrong is reflected upon the value, the users assembling the market signal through price mechanisms. In that case ofcourse the "whales' " role is a matter of further investigation, but in the long term their actions are countered by the majority microholders'. #AndreyNikolaevichKolmogorov

@dan do you think that AI could be a threat to the way the computer interprets the block chain? Thanks

I love that book from Lysander you paraphrased. I'm not even sure I had read this post from you. It was a great read and gave me some positive vibes.

"But whether the Constitution really be one thing, or another, this much is certain – that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist." – Lysander Spooner

Coin Marketplace

STEEM 0.24
TRX 0.11
JST 0.032
BTC 62482.14
ETH 3044.68
USDT 1.00
SBD 3.76