Live data from Hacker News

Zerocoin implementation bug

zcoin.io

91–100 of 142 posts

Re: Zerocoin implementation bug

#91

Earlier quoted context omitted.

I think it's because it's difficult for even programmers to deeply grasp the slippery nature of the small scale abstractions we use in software projects. This is why design patterns are so easily misused. It's tricky stuff. The large scale, society-level abstractions and shared fictions, such as money, are a whole different beast.

I don't think the principle of money is actually that difficult. We've all had that moment in middle school where we realised that money would be worthless if everyone stopped caring about it. It's just that some people stopped running around wide-eyed telling others about this revelation a few days later. I guess we did get lucky in that the object of obsession they chose wasn't the law. Please don't tell them that…

> money would be worthless if everyone stopped caring about it.

Sure, on the surface this is easy to understand. But what might it look like for such a process to unfold? How do the fundamental dynamics and primary characteristics of a money system change over time, and why?

Honestly, I can't really answer those questions in any kind of sophisticated way. A lot of discussions involving the Fed and broad macroeconomic policies feel fairly hand-wavy to me.

Sure, the basics of runaway inflation caused by reckless money printing is not too hard to understand. But that's just one of many scenarios.

Re: Zerocoin implementation bug

#92

what went wrong: TLDR probably Ctrl-C,Ctrl-V. (Just to be clear, this is about Zcoin, not Zcash/Zerocash. The two are completely different) The fix is here. https://github.com/zcoinofficial/zcoin/commit/33796c839f7d4d... What happened? First, some stylized facts about ZCoin: 0) ZCoin is a fork of Bitcoin that uses a 4 year old academic research library, libzerocoin, to make anonymous payments using the Zerocoin proto…

Another major bug caused by copy+paste. I seem to remember a security researcher article months (years?) ago that identified this theme, showed a way to grep a codebase for likely c+p errors and found a load of bugs in real production code that had remained hidden for years. I think I landed there from HN, but my google-fu is failing me now, can anyone else remember it?

Probably not what you mean, but this (https://news.ycombinator.com/item?id=12853211) submission about the PVS-Studio static analyzer also shows a bunch of copy+paste errors being found.

Re: Zerocoin implementation bug

#93
post #71

Earlier quoted context omitted.

wait a sec. Someone steals my credit card, and if I notice within 2 months, I can get everything back. Another advantage is that it doesn't take several hours (and huge amounts of wasted electricity) for a transaction to go through. My bank hasn't been siphoning my funds either. I wouldn't trust any cryptocurrency exchange with holding even 10% of my monthly salary. Sure, governments can get my bank records. But my b…

Someone steals the control of your banking account, they take everything and there's no way of getting those money back. Credit cards are peculiar in this regard.

Maybe if you have a business account, but not if you are a regular person. Regulation E https://en.wikipedia.org/wiki/Electronic_Fund_Transfer_Act requires banks to refund "EFT errors" and fraudulent transactions.

Re: Zerocoin implementation bug

#94
post #68
post #56

Earlier quoted context omitted.

Actually the whole point of the distributed blockchain is that there's a very public paper trail. The only hope for anonymity is obfuscating the movement of value through the blockchain, which can be accomplished to varying degrees depending on the sophistication of who is trying to track you. If your theft is high profile enough then you'll have a good deal of trouble liquidating your funds anonymously.

it's the ultimate irony. It feels like anonymity because you decouple the "get a bunch of BTC" from "cash out to USD", so it's the worst of both worlds. It's anonymous at first, so fraud can't easily be reversed. But it's "eventually completely public", so people who might want to use it for anonymity are sitting on a ticking time bomb. Eventually, their identities will be revealed.

Indeed, but people just don't seem to get this. As long as people are converting fiat to crypto at the front end, and then crypto back to another fiat at the back end, then there is no anonymity. There may be a lot of obfuscation in the middle, but ultimately the guy who converts back to fiat will be asked the question by his government, "Where did this money come from?" Then he needs a provable paper trail.

Maybe someday enough goods and services will be available to be purchased by cryptocurrency that fiat use will be diminished or eliminated. But at that point, the companies that are accepting cryptocurrency as payment for services will have to keep their own accounting in order to show their governments where their money is coming from. And then again the anonymity breaks down. The customer records, with email, ip, and shipping addresses are part of the audit trail.

Re: Zerocoin implementation bug

#95
post #43

Earlier quoted context omitted.

Ethereum takes the record for paying out $53 million dollars (943 BTC X 53 = lots). Technically, it wasn't even theft or a bug since Ethereum & DAO proudly claimed "Code is Final Law". I almost feel like cryptocoin and blockchains are set out to do 1 thing really well-show how superior centralized systems are and how easy it is to trick people with pseudo academic jargon-just read Vitalik's writing peppered with supe…

While I don't feel that your argument generalizes (e.g. Bitcoin actually probably is the best extant value exchange mechanism in many ways), the whole Ethereum thing was embarrassing. People fell for the mumbo-jumbo and then the whole project rendered itself pointless by going back on its "code is law" principle.

In a way, they did actually prove that code is law - but they proved that "currently consensus-agreed-upon code is law."

That old buggy code was law until the new code became law and changed the rules :). But of course its redundant to say "current code is law" because it's obvious by the logic of how consensus works.

The confusion for people was their belief that code at one point in history would forever remain "the law".

Re: Zerocoin implementation bug

#96
post #13

So who eats the loss for this?

If estimates are accurate that 25% of all Zerocoins in existence were artificially (I mean, even _more_ artificially) fabricated, then that dilutes the value of everyone else's legit coins by about 33%.

Hearing the 410BTC value estimate of those 25% is a bit surprising. I wouldn't have imagined them having such market capitalization so quickly.

Re: Zerocoin implementation bug

#97

Earlier quoted context omitted.

> how superior centralized systems are Tell us? Because around here, I saw a huge number of bank fraud basically unpunished. "Yes those guys duplicated your SIM and stole all your funds. Too bad for you since we're not going to even try to catch them." Centralized systems might be efficient but the rule is, they don't care about you, so it's not your problems that they're going to solve. At least I can have some fait…

For one, a theft on banks is extremely hard and rest of the system hums along. Mt Gox and DAO however resulted in catastrophic failure where everyone was collectively punished. On a personal level, there are good channels to get your money back where in a decentralized market, there's zero chance. It's better to have other humans keeping check on each other than code watching other code because it will not take into…

"a theft on banks is extremely hard and rest of the system hums along. Mt Gox and DAO however resulted in catastrophic failure where everyone was collectively punished."

Not "everyone" was punished. Only users of Mt Gox. And only investors of the DAO. Also both Bitcoin and Ethereum survived these incidents very well.

With legacy financial systems (banks, cash) there are plenty of scenarios where you may never get your money back, eg.: lose your wallet/cash, 2016 Bangladesh Bank SWIFT hack where $60M was never recovered, etc.

Re: Zerocoin implementation bug

#98
post #71

Earlier quoted context omitted.

> how superior centralized systems are Tell us? Because around here, I saw a huge number of bank fraud basically unpunished. "Yes those guys duplicated your SIM and stole all your funds. Too bad for you since we're not going to even try to catch them." Centralized systems might be efficient but the rule is, they don't care about you, so it's not your problems that they're going to solve. At least I can have some fait…

wait a sec. Someone steals my credit card, and if I notice within 2 months, I can get everything back. Another advantage is that it doesn't take several hours (and huge amounts of wasted electricity) for a transaction to go through. My bank hasn't been siphoning my funds either. I wouldn't trust any cryptocurrency exchange with holding even 10% of my monthly salary. Sure, governments can get my bank records. But my b…

"Someone steals my credit card, and if I notice within 2 months, I can get everything back."

No. You may still be liable for $500 if you fail to report it within 48 HOURS: http://consumer.findlaw.com/credit-banking-finance/are-you-l...

"Another advantage is that it doesn't take several hours"

You hold a common misconception of how transactions work. Bitcoin transactions are transmitted/notified instantly (like credit cards). Transactions will be confirmed and spendable by the recipient within 10min on average (with CCs it takes 1-3 days until the merchant gets the money). Finally transactions are considered irreversible/definitely non-fraudulent after 6 blocks or 60min on average (with CCs it takes 60 days since charge backs are possible for 60 days).

So if you compares apples to apples, Bitcoin is always faster than credit cards.

"huge amounts of wasted electricity"

This is not wasteful: http://blog.zorinaq.com/bitcoin-mining-is-not-wasteful/

Re: Zerocoin implementation bug

#99
post #77

Earlier quoted context omitted.

Someone steals the control of your banking account, they take everything and there's no way of getting those money back. Credit cards are peculiar in this regard.

I am not 100% sure, but my understanding is that the bank is liable for those losses unless they can prove gross negligence on your part. I've heard that legal argument, at least. [0] Though this is not worse from your cryptocurrency. If they get a hold of your private keys, you lose everything. At least in the classical banking system you have some legal recourse. [0]: I might just be thinking of this comedy sketch…

"they get a hold of your private keys, you lose everything."

Hardware wallets solve this (Trezor, Keepkey, etc.) This makes Bitcoin more secure than cash. Most people accept the (imperfect) level of security of cash, so they would be OK with the higher level of security of hw wallets.

Post reply on HN