Live data from Hacker News

The bug which lost more than $600M in various cryptocurrencies a few hours ago

twitter.com

91–100 of 126 posts

Re: The bug which lost more than $600M in various cryptocurrencies a few hours ago

#91
post #14

Cryptocurrencies are fascinating but the irreversibility is not a feature but a bug. I don't get the appeal for irreversibility. A legitimate trade always occurs between willing partners, why would you be so afraid that the transaction would be cancelled? The only legitimate use that comes to my mind are complex financial instruments where things mostly happens with an assumption that the underlaying assets are very…

Irreversibility is one of its best features. Imagine a scenario in 50 years when 80% of token holders are dead... This could result in a non-trivial % of tokens being lost forever; this greatly reduces the remaining circulating supply of tokens and thus makes everyone else who still remembers their keys wealthier (less supply, same demand translates to higher price). On the other hand, stocks are more susceptible to…

That's just such a naive take with no connection to reality. Occasional deaths and inheritance by retail shareholders has zero impact on share prices.

Re: The bug which lost more than $600M in various cryptocurrencies a few hours ago

#92
post #71
post #23

There's a serious fundamental problem with DeFi that can't be solved with blockchains. Someone starts a blockchain company and hires a bunch of devs who make, idk, $40 to $100 per hour to build the thing. Maybe more, it doesn't really matter. Even just one dev or a few devs can make all the contracts needed for this. One day that dev notices a vulnerability in the smart contract he's writing! He has two choices: (a)…

> Actually, it's worse than that, because unlike normal banks, the code used by these digital banks is open source, and anyone in the world can go bug hunting. An argument that open source is less secure, and on Hacker News! Now I've seen it all.

It is not a statement about security but about plausible deniability.

Re: The bug which lost more than $600M in various cryptocurrencies a few hours ago

#93
post #45

Earlier quoted context omitted.

Yeah I can understand that. Once you dive into crypto however, you quickly realize that $600m is just not that much money (especially not if we are talking about digital assets valued at current ticker price). And that lots of money isn't necessarily the right measure of quality of the project.

It’s valued at 600 million that does not mean it can be liquidated for 600 million.

That is literally what that means. Market caps are what they are because everyone who thinks it is worth less has sold and everyone who thinks it’s worth that or more will buy. There’s some outliers but in general these coins are trading their entire market cap over the course of maybe a month or less. Liquid generally means short term, if you can sell it for cash in under a year then it is liquid. Sure if you tried to sell all coin today in the same minute you won’t find a buyer but over a month this happens all the time.

Re: The bug which lost more than $600M in various cryptocurrencies a few hours ago

#94
post #87
post #85

Earlier quoted context omitted.

I operated an online store selling $2,000 pieces of computer hardware, and both credit card companies and banks alike refused to service us because fraud rates were extremely high. If you think fraud rates are extremely low, you've never tried to sell $2,000 electronics online as a boutique electronics store. Bitcoin was the only option.

It’s not that I don’t believe there is fraud, I’m saying the vast majority of customers are well-intentioned. If this is not the case, could you point me to some sources and not just your anecdote? Regardless, how does Bitcoin solve this? There’s a lot of illegitimate users of crypto, how are you solving fraud with irreversible transactions?

> If this is not the case, could you point me to some sources and not just your anecdote?

It's difficult to find sources, but generally speaking you are going to go 'on warning' at around 1.5% and if you go too much over 2% chargeback rate you just get dropped by the credit card company as a customer. Credit card companies don't like dealing with high fraud customers and won't support you.

https://chargeback.com/average-chargeback-rates-how-does-you... https://chargebacks911.com/chargeback-rate/

Bitcoin helps in two ways. The first is that it gives you a way to accept money at all. As stated above, if your chargeback rate is above 2% for any extended period of time, all of your payment processors - including your banks - are going to drop you as a customer. You may be willing to pay 5% overheads for a higher chargeback rate, but your credit card company doesn't want that as a statistic and they just won't support you.

The other way Bitcoin helps is that once your wallet (use BTCPay) says "2 confirmations" you've got a 99.97% guarantee that the money is yours and won't be reverted. And that's true whether you are receiving $2,000 or $2,000,000. Regardless of whether that money came from "an illegitimate user", you as the merchant can be confident shipping hardware out because you know that the payment is not going to be clawed back.

Re: The bug which lost more than $600M in various cryptocurrencies a few hours ago

#95
post #75
post #55

Earlier quoted context omitted.

The chargeback returning the money to the rightful owner doesn't help the merchant who shipped $6,000 of hardware to some stranger. Certain types of electronic sales simply can't be done online because of the high rates of fraud. When you add crypto, these sales become possible. Yes, they become possible at the cost of putting the counterparty risk onto the consumer, but that's better than the sale being entirely non…

Fraud is a cost of business. Prices can be raised to take it into account; different markets have different rates of fraud, but fundamentally it can be priced in. Merchants are in a much better position to price this in than consumers. Merchants structurally execute a lot more transactions within a market vertical than consumers ever do. If the merchant can't do that, because deals are simply too high value or aren't…

If you raise your prices, you drive away legitimate customers but don't drive away fraudsters, since the fraudsters aren't actually paying with real money. So raising your price increases the percentage of fraud you see, which means you probably need to raise your prices further, which further increases the relative amount of fraud.

To counteract this negative feedback loop, assuming the increased prices don't drive away all of your real customers, you can spend the increase on transaction analysis, and turn away customers based on their likelihood of fraud, so you've added inefficiency into the system to help deal with a criminal element, and also likely turned away real sales due to false positives in your analysis.

It's no surprise that these types of merchants are looking for a disruptive technology to remove this inefficiency. Doing so would allow them to charge less and outcompete as well as capture the entire market of people marked as false positives by other merchants.

Re: The bug which lost more than $600M in various cryptocurrencies a few hours ago

#96

Earlier quoted context omitted.

Over time, there will be old smart contract code that is trusted because it has been used for so long, and there will be new code that is less trusted because it is new. Time will ensure that smart contract code that is flawed will be discarded and forgotten, or blacklisted, so it will be safe to assume that any old code that is still popular is trustworthy. Time will also ensure that popular code is well understood…

The problem is that it is totally possible for there to be a hidden bug in an old smart contract that everyone trusts. And only a single bug like that can destroy the entire ecosystem. It's not enough for trusted smart contracts to be less buggy, they have to be so secure that they don't have any bugs ever

Yes, the process I described above would not be sufficient to ensure that smart contracts are perfectly safe, with zero exceptions ever.

It is also important that scrutiny be applied to these protocols, and I imagine that at some point DeFi protocols may be be subject to regulator audit and approval before they are opened up and made available for use by retail customers. If the right people pay enough attention to the implementation of these protocols, then it should be possible to trust them. Also, if you yourself are risking significant funds, it wouldn't be a bad idea to personally review and understand the smart contract code.

That being said, over extended periods of time (decades), long-lived smart contracts will tend to be safer, and insecure smart contracts will tend to be identified as such. If enough value is at risk, and if enough time has passed, then it is extremely unlikely that an exploitable bug will exist that has not already been exploited.

Keep in mind that as a general rule smart contract implementations are immutable, so any bug that exists within a protocol is typically a bug introduced to the protocol when it is first deployed. There are never any "new" bugs that are introduced to an existing smart contract; if a bug emerges after a long period of time has passed, it is a bug that existed at the beginning but had not been previously identified.

At a certain point the passage of time will have reduced this risk below a tolerable threshold that is more than outweighed by the value that people get from using the software. So in practical terms, in the aggregate, such long-lived systems could reasonably be treated as secure.

Re: The bug which lost more than $600M in various cryptocurrencies a few hours ago

#97

"Check the first 4 bytes of" should be banned in crypto code. Either I want something to match, in which case check it all, or I don't care if it matches, in which case don't check at all. Why would you ever check 4 bytes? To me it smells like a way to prevent fuzzers stumbling on a deliberate loophole.

This blew me away. That's 2^32. They took a cryptographic hash, with good preimage/second-preimage/collision resistance, and then discarded 7/8 of it before comparing to ensure some user-provided input is valid. What in the world?!

Re: The bug which lost more than $600M in various cryptocurrencies a few hours ago

#98
post #11

Earlier quoted context omitted.

You can't really mitigate this entirely as you can't really write software without bugs. There will always be a need for this eventual "please roll back or block the bad actors". And more money you put into the game more it will be demanded when someone gets hurt. I don't like crypto but this way of fixing things is pretty normal and standard in software and orher industries also. You simply can run into situations w…

“You can’t really write software without bugs” - which is why crypto will never be for me

This is plain silly. Even centralized payment settlement systems do depend on thousands of lines of closed source code that contain bugs. Banking backends have bugs. Cars have bugs. Even buildings may have fuck ups that need to be dealt with after construction.

If you think it through you simply can not rely 100% on anything humans build. But still societies as a whole thrive and human progress is real.

DeFi is no exception. It’s designed to make banking cheaper. But it’s new technology and will take some time to mature.

Personally, I believe banks won’t exist in the traditional sense anymore 20 years in the future if you like it or don’t. I mean, I love steam locomotives but I don’t expect them to be a common means of transportation ever again. ;-)

Re: The bug which lost more than $600M in various cryptocurrencies a few hours ago

#99
post #14

Cryptocurrencies are fascinating but the irreversibility is not a feature but a bug. I don't get the appeal for irreversibility. A legitimate trade always occurs between willing partners, why would you be so afraid that the transaction would be cancelled? The only legitimate use that comes to my mind are complex financial instruments where things mostly happens with an assumption that the underlaying assets are very…

> Sometimes mistakes happen(a faulty system, a design bug or straight out human error and people who are trying to take advantage of those), most of the time these are correctable.

These errors are correctable if the counter-parties trust each other, or at least have a relationship that they don't want to undermine by being petty.

Immutable blockchain systems are valuable in part because they allow entities to transact with each other even if they don't trust each other at all, don't know each other at all, or are even antagonistic with each other. Yes, if something goes wrong, a transaction won't be reversed, but without the blockchain these potentially antagonistic entities wouldn't have the capacity to do business with each other in the first place.

Blockchains allow these entities capture the value of transacting with each other—value that wouldn't otherwise be realized—at the expense of irreversibility.

You can potentially imagine that if antagonistic entities tried to do business in a more malleable environment, a request to reverse an error by one entity might not be honored by the other entity, or one entity might maliciously attempt to reverse a transaction that was not performed in error, but was simply disadvantageous in hindsight.

The possibility that a transaction may need to be reversed—or that a reversal request may need to be litigated—increases transaction costs, especially when counter parties are antagonistic. The certainty of irreversibility creates a context by which certain entities are willing to do business with each other, when they might not otherwise do business at all.

Re: The bug which lost more than $600M in various cryptocurrencies a few hours ago

#100
post #71
post #23

There's a serious fundamental problem with DeFi that can't be solved with blockchains. Someone starts a blockchain company and hires a bunch of devs who make, idk, $40 to $100 per hour to build the thing. Maybe more, it doesn't really matter. Even just one dev or a few devs can make all the contracts needed for this. One day that dev notices a vulnerability in the smart contract he's writing! He has two choices: (a)…

> Actually, it's worse than that, because unlike normal banks, the code used by these digital banks is open source, and anyone in the world can go bug hunting. An argument that open source is less secure, and on Hacker News! Now I've seen it all.

There is an argument to be made for having some things remain closed, and obscured from public view. If a company/group has an experienced and large internal audit team that reviews systems, and they are building something that is likely to be placed under extreme amounts of targeted attacks (military crypto, banking systems, etc.) it sometimes makes sense to not allow just anyone to see/poke at the whole thing.

Military cryptographic systems, IBM mainframes, and many other products use this approach as a layer in their security framework and it is actually pretty successful.

If I asked you to break into the a PFSense box you could just Google "PFSense version X.X.X CVEs" and you would probably get a way in if the box was enough out of date, but if you tried to find the same thing for something like the General Dynamics TACLANE you would have a hard time even finding where to start.

Post reply on HN