Шрифт:
Закладка:
Затем члены RHG довели свои контракты до совершенства в тестнете Ethereum. Также они собрали 6 028 947 токенов DAO, около 94 % из них – от одного кита. Вдобавок пять тысяч токенов им одолжил Райан Зуррер, канадский криптоинвестор из Рио, сто тысяч – Авса, кое-что дали Грифф, Лефтерис и Джорди Байлина – барселонский разработчик, прошедший курс Гриффа по подготовке DAO-ниндзя. Теперь RHG располагала суммой, позволяющей опустошить контракт быстрее любого хакера. Но надо ли начинать спасение денег немедленно?
Все-таки, как правило, взлом считается преступлением. Согласно большинству определений, он законен, только если официальное разрешение взломать сеть хакеру дает компания или организация, которым эта сеть принадлежит. Но законен ли взлом ради спасения средств в случае The DAO, не имеющей единого центра принятия решений – или, если посмотреть с другой стороны, имеющей от пятнадцати до двадцати тысяч владельцев, в основном анонимных? Если не брать в расчет намерение, они ведь делали ровно то же самое, что и хакер DAO: запускали смарт-контракт, чтобы без разрешения вывести чужой эфир из The DAO в дочернюю DAO. Лефтерис помнит, как Кристоф настаивал, чтобы компания Slock.it не предпринимала ничего в рамках официального статуса, ведь она была юридически защищена. Не Slock.it запустила The DAO, а значит, это не их ответственность. (По словам Кристофа, компания тогда сосредоточила силы на подготовке хардфорка.) Грифф заявил, что группе «Робин Гуд» надо бы дождаться «чрезвычайных обстоятельств» (юридическое название условий, когда оправданы экстренные меры для предотвращения ущерба), и только тогда проводить атаку повторного входа и спасать оставшиеся 69 % эфира. С этим согласился даже осторожный Лефтерис. Хотя из-за взлома они формально преступали закон, в определенных обстоятельствах они нарушали бы его и в случае бездействия. И если атаковать контракт, когда средства пользователей снова окажутся под ударом, они смогут оправдать свои действия.
Такая возможность представилась во вторник 21 июня. В 19:00 по берлинскому времени неизвестный держатель токенов начал атаку на контракт главной DAO, вытягивая средства в дочернюю DAO. Хотя речь шла всего о паре ETH за транзакцию, хакер уже натаскал несколько тысяч долларов. Решив, что он репетирует перед атакой покрупнее, группа «Робин Гуд» – Грифф и Лефтерис в Берлине, Авса в Рио, – бросилась спасать эфир из The DAO через дочернюю DAO 78. Первый хакер тем вечером набрал темпы, затем появились еще шестеро – кое-кто уже успел провести тридцать транзакций по несколько сотен эфира. Но у RHG было больше всего токенов, что позволяло каждый раз выводить больше денег. В 19:44 по берлинскому времени они активировали свой контракт и сделали двенадцать переводов по 816 ETH (9 792 доллара) на общую сумму около 9 800 ETH (110 400 долларов). Испытав работу контрактов, они кое-что подправили. Во вторую атаку в 19:51 они сделали тридцать один перевод по чуть больше чем 816 ETH, всего собрав 25 307 ETH (более 325 000 долларов). Опять почистили баги. В третью атаку, в 20:00, они сделали тридцать один перевод по 4 174 ETH (50 088 долларов), всего собрав 129 390 ETH (1,55 миллиона долларов). Они только разогревались. В 20:43 по берлинскому времени The DAO начал опустошать еще один хакер, совершая рекурсивные вызовы на суммы от 1 ETH (11 долларов) до 430 ETH (около 5 519 долларов). Но к 21:02 группа «Робин Гуд», имея в своем распоряжении 4,1 миллиона токенов, сделала тридцать один перевод по 41 187 ETH (494 244 доллара), собрав 1 276 797 ETH. При стоимости 12 долларов за 1 ETH они переносили по 15,3 миллиона долларов за вызов. В 21:36 появился еще один хакер, выводя по 53 ETH (636 доллара) с каждым рекурсивным вызовом, но он быстро отвалился. Когда робин гуды наконец отладили свои контракты, они перестали вводить команды вручную и предоставили всю работу алгоритмам. Так начались войны DAO.
В следующие часы они присматривали за своими контрактами рекурсивного вызова. У каждого участника группы действовал свой контракт, пока не прекращал функционировать. Поскольку атака не соответствовала устройству The DAO, их контракты ломались, переведя где-то 70–80 % ETH, – как глохнет перегретый двигатель автомобиля. Затем эстафету подхватывал новый участник и выводил 70–80 % от остатка. Между делом они доводили контракты до совершенства.
Сообщество DAO наблюдало за этим в Slack: «Это как участвовать в научно-фантастическом романе в реальном времени», – прокомментировал один человек. «Через 10 лет владеть токеном DAO будет все равно что владеть куском „Титаника“. Круто», – сказал другой. Но не всех впечатлили войны DAO: «Это просто полный трындец».
Затем контракты группы «Робин Гуд» начали буксовать. Из где-то 100 миллионов долларов в главном контракте они не могли подчистить оставшиеся 4 миллиона или около того. Тогда в дело вступило секретное оружие.
Джорди Байлина – тихий программист в очках с пышной взъерошенной шевелюрой, седеющей на висках, работал техническим директором в семейной компании в Барселоне. Он кодил с двенадцатилетнего возраста, получил степень MBA и уже основал две своих компании. Теперь он возглавлял команду из полудюжины программистов по созданию систем управления – например систем бронирования для сайтов отелей. В 2013 году он прочитал «белую книгу» биткойна и пробовал писать для него программы, но решил, что биткойн ограничен только областью цифровых денег. К тому же на биткойн-митапах в Барселоне мало обсуждались технологии – участников больше интересовали такие темы, как отмывание денег. Через два года Джорди услышал об Ethereum и понял, что может написать смарт-контракт за две минуты. Тут он уже не мог остановиться и проводил все свободное время за изучением смарт-контрактов и размышлениями о децентрализации. Когда появилась The DAO, он влился в глобальное движение мечтателей, стремящихся создать нечто новое. Прошел курс ниндзя от Гриффа и удивился, что в конце Грифф прислал ему эфира на 5 долларов. Он даже мечтал внедрить в The DAO «ликвидную демократию» и написал программу, чтобы люди могли делегировать другим свои токены и те бы голосовали от их лица, но не успел завершить ее до запуска. Впрочем, благодаря этому он многое узнал об устройстве The DAO.
Крипта изменила его жизнь. Раньше он просто работал на начальника. Крипта подарила