12 февраля хакеры воспользовались уязвимостью в Trinity, официальном кошельке IOTA, и смогли украсть с нескольких аккаунтов монеты на сумму до $1.6 млн. Команда проекта сработала оперативно: выключила узел, подтверждающий транзакции, тем самым отключив транзакции в сети, подключила к расследованию правоохранительные органы и оперативно выпустила обновление кошелька, устраняющее уязвимость. Интересно, что взлом совпал с публичным конфликтом основателей IOTA, которые не могут поделить между собой $20 млн. При этом часть пользователей обвиняет команду проекта в излишней централизации — шутка ли, отключить всю сеть — и подозревает, что во взломе замешано само руководство IOTA. DeCenter разобрался в причинах падения сети IOTA, уязвимости кошелька Trinity, критике проекта и планах по обновлению сети.

Уязвимость кошелька Trinity

Команда IOTA сообщила, что пока известно лишь о 10 взломанных аккаунтах сети. Точная сумма ущерба не разглашается, но, по инсайдерской информации, хакеры вывели монеты на сумму, эквивалентную $1.6 млн.

«Около $1.6 млн монетами IOTA были украдены с ~10 крупных счетов. Уязвимость, скорее всего, находится в (официальной) десктоп-версии кошелька. Сеть полностью остановлена уже почти 24 часа. Сообщество IOTA должно оставаться сильным», — написал анонимный пользователь Twitter.

С первого же дня происшествия команда IOTA подробно отчитывается о ходе расследования происшествия на странице status.iota.org. Деталей известно пока немного — команда проекта подчеркивает, что не может сообщить технические подробности из-за опасений, что уязвимостью попытаются воспользоваться снова.

По версии команды IOTA, хакеры (или хакер) воспользовались брешью в десктопной версии Trinity — официального кошелька IOTA, выпущенного в августе 2018 года. Атака была проведена вручную, без использования скриптов. Хакерам удалось узнать seed-фразы от кошельков, и они выбрали для взлома несколько из них с наибольшим балансом. Один из пострадавших пользовался версией кошелька на macOS, остальные — на Windows. Случаев взлома мобильной версии кошелька или аппаратных устройств выявлено не было.

Команда IOTA подчеркивает, что уязвимость была именно в Trinity — протокол IOTA не был взломан.

Отключение узла Coordinator и прекращение платежных транзакций

IOTA была запущена в 2016 году и занимает 24 место по капитализации ($785 млн). Это самый популярный проект, использующий вместо блокчейна технологию направленного ациклического графа — DAG (он также используется в Hedera Hashgraph). Вместо майнинга или размещения стейка транзакции подтверждаются минимум двумя другими транзакциями и централизованной нодой — Coordinator, контролируемой IOTA Foundation. Это позволяет сети IOTA быть отличным местом для хранения данных, например, генерируемых устройствами Интернета вещей (IoT), но в то же время Coordinator делает сеть централизованной. IOTA Foundation может полностью остановить работу сети, предоставить приоритет или проигнорировать определенные транзакции, а сам Coordinator является централизованной точкой сбоя, поскольку если он будет взломан или остановит работу, вся сеть IOTA перестанет функционировать.

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

Команда IOTA следит за украденными средствами в режиме реального времени. Хакеры попробовали запутать следы, разделяя транзакции. Но отключение Coordinator фактически остановило работу сети IOTA — это помогло предотвратить новые кражи и помешало хакерам вывести украденные средства. Отслеживаемые средства пока не были переведены или обналичены. Причина этого, скорее всего, в том, что биржи помечают украденные средства и следят за их передвижением. Такие монеты называют «грязными», и если они попадут к обычному законопослушному пользователю, тому будет сложно от них избавиться: биржи не будут их принимать и заблокируют аккаунт. О том, как именно устроен данный процесс, можно узнать в материале DeCenter «Что делать, чтобы не вляпаться в «грязную» криптовалюту».

При этом к расследованию взлома кошельков привлечены сотрудники полиции и эксперты кибербезопасности. 17 февраля IOTA написала, что изыскания показали: взлом начался еще примерно 25 января этого года — тогда seed-фразы некоторых пользователей десктопной версии Trinity были скомпрометированы.

Устранение уязвимости в кошельке Trinity

Отдадим должное команде IOTA — они действовали оперативно. Так, 17 февраля IOTA выпустила обновления десктопной Trinity — версию 1.4.1. По заявлениям разработчиков, новая версия кошелька безопасна — они успешно устранили уязвимость.

Однако Coordinator по-прежнему не работает — пользователи не могут проводить платежные транзакции. Но они могут проверить свой баланс и историю транзакций. Новую версию можно загрузить с GitHub, установить вместо старой и сменить пароль. Обновленной мобильной и аппаратной версии пока нет, но пользователей по-прежнему просят не пользоваться мобильным кошельком до выхода соответствующего обновления. Пользователям аппаратных кошельков Ledger Nano обновляться не обязательно, но им также рекомендовано сменить пароль.

Команда разрабатывает план восстановления сети, который опубликуют чуть позже. Представленное обновление кошелька — временное. Окончательное опубликуют после возвращения сети к полноценной работе.

Если пользователь обнаружит пропажу средств или неподтвержденные исходящие транзакции, он должен связаться с командой проекта в мессенджере Discord или с членами IOTA Foundation. Также IOTA предупредила о существовании мошенников на Discord — они выдают себя за персонал IOTA Foundation и пишут пользователям от лица организации. Поэтому тем лучше писать команде проекта самостоятельно и напрямую на их официальные аккаунты.

Обвинения в излишней централизации проекта

Ряд пользователей обвиняют IOTA в ненадежности — ее безопасность вызывала вопросы ранее. Так, в начале 2018 года хакер украл у 85 пользователей IOTA монеты на сумму в $11.4 млн с помощью фишинг-атаки. Хакера арестовали в январе 2019 года — большинство украденных средств удалось вернуть пользователям. В конце декабря 2019 года юзеры не могли подтверждать транзакции в течение 24 часов из-за сбоя работы основной сети. Проблема была вызвана необычным набором транзакций, которые система восприняла за атаку. Разработчики быстро устранили уязвимость и выпустили обновление. По их заявлениям, это были сугубо технические сложности — безопасности сети ничего не угрожало.

Отключение Coordinator и фактическая заморозка сети IOTA в очередной раз продемонстрировали излишнюю централизацию проекта, о которой говорили и ранее. Инцидент показал, что у компании слишком большой контроль над сетью. Криптобиржи неоднократно взламывали на десятки миллионов долларов, но еще ни разу ни один проект не отключал сеть — большинство разработчиков децентрализованных проектов просто не могут это сделать.

«IOTA (#MIOTA) настолько децентрализована и распределена, что они могут буквально отключить ее», иронично написал в Twitter один из пользователей.

Обновление Coordicide должно сделать сеть более децентрализованной

Команда IOTA, со своей стороны, с конца 2018 года работает над обновлением Coordicide, которое заменит действующий протокол сети. 3 февраля компания выпустила версию 0.1.0 протокола — Coordicide Alphanet — на несколько месяцев раньше запланированного срока. Запуск основной сети ожидается во втором квартале 2020 года.

После обновления в сети IOTA не будет Coordinator — блокчейн будет работать на абсолютно новом протоколе. Сеть монеты должна стать быстрее, более масштабируемой и децентрализованной.

Блокчейн-компания активно развивает возможности для стимулирования роста своей экосистемы и ускорения ее внедрения. В Cоordicide Alphanet, первой версии обновления, уже работают основные функции Coordicide:

 Авто-пирринг: автоматическое обнаружение одноранговых узлов и выбор соседних ближайших узлов;

 Алгоритм Gossip для отправки и получения новых транзакций;

 Управление скоростью транзакций для их оптимизации, без ограничения в передаче;

 API-интерфейс.

Кроме того, проект намерен провести промежуточное обновление — Chrysalis. В нем добавится новая схема подписи и переход на концепцию UTXO (unspent transaction output — выход неизрасходованных транзакций).

Обвинения основателей в экзит-скаме

Взлом кошельков, недостаток информации о краже и отключение сети часть пользователей восприняли как доказательство того, что у IOTA серьезные проблемы и, возможно, руководство намеренно использовало уязвимость кошелька, готовясь к экзит-скаму.

Централизация IOTA и проблемы с безопасностью усугубляются конфликтом между основателем IOTA Дэвидом Сонстебо и бывшим членом совета директоров Сергеем Иванчегло. Они публично поссорились друг с другом в Twitter.

Сначала Иванчегло опубликовал твит о прекращении работы с Сонстебо по развитию стартапа Jinn Labs, предшествующего IOTA, и о готовности подать в суд с требованием выплаты 25 млн монет, которые эквивалентны $8.5 млн.

«Я уведомляю сообщество IOTA, что больше не работаю с Дэвидом Сонстебо, а также о том, что я связался с моими адвокатами, чтобы получить от него 25 млн монет. Он отказывается передать мне монеты, пытаясь заставить меня действовать в его интересах, против моих собственных», — написал Иванчегло в Twitter.

Сонстебо ответил длинным письмом к сообществу IOTA, в котором не упомянул о деньгах, но рассказал о споре с Иванчегло касательно Coordinator и путей развития проекта. Сонстебо утверждает, что именно Иванчегло настоял на том, чтобы Coordinator продолжил работать в сети, собрав собственную команду разработчиков для работы над форком сети IOTA. Но якобы тот так и не смог представить жизнеспособную версию или концепцию новой монеты. В ноябре прошлого года Иванчегло ушел из IOTA Foundation, продолжая оставаться в совете директоров, и сосредоточился на собственном проекте «Paracosm». Сонстебо пишет, что тем самым его бывший партнер лишил себя полагающейся ему доли токенов.

При этом Сонстебо готов предоставить Иванчегло интеллектуальные права на Jinn Labs, разделить с ним токены Jinn Labs, но не готов делиться токенами IOTA, «сети, которую он отверг и на которую пошел войной». Сонстебо также упрекает Иванчегло в препятствовании работе команды и даже угрозах в ее адрес. После твита Иванчегло IOTA Foundation опубликовал заявление о его выходе из совета директоров — теперь предприниматель больше не связан с компанией.

Через час после письма Сонстебо Иванчегло также опубликовал собственное заявление к IOTA Foundation. По его словам, он вышел из организации, чтобы самостоятельно завершить работу над IOTA. Несколько раз он пробовал объяснить свою позицию, но договориться не получилось. Поэтому он стал работать над собственной версией IOTA. Теперь Иванчегло выдвинул трехдневный ультиматум IOTA Foundation и Сонстебо, согласно которому ему должны были предоставить токены до 6 февраля, в противном же случае Иванчегло обещает подать в суд. Срок истек, но подробностей об иске пока нет.

В конечном итоге выяснилось, что соучредители спорят о 65 млн монет MIOTA, стоимостью более $19 млн — именно столько собирается оставить себе Сонстебо. Эти деньги — невыкупленные токены инвесторов краудсейла IOTA. После обнародования этой информации часть пользователей обвинили Сонстебо в попытке экзит-скама, а случившийся после этого взлом многим показался уже не просто совпадением. Сонстебо ответил сообществу IOTA, что готов выделить часть токенов инвесторам Jinn Labs. Пока конфликт продолжается, суть дела и его исход не ясны. Однако то, что руководство проекта злоупотребляет своей централизованной властью, бросает на него еще одну тень.

Преодолеет ли IOTA временные трудности?

У IOTA большие планы на 2020 год — команда планирует целый ряд технических обновлений, уделяя приоритетное внимание повышению производительности, децентрализации и безопасности.

Сейчас координационный механизм IOTA делает сеть чрезмерно централизованной: Coordinator — основная точка сбоя, а IOTA Foundation может закрыть сеть и игнорировать конкретные транзакции по своему желанию. Кроме того, кошелек Trinity потенциально может быть по-прежнему уязвим.

Однако подтверждений тому, что проект на грани краха, а основатели собираются пропасть с деньгами, нет. В ситуации взлома команда IOTA отреагировала оперативно: потери удалось минимизировать, средства отслежены, к расследованию подключена полиция. Об обновлениях, убирающих Coordinator, команда проекта говорит давно и уже показала первые результаты работы. Корпоративный конфликт, как выяснилось, продолжается уже несколько лет и до сих пор не сказывался на работе сети — не думаем, что скажется и сейчас.