Live data from Hacker News

Did I just lose half a million dollars?

reddit.com

121–130 of 837 posts

Re: Did I just lose half a million dollars?

#121

The future of currency ladies and gentlemen. This money is literally gone. Unrecoverable. Like he took the money out to a barrel and burned it. Only he didn't get any warmth out of it in exchange.

> Unrecoverable. I'm not very well versed in this stuff, but surely the tokens he sent are somewhere right. Like if you sent $500k to a bank but put the wrong account number in, the $500k would still go _somewhere_. It might be difficult to recover, but it's not like the money just disappears.

The tokens are no longer associated with an account ID, so while the token data is on the chain there is no way for anyone to ever include them in a transaction.

Re: Did I just lose half a million dollars?

#123
post #60

Earlier quoted context omitted.

In simple words, he should have called a smart contract's function which would withdraw his tokens and send real ETH to his address. Instead, he sent tokens to smart contract's address and they will stay there forever, not associated with any account. This complexity should be abstracted away by wallet's UI. Users don't have to call APIs directly. Also, this whole situation could be prevented by trying to send a smal…

I've written middleware APIs for accepting currency in carts and casinos that interfaced with / polled bitcoind and other daemons. Why on earth would this person be calling APIs directly, and why would the daemon not just reject the transaction if it's an unexpected kind of token? Or if he added funds to the contract why not be able to remove them to the same address? I never dealt with smart contracts but even allow…

from the reddit comments, similar question, apparently every instruction adds gas fees to running the contract, so if you're going to use the contract a lot, you leave out any kind of validation.

>> Wow why didn't the contract creators think this through and block requests to the contract

> Because adding that check would increase the cost of every user transaction. All AMM swaps would be done with WETH so it’s the right call to not have it in there

Re: Did I just lose half a million dollars?

#124
So I don't know how smart contracts are implemented at all. But I would have expected this to work more like a statically typed programming language. If this particular address doesn't handle this kind of input, it should not be possible to send it.

Re: Did I just lose half a million dollars?

#125
post #26

In case you’re wondering what happened, from the thread: He sent ETH to the WETH contract, received WETH as expected. Then he wanted to do the reverse and sent WETH, but will not receive anything, because you're supposed to swap your WETH to ETH in exchanges like Uniswap, or call the "withdraw" function in the contract. For contracts that want to only work with ERC-20 tokens, you use WETH, which comes from a contract…

The problem with crypto is despite your explanation, I have no idea what any of your post means. Not any of it.

You are expecting to understand how a completely new and complex technology works from 5 lines of text. Imagine if someone tried to explain Kubernetes to you in 5 lines of text.

Re: Did I just lose half a million dollars?

#126

Earlier quoted context omitted.

Agreed. It's so powerful but always so complex and confusing and there's just way too many footguns like this. "Gas" is one of those concepts where I have to relearn what it is every time I read about it but never can retain it for very long. (See also Big O notation.) Say what you will about the primitiveness of Bitcoin and other early coins but at least they're quite a bit more comprehensible.

> gas Isn‘t that just the fee for transfering cryptocoins from one wallet to another? And you can decide on how much it is for your transfers, but if it‘s too low, your transfer will take a long time, up to „infinity/never“.

Gas is the reward for servers in tthe distributed system when they are (taking part in?) executing the smart contract, so that a buggy infinite loop would run out of gas soon.

With 500k$ this smart contract will be able to run for a while.

Re: Did I just lose half a million dollars?

#127

The future of currency ladies and gentlemen. This money is literally gone. Unrecoverable. Like he took the money out to a barrel and burned it. Only he didn't get any warmth out of it in exchange.

> Unrecoverable. I'm not very well versed in this stuff, but surely the tokens he sent are somewhere right. Like if you sent $500k to a bank but put the wrong account number in, the $500k would still go _somewhere_. It might be difficult to recover, but it's not like the money just disappears.

A smart contract has a set of behaviour as written in code: nodes on the network execute the behaviour. This contract doesn’t have any code to undo a mistake like this, so it is impossible to recover them.

Thst said, the network is a group of machines all agreeing together on what is the correct behaviour, and that can change, so while it is not impossible forever — Ethereum might release a new feature that allows people to reclaim tokens in this circumstance — it is impossible unless the majority of the network agrees (see: The DAO hack and the corresponding fork to recover funds).

Re: Did I just lose half a million dollars?

#128
post #60

Earlier quoted context omitted.

In simple words, he should have called a smart contract's function which would withdraw his tokens and send real ETH to his address. Instead, he sent tokens to smart contract's address and they will stay there forever, not associated with any account. This complexity should be abstracted away by wallet's UI. Users don't have to call APIs directly. Also, this whole situation could be prevented by trying to send a smal…

It truly is laughable. Ever heard of "Return to Sender" in case of invalid events/transactions?

The thing is that is not an invalid transaction. The problem is in what happens _after_ the smart contract has received the money.

Re: Did I just lose half a million dollars?

#129

Earlier quoted context omitted.

Agreed. It's so powerful but always so complex and confusing and there's just way too many footguns like this. "Gas" is one of those concepts where I have to relearn what it is every time I read about it but never can retain it for very long. (See also Big O notation.) Say what you will about the primitiveness of Bitcoin and other early coins but at least they're quite a bit more comprehensible.

> gas Isn‘t that just the fee for transfering cryptocoins from one wallet to another? And you can decide on how much it is for your transfers, but if it‘s too low, your transfer will take a long time, up to „infinity/never“.

smart contracts rack up fees for every machine instruction

if your gas doesnt cover the runtime of the contract, the process rolls back all transactions and eats the fee. so you have to overshoot and get refunded the difference.

always seemed like a nonstarter to me, that the computer cant tell me how much gas it needs (see: halting problem)

Re: Did I just lose half a million dollars?

#130

Having watched cryptocurrency from a distance via HN etc. for over a decade, I thought I had a general understanding, but this made me realize I wasn’t aware of what smart contracts really were (just looked up solidity today and details of The DAO hack). The potential for irreversible losses, fraud and security holes are much bigger than I realized. This also lead me to this video which will now be my ‘go to’ recomme…

> this made me realize I wasn’t aware of what smart contracts really were (just looked up solidity today and details of The DAO hack). The potential for irreversible losses, fraud and security holes are much bigger than I realized. That seemed obvious from the first time I read the expression "code is law". If code is law, any bug (whether in the contract itself or in the way the contract is called) fucks you irredee…

It also cannot be a legal basis for anything, because the law doesn't treat the right or ability to enter in to contracts as an absolute. Think minors, wards, power of attorney.

Contract law is one of the more mechanistic parts of the legal system, but only up to a point. There are good reasons the legal profession - even corporate law - tends to attract a different set of personality traits to software development.

Post reply on HN