4 ms·
Or like sticking the wrong plastic card into an ATM and observe the machine eat the card... and your bank account. You'd expect that invalid actions lead to id
by sshine 5y ago
Or like sticking the wrong plastic card into an ATM and observe the machine eat the card... and your bank account.
You'd expect that invalid actions lead to idempotent errors, not glitch states where you lose everything.
- capableweb 5y ago> You'd expect that invalid actions lead to idempotent errors, not glitch states where you lose everything. Indeed, and that's exactly how most cryptocurrencies work today. You try to send funds to an invalid address, the wallet will present you with an error that you cannot do that. The user in the submission did not perform an invalid action, because they wouldn't be able to perform an invalid action.
- zkldi 5y agoSo your definition for "valid action" is just that the eth network lets them do it? They clearly didn't want to burn £500k, and that is now irrecoverable, alongside 260 other people who made the same mistake, on a smart contract that forgoes validation for gas fees. How is this not invalid?
- TimJRobinson 5y ago`rm -rf /` is a perfectly valid action, but lots of people still get burnt accidentally running it.
- capableweb 5y ago> So your definition for "valid action" is just that the eth network lets them do it? Yes, this is indeed the definition for "valid", that the protocol allows them to do it. It was a valid action, but not the action the user actually wanted to perform. There are two ways of avoiding these scenarios: A) use UIs and don't interact with the protocol without safeguards, as the UI will prevent you from making mistakes (this user interacted directly with the contract, not via a UI) and B) when doing something involving a lot of money, do it once first with a small percentage, so you can verify it's correct (this user didn't do this either). For example, I know that IBAN has checksum built into the "address" and that the bank could revert transfers, but if I make transfers above a certain sum, I always send a small amount first, make the recipient confirm how much they received (I send a small random sum) and only then do I perform the larger transfer. As I mentioned elsewhere in the comments on this submission (https://news.ycombinator.com/item?id=30136941 https://news.ycombinator.com/item?id=30136941), it's impossible to know if someone actually has access to an address or not, so why would the wallet stop them from sending it?
- leokennis 5y agoYou know what happens when you transfer money to a non-existent/incorrect IBAN? Most likely your bank will reject the transaction and not even defund your account - as you mentioned, the IBAN itself is already designed to prevent human error. If by chance you “crafted” a technically MOD-97 valid but not existing IBAN and the money goes out to the other bank (PACS.008), the other bank cannot book it (as the account doesn’t exist) and should automatically return it to you (PACS.004). If by chance the other bank is incompliant and does not return the money, you can have your bank send a recall message (CAMT.056) to try and retrieve the funds. The other bank is then compelled to either refund the money (PACS.004 again) or at the least officially communicate they’re keeping your money (CAMT.029). At that point, there’s still law and legal avenues to pursue. One thing that does not and can not happen though, is for the money to vanish into a black hole and be removed from the economy. That is what a stable, standardized and reasonably regulated industry with some centralization does for you.
- capableweb 5y agoYou know what happens when you send Ether to a incorrect Ethereum address? The wallet will reject sending it. If you bypass the wallet and rewrite your own wallet to send it anyways, the validators reading from the mempool will reject it. If you rewrite your own validator to accept it anyways, no other validator will accept it and the transfer will never go through. What happened here is more like you used IBAN to send to the correct account, the correct bank and everything was correct, but no one actually has access to the account but the bank doesn't know this. Nothing has vanished or been removed.
- giaour 5y agoAs far as I can tell, no one has argued that transaction validation for this specific smart contract should be built into wallets. You're arguing with a straw man. The point I see made instead is that the smart contract should not be coded to behave as it does. If a financial product at a retail bank set a pile of cash on fire when you used it incorrectly, regulators would swoop in and make the industry add some safety features, even if that safety came at the cost of convenience.
- axiosgunnar 5y agoNobody is worried about sending funds to „foobar“. People are worried about sending funds to a syntactically valid address that no one has access to.
- capableweb 5y agoThis is impossible to solve, in the cryptocurrency space or in the existing structures we have. When you send an email, you cannot know if someone actually has access to that account (maybe they forgot their password?), you can only know if the address is valid or not (by sending the email). Similarly, you don't know if the right person has access to the bank account you're sending funds to, unless you ask the person who is supposed to have access, if they actually can access it.
- Adrox 5y agoYou can NEVER send a bank account transfer to a UNASSIGNED IBAN, the bank will just reject it after some days. If you sent a IBAN transfer someone will get the money. You transfer to someone else that gets the money and you could try to go to court. The money just doesn’t disappear like in crypto. The e-mail is a great example, the e-mail can be lost, thats why no bank ever made transfer over email! You loose the e-mail text, not 500.000$!
- capableweb 5y agoSince this has already been answered multiple times in this submission already, I'll leave you with this: > You know what happens when you send Ether to a incorrect Ethereum address? The wallet will reject sending it. If you bypass the wallet and rewrite your own wallet to send it anyways, the validators reading from the mempool will reject it. If you rewrite your own validator to accept it anyways, no other validator will accept it and the transfer will never go through. > What happened here is more like you used IBAN to send to the correct account, the correct bank and everything was correct, but no one actually has access to the account but the bank doesn't know this.
- mlyle 5y ago
- bigtex88 5y agoIt's not an invalid action. This was a valid action, it was just a stupid ass action.
- SilasX 5y agoHaha, that’s why the client software needs Nick-Fury-style safeguards to say “I understand that this a valid transaction, but given that it’s a stupid-ass transaction, I’ve elected to throw a warning.”