Anyone know which line of code they're talking about? I took a glance at their Github bug tracker and couldn't find any references to this bug. [0] https://github.com/zcoinofficial/zcoin/issues?q=is%3Aissue+i...
They didn't fix it, yet.
61–70 of 142 posts
Anyone know which line of code they're talking about? I took a glance at their Github bug tracker and couldn't find any references to this bug. [0] https://github.com/zcoinofficial/zcoin/issues?q=is%3Aissue+i...
They didn't fix it, yet.
Earlier quoted context omitted.
So... were's a unit test to make sure this never happens again?
I rather actually see a real comment if there is no time to create a unit test. Why does changing ZQ_PEDERSEN to ZQ_WILLIAMSON fix the bug? Having meaningful named constants would make much more sense. Edit: On full view of the code, the bug could be avoid if they broke out the if blocks into their own function, and to prevent "typo" errors, it would be good to have a local variable named current_demoniation = demoni…
From this presentation[1] or the source code[2]:
1 Lovelace = 1 Bitcoin
1 Goldwasser = 10 Bitcoin
1 Rackoff = 25 Bitcoin
1 Pedersen = 50 Bitcoin
1 Williamson = 100 Bitcoin
But yes, those are meaningless names in themselves. Metric prefixes like "hectobitcoin" would be better.[1]: https://sar.informatik.hu-berlin.de/teaching/2013-w/2013-w%2... [2]: https://github.com/Zerocoin/libzerocoin/blob/master/Coin.h#L...
Earlier quoted context omitted.
Stating the obvious here, but... Fiat financial security is based on monitoring, paper trails, and legal consequences for fraud. Yes, you can initiate a fraudulent ACH knowing only the numbers printed on a check you received, but you'll probably end up in jail for it. It's far from perfect but it mostly works. Cryptocurrency intentionally doesn't have any paper trails. Anonymity is the selling point. If you find a bu…
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.
> A typographical error on a single additional character in code Really wonder what this was.
> A typographical error on a single additional character in code Really wonder what this was.
== vs = perhaps?
(And people mock me for putting constants first! i.e. if (someconstant == somevar) { ...
[edit: nope, looks like this is it]
https://github.com/zcoinofficial/zcoin/commit/b20c177032de3c...
Earlier quoted context omitted.
Better look at commits. I am not familiar with their code base, but latest commit seems like a bugfix: https://github.com/zcoinofficial/zcoin/commit/33796c839f7d4d...
Actually I think this might have been the fix. https://github.com/zcoinofficial/zcoin/commit/584e1c60617d59...
https://github.com/zcoinofficial/zcoin/commit/b20c177032de3c...
(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 protocol.
1) Unlike Zcash/Zerocash, the Zerocoin protocol has only fixed value coins.
2) To get multiple denominations, you have completely separate instances of the anonymous currency that just happen to live on the same blockchain as the other denominations.
3) Zerocoin has its own bitcoin like non anonymous base currency. Call it basecoin.
4) You spend basecoins to get zerocoins.
5) When you spend zerocoins, you get basecoins.
6) ZQ_WILLIAMSON and ZQ_PEDERSEN are denominations, worth 100 and 50 respectively, defined in libzerocoin.
So what went wrong?
When you convert a zerocoin into 100 basecoin, the ZCoin code forked from bitcoin checked if the coin was a valid instance of ZQ_PEDERSEN (worth 50 ) not ZQ_WILLIAMSON (worth 100). So you paid 50 for the zcoin,got it into the instance for ZQ_PEDERSEN, but got back 100. Free money.
Why did this happen? Well, it looks like in order to support the multiple denominations libzerocoin offers, the ZCoin developers wrote some code for one denomination and then duplicated it for each remaining denomination. There are five in total, ZQ_LOVELACE=1,ZQ_GOLDWASSER=10, ZQ_RACKOFF = 25, ZQ_PEDERSEN = 50,ZQ_WILLIAMSON = 100.
But on the last one, ZQ_PEDERSEN was not changed to ZQ_WILLIAMSON in a few places. This caused the bug.
Caveat: I have nothing to do with ZCoin. However, I am an author of the zerocoin protocol, libzerocoin, the zerocash protocol, and am involved with Zcash.
Earlier quoted context omitted.
Stating the obvious here, but... Fiat financial security is based on monitoring, paper trails, and legal consequences for fraud. Yes, you can initiate a fraudulent ACH knowing only the numbers printed on a check you received, but you'll probably end up in jail for it. It's far from perfect but it mostly works. Cryptocurrency intentionally doesn't have any paper trails. Anonymity is the selling point. If you find a bu…
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 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.
Hmm, I know about Zcash and Monero, but I haven't read much about Zerocoin. I'll be staying away, especially after a 410 BTC hack. They even cited the ability to detect hacks like this as a key advantage over Zcash. http://blog.zcoin.tech/zcoin-and-zcash/
Hmm, I know about Zcash and Monero, but I haven't read much about Zerocoin. I'll be staying away, especially after a 410 BTC hack. They even cited the ability to detect hacks like this as a key advantage over Zcash. http://blog.zcoin.tech/zcoin-and-zcash/