Today I found an interesting blog entry about the Bitmonero launch and the initial slow hash version of the miner that came from Bytecoin.
Quite interesting to know how a few made a killing from private optimizations in the Bitmonero mining for months where more than the 50% of the network.
http://da-data.blogspot.com.es/2014/08/minting-money-with-monero-and-cpu.htmlThis only reinforces my opinion that there few to none fair launchs in the cryptocoin world.
I don't follow Bitmonero thread and this may be a very old story but thought someone in the Bytecoin community could be interested.
Wow...
Someone was mining Monero with 100 times faster mining program than the rest of the miners? And controlled 60% of the network hash rate at some point?
Yes, the author of that article is a computer science professor at Carnegie Mellon Univ. In the article he accuses the original Bytecoin developers of intentionally crippling the wallet miner:
The more I looked at it, the more clear it became: The original developers deliberately crippled the miner. It wasn't just slow, and it wasn't just naive; it was deliberately obfuscated and made slow by the use of completely superfluous copies, function calls, use of 8 bit pointer types, and accompanied by the most ridiculously slow implementation of the AES encryption algorithm one could imagine.
Also faking an 80% premine by suggesting it was all done on the "darkweb":
But when Bytecoin was released, it was presented as though it emerged from two years on the "dark web" (Tor onion sites and the like), during which time, 80% of the possible coins that could ever be minted, had been minted. The reception in the cryptocurrency community was heavily skeptical.
My strong belief is that the skepticism was warranted: Here's the original slow-hash from bytecoin as it was copied into Bitmonero. It has some doozies. For example, on line 100, you might note that for every iteration through an inner loop repeated tens of thousands of times, the AES key is re-imported into the library. The later loop, starting on line 113, is repeated half a million times, and is so abstracted through lots of memcpys and pointer manipulation it's hard to tell that all it really does is one round of AES encryption, a pointer dereference into a random scratchpad, a 64 bit multiplication, and another pointer dereference. Phew. This original code was roughly 50x slower than my final optimized code, and could have easily been used to fake two years of blockchain data on a single computer or a small cluster. I'm pretty sure that's what happened.