Live data from Hacker News

Did I just lose half a million dollars?

reddit.com

531–540 of 837 posts

Re: Did I just lose half a million dollars?

#531

Since no one seems to think about how this could have prevented, here is a simple way, which I've applied to lots of things in life, not just cryptocurrency transfers: - If you're making a transfer somewhere with a large amount, do a small transfer first and verify it's working. Confirm at the receiving end before moving big sums. - If you're calling a contract, try it with a small amount first. Verify the parameters…

Simpler way: use real financial instruments. Traditional financial systems have had solutions for errors like this for centuries.

Obviously, my comment applies to people wishing to do transfers via cryptocurrencies, for one or another reason. Sometimes it's not possible to do transfers via the traditional financial system, or desirable. My comment was written for those who wish to use it, but want to make sure it gets right.

Re: Did I just lose half a million dollars?

#532
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…

In simple words, he should have done what everyone else does and used Uniswap or Zapper or Sushi or ANY exchange and swapped WETH for ETH that way. This is just a dumbass user doing dumbass things. This is basic-level stuff right here. Don't interact with contracts directly unless you 100% know what you're doing.

> Don't interact with contracts directly unless you 100% know what you're doing.

But if you use any of the exchanges you described, you have to trust that they 100% know what they're doing.

It seems safer to avoid smart contracts and cryptocurrencies altogether.

Re: Did I just lose half a million dollars?

#533
post #381

Here's an unrelated but related question: How do you store your wallet / private keys where you would be comfortable storing an amount of money that's important to you? It feels like a bunch of consumer grade options we have are kind of flaky: Flash drives are extremely undependable. I've had a few fail to read after sitting in a closet for a year. SSDs can supposedly have data loss pretty quickly if left unpowered (…

It would be years before an SSD starts degrading.

But that's not the standard to which solid state storage is tested.

See slide 27 of https://www.snia.org/sites/default/files/SSSI/NVMe_SAS_SATA_...

Re: Did I just lose half a million dollars?

#534

Earlier quoted context omitted.

There are plenty of do-overs, it's called the "development phase" and involves testing things on your local computer with the team. No one gets everything right the first time, but with a lot of testing, you can actually write software that does exactly what you think it will do, and you can achieve pretty cool stuff. Remember that humans wrote the software that took humanity to the moon!

In this case, not really. User was calling a "ROM" What you describe are dry runs.

Are you talking about the user from https://www.reddit.com/r/ethereum/comments/sfz4kw/did_i_just... ? And do you mean "read-only memory"? I'm not sure how that's relevant. The contract they made the transfer to is read-only yes, like any contract on Ethereum. But they could have tested the contract call with a smaller sum before actually performing the bigger one.

Just like the people writing the computer that took us to the moon, I'm pretty sure they tried it before in small-scale simulations before hooking it up to the rocket and letting it go to the moon.

Re: Did I just lose half a million dollars?

#535

Earlier quoted context omitted.

This 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…

SMTP servers are able to reply whether a user exists, and some still do. Your own server will send you a "undeliverable" message if it receives a negative reply.

Yes, but that's different. That checks if the user exists, not if the person behind the user actually has access to that user.

Re: Did I just lose half a million dollars?

#536
post #22

Earlier quoted context omitted.

I think this is a problem with crypto that will forever prevent it from becoming mainstream. The average person understands the concept of money but understanding smart contracts is out of scope for a large part of the general population m

Hm, but wouldn't smart contracts have to be as complex as a non-smart contract, if a smart contract were to replace the dumb contract? If I'm looking at the regular B2B contracts I'm supporting at work, even normal contracts are already testing people. Piling (highly complicated, mind you) software on top of that problem seems nuts and entirely not feasible.

Oh yea...we didn't think of that...oops.

Surely, that problem will just scale with time, adoption and law suits.

This is all such an unbelievable waste of intellectual resources to re-invent the wheel

Re: Did I just lose half a million dollars?

#537

Earlier quoted context omitted.

In this case, not really. User was calling a "ROM" What you describe are dry runs.

Are you talking about the user from https://www.reddit.com/r/ethereum/comments/sfz4kw/did_i_just... ? And do you mean "read-only memory"? I'm not sure how that's relevant. The contract they made the transfer to is read-only yes, like any contract on Ethereum. But they could have tested the contract call with a smaller sum before actually performing the bigger one. Just like the people writing the computer that took u…

TL;DR: They could have got it right. Didn't.

Re: Did I just lose half a million dollars?

#538

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…

Wait. I'm not letting anyone off the hook for not knowing the above if they put $5 into something, let alone $500k. But even as a coder and someone who was deeply involved in crypto at one point (2011) I find it hard to make heads or tails of wtf this means. All I hear are a lot of acronyms and bizarre edge cases upon edge cases. It sounds like those arguments you'd hear between kids in junior high over magic cards o…

That's disingenuous. These are really basic concepts in the space (where space = smart contract blockchains).

If you're going to slush a cool half mil around, you should really have absolutely basic litteracy of how this stuff works -- just how you should have the same litteracy about the banking system if you're going to half a mil there too. Or hire people who do.

Re: Did I just lose half a million dollars?

#539

Earlier quoted context omitted.

Ok… but then if you’re going to throw out these cases you should also address how markets can fix these issues, such as great customer service: “when I fucked up they helped me out, they’ll get more of my business”, or maybe insurance, or just better products that don’t have these issues. Idk why people conflate libertarianism with this hyper-individualist stuff. It really isn’t the case.

Low-cost insurance is an interesting idea that might actually work to smooth over some of the hard edges of "code is law". It ought to be possible to craft an insurance policy that would pay out the $500k (or equivalent WETH/ETH) in cases like the one in this article, where the transparency of the ledger clearly shows that the tokens are unrecoverable. As insurance companies are notorious for declining to pay out, th…

Code can screw up at scale. And at this point if you’re capable enough to understand the edge cases and offer insurance against them, the insurance went really cover that much.

Re: Did I just lose half a million dollars?

#540
Seems fishy to me when he says "I just sent ETH to the contract to get WETH" because this is assuredly not how it works.

You have to call the `deposit` function of the smart contract (transfering ETH with it indeed).

And to withdraw your WETH as ETH, you call `withdraw`.

These calls can be made from here (power user interface! not recommended - use Uniswap instead): https://etherscan.io/address/0xc02aaa39b223fe8d0a0e5c4f27ead...

The source code of the contract is here: https://etherscan.io/address/0xc02aaa39b223fe8d0a0e5c4f27ead...

Post reply on HN