CryptoNote

CryptoNote is an application layer protocol that powers several decentralized privacy oriented digital currencies. It aims to be an evolution of the ideas behind Bitcoin.

The main difference between the two technologies is that Bitcoin (and most digital currencies) is less opaque than CryptoNote-based currencies due to the latter's blockchain being almost anonymous, contrary to non-Cryptonote blockchains. CryptoNote currencies use a distributed public ledger that records all balances and transactions of its in-built currency like Bitcoin. Unlike Bitcoin, CryptoNote's transactions cannot be followed through the blockchain in a way that reveals who sent or received coins. The approximate amount of a transaction can be known, but the origin, destination, or actual amount cannot be learned. The only information available is that the actual amount was lower than the displayed amount. The only people with access to the whole set of data about a transaction are the sender or receiver of the transaction and the person who possesses one or both secret keys.

CryptoNight
Another significant difference is CryptoNote's hash-based proof-of-work algorithm. Bitcoin uses SHA256, which is a CPU-bound function. That means that participants (miners) are only limited by their calculation speeds, and it is relatively cheap to create an application-specific integrated circuit (ASIC) device, which will surpass an ordinary computer in hashes per unit of money. CryptoNote uses memory bound function CryptoNight, which cannot be easily pipelined. Each new block also depends on all the previous blocks, compared to scrypt. The algorithm requires about 2 Mb per instance:


 * 1) It fits in the L3 cache (per core) of modern processors.
 * 2) A megabyte of internal memory is almost unacceptable for the modern ASICs.
 * 3) GPUs may run hundreds of concurrent instances, but they are limited in other ways. GDDR5 memory is slower than the CPU L3 cache and remarkable for its bandwidth, not random access speed.
 * 4) Significant expansion of the scratchpad would require an increase in iterations, which in turn implies an overall time increase. "Heavy" calls in a trustless p2p network may lead to serious vulnerabilities, because nodes are obliged to check every new block's proof-of-work. If a node spends a considerable amount of time on each hash evaluation, it can be easily DDoSed by a flood of fake objects with arbitrary work data (nonce values).

CryptoNote's codebase is not forked from Bitcoin's, so it also has other different inner algorithms, for things such as recalculating new difficulty level or new block size.

Criticism
Similar to Bitcoin, little is known about CryptoNote's true origins. The official website uses supposedly fake names for the team members, while the white paper's author is Nicolas van Saberhagen, which is also likely to be a pseudonym. The white paper "CryptoNote v 2.0" is dated back to October 2013. There are claims that this date isn't correct: bitcointalk.org user rethink-your-strategy discovered copies of CryptoNote whitepapers with XPM properties set to 2014 on cryptonote.org site while nearly same documents with 2013 and 2012 years in XPM properties were available on bytecoin.org site.

It was also mentioned that the team developing CryptoNote had experienced a schism and went separate ways.

Philosophy
CryptoNote philosophy has several key points: privacy as a fundamental human right; government's influence and control remission as an aim. The economy should be separated from politics, communities should set new transparent principles, and impartial cryptographic algorithms should control its implementation.

Major implementations

 * Bytecoin
 * Monero