Live data from Hacker News

Did I just lose half a million dollars?

reddit.com

701–710 of 837 posts

Re: Did I just lose half a million dollars?

#701
post #366

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.

Do ethereum and smart contracts currently have excellent customer service, such that the guy in TFA can get his 500k back?

Why should this person get anything back? Code is law. And if code is law all bugs are also law.

The half million was a fair and just transfer. Whoever is the recipient is fully deserving both morally and ethically of their new-found wealth.

If I was on the receiving end of this transaction, I’d thank the sender for the money and move on with my life. Of course I’d never be in the position to receive the funds because I’m not stupid enough to play this game—odds are very good I would be the one who sent half a million dollars by mistake!

I mean, I think I’m joking but not really. If you want to practice “code is law” and really mean it, this is the kinds of stuff that will happen.

Re: Did I just lose half a million dollars?

#702

Earlier quoted context omitted.

> 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.

They are in location X and it has been written into code that there is no way to ever remove them from X. The only difference between throwing this "money" into a black hole and this is that you can see what's in this black hole once it's in there, even if you cannot remove it. The only way to ever fix this is to rewrite the history of the blockchain which means forking the entire ETH currency by getting all mining/r…

So all that is needed is forcing a bunch of people to do something. Not much different than forcing a lot of people to do to war, so not impossible.

Lets imagine, hypothetically, that some mafia boss, big company, users would create a lobby, the "platform of people affected by Ethereum" that would lobby to force a fork for a fee. Lets say 50% percentage of your lost money if we are successful, that is still much better deal than having no money at all. And then would use some tool to convince/coerce/bully everybody to restore it or just would mess with the process to force it. Would be this possible or a probable outcome after enough amount of time has passed?

Re: Did I just lose half a million dollars?

#703

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…

Seems like maybe it would have been good if the ERC-20 standard had been designed such that you couldn’t send the token to an address controlled by a smart contract unless the smart contract had marked itself as being able to receive that kind of ERC-20 token (or as being able to receive all kinds of ERC-20 tokens)

Like, if the contract for the ERC-20 token would, when handling a send instruction, would check whether the recipient address was a contract address or an address controlled by a keypair, and if the former, would check if the recipient had been marked (not sure if this marking would be stored as data on the recipient contract or as data on the ERC-20 contract) as being able to handle the token in question, and if not, cancel the transaction (other than gas costs).

This seems like it would prevent this kind of error (or at least, reduce the problems resulting from this kind of error to just paying the gas fees), but it would also maybe increase the gas cost of sending transactions with the ERC-20 tokens and I’m not sure whether this increased cost would be negligible or not.

Re: Did I just lose half a million dollars?

#704

Earlier quoted context omitted.

They would gain trust for returning all of the WETH accumulated in all of the contracts where it’s been idled due to PEBCAK, in concert with a code fork that refuses to accept such transactions. That would be a sign of maturity and intelligence to bankers, and influence their consideration of whether Ethereum might be a viable platform for their financial business someday.

This idea would be antithetical to decentralization of cryptocurrency, but I think that since this issue is a platform level problem (e.g. future contracts can also introduce this) what is needed is a set of mediators/arbitrators (we can call them "judges" that hear these cases and have a technical mechanism to correct them without a fork. In order to select these judges, the community can elect them directly or elec…

You jest, but “stand up a government” is a primary barrier to entry to being considered a “fiat currency”, which makes sense given the drawbacks of trying to qualify as a currency without one.

A banking-grade currency would have reversed the WETH transactions and prohibited new ones. Ethereum has refused so far to do so, even though it’s in their power to hard fork. Whether or not you view them as a currency, that’s not the sort of behavior that engenders a perception of financial trust and safety in their work.

Re: Did I just lose half a million dollars?

#705

Earlier quoted context omitted.

And here's the "oh so complex" contract in question, all 60 lines. contract WETH9 { string public name = "Wrapped Ether"; string public symbol = "WETH"; uint8 public decimals = 18; event Approval(address indexed src, address indexed guy, uint wad); event Transfer(address indexed src, address indexed dst, uint wad); event Deposit(address indexed dst, uint wad); event Withdrawal(address indexed src, uint wad); mapping…

Why does anyone want to use this? Knowing nothing about it, this is the question that remains unanswered to me after reading through dozens of comments on this debacle. What was the person who lost half a million trying to accomplish? For what benefit? I assume that if you just want to use ETH to buy and sell stuff, you don't have to get involved with any of these smart contracts.

> I assume that if you just want to use ETH to buy and sell stuff, you don't have to get involved with any of these smart contracts

Correct. If you want to send someone money unconditionally, you can just send it without a smart contract.

> What was the person who lost half a million trying to accomplish?

Why/when to use WETH? From the beginning:

Like Bitcoin, ETH is a crypto currency that has it's own token called ETH (or Ether), you can hold it, send it from one address to another address and earn it by mining. Providing a basic finance and value excahnge platform.

In addition to ETH, Ethereum supports (via Smart Contracts) things called tokens, that are effectively alternative cryptocurrencies. Pre-Ethereum, people needed to create a new chain for each new token, for example you have "NameCoin" and "LiteCoin" and "DogeCoin" and so on. Each has it's own network, initial block, wallet client, mining pools, etc. It's a copy and paste and edit of Bitcoin each time.

With Ethereum, you can create a new token with it's own separate initial supply, precision, allocations etc. on the same blockchain (Ethereum) using a Smart Contract. People can use these tokens on the same network, using the same tools. However there are limits on how different they can be - you can only do what the Ethereum tech allows.

Now as time went on, there were a lot of tokens, and so they developed a standard, ERC20, which is like a C# or Java interface that defines a standard token. With this in place people can write code that interacts with "any token".

I could create a stock exchange contract where people list, place orders etc. to swap tokens. Even once this stock exchange is written and deployed, people can create brand new ERC20 tokens, and because those new tokens meet the interface, the stock exchange will work with it.

This all hots up and of course people naturally want to use these stock exchange, and other contracts (be it gambling, lending, escrow or whatever...) with the original ETH token, since everyone playing has ETH (you need ETH to pay network fees), and it's value is going up and wotnot.

But ETH is not a smart contract. It's hard coded into Ethereum. It was written before ERC20 was standardized. So you can't use Ethereum as one of the tokens in your stock exchange.

WETH offers a way to wrap Ethereum in an ERC20 token and solve that problem!

Since smart contracts can define rules about deposits, withdrawals, etc, and smart contracts can own their own Ethereum. This wrapping can be done purely in code. No need to trust "WETH Inc"*.

WETH is basically an "adaptor" from the gang of 4 design patterns.

* Other wrapped coins usually require trust. For example "Tether" wraps USD, but it requires a company to manage the bank accounts. People may decide they don't believe that company really has the funds, or the parent company could be put out of business by a government. WETH on the other hand is wrapping something on the blockchain in a code-automated way.

You can make mistakes (like the OP) but unless there is a big security hole no one has discovered, you can't have the money stolen or confiscated unless your private keys are compromised.*

Re: Did I just lose half a million dollars?

#706
post #589

Earlier quoted context omitted.

I think there's a misunderstanding here. If the customer mistypes the IBAN account number, the bank (website, app etc) will automatically reject it as invalid immediately, he won't have to deal with the customer service.

Yes, but the misunderstanding is on your side. This is overly simplified so not entirely accurate, but if 100 customers typo their destination IBAN the modulo 97 checksum will probably let 3 of them through.

Wikipedia says that "where used, IBANs have reduced trans-national money transfer errors to under 0.1% of total payments", although there's no source for the claim.

Re: Did I just lose half a million dollars?

#707

Earlier quoted context omitted.

And this mentality is what will block wider adoption of crypto. Calling people dumb for not understanding a non-intuitive system (after there's so much prior, "return to sender" art in the world) will not get them to use crypto.

Sure, I have no desire for cryptocurrency to get a wider adoption, I have no skin in the game, I'm just looking at the facts. I don't care if the space burns up or saves the world, for me is the same. This is not the case of a non-intuitive system screwing the user. This is the user purposefully avoiding using the intuitive systems setup for them, and interacting with something directly even though no one does that u…

> This is the user purposefully avoiding using the intuitive systems setup for them, and interacting with something directly even though no one does that unless you're a developer.

Of course using the intuitive systems setup for the means that one has to trust some random people or companies, instead of going directly to the blockchain. What happened to trustless?

Re: Did I just lose half a million dollars?

#708

Earlier quoted context omitted.

Something happening once does not mean it will happen again. There have been numerous huge hacks in the past 5 years, even where the losses were from the most influential of holders and no action was taken (e.g. parity bugs). A bug and reversal occurred in the first few years of Bitcoin's existence that has effectively meant that Bitcoin won't reach the stated 21m coins exactly. It's guaranteed at this point that the…

The point is that it can happen if enough influential individuals in the eth community want it to happen, it is a social software not "immutable", and this will be further enshrined if PoS ever becomes a reality. Bitcoin has the same problem, and cryptocoin enthusiasts are fooling themselves if they think that miners won't raise the 21m cap when the end of Bitcoin rewards start looming.

Anything can be done using a fork. But the days of a chain (read as "only bitcoin & ethereum") doing any kind of deep state change and coming out the other side as the winning fork are done. The stake holders are so diverse and so invested in the values (i.e. immutability, scarcity) that any such fork is doomed to failure.

We found out with previous Bitcoin forks, how influential companies and miners are. 21M is non negotiable, and which stakeholder would want to dilute themselves?

Re: Did I just lose half a million dollars?

#709
post #499

Earlier quoted context omitted.

Ok so the problem then seems to be with your understanding of the space, not with crypto itself. I don't go to a geneticist and go "the problem with genetics is I have no idea what any of it means".

This isn’t genetics, it’s money. Crypto needs to be simple enough for everyone to understand before it can be adopted by everyone. My kids understand stocks and back transfers, while incredibly smart and savvy people are getting confused about crypto and losing money accidentally (it’s not just this single incident, it’s a common story). This isn’t good, and shouldn’t be dismissed as people having unreasonable expect…

That contract could have been designed better.

That user could have used it how other people use it.

There are a lot of things here that have nothing to do with “crypto needs to be simpler” copypasta. This particular thing was not simple and never will be unless everyone stops using it. Focus on that one thing: How to design a better smart contract? How to design a better UI for the end user? Thats a great discussion for a programming forum actually.

Re: Did I just lose half a million dollars?

#710
post #427

Earlier quoted context omitted.

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…

From what I can tell, the underlying issue is that everything is spaghetti code written in a dynamically typed language. Ignoring that, it's nuts that the best practice is "send a little money, and see if it works". Apparently they don't even have a working transaction simulator that just runs the relevant logic on your laptop so you can see what it will do.

> Ignoring that, it's nuts that the best practice is "send a little money, and see if it works".

That's what I did the first time I did a bank transfer between two of my banks accounts. Maybe that's just me being paranoid but when sending money I like to test it first.

Post reply on HN