Live data from Hacker News

Cryptocontracts Will Turn Contract Law Into a Programming Language

thoughtinfection.com

61–70 of 91 posts

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#61
post #22

Contracts are sort of like computer programs, read and executed by people -- by the parties; by constituencies within a corporate party; and sometimes by judges and juries -- instead of by CPUs. Except that, unlike people: [EDITED FOR STYLE] * CPUs don't come up with imaginative reasons why they supposedly needn't follow a clear, unambiguous program instruction. * CPUs don't experience buyer's remorse and decide they…

Re: Common Draft

That strikes me as a very good idea. I've seen so many contracts with strange terms seemingly included because the drafting lawyer half remembered seeing such a term once, and now thinks it's necessary even though he doesn't know why.

Let's think of every synonym we possibly can for this verb including one in bad Latin and one in old Law French -- that'll show we're really serious!

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#62

If you're interested in this stuff, Ethereum ( http://www.ethereum.org/ ) is one of the projects you should currently be watching closely.

Ripple, the IOU-oriented crypto currency, also has a scripting language for encoding contracts: https://ripple.com/wiki/Contracts

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#63
We've been exploring the idea of machine-readable content licensing in Tent (https://tent.io). The idea being that you could subscribe to content feeds based on your willingness to accept certain terms of service.

For example, as a distributed system, there's no guarantee that your subscribers will delete posts you sent them when asked, so one content license might be that you agree in advance to delete any content published under this license within a specified number of hours.

We've also looking at the idea of community arbiters: if two users want to enter into a contract, they could choose an arbiter to help resolve any disagreements from the intersection of their social graphs.

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#64
post #48

Earlier quoted context omitted.

Interestingly, he is a vocal critic of Bitcoin (as a currency, at least): http://www.antipope.org/charlie/blog-static/2013/12/why-i-wa...

His criticism is unsurprising; he's a modern luddite. He thinks the tech he grew up with (and maybe a bit more advanced) is A-OK, but anything else is eeevil.

There are plenty of intelligent people who believe that bitcoin is the myspace of digital money.

And plenty of other intelligent people who believe that it can be made just fine by adding dozens of layers of technical complications, and then somehow creating an easily comprehensible interface across those layers.

And plenty of other intelligent people who get hellbanned because they said something snarky but true about a yc moneymaker.

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#65
post #22

Contracts are sort of like computer programs, read and executed by people -- by the parties; by constituencies within a corporate party; and sometimes by judges and juries -- instead of by CPUs. Except that, unlike people: [EDITED FOR STYLE] * CPUs don't come up with imaginative reasons why they supposedly needn't follow a clear, unambiguous program instruction. * CPUs don't experience buyer's remorse and decide they…

"Except that we don't see CPUs being astonishingly creative in coming up with reasons why they shouldn't have to follow a clear, unambiguous program instruction." That's the compiler's job ;-)

We still don't know what Intel's microcode actually does...

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#66
post #34
post #16

Earlier quoted context omitted.

How does the computer know conditions have been met, and what prevents using those same mechanisms with ordinary contracts?

exactly this. If the conditions were clear and unambiguous as to whether a contract's term was satisfied or not, there would be no need for lawsuits to enforce a breach. It's precisely because of the enormous ambiguity in human affairs, even when both parties are acting entirely in good faith, that hundreds of years of contract law exists, and courts and lawyers and lawsuits and police to enforce them. The OP's examp…

Actually the advantage of bitcoin escrow is that the third party only has to get involved if the first two parties have a dispute. Otherwise they can release the funds all by themselves.

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#67
post #58

I'll put down my textbook on Scottish conveyancing law here to make an observation that this idea suffers from the same delusion that 4GLs had: they were going to be the "end of programming!" All you have to do is specify what you want and the computer will deliver it! It turns out that working out what you mean is the hard problem, both in programming and in law. You can't forsee all contingencies, just a subset; ma…

> It turns out that working out what you mean is the hard problem, both in programming and in law.

This is the heart of the issue, and is why we have both programmers and lawyers. They are domain experts in working out what people really mean. Specifying contracts in code doesn't eliminate the need for this process, and if anything makes it more laborious, because English it turns out is a pretty good language for what people mean.

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#68
post #31

How does the automatic enforcement work? Specifically, how would the software algorithmically determine whether one party has performed satisfactorily? Determining whether one party has paid the other is relatively straightforward--compared to other contractual obligations, at least. Whether it relies on a centralized model like a bank, or something decentralized like BitCoin, it's easy to quantify and measure the ex…

The babysitting one is harder than the plumbing, but bear with me.

For the plumber's contract, imagine sensors embedded in the pipes or the bathtub that could collect data suggesting that agreed-upon circumstances in fact obtain.

Now, if the agreed-upon pattern is something simple like a certain level of water flow, it's easy to see how a criminal plumber would be able to game that system and get out of town with the money (though they probably wouldn't be able to make nearly as much money as a good plumber would).

On the other hand, you can imagine a system of sensor-enabled plumbing parts made to fit with each other — shower walls, pipes, showerheads, faucets, etc. — then there could be a signature pattern in all the sensors that is much harder to fake than it is to just achieve honestly. The achievement of that pattern could then trigger the satisfaction of the contract.

Babysitting is a lot weirder, but you can imagine the contract working with some combination of factors like:

- the babysitter is in fact in the house, and maybe his/her movements fit some expected pattern

- the sounds made by the kid match the types of sounds they normally make (or have made with other babysitters)

- the kid is in bed by a certain time

- the kid (depending on how old he/she is) might actually rate the quality of the babysitter

- etc., etc.

This is one creepy world I just envisioned.

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#69
post #68
post #31

How does the automatic enforcement work? Specifically, how would the software algorithmically determine whether one party has performed satisfactorily? Determining whether one party has paid the other is relatively straightforward--compared to other contractual obligations, at least. Whether it relies on a centralized model like a bank, or something decentralized like BitCoin, it's easy to quantify and measure the ex…

The babysitting one is harder than the plumbing, but bear with me. For the plumber's contract, imagine sensors embedded in the pipes or the bathtub that could collect data suggesting that agreed-upon circumstances in fact obtain. Now, if the agreed-upon pattern is something simple like a certain level of water flow, it's easy to see how a criminal plumber would be able to game that system and get out of town with the…

Who runs these sensors? What happens when the person who runs the sensors breaks their end of the bargain?

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#70
post #62

If you're interested in this stuff, Ethereum ( http://www.ethereum.org/ ) is one of the projects you should currently be watching closely.

Ripple, the IOU-oriented crypto currency, also has a scripting language for encoding contracts: https://ripple.com/wiki/Contracts

There's more information on Ripple contracts here: https://ripple.com/wiki/User:Justmoon/Contracts:_Overview

BTW, while the Ripple network supports the ability to establish trust lines (also known as IOUs) between users, the cryptocurrency (XRP) is separate from that.

In fact, XRP is the only currency on the Ripple network that does't have counter-party risk and doesn't require a trust relationship to transact in.

Post reply on HN