Hacker News new | ask | show | jobs
by ub99 1767 days ago
What’s the difference between a bug in a smart contract and a bug in an online banking application? The fact that the contract’s code is public, immutable, distributed doesn’t make it ok to hack it and steal money.
1 comments

Bank problems are adjudicated by courts. You are suggesting that crypto contracts where usage is contrary to intent, not be adjudicated on chain. Then what is the point of on-chain contracts?

The whole point of the on-chain contract is that if the chain permits the action that action is permissible regardless of the contract creators mystical intent.

I have been the victim of a bank error to the tune of $17,100 dollars in their favor. They mistook a $1,900 check for $19,000. Still gave the recipient $1,900 but withdrew $17,100 from my account. When the obvious error was found, they said "tough, sue us". I did and prevailed, the litigation cost ~$6,000 that was not recoverable.

Why is the contract creator’s intent mystical to you? It’s very clear both from the content of the contract and from the explicit (known) description of the feature. In this sense, if my Python code has a bug, does it make the intent of it mystical to you (otherwise a perfectly readable, clean code)?

Not everyone in the crypto space subscribes to the absolutely purist point of view that you are expressing. Poly network didn’t say that their code is and forever will be bug free, or that any bug in the future should be treated as intended use. Bugs happen - even very costly bugs like in this instance.

What happened to you is completely unfair, the bank should have repaid the entire amount. However, I don’t see how this justifies the opinion that any use (or misuse) of a contract is permissible. Yes the blockchain should confirm valid transactions. Does this somehow mean that it also validates the fact that money has been stolen? In other words, if I steal your private key and transfer crypto from your wallet, is it still theft or is it ok because the blockchain validated the transaction?