Наверняка вы, как пользователь биткоина, эфира или любой другой криптовалюты, были обеспокоены тем, что любой желающий может видеть, сколько монет у вас в кошельке, кому вы их переводили и от кого получали. Вокруг анонимных криптовалют ходит много споров, но кое с чем нельзя не согласиться — как
В этой статье мы рассмотрим технологический аспект анонимности — как они это делают, и приведем краткий обзор наиболее популярных методов, их плюсы и минусы.
Сегодня существует около десятка блокчейнов, позволяющих осуществлять анонимные транзакции. При этом для одних анонимность переводов обязательна, для других опциональна, одни скрывают только адресатов и получателей, другие не позволяют третьим сторонам видеть даже суммы переводов. Практически все рассматриваемые нами технологии дают полную анонимность — ни балансы, ни получателей, ни историю транзакций сторонний наблюдатель анализировать не может. Но начнем наш обзор с одного из первопроходцев в этой области, чтобы проследить эволюцию подходов к анонимности.
Существующие на данный момент технологии анонимизации условно можно разделить на две группы: основанные на замешивании — где используемые монеты замешиваются с другими монетами из блокчейна, — и технологии, которые используют доказательства, основанные на полиномах. Далее мы остановимся на каждой из этих групп и рассмотрим их плюсы и минусы.
Основанные на замешивании
ເຂົ້າຮ່ວມ
В ее основе лежит простая идея — что если пользователи будут скидываться и проводить свои платежи единой транзакцией? Получается, что если Арнольд Шварценеггер и Барак Обама скинулись и совершили два платежа Чарли Шину и Дональду Трампу в одной транзакции, то становится сложнее понять, кто профинансировал предвыборную кампанию Трампа — Арнольд или Барак.
Но из главного плюса CoinJoin вытекает его главный минус — слабая защищенность. На сегодняшний день уже есть способы выявить CoinJoin-транзакции в сети и сопоставить наборы входов наборам выходов путем сравнения сумм потраченных и сгенерированных монет. Пример инструмента для такого анализа —
Pros:
• Простота
Cons:
• Продемонстрирована возможность взлома
Monero
Первая ассоциация, которая возникает при словах «анонимная криптовалюта», — Monero. Эта монета
В одной из своих недавних
В протоколе Monero каждый потраченный в транзакции выход замешивается с не менее чем 11 (на момент написания статьи) произвольными выходами из блокчейна, тем самым усложняя граф переводов в сети и делая задачу отслеживания транзакций вычислительно сложной. Замешанные входы подписываются кольцевой подписью, которая гарантирует, что подпись поставил владелец одной из замешанных монет, но не дает возможности определить, кто именно.
Для сокрытия получателей каждая вновь сгенерированная монета использует одноразовый адрес, что лишает наблюдателя возможности (настолько, насколько сложной является задача взлома ключей шифрования, разумеется) связать какой-либо выход с публичным адресом. А с сентября 2017 года Monero стала поддерживать протокол
Pros:
• Проверена временем
• Относительная простота
Cons:
• Генерация и верификация доказательства медленнее, чем у ZK-SNARKs и ZK-STARKs
• Не устойчива ко взлому с использованием квантовых компьютеров
Mimblewimble
Mimblewimble (MW) был придуман как масштабируемая технология анонимизации переводов в сети Bitcoin, но нашел свою реализацию как самостоятельный блокчейн. Используется в криптовалютах
MW примечателен тем, что не имеет публичных адресов, а для того чтобы отправить транзакцию, пользователи обмениваются выходами напрямую, таким образом исключая возможность стороннему наблюдателю проанализировать переводы от адресата к адресату.
Для сокрытия сумм входов и выходов используется довольно распространенный протокол, предложенный Грегом Максвеллом (Greg Maxwell) в 2015 году, —
В оригинале CT для гарантии неотрицательности значений (так называемый range proof) используют Borromean Signatures (кольцевые подписи Борромео), которые занимали очень много места в блокчейне (порядка 6 килобайт на один выход). В связи с этим к минусам анонимных валют, использующих данную технологию, относили большой размер транзакции, однако сейчас решили отказаться от этих подписей в пользу более компактной технологии — Bulletproofs.
В самом блоке MW нет понятия транзакции, есть только выходы, потраченные и сгенерированные в нем. Нет транзакции — нет проблемы!
Чтобы предотвратить деанонимизацию участника перевода на этапе отправки транзакции в сеть используется протокол
Pros:
• Малый размер блокчейна
• Относительная простота
Cons:
• Генерация и верификация доказательства медленнее, чем у ZK-SNARKs и ZK-STARKs
• Поддержку таких возможностей, как скрипты и мульти-подписи, сложно реализовать
• Не устойчива ко взлому с использованием квантовых компьютеров
Доказательства на полиномах
ZK-SNARKs
Замысловатое название этой технологии расшифровывается как «
В общем случае zero-knowledge proof позволяет одной стороне доказать второй истинность некоторого математического утверждения, не раскрывая никаких сведений о нем. Относительно криптовалют такие методы используют для доказательства того, что, например, транзакция не производит монет больше, чем тратит, не раскрывая при этом сумм переводов.
ZK-SNARKs очень сложна для понимания, а для описания принципов ее работы потребуется не одна статья. На официальной странице Zcash, первой валюты, реализующей этот протокол, описанию его работы посвящено
С помощью алгебраических полиномов ZK-SNARKs доказывает, что отправитель платежа владеет монетами, которые тратит, и что сумма потраченных монет не превосходит суммы сгенерированных.
Этот протокол создавался с целью уменьшения размера доказательства валидности утверждения и при этом быстрой его верификации. Так, согласно
Однако перед началом использования этой технологии требуется процедура сложной настройки доверенными лицами (trusted setup) «общественных параметров», которая называется «церемонией» (
Pros:
• Малый размер доказательства
• Быстрая верификация
• Относительно быстрая генерация доказательства
Cons:
• Сложная процедура установки публичных параметров
• Токсичные отходы
• Относительная сложность технологии
• Не устойчива ко взлому с использованием квантовых компьютеров
ZK-STARKs
У авторов последних двух технологий хорошо получается играть с акронимами, и очередной акроним расшифровывается как «Прозрачное масштабируемое доказательство с нулевым разглашением» («Zero-Knowledge Scalable Transparent ARguments of Knowledge»). Этот метод был призван решить имеющиеся на тот момент недостатки ZK-SNARKs: необходимость в доверенной установке публичных параметров, наличие токсичных отходов, неустойчивость криптографии к взлому с помощью квантовых алгоритмов и недостаточно быструю генерацию доказательства. Однако с последним недостатком разработчики ZK-SNARK справились.
ZK-STARKs также используют доказательства, основанные на полиномах. Технология не подразумевает использование криптографии на публичных ключах, вместо этого полагаясь на хэширование и теорию передачи информации. Отказ от этих криптографических средств делает технологию стойкой к квантовым алгоритмам. Но это имеет свою цену — доказательство может достигать в размере нескольких сотен килобайт.
Сейчас ZK-STARK не имеют реализации в какой-либо из криптовалют, а существуют только в виде библиотеки
О том, как устроены ZK-STARK, подробнее можно прочитать в постах Виталика Бутерина (
Pros:
• Устойчивость ко взлому квантовыми компьютерами
• Относительно быстрая генерация доказательства
• Относительно быстрая проверка доказательства
• Отсутствие токсичных отходов
Cons:
• Сложность технологии
• Большой размер доказательства
ສະຫລຸບ
Блокчейн и растущий спрос на анонимность ставят перед криптографией новые требования. Так, зарожденный в середине 1980-х раздел криптографии — доказательства с нулевым разглашением — всего за несколько лет пополнился новыми динамично развивающимися методами.
Таким образом, полет научной мысли сделал CoinJoin устаревшим, а MimbleWimble — перспективным новичком с довольно свежими идеями. Monero неизменно остается непоколебимым гигантом на страже нашей конфиденциальности. А SNARKs и STARKs, хоть и имеют недостатки, могут стать лидерами области. Возможно, в ближайшие годы указанные нами пункты в графе «Минусы» каждой из технологий станут неактуальными.
ແຫຼ່ງຂໍ້ມູນ: www.habr.com