RE: What could a blockchain Constitution look like?
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
- minimum counter signing per contract, both in absolute number of members and stake (to enforce some kind of peer review),
- use formal proofs to insure code runs as intended with high probability
- 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.