News for hackers. Stuff that matters.
Re:Did I just lose half a million dollars? by hughrr on Sunday January 30, 2022 @03:52AM (#30135161)
The problem with crypto is despite your explanation, I have no idea what any of your post means. Not any of it.
Re:Did I just lose half a million dollars? by masklinn on Sunday January 30, 2022 @04:57AM (#30135471)
From what I understood of afidrya explanation (in a sub-comment):

* there's a smart contract to which you can send ETH (directly), it sends WETH back

* however the inverse operation (WETH -> ETH) is not done by sending the WETH, you're supposed to call a special conversion function of the contract

I guess the smart contract only looks for ETH in its wallet (at its address), it ignores the WETH entirely, and thus the WETH become inaccessible.

So the contract is a deposit ATM where you can deposit cash and it spits out a bank check, but if you deposit a bank check it just shreds the check.

Or a currency conversion machine where you can shove USDs in the slot to get EURs, but if you shove EURs in, to the shredder they go,

Re:Did I just lose half a million dollars? by jaclaz on Sunday January 30, 2022 @05:46AM (#30135729)
>So the contract is a deposit ATM where you can deposit cash and it spits out a bank check, but if you deposit a bank check it just shreds the check.

>Or a currency conversion machine where you can shove USDs in the slot to get EURs, but if you shove EURs in, to the shredder they go,

Very good explanation, thanks, though the machine you describe would not probably be called a "smart" ATM.

Re:Did I just lose half a million dollars? by CydeWeys on Sunday January 30, 2022 @09:55AM (#30137703)
None of these explanations have ever covered what the hell WETH is, or the reason the person was trying to exchange it. Seems like there's still a lot of implicit assumptions in these explanations.
Re:Did I just lose half a million dollars? by runeks on Sunday January 30, 2022 @10:34AM (#30138011)
WETH is short for “wrapped Ether”. It’s a token issued on the Ethereum blockchain. This token conforms to the so-called ERC-20 standard, which is — essentially — the API of the token. Ether itself does not conform to the ERC-20 standard, which is why wrapping it is necessary to e.g. exchange it for other ERC-20 tokens via a smart contract designed for this purpose (confusingly called a “swap”).
Re:Did I just lose half a million dollars? by m3kw9 on Sunday January 30, 2022 @11:32AM (#30138548)
WETH is the ERC20(coins) version of ETH. It turns ETH into coins, so the contracts have an easier time interact with it
Re:Did I just lose half a million dollars? by tetha on Sunday January 30, 2022 @06:25AM (#30136035)
> Or a currency conversion machine where you can shove USDs in the slot to get EURs, but if you shove EURs in, to the shredder they go,

This example is kinda funny. If your bank notes were accidentally damaged in germany, you could send them to the federal bank and have them replaced as long as more than half of the bank note can be reconstructed. This is a service intended especially for victims of fire or flood catastrophes, though dog related accidents aren't unheard of either.

Re:Did I just lose half a million dollars? by masklinn on Sunday January 30, 2022 @11:17AM (#30138439)
AFAIK it's the same in the US (the US mint is in charge of both producing and destroying money), because treasuries want to keep track of the physical money supply.
Re:Did I just lose half a million dollars? by CRConrad on Tuesday February 01, 2022 @06:16PM (#30171066)
Returning to a browser tab I've had open for a while, I see you beat me to the "currency conversion ATM" analogy by two days.
Re:Did I just lose half a million dollars? by awb on Sunday January 30, 2022 @10:58AM (#30138248)
> but if you deposit a bank check it just shreds the check.

Why would you ever want to “shred the check”? Is this the intended functionality or a bug?

Re:Did I just lose half a million dollars? by masklinn on Sunday January 30, 2022 @11:16AM (#30138418)
> Why would you ever want to “shred the check”?

You don't, and it's not what technically happens, but it's the closest I could find as the actual behaviour can not be replicated in the real world.

The actual behaviour, at least in my understanding, is that the bank check goes in a box to which only the ATM has access, but the ATM was never coded to look for bank checks in the box, and it's not possible to update it, so it's not possible to get the bank checks out of the box.

In the real world you could take the box out and force it open, but in "the blockchain" the contract has sole control of the wallet, an updated version of the contract would be a different contract with a different address.

> Is this the intended functionality or a bug?

It is, in the broadest sense, a bug: the contract was not coded to handle anything other than ETH inputs, so it ignores everything else, but the other things were still moved into the box.

Re:Did I just lose half a million dollars? by choward on Sunday January 30, 2022 @04:09AM (#30135232)
I honestly thought it was satire at first.
Re:Did I just lose half a million dollars? by verytrivial on Sunday January 30, 2022 @04:34AM (#30135370)
This is apparently a feature, not a bug.
Re:Did I just lose half a million dollars? by m3kw9 on Sunday January 30, 2022 @11:34AM (#30138568)
“Feature”
Re:Did I just lose half a million dollars? by bigtex88 on Sunday January 30, 2022 @10:48AM (#30138152)
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".

Re:Did I just lose half a million dollars? by dahart on Sunday January 30, 2022 @11:03AM (#30138308)
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 expectations.
Re:Did I just lose half a million dollars? by SilasX on Sunday January 30, 2022 @11:32AM (#30138549)
I agree that cryptocurrency has a ton of UX issues to work out in practice, but you don’t need the level of explanation in the top post in order to use it, so the issues mentioned aren’t relevant in practice, and aren’t a good example of “poor cryptocurrency UX for end users”.

What the redditor did was analogous to ignoring the exposed UI elements on a web page and instead opening up the console and calling the JavaScript functions directly. The average user doesn’t try to do that, and so any such failure is not an issue of the website “needing an advanced understanding”; simply following its UI elements is enough.

So it’s unfair to equate the understanding needed for the top explanation with the understanding needed to use a cryptocurrency app.

Re:Did I just lose half a million dollars? by vmception on Sunday January 30, 2022 @04:04PM (#30141077)
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? by CRConrad on Tuesday February 01, 2022 @06:26PM (#30171192)
> This particular thing was not simple and never will be

The user used a currency-exchanging thing, sent it a currency it shouldn't accept as input, and it swallowed his currency in stead of rejecting it.

What's "not simple and never will be" about that? Seems utterly simple to me: The currency-exchanging thing didn't work as it fucking obviously should. And the cryptards have the unmitigated gall to call this shit "smart"... Sigh. Geroffmylawn.

Re:Did I just lose half a million dollars? by detroitcoder on Monday January 31, 2022 @12:52PM (#30151287)
Treating this transfer of WETH as just 'money' is an overly simplified model that is going to get someone burned in the same way as this reddit user. You are interacting directly with low level APIs that are irreversible while sending a lot of money to them, without knowing what they do. This is NOT good, and believe anyone without thorough understanding of these risks and how ERC APIs work should NOT be doing this.

There is an absolute need for cleaner UX on top of this with assurance/insurance to avoid this scenario (both of which exist and are being improved regularly). In the same way you don't directly interface with SWIFT APIs when doing bank transfers, you should not interface directly with ERC20 approve/transferFrom APIs in Ethereum, unless you really know what you are doing.

Re:Did I just lose half a million dollars? by awb on Sunday January 30, 2022 @11:07AM (#30138342)
Still, it shows that crypto is unlike other asset classes like cash, property, stocks, etc. where an unintended 100% loss on $500k is much harder.
Re:Did I just lose half a million dollars? by widjit on Sunday January 30, 2022 @08:36PM (#30143430)
Humans didn't design genetics, it's a chaotic and confusing system that evolved by chance.

If you are seriously comparing your monetary system to something that evolved by chance there is a problem with your monetary system.

Re:Did I just lose half a million dollars? by iqanq on Sunday January 30, 2022 @05:37AM (#30135675)
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? by danjac on Sunday January 30, 2022 @06:01AM (#30135832)
Sure, but celebrities and grifters aren't pushing the general public to adopt Kubernetes or bet their life savings on their understanding of it.
Re:Did I just lose half a million dollars? by PretzelPirate on Sunday January 30, 2022 @08:48AM (#30137146)
There certainly is a different group who pushes Kubernetes as the savior of DevOps. I’ve seen this put plenty of pressure on teams to adopt it and they’ve gone in too fast, resulting in downtime, security issues, and huge operational costs. These are real costs and can have an affect on someone’s home life and career prospects within their company. I’ve had to go in and save quite a few of these people, and they were pretty miserable.

We shouldn’t shill any technology, and anytime we do talk about it’s virtues we should discuss its shortcomings and why people should be hesitant to use it.

Re:Did I just lose half a million dollars? by danjac on Sunday January 30, 2022 @10:32AM (#30137989)
Agreed - but Kubernetes won't result in you losing half a million of your assets in an instant.

I mean unless you decide to use Amazon EKS for a side project of course...

Re:Did I just lose half a million dollars? by saboot on Sunday January 30, 2022 @05:47AM (#30135736)
Let's try. I don't know what kubernetes does. Can anyone explain in five lines of text?
Re:Did I just lose half a million dollars? by doteka on Sunday January 30, 2022 @05:54AM (#30135778)
It abstracts away underlying hardware, leaving you with a convenient set of abstractions for deploying containerized networked services. Sort of an OS for a cluster of distributed machines. Unfortunately this involves lots of YAML. How’d I do?
Re:Did I just lose half a million dollars? by saboot on Sunday January 30, 2022 @06:03AM (#30135849)
Except for the very last part because I don't know what YAML is, but the rest was understandable.

Which I think drives the point of all this crypto talk in acronyms contributes to it being incomprehensible.

Re:Did I just lose half a million dollars? by drdeca on Sunday January 30, 2022 @08:54PM (#30143566)
YAML stands for “YAML Ain’t Markup Language”, (originally “Yet Another Markup Language”).

It it a way of storing the same kind of thing that JSON can store.

Though, unlike JSON, it supports comments, uses a python-like significant indentation, and has a few uh, things not in quotes sometimes being taken as strings, but if it is `NO` then instead, if there are no quotes, it will be interpreted as the constant false .

Re:Did I just lose half a million dollars? by noitpmeder on Sunday January 30, 2022 @05:58AM (#30135801)
Better than all the crypto nonsense.
Re:Did I just lose half a million dollars? by iqanq on Sunday January 30, 2022 @06:05AM (#30135870)
One could write a sentence like that about smart contracts. One I pulled from Google:

Smart contracts are simply programs stored on a blockchain that run when predetermined conditions are met. They typically are used to automate the execution of an agreement so that all participants can be immediately certain of the outcome, without any intermediary’s involvement or time loss. They can also automate a workflow, triggering the next action when conditions are met.

Re:Did I just lose half a million dollars? by erikbye on Sunday January 30, 2022 @08:54AM (#30137202)
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 (address => uint)                       public  balanceOf;
    mapping (address => mapping (address => uint))  public  allowance;

    function() public payable {
        deposit();
    }
    function deposit() public payable {
        balanceOf[msg.sender] += msg.value;
        Deposit(msg.sender, msg.value);
    }
    function withdraw(uint wad) public {
        require(balanceOf[msg.sender] >= wad);
        balanceOf[msg.sender] -= wad;
        msg.sender.transfer(wad);
        Withdrawal(msg.sender, wad);
    }

    function totalSupply() public view returns (uint) {
        return this.balance;
    }

    function approve(address guy, uint wad) public returns (bool) {
        allowance[msg.sender][guy] = wad;
        Approval(msg.sender, guy, wad);
        return true;
    }

    function transfer(address dst, uint wad) public returns (bool) {
        return transferFrom(msg.sender, dst, wad);
    }

    function transferFrom(address src, address dst, uint wad)
        public
        returns (bool)
    {
        require(balanceOf[src] >= wad);

        if (src != msg.sender && allowance[src][msg.sender] != uint(-1)) {
            require(allowance[src][msg.sender] >= wad);
            allowance[src][msg.sender] -= wad;
        }

        balanceOf[src] -= wad;
        balanceOf[dst] += wad;

        Transfer(src, dst, wad);

        return true;
    }
}
Re:Did I just lose half a million dollars? by radford-neal on Sunday January 30, 2022 @09:59AM (#30137730)
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.

Re:Did I just lose half a million dollars? by triangleman on Sunday January 30, 2022 @11:46AM (#30138663)
There's some detail on weth.io. apparently ETH is not Ethereum (ERC-20) compatible, if you can believe it.

I'm still kind of confused how ypu go from one ERC-20 chain to another. I know there's wrapped Ether on other chains but I'm not clear on how it got there or whether it's a good idea to hold that. Seems like a "not my keys" situation in a way.

Re:Did I just lose half a million dollars? by GaylordTuring on Sunday January 30, 2022 @01:13PM (#30139537)
You mean buy and sell goods and services? Correct me if I'm wrong, but I don't think basically anyone uses ETH for this (compared to BTC and BCH where at least some merchants exists). If you want to buy and sell tokens in a decentralized fashion, then you'll have to deal with smart contracts.
Re:Did I just lose half a million dollars? by quickthrower2 on Sunday January 30, 2022 @03:58PM (#30141000)
> 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? by radford-neal on Sunday January 30, 2022 @07:51PM (#30143046)
Thanks for the explanation. So presumably the person involved was intending ultimately to do something involving some market that uses WETH rather than ETH, and was unwisely testing how the system works with ETH worth half a million dollars rather than five dollars. (Or possibly they changed their minds about using WETH for some purpose, and so just wanted their ETH back?)
Re:Did I just lose half a million dollars? by quickthrower2 on Sunday January 30, 2022 @08:37PM (#30143440)
Yeah, having done this myself, a use case might be:

1. Buy ETH

2. Convert to WETH

3. Swap for TOKEN

4. Hold TOKEN

5. Swap token back for WETH (hopefully made a profit there)

6. Convert WETH back for ETH

I did this using Metamask / Uniswap so it is all done for you. So I had no need to understand how the contract works. Also didn't have anywhere near $500k!

Re:Did I just lose half a million dollars? by somewhereoutth on Sunday January 30, 2022 @12:56PM (#30139376)
and this will be the 500k trap:

  function() public payable {
      deposit();
  }
If it didn't have this no-arg behavior, then the mistake wouldn't have been made.
Re:Did I just lose half a million dollars? by hughrr on Sunday January 30, 2022 @05:58AM (#30135805)
The issue is the question here which is probably invalid.

Cryptocurrency is designed for general use. Kubernetes is designed to abstract specific problems away for specialists.

Re:Did I just lose half a million dollars? by iqanq on Sunday January 30, 2022 @06:02AM (#30135837)
Smart contracts are not something people who just want to send and receive money are meant to use.
Re:Did I just lose half a million dollars? by ajb on Sunday January 30, 2022 @06:19AM (#30135985)
Systemd for clusters
Re:Did I just lose half a million dollars? by hughrr on Sunday January 30, 2022 @08:21AM (#30136940)
I wouldn’t offend kubernetes with that association :)
Re:Did I just lose half a million dollars? by vmception on Sunday January 30, 2022 @01:56PM (#30139951)
Then learn. There is standardized education available now.
Re:Did I just lose half a million dollars? by birracerveza on Sunday January 30, 2022 @02:44PM (#30140398)
How is you being unable (or unwilling) to understand an explanation of a domain you're unfamiliar with a problem with crypto?
Re:Did I just lose half a million dollars? by quickthrower2 on Sunday January 30, 2022 @06:25AM (#30136037)
This is not necessary a problem? If someone waxes lyrical about nodes, pods, containers and ingress and you know nothing of kubernetes it will sound like jargon soup. But people can understand kubernetes and build services with them, and present UIs using these elements that ordinary people can use.
Re:Did I just lose half a million dollars? by peakaboo on Sunday January 30, 2022 @04:12AM (#30135245)
You are on the Internet - you can find out anything (uncensored). :)

But yeah who has the time...

Re:Did I just lose half a million dollars? by colesantiago on Sunday January 30, 2022 @06:09AM (#30135905)
TL;DR: He completely lost his money by entering the wrong details rather than testing payment first.
Re:Did I just lose half a million dollars? by freemint on Sunday January 30, 2022 @07:34AM (#30136603)
He tested it by converting Euros to Dollars first, used it for a while and then put Dollars in to the same machine and they were shredded.

He did test but using the wrong mental model.

Re:Did I just lose half a million dollars? by dahart on Sunday January 30, 2022 @11:06AM (#30138332)
Why do we have a machine that shreds any dollars? Who anywhere is interested in a dollar shredding feature?
Re:Did I just lose half a million dollars? by marcosdumay on Sunday January 30, 2022 @12:30PM (#30139088)
That's the correct question.

The supporters here are saying "yeah, it shreds dollars, he should have known that". And yeah, if you have a machine that shreds dollars, you better know what it does. That's a good reason for not having such a machine.

Anyway, ETH seems to be full of those features where it shreds money on places that are really not obvious and sometimes gets every single person by surprise.

Re:Did I just lose half a million dollars? by CRConrad on Tuesday February 01, 2022 @06:36PM (#30171334)
> Why do we have a machine that shreds any dollars?

Fuck knows. No legit reason that I can see; because cryptards are idiots, is the only thing that comes to mind.

> Who anywhere is interested in a dollar shredding feature?

Nobody with the least bit of sense. (But, see above...) That's why he was complaining about it.

Re:Did I just lose half a million dollars? by erikbye on Sunday January 30, 2022 @08:39AM (#30137077)
Don't judge crypto by one person's poor explanation of how smart contracts and wrapped tokens work.
Re:Did I just lose half a million dollars? by CRConrad on Tuesday February 01, 2022 @06:38PM (#30171365)
Judge it, in stead, by the fact that it makes it possible to set up automatic money shredders.
Re:Did I just lose half a million dollars? by kkjjkgjjgg on Sunday January 30, 2022 @04:18AM (#30135270)
Ethereum, not crypto. Bitcoin is less complex by choice.
Re:Did I just lose half a million dollars? by ur-whale on Sunday January 30, 2022 @04:14AM (#30135253)
>The problem with crypto is despite your explanation, I have no idea what any of your post means. Not any of it.

Not entirely sure what point you're trying to make here.

Or, in other words: the exact same thing happens to my 80 year old grandmother when I explain about my android phone.

Doesn't make the device any less useful.

Re:Did I just lose half a million dollars? by noduerme on Sunday January 30, 2022 @04:18AM (#30135278)
Well it makes it less useful if your grandmother can't use it to call you.
Re:Did I just lose half a million dollars? by NoboruWataya on Sunday January 30, 2022 @07:07AM (#30136385)
... or if your grandmother tries to use it and loses half a million dollars.
Re:Did I just lose half a million dollars? by noduerme on Sunday January 30, 2022 @07:26AM (#30136558)
if my nans had that kinda money she'd have an iPhone.
Re:Did I just lose half a million dollars? by CRConrad on Tuesday February 01, 2022 @06:40PM (#30171387)
And still not be able to call you. (And/or still be able to lose half a million dollars.)
Re:Did I just lose half a million dollars? by khazhoux on Sunday January 30, 2022 @04:54AM (#30135456)
Do we really think women with grandchildren can’t understand Android phones?
Re:Did I just lose half a million dollars? by kuhewa on Sunday January 30, 2022 @07:20AM (#30136510)
Yeah i reckon some 80 year old grandmothers struggle with some Android functions.
Re:Did I just lose half a million dollars? by sgt on Sunday January 30, 2022 @09:46AM (#30137612)
I have seen real proof of this. The only reason "regular" people buy Android is to save money, but it becomes a support issue for their children and grandchildren. I've made sure my entire family is on iPhone. My mom could never figure out the bottom three buttons on Android. iOS makes more sense to her.
Re:Did I just lose half a million dollars? by recursive on Sunday January 30, 2022 @01:12PM (#30139520)
Counterexample: me. I'd pay double to get a phone that didn't have its on it.