CryptoNote

CryptoNote — протокол прикладного уровня, на основе которого построено семейство анонимных криптовалют, наиболее известными из которых являются Bytecoin и Monero. Анонимность в CryptoNote реализована за счёт использования кольцевых подписей (скрывают отправителя) и одноразовых адресов (скрывают получателя).

История 
Протокол разработан в 2012 году разработчиком (или группой разработчиков) под псевдонимом Николас ван Саберхаген. Его математическая составляющая и мотивация описаны в статье «CryptoNote Whitepaper», выпущенной в двух редакциях: в 2012 и в 2013 годах. Bytecoin, запущенный летом 2012 года, был первой криптовалютой, основанной на этой технологии. Позже несколько команд запустили свои сети, взяв за основу код Bytecoin.

Эмиссия 
Так же как и в Биткойн, майнеры получают награду за найденные решения. Но ступенчатая кривая выпуска, характерная для Биткойн, в CryptoNote заменена на плавную: награда уменьшается с каждым блоком. Это сделано для того, чтобы резкое изменение скорости выпуска монет не оказывала шокирующего влияния на их рыночную стоимость. Bytecoin и Monero используют разные параметры плавной кривой эмиссии. Разработчики DarkNote решили воспроизвести ступенчатую кривую, сокращая эмиссию в два раза каждый месяц.

Особенность алгоритма подтверждения работы 
Технология CryptoNote использует базу транзакций в виде цепочки блоков, похожую на базу Биткойна. База также защищёна от модификации методом proof-of-work на основе хеша. Но в CryptoNote время вычислений в большей степени зависит от скорости произвольного доступа к памяти, чем от скорости выполнения простых математических операций. Алгоритм включает в себя:
 Keccak и функцию губки;
 аналогичный используемому в алгоритме Scrypt буфер размером 2MB, к которому выполняется произвольный доступ на чтение и на запись;
 64-битные операции умножения;
 вычисление раунда шифрования AES;
 дополнительные хеш-функции: BLAKE, Grøstl, JH, Skein.

Эти нововведения усложняют создание специализированных процессоров для майнинга, массовое применение которых в сети Биткойн привело к тому, что владельцам обычных персональных компьютеров нет экономического смысла участвовать в майнинге. Разработка специализированного алгоритма подтверждения работы в CryptoNote ставит своей целью приблизиться к принципу «один процессор — один голос».

Анонимность 

Транзакции в CryptoNote похожи на транзакции в Биткойн: каждая транзакция обозначает смену владельца указанного количества единиц.
Несколько исследователей указывают на то, что на основе цепочки блоков Биткойн можно идентифицировать принадлежности некоторых Биткойн-адресов. Для затруднения такого рода анализа в технологии CryptoNote используются одноразовые адреса в качестве адресов получателя и кольцевые подписи, указывающие одновременно на право распоряжаться одним из выходов, формирующих заданную сумму, но не позволяющие определить, каким именно из перечисленных выходов воспользовался отправитель.

Транзакции, подписанные кольцевой подписью, ссылаются на несколько других транзакций в цепочке блоков. При этом не требуется, чтобы все перечисленные транзакции были адресованы данному отправителю. С точки зрения наблюдателя, такая транзакция с равной вероятностью может использовать в качестве входа любую из транзакций, на которые она ссылается. Чем большее количество ссылок на предыдущие транзакции включено в кольцевую подпись, тем больше неопределённость и тем больше размер самой подписи. От размера транзакции зависит комиссия сети за её включение в блок. Отправитель может выбирать между снижением комиссии и увеличением анонимности. Этот подход к анонимности может быть описан как пассивный децентрализованный миксинг.

Выходы транзакций отправляются на одноразовый адрес, который генерируется из реального адреса отправителя и случайного ключа транзакции. Получатель сможет вычислить необходимый для распоряжения полученным закрытый ключ из своего закрытого ключа и того же случайного ключа, указанного в теле транзакции. С точки зрения наблюдателя, несколько транзакций в пользу одного и того же адреса будут выглядеть как отправленные на разные адреса, не имеющие между собой ничего общего.

См. также 
 Криптоанархизм
 Подходы к анонимности в криптовалютах:
 Zerocoin
 Dash (старое название — DarkCoin)

Примечания 

Криптовалюты
Анонимные сети
Криптографическое программное обеспечение
Свободное кроссплатформенное программное обеспечение