CryptoNote also employs several strategies to render transactions anonymous while preserving the integrity of the currency. In brief, it employs ring-signatures for verifying transactions, generates transaction-specific keys to de-couple person-keys from transactions, and uses key “images” (one-way functions of the transaction-specific keys) to verify transactions.
One implication of these measures is that the network is highly resistant to blockchain analysis. Linking transactions to specific senders and receivers is nearly impossible, meaning network statistics are difficult to gather and interpret. Even exact transaction amounts are hidden. This obscures not only individuals within the network but behavior of the network as a whole.
Resistance to ASIC Mining
CryptoNote is a codebase developed in 2012 independently of BitCoin and other Altcoins. CryptoNight, the hash function of CryptoNote, uses a POW consensus protocol that is highly dependent on memory rather than calculation speed. This is intended to privilege CPU miners over ASIC miners and GPU miners, because a PC has much more memory available for processing.
The POW scheme also functions as a voting system for the order of transactions, supply distribution, and new features. Prioritizing CPU mining helps CryptoNote currencies realize Satoshi’s original vision of “one CPU, one vote.” Shortly after Monero’s launch, a GPU miner was introduced, but CPU mining remains competitive. Monero has been one of the most successful cryptocurrencies at resisting ASIC mining.
Launch and History
On April 18, 2014 Monero launched with no instamine or premine. It was hailed as a ‘fair’ launch, in direct contrast with the mysterious launch of its parent, ByteCoin. Monero Research Lab conducted much of the research underpinning Monero’s cryptography.
On Sept 4, 2014, an unknown actor executed an attack on Monero which partitioned the network into two subsets. According to an internal investigation published by the Monero Research Lab, the code targeted originated in the CryptoNote reference code. The attacker is presumed to be deeply familiar with the CryptoNote codebase. The attack exploited the fact that the Monero code rounded data structures to fit into Merkle Trees, allowing the attacker two create two blocks with the same hash. This split the network into two, though it wasn’t an intentional fork and major exchanges still treated Monero as one currency. This effectively doubled everyone’s balances for a brief period, allowing coins on network A and network B to be spent differently. The fix was introduced on Sept 6, 2014. For reasons unknown, most mining pools ended up in one network, and slowly the second network was starved.
Consensus: Proof-of-work (POW)
Hash Algorithm: CryptoNight
Block creation time: 60 seconds
Launch condition: Launched with no instamine or premine.
Total Supply: 18,400,000XMR
Inflation Rate: 1% after the initial supply is fully mined