2019-11-20 10:50 |
Grin — криптовалютный проект, мейннет которого запустили в январе 2019 года. Grin позиционируется как анонимная монета, работающая на протоколе приватности MimbleWimble. В понедельник Иван Богатый из Dragonfly Research сообщил, что обнаружил критическую уязвимость в архитектуре конфиденциальности Mimblewimble. Представители проекта дали ответ и разъяснили ситуацию, а мы поинтересовались мнением эксперта.
Недостатки криптовалюты GrinРезультаты своего исследования Иван изложил в публикации на Medium. Он заявил, что смог раскрыть 96 процентов адресов, которые участвуют в транзакциях Grin. При этом исследование оказалась не из дорогих — для работы эксплойта требуется 60 долларов в неделю. Они уходят на оплату работы AWS, то есть сервера на облачной платформе Amazon Web Services.
Несмотря на скромную стоимость, автор называет итог своей работы очень важной. По его словам, недостаток протокола заметно понижает шансы протокола MimbleWimble стать серьёзным конкурентом для анонимных Zcash или Monero.
Вот его комментарий.
В моей атаке я смог связать 96 процентов всех транзакций, при этом подключившись только к 200 пирам из всех 3000 пиров сети Grin. Но если бы я хотел потратить немного больше денег, то тогда смог бы с лёгкостью подключиться к 3000 узлам и связать между собой почти все транзакции.
Под словом “связать между собой” Иван имеет в виду предотвращение соединения транзакций в CoinJoin, который обеспечивает анонимность.
CoinJoin — метод объединения многих платежей от разных пользователей в одну большую транзакцию. Соответственно, отследить конкретную операцию становится сложнее.
CoinJoin представляет собой объединение многих транзакций. В то же время другие приватные криптовалюты используют для обеспечения анонимности ложные выводы неизрасходованных транзакций UTXO или защищённые транзакции.
То есть Иван Богатый смог отследить участников транзакций. Он сообщил, что разработчики знали об этой особенности, но исправить в протоколе уже ничего не получится.
Проблема свойственна Mimblewimble, и я не верю, что есть способ её исправить. Поэтому Mimblewimble больше не следует рассматривать как достойную альтернативу Zcash или Monero, когда речь заходит о конфиденциальности.
Курс криптовалюты Grin отреагировал на сообщение. За сутки с момента публикации статьи он просел приблизительно на 12 процентов — до 1.28 доллара. Сегодня утром монета остаётся на этом уровне.
Справедливости ради отметим, что о данной особенности CoinJoin известно относительно давно. В статье на Хабре от 5 февраля 2019 года отмечено, что “уже есть способы выявить CoinJoin-транзакции в сети и сопоставить наборы входов наборам выходов путем сравнения сумм потраченных и сгенерированных монет”. Однако результат в виде снижения курса уже есть.
Теперь разработчики Grin опубликовали ответ в отдельной публикации на Medium.
Она состоит из шести пунктов, которые последовательно связаны друг с другом:
у Mimblewimble нет адресов, которые можно было бы связать с конкретным Биткоин-кошельком; невозможно связать адреса, которые не существуют. По мнению разработчиков, Ивану было удобно подменить понятия — назвать выходные данные транзакций TXO адресами, но это не одно и то же. Ну а о связи данных с TXO было известно и раньше, более того, разработчики сами об этом писали даже до запуска mainnet Grin; автор исследования собрал информацию о 95.5 процента транзакций в сети за определённый период. Разработчики не понимают, какие данные мог получить Богатый, кроме как того, что “Вывод А тратится на Вывод Б”; график транзакций сам по себе не раскрывает информацию о сторонах сделки; по заявлению автора, график транзакций раскрывает конкретные стороны, которые проводили операции. Разработчики Grin говорят, что это так не работает. Нода, которая отслеживает работу сети, не сможет раскрыть какую-либо информацию об отправителе; заголовок исследования не отвечает своей сути. Модель приватности MimbleWimble не скрывает выводы транзакций от нод мониторинга, однако разработчики и не заявляли обратное. В итоге они хотят к этому прийти.Мы попросили комментарий Славы Карпенко, CTO майнинг-пула 2Miners.
В целом я согласен с ребятами из Grin о том, что исследователь решил раздуть из мухи слона. Конечно, не в интересах разработчиков признавать какие-либо фундаментальные уязвимости (потому их ответ тоже стоит оценивать критически), но человек, в принципе, ничего нового не открыл — а то, что в теории можно отследить цепочку транзакций, известно было изначально. Иная цель при разработке протокола Mimblewimble и не ставилась. Непосредственно отправителя и получателя установить всё равно невозможно (если ты не один из них), так как транзакция происходит по принципу peer-to-peer и в блокчейн записывается только её “подтверждение”.
Потому да, используя сервер, который сидит в сети и отслеживает memory pool, можно узнать, что кто-то отправил кому-то что-то (так как ни суммы, ни адреса таким способом получить нельзя), а затем этот получатель отправил часть (а может и все) из полученных токенов куда-то дальше, но не более того. Потому волноваться нечего, громкие заголовки и хайп — хлеб многих исследователей безопасности (да и не только их).
Если вы хотите начать майнить Grin, рекомендуем ознакомиться с этим видео. Субтитры на русском есть.
ПОДПИСЫВАЙТЕСЬ НА НАШ КАНАЛ В ТЕЛЕГРАМЕ. У НАС БЕЗОПАСНО И АНОНИМНО.
Аналог Notcoin - Blum - Играй и зарабатывай Монеты