5 ms·
> so where does one draw the line between theft and just doing what the code allows? This is the heart of the problem with smart contracts. The theory is that
by timoth3y 5y ago
> so where does one draw the line between theft and just doing what the code allows?
This is the heart of the problem with smart contracts. The theory is that the code is the law. There is no theft. There is no need to trust, authority, or arbitration.
Of course, this only works when the smart contracts perfectly meet a correctly defined spec and have no bugs.
- mondoveneziano 5y agoThat's not enough, all parties would have to have 100% awareness and understanding of the smart contract, detail by detail. Real life contracts sometimes turn out to have non-enforceable clauses within our legal framework, or may be entirely invalid if, for example, signed under pressure or false pretense.
- adflux 5y agoAnd a judge will decide whether the contract was signed under duress. Who will judge smart contracts?
- ryanmentor 5y agoKleros Digital Courts, if their story holds through.
- rtpg 5y agoA judge! A judge can just claim jursidiction! Imagine if Goldman Sachs did this. A judge can say "look, you can follow our rules or we start seizing assets etc". And when you're sitting around trying to be anonymous, well... you're doing everything on a public ledger, so now you're extremely restricted. Hell, courts/legislative bodies could even go down the "force all miners within their jurisdiction to rollback an unwanted transaction". You think miners care enough to make a stand on this kind of stuff? Unless you're going to like.... download your consciousness onto the blockchain you are still just as liable to being told by a court what to do as anything else.
- stjohnswarts 5y agoWell if you don't know who the person who got the money is then there's not much a judge can do.
- crooked-v 5y agoJudges have tremendous amounts of discretionary power when carrying out the law, and a good judge certainly isn't going to just give up because the identity of one party isn't immediately known. The example already given of ordering that the transaction be reversed on the network (even if that involves compelling uninvolved people to cooperate with the process) is entirely plausible.
- arilotter 5y agoAre judges going to manage to identify and compel enough miners (or devs, i guess, assuming the miners adopt the compelled transaction revert version) to have enough hash power to win a fork?
- rtpg 5y agothis could easily be combined with legislation providing tools to make it harder and harder to participate in mining off-fork. US financial laws have been very useful for the gov't to be able to de facto give it worldwide jurisdiction in some areas, I think there would be relatively few qualms about continuing down this path. Especially if (for example) Robinhood and Coinbase were forced to follow along. At one point the "blessed" thing will become the only place you can really operate.
- stickfigure 5y agoThis would require an incredible amount of international cooperation. It might be possible, but I doubt it likely.
- pornel 5y agoFor example, the court could declare that this transaction was illegal, and anything spent from it is also illegal forever. The ledger is open, so courts can compel exchanges to watch for such transactions and report anyone that can spend coins derived from them (exchanges have already been forced to comply with KYC). This would destroy the real-world value of this block, basically making it a digital equivalent of dirty money.
- derefr 5y ago> Of course, this only works when the smart contracts perfectly meet a correctly defined spec and have no bugs. In practice, if using a smart contract as a contract, the way you'd use a paper contract, then two parties would sit down and negotiate; draft the negotiated agreement into the form of a smart contract; and then agree (signatures, handshake, multi-sig deployment, whatever) that "what the smart contract does — as executed by the network-consensus abstract machine — is our explicit mutual intent, and damn any statement by either of us to the contrary." This is the same thing you're doing with a paper contract: by both signing it, you're agreeing that "what the paper contract says — as interpreted by a judge — is our explicit mutual intent, and damn any statement by either of us to the contrary." Of course, nobody's actually using smart contracts as contracts. They're just using them as trusts/agents. For now. But a smart contract used as a contract wouldn't have "bugs." It's a negotiated agreement; negotiated agreements have loopholes. And loopholes are perfectly legal. If you left one in, and your counterparty exploits it? Too bad for you. You should have run your contract through a better (code) lawyer.
- astrange 5y agoSigning a paper contract doesn't mean you're bound to any bad thing that happens because of it for life. If a smart contract is so strict that eg it can be against public policy then it's not a real contract.
- derefr 5y agoNote that in my above statement, the "network-consensus abstract machine" is the same kind of thing as "a judge": namely, both an arbitrator, and an official that declares certain clauses objectively void even if both parties like them. See also: the DAO hard-fork that created Ethereum Classic.
- crooked-v 5y agoExcept it's not the same kind of thing, because an actual judge has legal power. Your abstract machine is going to be sidelined pretty quickly if a judge decides it's doing something illegal or unconscionable and issues injunctions to that effect.
- missblit 5y agoIt also only works if the smart contract is a legal contract, which is something that gets hashed out in court, not in code review. Some cryptocurrency enthusiasts seem to think declaring "code is law" actually makes it so while this is pretty far from the truth.
- judge2020 5y agoCode is law applies at least to the flow of money - unlike USD, the court can’t do something like garnish your wages to pay back a 10M settlement by taking some crypto out of your incoming transactions, both due to the anonymity and cryptographic parts of the concept. Of course, they could simply throw you in jail (civil contempt of court), but you still keep your money in that scenario.
- elcomet 5y agoThey can order you to give back the money. And like in real life, you can refuse to tell where the money is hidden.
- thaumasiotes 5y agoAlso like in real life, you might have spent the money.
- lobocinza 5y agoOr lost it day trading.
- thatjamesdude 5y agoComments like this make me think we software engineers live in a different world. >unlike USD, the court can’t do something like garnish your wages to pay back a 10M settlement by taking some crypto out of your incoming transactions You think so, do you? "The law is the because that's what the law says it is". It might not be possible now (and I'm not sure I believe that, you can garnish foreign wages) but it will be if the need arises. "But the code" yeah, no, that's a silly argument that only applies to cyberspace and not the physical world you occupy
- ArchD 5y agoThe power of the court to 'right' the 'wrong' (e.g. by reversing transactions) is limited on a decentralized public blockchain governed by pure code that crosses national borders. This strengthens the position "the code is the law". On the other hand, this feature is a motivation for centralists to take issues with public decentralized blockchains.
- crooked-v 5y agoExcept it's not, really, because a judge who's unhappy at it isn't going to care about "the code is the law" talk. They're just going to tell people to fix it or else, and all being in another country usually means is that the asset seizures will take longer.
- ArchD 5y agoHow are they practically going to find the defendant? On a public blockchain, you can't always put a name or face to an address. The tokens in question can change hands many times and make it hard to trace identity.
- username90 5y agoMost criminals aren't masterminds, they are easy to find.
- arvinsim 5y ago"Fix it or else" eerily sounds like an incompetent project manager.
- bryanrasmussen 5y ago>because a judge who's unhappy at it isn't going to care about "the code is the law" talk. in my experience if you ever tried to tell a judge the code is the law you will be in for a world of hurt. Hope they don't read about it elsewhere either. on edit: obviously in agreement with parent, just noting that the very concept of the code is the law introduced to a judge is going to elicit some very negative reactions.
- fake-name 5y ago> Of course, this only works when the smart contracts perfectly meet a correctly defined spec and have no bugs. In other words, it doesn't work.
- thatjamesdude 5y ago>The theory is that the code is the law. There is no theft. What rubbish. You cannot claim "the computer let me do it" and expect to be let off for that. That's an extreme absurdity and is absolutely not how the law works. Contrary to what a lot of people seem to think: Crypto is not "outside" the law in any way. It is a token of value (like FIAT currency) and there are plenty of laws that cover use cases from capital gains taxes to money laundering to, you guessed it, theft.
- hypertele-Xii 5y agoA smart contract is only as smart as the programmers writing it.
- rorykoehler 5y agoThe code is the spec. Any other documentation is a compression of the spec.
- pnt12 5y agoThat's a big design flaw from the premise itself - it works if the code has no bugs, but all code has bugs, therefore it does not work