/r/bitlaw
Bitlaw embraces concepts of polycentric law, enabling technologies, and the theory behind them.
Bitlaw embraces concepts of polycentric law, enabling technologies, and the theory behind them.
Bitlaw Github page (work in progress!)
Video intro:
"Law Without the State" by David Friedman
See also:
/r/bitlaw
Was redditing in bed this morning, on the verge of officially getting up, and thinking about issues surrounding the nature of the bitcoin blockchain and the lightning network, and suddenly it struck me that the way bitcoin is setup is that the people able to process transactions and invested with the power to determine the rules of the protocol were the miners themselves, because they had the proof of work mechanism.
By this means, 51% of the hashpower is able to determine the rules of the protocol.
For a legal system like Bitlaw however we need to prove something other than hashpower. We need to prove that you both own an amount of property and have the right to set the rules for that area.
This means proof of ownership.
In short, a computer needs to prove that it has the right to set the rules of a particular location and then to serve those rules to all comers. This proof would be cryptographic in nature, using a distributed ledger to record ownership of property and the public-key needed to communicate with an owner of the described territory.
Once proof of ownership is established, the owner has the right to set the rules for entry, and to enter lawfully the visitor must agree to those rules.
All property could then be labelled with access restrictions as either no restriction (public access for anyone accepting the rules), permissioned access (pre-approval required, perhaps involving an application process), or restricted access (you must be invited to enter, no public application process exists).
How could proof of ownership work.
There are two use cases needed to be dealt with: original appropriation of unowned property, and proof of transfer of owned property from either the original owner or a chain of transfer leading back to that original appropriator.
Historically, original appropriation was accomplished on the basis of the claim. A certain reasonable amount of space was considered claimable, and had to be legitimated by 'working the claim' within two years. Claims not worked were considered abandoned and could be then claimed by another when that time expired.
We can use a blockchain to divide up into arbitrary segments the 3D globe, describing the boundaries thereby.
Anyone who downloads this blockchain would be able to run queries against it and see what existing areas were claimed and when, and thus where new claims can be made. And also which claims are about to expire if not worked.
A claim that is made is entered into the blockchain ledger using GPS coordinates along with a private key for communication purposes by the claimant.
Proof of ownership would constitute physically working the claim in order to legitimate it withing that two-year period, not claiming more land than is allowed at one time, and signing a message from the private key stored with the original claim.
Transfer of ownership could perhaps occur by crafting a special transaction which de-authorizes that public key and writes a new public key over that space.
Another special case is how to subdivide and join properties together.
Yet another question is how to deal with property in the air or under the sea.
Also, how much land is too much to claim? I think this would have to be governed by local rules more than anything. Perhaps we need some mechanism to accept claims, whereby those who are using the bitlaw client nearby will create a protocol rule about how much land to claim they consider acceptable, and will refuse to accept claims beyond a certain amount.
How to do this in a way that it could be locally-settable variable is another issue.
His comment:
The OT contracts are hashed now (that is how their ID is formed) so when you load a contract with a certain ID, the contents are hashed and the IDs are compared. So you know it's the same contract you expected, otherwise it would just fail to load.
Other things are verified as well, like the signatures. So you know who signed it, and that the contents have not changed since it was signed.
As for the decentralized trading of text, we have integrated with Bitmessage which is a P2P, end-to-end encrypted messaging system.
We also have end-to-end encrypted messaging built into Open-Transactions itself (through the OT servers) and this is used for sending payment instruments as well as user-to-user "mail".
We also have certain messages in the OT protocol for automatically downloading contracts or user credentials based on ID. For example, if you need a certain user's public key, you can download his public credentials from the OT notary server. You can also download asset contracts, minting keys, etc. These things are all verifiable since they are all hashed and digitally signed. (The "contract" is like the basic building block and parent class of most of the objects in OT.)
We're also integrating OpenDHT (a distributed hash table) to make contract and credential discovery available both on the client and server side.
So based on the needs you describe, OT might be what you are looking for.
Very exciting. I'm going to start learn OT and see if we can build some rudimentary decentralized-law documents.
As David Friedman said, we should expect ancapistan to exist first in cyberspace before realspace. OT is giving us the first window into that world, and I want to be part of it.
Bitlaw is about the intersection of decentralized law concepts and cryptographic means of communication.
This post is about the latter half of that.
One of the biggest problems with law today is that it is monolithic and one size fits all, running into the millions of pages of law that no one could ever read or become entirely familiar with, not to mention that laws have no expiration date and people can be prosecuted for stupid laws from 1880 that no one would agree to today.
Decentralized law, by contrast, should be fairly sparse and custom, since it is tied to each relationship in society. It is constantly being remade, re-judged.
You should be able to read it quickly and understand what you're agreeing to rapidly, without need for lawyer-like jargon which serves only to balkanize people into lawyers and non-lawyers.
Law can be principle-based instead of exception based, whereby a thousand pages that currently define what is theft in a hundred different contexts can instead be reduced to, "you agree not to steal" with arbitration courts going into specifics when theft in some way becomes alleged.
The bitlaw devs are engaged in reducing law to common provisions and unique identifiers arrived at through cryptography.
Many laws might have common beginning and ending paragraphs, just boilerplate sections, with only one section of originality in-between them.
So most laws would be collections of boilerplate by paragraph or by section, with original parts that tailor it for that relationship. This one original section becomes a new building block of law that could potentially be used in other laws, and it too gets reduced to a single elemental-unit via a hashing algorithm.
This hash shortens it drastically and gives it a unique identifier.
Once all these block provisions are put together, their hashes are again hashed to produce a single representative hash-word. Then put all your law agreements together and hash that. This one word can uniquely identify an entire body of law for an individual. And changes can be easily discovered by running the hashing algorithm again, so you have a means to verify that the lawset is good and uncorrupted.
These hashes can be stored by third-party notary as well as a proof of validity. If a legal dispute arose between you and a contractee, you simply provide the arbitration court your hash for all your law, and the text itself, with that contractee. The arbitrator can verify that your hash matches your lawset. The contractee provides their hash and their text, which should match yours. But if it doesn't then the hash storage notary comes into play. They provide the hash that both you and the contractee provided them originally, as an identical pair. To be extra safe, you might employ more than one notary hash-storage, to further stave off collusion between them.
Whosever hash matches the one the notary provides is the one that isn't lying about what their contract was originally.
These hashes became identifying words that can become popularized, because some of them will stand for entire packages of law and become known by that title.
It is by these words that laws can come to be known very rapidly.
Suppose you go shopping in a new COLA, you don't want to spend 20 minutes reading an entry agreement.
But if they tell you that the law set identifier is 1B59... And you recognize that identifier from previous contracts, you can sign and move on, it's law you already understand and have lived under before.
I'd also had another idea for a hash-naming algorithm that was inherently word-like and thus pronounceable. Rather than being a random string of numbers, we can create a hashing algorithm that relies on phoneme pairs plus a string of numbers.
So, it might come up with the particle: "Ka," "Ni," "Po," "521," which is pronounceable as "Kanipo521." Suddenly people are talking about this new "Kanipo" lawset that's been developed and its advantages or detractors.
That name would simply be derived from the top-hash, the one that hashes the hashes of the individual laws, which themselves are collections of hashes of the individuals provisions and boilerplate.
By this means law can be communicated and organized quickly and effectively.
Edit: my spelling on mobile is atrocious.