Hacker News new | past | comments | ask | show | jobs | submit login

Very good arguments, thanks. I'll try to refute all of them.

1. Contract in a programming language does not leave room for misinterpretation. If there are N conditions to unlock money, they are all well-defined (unless there's a bug in the entire system, of course). Since there's no room for interpretation, lawyers do not need to "cover many cases" (like they do today so their opponents don't find a loophole). Compare Bitcoin itself (a bunch of C and C++ code) with the current financial system and all the laws and regulations. Bitcoin's code may be shitty, but it's much more strict, consistent and well-defined than all these thousands of pages of law. Law is never consistent even with itself, not only with law of other countries or particular decisions of courts.

2. Lawnmower-borrowing can be transformed into insurance contract with a deposit "locked in the sky". E.g. like this: http://blog.oleganza.com/post/58240549599/contracts-without-... Newer slides: http://oleganza.com/bitcoin-epita-2014.pdf

In other words, you transform an informal problem "this guys agrees to do some ill-defined work" into a formal problem "we both lock up insurance deposit which makes both of us interested in resolving all uncertainties to mutual satisfaction". It does not need to work for everyone, but it's potentially a much better insurance against misinterpretation of contracts than the need to go to an awfully expensive court+lawyers. Some people will find it useful for them, others will stick to some other means.

3. You can encode exception-handling as an optional third party arbiter right in the contract. Only bigger risk takers will start using cryptocontracts and assume all the risks due to bugs or surprising social issues. As time goes by, bugs will be weeded out, worst solutions thrown away and replaced by better solutions. Your mom will use this stuff after million iterations with a low risk of something go wrong. Also, cryptocontracts don't encode life or death. They only encode movement of limited amount of funds. If you don't put all your life's savings in one contract, you don't risk losing all your life savings.

4. Very disagree about cost. Programmatic contracts will be used voluntarily and only because they are cheaper than going to a lawyer or risking going to a court. Or paying a fee to some 3rd party. Also, in many cases the cost of using orthodox legal system is infinite - for some contracts, or in some countries, or in some businesses (extreme example - black market), legal system is simply unavailable. There are many-many people who cannot afford lawyers or non-corrupt judges to solve their problems. Cryptocontracts are low-cost solution for them.




You can build arbitration into contracts right now, and they're largely enforceable. Bitcoin just reduces the enforcement cost. The challenge for arbitration, programmatic or otherwise, is deciding who the arbitrator will be. One of the problems is that arbitrators have their own perverse incentive to decide things in the favor of "repeat players" rather than on a truly objective basis.


I wanted to respond to this deleted comment:

    gamblor956 17 minutes ago | link

    The problem is, and always will be, constructing the
    contract in such a way that it is comprehensive and
    comprehensible. We have yet to master that in languages
    that have existed for thousands of years; it is highly
    unlikely we'll master that within the limited framework
    of a a programming language which by its nature can't
    address unanticipated situations.
The fact that something hasn't happened doesn't mean that it will never happen, nor does the age of a language imply its usefulness for any particular purpose (and no language spoken on Earth has remained unchanged for hundreds, let alone thousands of years).

The formal notations introduced by mathematicians allowed for an explosion of knowledge and discovery that wasn't possible using plain language, while improving simplicity. Consider which is more understandable: a² + b² = c², or the sum of the squares of the two sides is equal to the sum of the squares of the hypotenuse.

Similarly, I expect that some day, given the right innovation in language, technology, or procedure, we could produce an equivalent leap forward in the way we think of laws, contracts, politics, and governments.


Too late to edit, so I'll add this correction: replace "sum of the squares of the hypotenuse" with "square of the hypotenuse".




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: