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
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.
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:
References
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:
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?