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

История править

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

Эмиссия править

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

Особенность алгоритма подтверждения работы править

Технология CryptoNote использует базу транзакций в виде цепочки блоков, похожую на базу Биткойна. База также защищёна от модификации методом proof-of-work на основе хеша. Но в CryptoNote время вычислений в большей степени зависит от скорости произвольного доступа к памяти, чем от скорости выполнения простых математических операций. Алгоритм включает в себя:[6]

  • Keccak и функцию губки;
  • аналогичный используемому в алгоритме Scrypt буфер размером 2MB, к которому выполняется произвольный доступ на чтение и на запись;
  • 64-битные операции умножения;
  • вычисление раунда шифрования AES;
  • дополнительные хеш-функции: BLAKE, Grøstl, JH, Skein.

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

Анонимность править

 
Отслеживаемость платежей при использовании кольцевых подписей.

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

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

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

См. также править

Примечания править

  1. Antonopoulos, Andreas. Chapter 9. Alternative Chains, Currencies, and Applications // Mastering Bitcoin. Unlocking Digital Crypto-Currencies (англ.). — 2014. — ISBN 978-1-4919-0261-5. Архивировано 20 апреля 2015 года.
  2. CryptoNote - убийца Bitcoin? (23 июня 2014). Дата обращения: 20 апреля 2015. Архивировано 1 декабря 2017 года.
  3. CryptoNote — новый алгоритм криптовалют (26 октября 2014). Дата обращения: 20 апреля 2015. Архивировано из оригинала 15 апреля 2015 года.
  4. Nicolas van Saberhagen. CryptoNote v 1.0 (12 декабря 2012). Дата обращения: 20 апреля 2015. Архивировано из оригинала 9 июля 2017 года.
  5. Nicolas van Saberhagen. CryptoNote v 2.0 (17 октября 2013). Дата обращения: 20 апреля 2015. Архивировано 9 августа 2014 года.
  6. bytecoin / src / crypto / slow-hash.c. GitHub. (недоступная ссылка)
  7. Simonite, Tom. Mapping the Bitcoin Economy Could Reveal Users’ Identities. MIT Technology Review (5 сентября 2013). Дата обращения: 21 апреля 2015. Архивировано 3 апреля 2015 года.
  8. Tk Hamed. Bytecoin & Monero: Next Step to 2nd Generation Anonymity. Coins Source (27 апреля 2014). Дата обращения: 20 апреля 2015. Архивировано 18 октября 2014 года.