CryptoNote (CryptoNote)

Перейти к навигации Перейти к поиску

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 ставит своей целью приблизиться к принципу «один процессор — один голос»[источник не указан 3233 дня].

Анонимность

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

Транзакции в 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 года.