Live data from Hacker News

Cryptocontracts Will Turn Contract Law Into a Programming Language

thoughtinfection.com

81–90 of 91 posts

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#81

Earlier quoted context omitted.

> How would you even express babysitting or lawnmower-borrowing as a program? What if all you needed to do was sent x btc to 13cyfKGfbyyuyiJVLj8S1QZ34x281X1neh which would trigger a lawnmower algorithm [1] to scan all available wifi connected lawnmowers, and send an idle one to mow your lawn - while compensating the anonymous owner for 'lending' you his machine. The implications of distributed blockchains are so huge…

You go quite a bit too far. How does one verify that the lawn mower actually is a lawn mower and not something pretending to be a lawn mower? How do I prevent someone stealing the lawn mower while it's in transit (or doing its job)? Bitcoin may offer new solutions, but it doesn't directly do anything in meat space. When there are conflicts between people we need to somehow resolve them, and a systematized way of doin…

The lawn mower has a private key that is uses to sign messages with. There are several solutions to the problem of verifying whether or not it's a lawn mower.

One solution is to use a reputation system, you see others have borrowed that lawn mower and have given it a good rating, or the owner has a good rating.

Another solution is by certificate authority that guarantees that it at one point was a lawn mower. Of course someone might try to rebuild the lawnmower into a fake one by removing the engine and feeding it fake gps coordinates etc. Maybe this problem can be solved also, but it will be much more difficult, that's why I think reputation will be the main way at first, just like in ebay or alibaba.

Obviously you can not prevent someone from stealing the lawn mower, just like you can not prevent a drunk driver from crashing into Amazon's data centers. In this case however, the lawn mower will not report that it has completed its task and the renter will not pay, so the owner of the lawn mower takes all the cost.

In general such a cryptocontract would work like this: First money is put in escrow, then the lawn mower goes to its destination, mowes the lawn and then returns to its owner. The code for the lawn mower could be verified and maybe signed by a third party so it can be more trusted. When the lawn mower has returned to its owner, the money will be released from escrow.

If there is any kind of dispute, yeah sure, you might need dispute mediators. For example the lawn mower didn't do the job well enough, because of a software bug. Even cases like this could eventually be in the contracts though, so the contract might have a clause that says the owner is not responsible for poor lawn mowing caused by software bugs, and you have to decide if you are okay with that or not.

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#82
post #29

I don't want to be negative-HN-commenter, but this seems crazy to me. First, expressing a contract in a programming language is a much harder problem than expressing a contract in English. How would you even express babysitting or lawnmower-borrowing as a program? Second, lawyers go to great efforts to cover all the cases and even so there are usually things uncovered. Programmatic contracts aren't going to be any be…

I feel like this is the equivalent argument of "the internet will never support streaming video" from so many years ago. That is not to say that I agree or disagree with the result, but rather that you are trying to fit a new technology into way too broad a category. In twenty or some odd years, we might have the capability for computers to understand "if you mow my lawn I'll pay you $20." But lets leave that aside f…

Did someone actually say that? I know people said all sorts of things that are now considered daft about the future capabilities of the internet, I wasn't aware streaming video was one of them and a Google search yielded no results.

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#83
Firstly, IAAL. Secondly, I'm working on a crypto-currency that's designed for the automatic enforcement of contracts. Thirdly, I was (am) an engineer, and always saw writing contracts as akin to coding.

I see no way to automatically enforce contracts without a third party intermediary, which sort of goes against the spirit of the coin. Be that party a crowd-sourced wisdom, an impartial oracle, or whatever. Is there another way?

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#84

Earlier quoted context omitted.

> When there are conflicts between people we need to somehow resolve them, and a systematized way of doing that is called government. Certain governments seem to making, not resolving conflicts between people. And they purposefully make these said conflicts in order to generate profit for tiny segments of the population. Iraq, Afghanistan, Libya, Syria, Ukraine, Venezuela, [...Iran?]. I get your initial point, but th…

I made no claim that everything we can call government is a good idea. Just saying that the notion that you have bitcoin so now you don't need government is missing at least a few steps (if any similar claim holds at all). We might be able to implement some parts of government atop technology (we already do, really), but that doesn't mean there's no government. "I get your initial point, but the past century has show…

> The median position of a bunch of half-informed individuals plied with advertising is not something I have a lot of confidence in.

And here lies the problem. In the US the 1% actively disinforms the 99% through media manipulation and bad education. Thus you can't have direct democracy when people can't think for themselves. The whole system is rotten.

In most European countries citizens are educated from a young age how to think rationally and how to interpret information. You still have subtle media manipulation like sky-news but nothing as blatant as fox-news&hollywood. Switzerland has a very good history of referenda - because the population isn't intentionally misinformed and under-educated.

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#85

Earlier quoted context omitted.

I made no claim that everything we can call government is a good idea. Just saying that the notion that you have bitcoin so now you don't need government is missing at least a few steps (if any similar claim holds at all). We might be able to implement some parts of government atop technology (we already do, really), but that doesn't mean there's no government. "I get your initial point, but the past century has show…

> The median position of a bunch of half-informed individuals plied with advertising is not something I have a lot of confidence in. And here lies the problem. In the US the 1% actively disinforms the 99% through media manipulation and bad education. Thus you can't have direct democracy when people can't think for themselves. The whole system is rotten. In most European countries citizens are educated from a young ag…

Misinformation and undereducation makes things worse, to be sure, but that's not really what I was speaking of. My point was that becoming fully informed about anything is a lot of work. Becoming fully informed about everything is impossible.

"You still have subtle media manipulation like sky-news but nothing as blatant as fox-news&hollywood."

That's just silly. There's plenty of drivel in the UK. The Daily Mail easily gives Fox a run for its money, and The Sun is owned by the same guy who owns Fox News. My understanding is that the situation in other countries is roughly similar - some good journalism and a lot of crap - but I am less familiar. Switzerland's history of referenda is indeed comparatively good; I think there's a lot of factors that have contributed to its success.

Finally, even if you think the above factors are the only reason direct democracy works (or would work) beautifully in Europe and horribly in the US, what would you propose to fix them? I contend that "direct democracy" is not much of a remedy.

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#86
post #29

I don't want to be negative-HN-commenter, but this seems crazy to me. First, expressing a contract in a programming language is a much harder problem than expressing a contract in English. How would you even express babysitting or lawnmower-borrowing as a program? Second, lawyers go to great efforts to cover all the cases and even so there are usually things uncovered. Programmatic contracts aren't going to be any be…

I feel like this is the equivalent argument of "the internet will never support streaming video" from so many years ago. That is not to say that I agree or disagree with the result, but rather that you are trying to fit a new technology into way too broad a category. In twenty or some odd years, we might have the capability for computers to understand "if you mow my lawn I'll pay you $20." But lets leave that aside f…

Seconded. People are talking about a complete port of all the many messy pedestrian contracts of all day life, while missing out on the more practical opportunities programmable wealth has on offer in the networked digital ecosystem.

Bounty hunts.

Say, I am an activist, a revolutionary, or simply someone who wants the competition to go out of business. I want this website down, set up a cryptocontract that implements my bounty. People can join in and assign some more wealth to the contract’s escrow. The bounty will be transferred to whomever publishes his identifying key on the domain I want to see go down. Maybe I’ll include a clause that specifies an expiry date. Or I set a clause that such and such content should be published on the target domain. And so forth. Crowdfunded hacking attacks can become very soon very cheaply accessible, and consequently disrupt some very real-life existing social contracts…

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#87
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…

For the foreseeable future, the cost-benefit balance weighs strongly against such a system. I believe that to be true for the following reasons:

1. What you're proposing would add a tremendous layer of additional complexity. There are design, manufacturing, and maintenance costs associated with that functionality.

2. Comparatively few business deals end in a dispute. So in the vast majority of cases, the sensors would be a waste.

3. Even if a dispute occurs, there's no guarantee the sensors will resolve it. Either party could easily claim the sensors malfunctioned, or that the programming of the sensors doesn't appreciate the nuances of the case. In which case, you'd have to rely on traditional, human means of dispute resolution.

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#88
post #74

There's an interesting split here: between contract validation, contract enforcement. Both have typically been handled by courts. Contract validation is typically very "human centric". It centers on questions such as "what is a bargain?" or "is this result acceptable to the conscience (I.e. is morally acceptable)". Contract enforcement, however, is much more formulaic. Given a valid contract, and a series of events (…

>I don't think bit coin is relevant though. For automated contract enforcement any payment API will work. Wether it's bit coin, or paypal in Estonian Kroon, the important part is automation. Maybe you're not seeing the really important part of this; these contracts are cryptographically guaranteed . Any contract managed by Paypal is subject to human error, hacking, government interference, etc. It's not just automati…

Something like that may work for digital goods.

You deliver some digital assets, the key to which can only be derived if a particular crypto currency transaction is performed.

But if you are delivering physical goods, there's going to be some human aspect to it.

Some human, somewhere, is going to deliver the good to some other human.

I'm not discounting the idea of automated contract enforcement. I think contract enforcement is really inefficient. Finding a way to automate it seems like it could be useful. That's the niche paypal originally filled (providing escrow services for ebay transactions). If you could find a way to automate such things, so that everywhere you currently see a "standard service" contract nowadays you had someone clicking on a button (and maybe entering a credit card number), it seems like it could be disruptive. Kind of like a Google App engine for executing contract logic.

I'm just not sure that bit coin is central to the whole thing.

The whole "free from government interference" thing is a bit of a fallacy. If the government wants to seize your bit coins, they will find a way. It may be difficult for them to manipulate the price of bit coin, and to implement wholesale theft (stealing everyone's bit coins), but seizure of a specific individual's bit coins is definitely possible. They'll find a way.

Maybe some form of contracts, like options trading, might work. Equity funding of startups might work too. Basically anything that's purely digital.

But I don't think that any contract involving physical goods can be rendered mathematically perfect.

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#89

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…

> one content license might be that you agree in advance to delete any content published under this license within a specified number of hours.

How would you know if someone is breaking that contract? And if it's not enforceable why support it?

Re: Cryptocontracts Will Turn Contract Law Into a Programming Language

#90
post #89

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…

> one content license might be that you agree in advance to delete any content published under this license within a specified number of hours. How would you know if someone is breaking that contract? And if it's not enforceable why support it?

Depending on the situation it might be very obvious (they republish it after the deletion request) or you might not know without examining their system directly.

There are a number of options depending on the context. If Tent ends up like email (90% of users spread across a handful of service providers), then one term of the license could be consent to regular audits by mutually trusted individuals or organizations (e.g. the EFF).

Post reply on HN