CryptoNote

CryptoNote — это протокол прикладного уровня, который поддерживает несколько децентрализованных цифровых валют, ориентированных на конфиденциальность. Он призван стать развитием идей Биткоина.

О CryptoNote

Основное различие между этими двумя технологиями заключается в том, что биткойн (и большинство цифровых валют) менее непрозрачен, чем монеты на основе CryptoNote, поскольку блокчейн последнего является почти анонимным, в отличие от блокчейнов не-Cryptonote. Валюты CryptoNote используют распределенную открытую книгу, в которой записываются все остатки и транзакции в его встроенной валюте, такой как биткойн. В отличие от Биткойна, транзакции CryptoNote не могут отслеживаться через блокчейн таким образом, чтобы показать, кто отправил или получил монеты. Приблизительная сумма транзакции может быть известна, но невозможно узнать источник, место назначения или фактическую сумму. Единственная доступная информация — это то, что точная сумма была меньше отображаемой суммы. Отдельные люди, имеющие доступ ко всему набору данных о транзакции, являются отправителем или получателем транзакции и лицом, обладающим одним или обоими секретными ключами.

Еще одним существенным отличием является алгоритм проверки работы CryptoNote, основанный на хэше. Биткойн использует SHA-256, функцию, связанную с процессором. Это означает, что их скорости вычислений ограничивают только участников (майнеров), и создание устройства с интегральной микросхемой для конкретного приложения (ASIC) сравнительно дешево, которое превзойдет обычный компьютер по хэшам на единицу денег. CryptoNote использует связанную с памятью функцию CryptoNight, которая не может быть легко передана по конвейеру.

Кодовая база CryptoNote не разветвляется от биткойнов, поэтому у нее также есть другие различные внутренние алгоритмы, например, для пересчета нового уровня сложности или нового размера блока.

История создания

Технология CryptoNote была впервые описана в официальном документе CryptoNote v 1.0. Обновленная версия была выпущена под названием CryptoNote v 2.0 позже. Криптовалюта Bytecoin была первой, где был реализован основной криптографический протокол. CryptoNote был сначала разработан на Java для более быстрого запуска, а затем переписан на C++ в 2013 году.

CryptoNote основан на многих ранних работах и ​​протоколах и учитывает несколько вопросов, поднятых ранее. Ниже приведен список наиболее важных документов и событий, которые повлияли на CryptoNote:

  • 1983 — «слепые» подписи, описанные Дэвидом Чаумом;
  • 1997 — HashCash (пример системы проверки работоспособности), изобретенный Адамом Бэком;
  • 2001 — Рон Ривест, Ади Шамир и Яэль Тауман предложили криптографическому сообществу подписи в виде колец;
  • 2004 — Патрик Цанг и Виктор К. предложили использовать систему кольцевой подписи для голосования и электронных денег;
  • 2008 — Биткойн-whitepaper, опубликованный Сатоши Накамото;
  • 2011 — Анализ анонимности в системе Биткойн, Фергал Рейд и Мартин Харриган;
  • 2012 — Анонимность адреса назначения в биткойнах (одноразовые адреса в CryptoNote).

Анонимные транзакции и кольцевые подписи

Изменения в результатах анализа блокчейна после реализации кольцевых подписей.

Как и биткойны, в валютах CryptoNote используется публичный адрес, состоящий из псевдослучайных чисел и букв, полученных из открытых ключей пользователя. Адреса служат публичными идентификаторами пользователей. Однако, в отличие от Биткойна, транзакции CryptoNote скрывают связь между адресами отправителя и получателя.

Конфиденциальность отправителя

Чтобы предотвратить идентификацию отправителя, CryptoNote группирует открытый ключ отправителя с несколькими другими ключами (точнее, он упорядочивает вывод отправителя с выходами нескольких других), делая невозможным определение того, кто отправил транзакцию. Этот подход не требует выделенных мастер-нодов для смешивания монет и не требует участия других пользователей в генерации транзакций. Он по-прежнему гарантирует сети, что первоначальный отправитель имеет средства на своем счете для отправки транзакции, как это делает обычная схема подписи. Вместо того, чтобы доказывать с нулевым знанием тот факт, что «я обладаю закрытым ключом, который соответствует этому конкретному открытому ключу», подписывающий доказывает, «у меня есть по крайней мере один из закрытых ключей, которые соответствуют этому набору открытых ключей».

Конфиденциальность получателя

На стороне получателя технология генерирует новый открытый ключ для каждого денежного перевода, даже для одного и того же отправителя и получателя. Используя случайные данные отправителя и открытый адрес получателя, можно создать пару уникальных закрытых и открытых ключей посредством обмена ключами Диффи-Хеллмана. Отправитель генерирует одноразовый эфемерный ключ для каждой передачи, и только получатель может восстановить соответствующий закрытый ключ (чтобы погасить средства). Ни одна третья сторона не может определить, были ли отправлены две разные транзакции одному и тому же получателю.

Защита от двойной траты

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

CryptoNote решил эту проблему, используя более сложную схему вместо обычной кольцевой подписи: отслеживаемую кольцевую подпись. Алгоритм, первоначально предложенный Fujisaki и Suzuki в 2007 году, позволяет отслеживать отправителя двух разных сообщений, если они содержат один и тот же тег и подписаны соответствующим закрытым ключом.

Авторы CryptoNote немного упростили схему, заменив тег ключевым изображением и отбросив свойство прослеживаемости. Они назвали свой алгоритм одноразовой кольцевой подписью, «подчеркивая способность пользователя создавать только одну действительную подпись под своим закрытым ключом». Две разные подписи под одним и тем же ключом (попытка двойного расходования) могут быть легко связаны друг с другом, и только одна будет сохранена в блокчейне.

Основная идея заключается в использовании образа закрытого ключа в формулах подписи/проверки. Это не фактические изображения, которые вносят значительный вклад в раздувание блокчейна, а скорее число, которое соответствует каждому закрытому ключу один-к-одному (детерминировано полученное из него криптографической хэш-функцией). Изображение ключа не может быть использовано для получения закрытого ключа и открытого адреса, но, поскольку каждое использованное изображение ключа хранится в цепочке блоков, сеть будет блокировать любые дубликаты. Аналогичным образом, любая попытка создать ключевое изображение не будет вписываться в математическую формулу во время проверки транзакции и будет отклонена. Недостатком этого является то, что было бы невозможно идентифицировать любого, кто пытается выполнить двойные расходы с мошенническим намерением или в результате программного или человеческого фактора. Система, однако, будет блокировать такие попытки.

Эгалитарный proof-of-work

Механизм proof-of-work CryptoNote — это система голосования, в которой пользователи голосуют за правильный порядок транзакций, новые функции в протоколе и честное распределение денежной массы. Важно, чтобы в процессе голосования каждый участник имел равные права голоса. Большинство монет CryptoNote используют алгоритм CryptoNight для запуска своего блокчейна и защиты своих сетей, единственным исключением является Boolberry. CryptoNight — это алгоритм проверки работоспособности, который сочетает в себе работу графического процессора (GPU) и центрального процессора (CPU) для создания системы, устойчивой как к специализированным интегральным схемам (ASIC), так и к быстрым устройствам памяти на кристалле. Это разработано, чтобы создать более равномерное распределение монет через жизнь валюты. Однако есть некоторые вопросы о его восприимчивости к ботнетам.

Алгоритм включает в себя:

  • Keccak;
  • Scrypt-подобный блокнот на 2 МБ со случайным поиском (чтение-запись);
  • 64-битные умножения;
  • Шифрование с использованием расширенных стандартов шифрования (AES)
  • Хеш-функции BLAKE, Grøstl, JH, Skein

Адаптивные сетевые ограничения

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

Философия CryptoNote

Философия CryptoNote основана на конфиденциальности как фундаментальном праве человека и равноправии. Согласно официальному документу, алгоритм CryptoNight предназначен для того, чтобы монета придерживалась оригинального видения Сатоши Накамото системы «один процессор-один-голос». Таким образом, огромное преимущество GPU по сравнению с CPU в большинстве криптовалют значительно снижается в CryptoNight. Независимо от того, является ли это хорошая вещь или нет, является спорным.

Валюты, использующие CryptoNote

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

Bytecoin (BCN)

Bytecoin (BCN), который не следует путать с биткойнами (BTC), был первой реализацией протокола CryptoNote, запущенным в июле 2012 года. С момента запуска было внесено несколько улучшений, включая транзакции с несколькими подписями и несколько обновлений безопасности. В 2013 году оригинальная реализация CryptoNote Java была переписана с использованием C++.

Блокчейн Bytecoin содержит некоторую дополнительную информацию, не связанную напрямую с денежными переводами: несколько блоков включают географические координаты университетов, образовательные объекты и другие здания.

31 марта 2015 года разработчики Bytecoin объявили о своей дорожной карте для нескольких предстоящих выпусков.

Были упомянуты следующие улучшения:

  • платежный шлюз, способный принимать и отправлять тысячи транзакций одновременно
  • ПО для криптовалюты с графическим интерфейсом для настольных компьютеров (выпущено несколько недель спустя в апреле 2015 года)
  • несколько уровней API для интеграции с другим программным обеспечением
  • система псевдонимов на основе блокчейна
  • активы на основе блокчейна
  • смарт контракты со встроенным полным языком Тьюринга

Monero (XMR)

Monero в настоящее время является самым известным из всех CryptoNotes и имеет постоянную поддержку со стороны сообщества. Созданная в апреле 2014 года компанией Bytecoin, она имеет 2-минутную цель блока и на 50% более медленную скорость выброса. Монеро высоко оценили разработчики ядра Биткойн Грегори Максвелл, Питер Тодд и Владимир Дж. Ван дер Лаан.

В сентябре 2014 года на Monero было совершено нападение, когда кто-то использовал уязвимость в CryptoNote, которая позволила создать две подцепи, которые отказывались признавать действительность транзакций друг на друге; CryptoNote выпустила патч, который реализовал Monero.

Наряду с simplewallet Monero имеет множество приложений с графическим интерфейсом для кошельков, а также MyMonero, запущенный 24 ноября 2014 года. Monero также объединилась с академическими криптографами, внедрила обширную систему псевдонимов OpenAlias, частично финансируемое решение для конфиденциальности для интеграции I2P в Monero, и создала анонимная система голосования, URS, и реализованные мнемонические семена Electrum.

Karbo(vanets) (KRB)

Karbo — это валюта CryptoNote, созданная изначально украинскими разработчиками и распространенная среди сообщества по всему миру. В валюте не было ни премина, ни инстамина, ни жесткой вилки, и она не была жестко разветвлена ни одной монетой CryptoNote. Как и Monero, он использует алгоритм CryptoNite для своей цепочки блоков CryptoNote, но, в отличие от него, установил низкую комиссию за транзакцию — 0,0001 KRB за транзакцию.

Работа над блокчейном Karbo и его свойствами постоянно ведется сообществом, чтобы принести больше монет и функций безопасности.

Boolberry (BBR)

Boolberry использует хеш-функцию Wild Keccak, а не CryptoNight. Boolberry улучшает технологию обычного CryptoNote несколькими способами. Boolberry предлагает улучшенную анонимность благодаря несвязываемым выводам. Boolberry сокращает размер блокчейна, глобальной бухгалтерской книги всех транзакций, обрезая кольцевые подписи. Это обеспечивает уменьшение размера блокчейна более чем на 55%. Эти функции отсутствуют ни в одной другой криптовалюте на основе CryptoNote.

Архитектура Daemon-wallet

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

Размер блокчейна и размер кольцевой подписи

Тип кольцевой подписи, используемый в CryptoNote, растет линейно с несколькими открытыми ключами, используемыми при микшировании. Точная формула имеет вид S=64n+32 байта, где n — количество указанных ключей (включая ключ отправителя). Была предложена еще одна кольцевая подпись меньшего размера; например, размер подписи Чандрана пропорционален квадратному корню из n. Когда n достаточно велико, разница становится более существенной: при определенных условиях подпись Чандрана составляет 4 КБ, а подпись кольца CryptoNote — 36 КБ. Но по состоянию на 2015 год ни один из предложенных алгоритмов не реализован ни в одной криптовалюте.

Разработчик Boolberry, монеты на основе CryptoNote, предложил другое решение этой проблемы, вернувшись назад и обрезав старые подписи из блокчейна; однако указанное решение еще не было реализовано.

Тем не менее, аналогия с простой проверкой платежа Биткойн все еще возможна: пользователь может избежать запуска полного узла и сохранения всей цепочки блоков, запрашивая сеть для ветви транзакции Merkle.

Происхождение

Автор документации получил имя Николас ван Саберхаген, хотя, как и Сатоши Накамото (автор документации Биткойн), это имя, вероятно, является псевдонимом. Истинная личность Саберхагена и его местонахождение остаются неизвестными. Некоторые утверждают, что настоящим создателем является кто-то из сообщества биткойнов. Адам Бэк, Ник Сзабо и даже Сатоши Накамото, но нет никаких доказательств, подтверждающих эти заявления.

Обсуждается также возможное участие Stanford Bitcoin Group в создании протокола CryptoNote. До протокола криптовалюты CryptoNote в домене cryptonote.org размещалось приложение с зашифрованными сообщениями, также называемое CryptoNote. Это приложение было разработано членами Стэнфордской биткойн-группы, но не получило полного признания. Этот веб-сайт в настоящее время содержит технологию CryptoNote.

Теория заговора Coin Mill

Несколько выпусков монет на основе CryptoNote выглядят очень похоже в том смысле, что их объявления на форуме bitcointalk.org были созданы учетными записями «новичков» и имели одинаковые формулировки, подчеркивая такие лозунги, как «майнинг только на процессоре» и «устойчивость к ASIC». Кроме того, тот же сервис обмена файлами был использован для релизов. Предполагается, что единственной целью таких запусков было заработать легкие деньги, а создатели не собирались поддерживать и развивать эти форки.

Поддельные версии документации

Активисты сообщества обнаружили измененные версии технических документов CryptoNote с цифровыми подписями, которые не соответствуют ключу PGP Николаса ван Саберхагена и отсутствуют водяные знаки PGP. Этот инцидент был связан с подделкой документов. Разумная цель этого действия состояла в том, чтобы опровергнуть утверждения о публичной доступности CryptoNote с 2012 года, чтобы получить конкурентное преимущество. Модифицированный технический документ содержал ссылку на ветку обсуждения, начатую в мае 2013 года на форуме bitcointalk.org и созданную с использованием программного обеспечения TeX Live, выпущенного в 2013 году, со свойством даты XMP, установленным на 2014 год.

Bytecoin и Cicada

Сайт Bytecoin Tor содержал скрытое сообщение о Cicada 3301. Пользователи также заметили, что изображения в стиле Cicada использовались разработчиками Bytecoin или кем-то, кто их выдавал за себя. Блокчейн Bytecoin содержит несколько загадок, состоящих из нескольких сообщений. Одно из этих сообщений, возможно, относится к Cicada: «И это имя человека, которому вы должны дать свой ключ. Чтобы найти его, следуйте за маленьким кроликом на земле, где вы недавно жили».

См. также на BitcoinWiki

Ссылки