реклама
Бургер менюБургер меню

Лора Шин – На шифре. Инсайдерская история криптовалютного бума (страница 36)

18

Многих – например Гриффа, Фабиана и Лефтериса – злило поведение и Гюна, и Стефана. Кое-кто считал, что Гюн ведет себя в СМИ как человек, который лучше всех все знает, хотя в чате безопасности The DAO в скайпе от него особой пользы не было. (По словам Гюна, он не сообщил о своем открытии, поскольку вместе с другим исследователем решил, что это несерьезная проблема, а его критики «просто обвиняли всех подряд, отказываясь принять ответственность».) А вот Кристоф – технический директор Slock.it, для которого весь мир рушился из-за того, что он подверг риску чужие деньги, – напротив, вкалывал как в Ethereum, так и в The DAO и был настоящим кодером (думал Фабиан). Особенно команду оскорбило, что Гюн выставил уязвимости в The New York Times всем преступникам на обозрение, вместо того чтобы сообщить программистам, которые могли бы провести форк The DAO заранее.

Но многих участников криптосообщества еще сильнее достал Стефан – представитель The DAO. В день взлома он выложил картинку вилки с зубцами, загнутыми в виде среднего пальца, и подписью: «ЭЙ, ВОР! ФОРК Ю!»

Ему ответили: «Постить мемы после того, как инвесторы потеряли из-за тебя миллионы… так бывает только в крипте». Другие твитнули: «Не парься, если в этот раз не выгорит, форкнемся еще раз, а потом форкнемся после того, как не сработает новый форк» и «Да, прям ужасно бесит, когда люди заявляют публике, насколько безопасна их программа робо-инвестиций». В одном посте на Reddit спросили: «Извинится ли когда-нибудь Стефан Туаль?» Под постом набежало 315 комментариев.

Другие участники Slock.it умоляли Стефана прекратить: «Отложи телефон. Уйди. Отдохни пару дней». По словам Тейлор, она ему писала: «Уйди ты с твиттера. Отключи уведомления». Он ответил: «Зачем? Прикольно же». Один раз, по словам Гриффа, Стефан ему сказал: «Каждый раз, когда пишу, я получаю 100 новых подписчиков, а это дорогого стоит». Гриффу было противно это слышать.

24 июня Петер Силадьи запостил в блоге Ethereum ссылки на новые версии клиентов Geth и Parity, вводящие софтфорк, если их установит достаточно майнеров. 28 июня уровень поддержки софтфорка все еще находился выше порога, после которого его бы ввели с блока 1800000 – а он, исходя из среднего времени генерации блоков Ethereum в 13–14 секунд, скорее всего, появился бы 30 июня.

Но в тот день планы изменились. Гюн получил имейл от старшеклассника и будущего первокурсника Корнелльского университета Тьядена Хесса: по его словам, софтфорк опасен, потому что раскрывает блокчейн Ethereum для так называемых атак типа «отказ в обслуживании» (denial‑of‑service, DoS). Софтфорк требовал от майнеров цензурировать транзакции, снижавшие баланс The DAO, за исключением транзакций мультисига кураторов и контракта RHG, и поэтому люди могли заваливать блокчейн множеством сложных транзакций и потом, уже на самой последней из них, снижать баланс в The DAO. Майнерам, потратившим множество времени и энергии, пришлось бы отказаться от всех этих транзакций, не заработав ничего. (Обычно, чем больше вычислений они производят, тем больше зарабатывают.) Еще больше пугало то, что такая атака ничего не стоит в плане затрат. 28 июня Тьяден, студент по имени Ривер Кифер и Гюн выложили пост о возможном направлении атаки, и стоимость эфира, в период после взлома зависшая на уровне 13–14 долларов, вдруг упала ниже 12. На Гюна, как обычно, обозлились – Лефтерис прокомментировал в Slack: «Хотелось бы, чтобы профессор воздержался от этого поста до того, как мы придем к окончательному решению». (Гюн говорит, что, известив децентрализованное сообщество об угрозах решения, поступил правильно, и добавляет, что «команда Slock.it разыгрывает карту децентрализации, только когда им удобно», а в остальных случаях требует, чтобы «решения и власть концентрировались в их в руках».)

Фабиан твитнул: «Раз софтфорк уязвим, остаются два варианта: хардфорк только для The DAO или вообще ничего».

В Slack прокомментировали: «Очередной позорный день в истории eth/dao».

Во время всех этих споров вокруг софт- и хардфорка группе «Робин Гуд» все еще приходилось вести свои войны DAO и собирать токены из темных мини-DAO – на случай, если форка не будет. Это оказалась самая проблематичная из четырех основных вселенных, по которым разбросало эфир из The DAO, в частности потому, что она сама представляла собой шесть разных вселенных, каждая с собственным временем зарождения и завершения. После первой операции по спасению, когда Авса попросил на Reddit назваться кураторов других дочерних DAO, он упомянул то, что вдобавок к DAO первого хакера, теперь называемой темной DAO, появилось шесть темных мини-DAO – дочерних, где кто-то повторил прием первого хакера, чтобы вытянуть деньги The DAO. После темной DAO с 3,6 миллиона ETH самая крупная накопила 268 тысяч ETH, а следующая – 29 тысяч ETH, на тот момент – больше 300 тысяч долларов.

Чтобы вернуть деньги у подражателей из темных мини-DAO в следующие пару недель, RHG пришлось общаться с кураторами, которых для начала надо было найти. Несколько – среди них те, кто пообщался с юристами, – быстро скрылись, и RHG сменила правила, чтобы требовались подписи трех из шести кураторов. Еще они заставили кураторов снизить минимальный кворум с 20 до 10 %.

С начала июля и до середины месяца благодаря пониженному минимальному кворуму и токенам китов они смогли провести три предложения. Одно из них – перевод экстрабаланса в главную DAO, что им удалось с кворумом в 10,39 %, причем 100 % из 140 держателей токенов проголосовали «за». Теперь RHG могла пользоваться этими деньгами для спасения остальных средств.

Со вторым предложением, поскольку сообщество Ethereum все еще спорило из-за хардфорка и существовали сомнения, что до него дойдет, группа «Робин Гуд» решила готовиться к худшему сценарию, в котором форка не будет вообще. Если The DAO продолжит существовать как есть, им придется вечно следить за хакером, чтобы не дать ему обналичиться. И они создали предложение по покупке тысячи токенов темной DAO, что позволяло группе «Робин Гуд» провести «сплит-атаку»: когда хакер создаст предложение о сплите, RHG всегда сможет войти в этот же сплит и захватить в нем контрольный пакет, мешая обналичиться. (Конечно, это все равно решение в духе «пока смерть не разлучит вас», потому что работает, только если группа постоянно присматривает за хакером и следует за ним в любой сплит.)

Третий пакет предложений – вложить эфир во все темные мини-DAO, чтобы осуществить «атаку 51 %». Тогда они получали бы большинство в голосовании и могли вынудить DAO перевести деньги в главную DAO группы «Робин Гуд», она же DAO Белых шляп.

Во время войн DAO Грифф вел таблицу с планируемыми мерами на каждый день, чтобы контролировать передвижение эфира в темных мини-DAO. К тому времени группа собрала почти 25,4 миллиона дополнительных токенов, что позволяло по-настоящему атаковать другие DAO. Например, 6 июля RHG, попросив голосовать китов, весь день снижала минимальный кворум до 10 % и захватила управление одной дочерней DAO. В таблице отмечалось время вплоть до секунды, когда группе нужно покупать токены в разных темных мини-DAO, а также точный срок закрытия конкретных DAO, чтобы группа не упустила момент и не дала противникам украсть/спасти деньги. «Чт 14 июля 3:34:48 [по всемирному скоординированному времени] DarkDAO59 закрывается АТАКА НА ЭТУ DAO!!!» В понедельник 18 июля они атаковали разные DAO целый день, потому что темная DAO 85 закрывалась в 13:11:36, темная DAO 94 – в 14:42:41, темная DAO 98 – в 15:25:12, белая DAO 78 – в 17:44:21, темная DAO 101 – в 18:46:28, а белая DAO 99–22:11:37. (Хотя тогда они этого знать не могли, вся их бдительность растрачивалась впустую – им никто не противостоял.)

Чтобы все удалось, 4 июля Лефтерис попросил на Reddit держателей токенов DAO (и китов) помочь, голосуя в различных DAO в пользу атак «Робина Гуда». Поскольку это было технически сложно, он выложил видео с инструкциями и пояснил, что если они проголосуют, то в течение периода голосования не смогут торговать токенами.

Хотя большинство комментариев выражали поддержку, одного из комментаторов задели повторения, что эти меры необходимы на случай, если хардфорка не будет: «Брось, /u/LefterisJP, ты оставляешь нас с заявлениями типа „на случай, если его не будет“ и не отвечаешь на вопросы? Какова вероятность, что нам понадобятся эти предложения вместо хардфорка?»

Простой ответ на этот вопрос заключался в том, что RHG и сама понятия не имела. Группа постоянно поддерживала связь с человеком в Poloniex, который вел свое расследование, надеясь опознать хакера. Либо хакер связан с держателем аккаунта на Polo, который предоставил бирже свои документы и сделал с ними селфи, чтобы подтвердить свою личность, либо, собственно, им и являлся. Проще говоря, когда хакер конвертировал BTC в ETH на ShapeShift, он должен был предоставить BTC-адрес на случай, если что-то пойдет не так и средства вернутся. По адресу (через несколько шагов) можно было выйти на владельца аккаунта на Polo. Как сказал Грифф их контакту на Polo, «так или иначе хакер знает того, кто улыбается на фото для ваших подтверждений… это может быть сам хакер, его друг или просто кто-то, кто зачем-то дал ему свой BTC-адрес».