6 ms·
A smart contract deployed on a public permissionless blockchain is not owned by anyone. Only the contract's logic determines how one can interact with it. This
by glerk 4y ago
A smart contract deployed on a public permissionless blockchain is not owned by anyone. Only the contract's logic determines how one can interact with it. This is a fact.
It doesn't matter who can make the best argument in court. A good enough lawyer can convince a stupid enough jury of pretty much anything.
- er4hn 4y agoLet's say that I place a vending machine in a public space, such as a street or a park. The public is able to interact with it by inserting FIAT coins to purchase DRNK. Someone clever figures out a way to interact with the vending machine to extract DRNK at less than it's intended FIAT price. Two questions at this point: (a) Is this a theft from the person who placed the vending machine? Why or why not? (b) How is this different from a smart contract on a blockchain?
- cogman10 4y agoThat sort of depends on what the exploit is, right? For example, if DRNK costs $1 per unit, but I find out that by putting in $1.25 I get 2 units, have I actually exploited the machine? Is it not reasonable to assume that discount was intended? Now, of course, if I'm prying open the machine with a prybar then we could argue that's just theft. But, putting money in the machine and getting units out is the intended interaction. Similar to how if a gas station accidentally puts the price of gas at $0.20 per gallon, even though everyone knows that's probably a mistake, it isn't on them for taking advantage of the artificially low price. So, that's what I'd say the difference is. A smart contract defines all the interactions that are valid. Thus, it is impossible to interact with a smart contract in a way that is "invalid" or "stealing". That'd be different if the user could modify the contract (apply a prybar) however, that's sort of the point, that you can't modify the contract to fix it. If the contract said "all your deposited crypto goes to cogman10" would we call that a theft when someone put their crypto into that contract? Perhaps if I misrepresented the contract, but then the whole point of these contracts is they are visible to anyone that wants to read/use them.
- IanCal 4y ago> For example, if DRNK costs $1 per unit, but I find out that by putting in $1.25 I get 2 units, have I actually exploited the machine? Is it not reasonable to assume that discount was intended? What if you remove the last part? What if you know, clearly, that your interaction what not what the designer wanted? > So, that's what I'd say the difference is. A smart contract defines all the interactions that are valid. Implementations are not specifications. What do you mean by "valid"?
- cogman10 4y ago> What if you know, clearly, that your interaction what not what the designer wanted? Well, then they should have designed a better vending machine, shouldn't they? It may be unethical but I certainly wouldn't call it illegal. Again, back to the gas analogy, I don't think someone pumping gas at $0.20 is breaking the law even though that's clearly not the intent. > What do you mean by "valid"? None of the interactions for this attack were using the system in a way it wasn't meant to be used. It wasn't exploiting code. It was buying and selling assets in a way that enriched the attacker. That is a valid interaction. Also, the whole point of these contracts IS that the code is the specification. That's the whole point of crypto in general. Trust nobody and let the blockchain determine truth.
- UncleEntity 4y ago> What if you know, clearly, that your interaction what not what the designer wanted? This is what I like to refer to as “stupid tax”. I’ve had cases where I put money into a soda machine and it gave me a drink plus more than I deposited into it. Or kicked out more than one item because one was stuck and my purchase obviously unstuck it. Does this make me a criminal? As an aside I used to work at a place with a soda machine that was basically like a slot machine with slightly higher payouts than one in Los Vegas. This was at a grocery warehouse and the drinks were at cost so “losing” your bet cost like a quarter. Probably designed that way, who knows?
- jdmichal 4y agoAnd what if the vending machine measures coins by weight, and you so happen to have a "coin" that is just a properly-weighted blank. You're still interacting with the vending machine as technically intended. But by not inserting the correct amount of money, you are not interacting with it as intended by the creators. The smart contract implements a technical intent, just like the vending machine. But that technical intent will always have limitations. Some exploits are non-destructive, such as properly-weighted blanks. Some are destructive, such as crowbars. But let's not pretend that they aren't, in fact, exploits.
- stickfigure 4y agoI'll try to steelman the code-is-law argument (not really sure how I feel about it myself): In the case of the smart contract, you don't own the vending machine. It doesn't have an owner, it just "is". If it did have an owner, that person is probably violating all sorts of securities laws in countless jurisdictions. That's at least part of the point of all this smart contract stuff. To make the analogy a little more apt, let's say the smart autonomous vending machine 1) lets people buy DRNKs by inserting money, 2) incentivizes people to refill it with DRNK by spitting out money, 3) once a month spits out money to the amused landlord, and 4) was deposited by aliens who disappeared without trace. Presumably the smart vending machine would continue on its merry way like this until it either broke down or someone figured out a way to jimmy the lock. Looks like the later happened. Though everyone is upset, it's not clear who has the right to prosecute.
- glerk 4y ago> If did have an owner, that person is probably violating all sorts of securities laws in countless jurisdictions. That's probably what upsets me most about this story. These developers want to have it both ways: it is decentralized finance and nobody owns the contract as long as we are making money, but we want all the laws and regulations of traditional finance to protect us if things don't go our way. I am saying this as someone who is pro-crypto. There are trade-offs to this technology. We need to pick a lane be prepared to deal with the consequences.
- nicoburns 4y agoFrankly, I don't think it's up to you to pick a lane. It's the wild-west at the moment because the technology is new. But it won't be long before the law catches up and crypto will be subject to it the same as everything else.
- glerk 4y agoPublishing a piece of code on a public blockchain cannot be made illegal. The Court of Appeal already ruled that code is speech making this a first amendment issue [1]. Decentralized finance is here to stay as an alternative to the traditional system. Some things are just impossible to regulate. [1] https://www.trustnodes.com/2018/11/09/smart-contract-code-is-free-speech-protected-by-the-first-amendment https://www.trustnodes.com/2018/11/09/smart-contract-code-is...
- s1artibartfast 4y agoImagine in your example the vending machine has a variable pricing and lowers its price if nobody purchases soda. Is it theft to wait longer than the designers thought people would wait and purchase the DRNK at price lower than the machine owner thought they would. I think a better example is a claw gambling machine. You pay Fiat for a chance to grab fiat out of a pool. If you come up with a strategy whereby you can grab more or all of the Fiat in a way that the game/machine designer and other players did not anticipate, is that theft? Alternatively, people are playing a modified version of Poker with rules they don't understand, and someone understands the rules better and gets their money, is that a crime?
- jdmichal 4y agoBroken slot machines do happen, and it's been made very clear that the player does not benefit. https://www.aol.com/2016-11-02-broken-slot-machine-dupes-woman-into-thinking-she-won-43-millio-21597163.html https://www.aol.com/2016-11-02-broken-slot-machine-dupes-wom... https://www.foxnews.com/us/not-a-winner-oregon-woman-denied-8-million-jackpot-because-slot-machine-was-broken https://www.foxnews.com/us/not-a-winner-oregon-woman-denied-... However, this works both ways. If the mistake is in the favor of the player, they are obligated to pay out: https://www.msn.com/en-us/news/us/a-slot-machine-in-las-vegas-malfunctioned-and-didn-t-tell-a-tourist-they-won-the-gaming-board-tracked-them-down/ar-AATxgSc https://www.msn.com/en-us/news/us/a-slot-machine-in-las-vega...
- s1artibartfast 4y agoI would argue that the fund wasn't broken-it was working exactly as designed. It was just a bad design
- FireBeyond 4y agoRight, "it's been made very clear". "Malfunction voids all wins." Here, it's also been made very clear. "Code is law".
- DangitBobby 4y ago