Лора Шин – На шифре. Инсайдерская история криптовалютного бума (страница 37)
И всего за несколько дней до поста Лефтериса на Reddit работник Polo собрал достаточно данных, чтобы заявить в Сеть по борьбе с финансовыми преступлениями о подозрительной активности. Он был настолько уверен в своих выводах, что 1 июля даже написал Гриффу, Лефтерису, Стефану и Колму в скайпе: «Парни, появились новые доказательства. Пожалуйста, не спешите с хардфорком, если можете. По-моему, велика вероятность, что я нашел хакера… Чтобы вы знали – лично у меня нет корыстного интереса в хардфорке или его отмене; я просто думаю, что, если подождать, может произойти арест и возврат средств». 2 июля он написал: «На 99,9 % уверен, что это наш человек. Еще у меня есть наводка на соучастника или какого-то инсайдера. Блокчейн, IP, поведение, физический адрес и отдельные данные выглядят очень убедительно. Улики не стопроцентные, но весьма надежные. Атака произошла из Швейцарии». Затем 4 июля, в день поста Лефтериса на Reddit: «Это сговор – целая группа… Я уверен. В Швейцарии есть школа блокчейнов, где все это спланировали и осуществили. Все участники – известные люди в сообществе Ethereum». Он скинул несколько ссылок на тех, кто, по его мнению, мог быть замешан в этом деле, но добавил, что без судебного требования не может поделиться большей частью доказательств.
Так что RHG даже во время войн DAO были в курсе, что есть большая вероятность поимки хакера, после чего отпадет необходимость в хардфорке. Но, не зная наверняка, поймают его или нет, решили применить вторую стратегию. 9 июля Стефан Туаль выложил пост «Почему вор DAO вполне может вернуть эфир 14 июля или позже» с чисто умозрительными доказательствами. Среди прочего он даже упомянул День взятия Бастилии, который «ознаменуется фейерверками». Его прокомментировали на Reddit: «Откуда вам знать, может, этот наглый сукин сын над вами издевается».
Но за этим с виду бессмысленным и чуть ли не насмешливым постом стоял свой расчет: RHG пыталась обратиться к самому хакеру и предложить просто вернуть средства, а это было возможно только после 14 июля. В понедельник 11 июля 2016 года они воспользовались ключом куратора темной DAO и подтвердили адрес мультисига куратора в темной DAO, чтобы хакер мог вернуть украденный 31 % эфира для дальнейшего распределения. Днем ранее в скайпе, где обсуждался этот шаг, Стефан написал: «Хакер увидит транзакцию (и шумиху, которая поднимается на Reddit) и поймет, что ему дают выбор». Но хакер то ли все пропустил, то ли решил оставить похищенные средства себе.
А часики-то тикали: подходил срок, когда хакер мог начать выводить деньги из темной DAO, и программисты готовились к потенциальному хардфорку – на случай, если сообщество все же пойдет на крайние меры. Но это было непросто, даже если не брать спорность решения, хотя бы из-за того, какой неуправляемой стала The DAO.
7 июля Кристоф выложил в блоге пост о трех главных проблемах потенциального хардфорка, где самым каверзным был вопрос, как поступить с экстрабалансом – то есть с тем, что многие участники платили больше одного ETH за сотню токенов DAO. Сложность заключалась в том, что из-за сроков не хватало времени вернуть деньги в соответствии с тем, сколько именно заплатил каждый человек. Для всех трех проблем Кристоф предлагал разные решения и рекомендовал какое-то одно. Как обычно, закончил он на словах: «В итоге ни я, ни Slock.it, ни кто-то другой не примет это решение за сообщество Ethereum».
Сообщество тут же разбилось на два лагеря, обсуждая вопрос экстрабаланса и пытаясь понять, случится хардфорк или нет. Сторонники Ethereum в Китае создали сайт carbonvote.com, чтобы подсчитать голоса за и против хардфорка. Но в блокчейне в счет шли монеты, а не люди, поэтому ход голосования могли переломить киты. Голосование работало так: человек слал 0 ETH на адрес «за» или 0 ETH на адрес «против». Каждый из эфиров, находящихся по адресу, откуда пришла транзакция, считался бюллетенем.
15 июля Джефф Вильке, лид Ethereum в команде Go, выложил пост под заголовком «Форкать или не форкать», в котором написал: «Это решение не фонда и не любого другого одного лица, и поэтому мы вновь обращаемся к сообществу, чтобы учесть его пожелания при разработке соответствующих изменений в протоколе». Он пояснил, что если сообщество выберет хардфорк начиная с блока 1920000, то весь эфир из The DAO, экстрабаланса и дочерних DAO перейдет в DAO вывода средств. Держатели токенов смогут послать свои токены на контракт вывода и вернуть себе эфир по курсу 1 ETH за сотню токенов. (За восемь дней до этого Кристоф выложил пост с вопросом к сообществу о том, как поступить с деньгами экстрабаланса. Одним из вариантов было перевести их в мультисиг, чтобы дальше их распределяли кураторы DAO.) Теперь, когда написаны клиенты для хардфорка, встал главный вопрос: нужен в итоге хардфорк сообществу или нет. Это определило бы и главное решение разработчиков: осуществит ли их новая программа форк после загрузки и установки.
С другой стороны, люди приводили пример, как в начале 2014 года, когда хакеры взломали биржу Mt. Gox и похитили около полумиллиарда долларов в биткойнах, биткойн не проводил хардфорк. Но многие считали, что аналогия неудачная, поскольку тогда никто не знал, куда делись украденные биткойны. А в случае The DAO все могли видеть награбленное через любой блокчейн-браузер Ethereum (сайт с данными о блокчейне) и знали, что оно проторчит там до 21 июля. Джефф – хоть он и работал в EF, а не в The DAO, – понял: может, The DAO и не находится в зоне ответственности EF, но на Reddit (и в итоге – на carbonvote.com) в основном поддерживают форк. К тому же, раз деньги потеряли так много людей, а сообщество не самое большое, он считал, что сейчас, когда Ethereum еще не исполнилось и года, для этого самое лучшее время.
В посте Джефф объявил, что голоса подсчитают в блоке 1894000 и на этой основе будет решено, сделает ли клиент Geth форк по умолчанию или нет. К 16 июля голосование на carbonvote.com продемонстрировало: 87 % – за хардфорк. Несмотря на то что проголосовали держатели только 5 % всего эфира, хардфорк планировалось провести через четыре дня, начиная с блока 1920000.
Криптобиржи считали, что сообщество Ethereum их не услышало. Некоторые владельцы и сотрудники заявляли, что существует большой риск сплита цепочки и получится не тот хардфорк, на который все договорились, а спорный, с возникновением конкурирующей валюты. Впрочем, многих разработчиков Ethereum больше заботило, что если не дать отпор вору, то их ждут неприятности, и это важнее. Совсем не так на это смотрели большинство биткойнеров, для кого на первом месте стояли правила протокола. И некоторым биржам казалось, что Ethereum Foundation отказывается видеть то, что очевидно для всех: хардфорк приведет к сплиту цепочки.
В глазах бирж Ethereum Foundation и Slock.it становились зацикленными на идеологии разработчиками, ничего не понимающими в криптоторговле. Биржи работали с самыми разными криптосообществами и знали, что многие биткойн-максималисты (так Виталик называл пуристов, считавших, что может быть лишь один-единственный блокчейн – биткойн) не упустят шанса навредить второй по размерам после Биткойна криптосети. Другая проблема – разработчики Ethereum не думали, что оригинальная цепочка выживет, а времени на разработку хардфорка отводилось мало, поэтому они не ввели так называемую защиту от повтора. Имелась в виду проблема, возникающая из-за раскола одного блокчейна на два. До конкретного момента у них одинаковая история транзакций. Если ничего не сделать для разделения баз данных после форка (это и называется защитой от повтора), то всякий раз, когда и ETH, и конкурирующий двойник ETH (ETH-оригинал) попадают на адрес с одним и тем же хешем в обеих цепочках, транзакция одной суммы койнов будет вызывать транзакцию в другой цепочке. Например, человек случайно продаст не только ETH-оригинал, но и ETH, который хотел бы оставить.
Но программисты EF не видели необходимости в защите от повтора, и после хардфорка The DAO ее пришлось бы вводить самим биржам. Последним же пренебрежение таким очевидным риском казалось ошеломительным просчетом со стороны фонда. Отчасти, возможно, EF просто не видела риска для своего капитала. Сам фонд почувствовал бы ущерб только в том случае, если бы упала стоимость монет, зато биржи без защиты от повтора лишились бы самих токенов, когда клиенты начнут их вносить и снимать.
Плюс ко всему окончательное решение приняли всего за четыре дня до хардфорка – биржам оставили всего ничего времени на создание защиты. Когда Джефф Вильке сообщил об этом по скайпу Филу Поттеру с Bitfinex (тому, кто заявил: «В жопу этот койн» – в чате вскоре после атаки на The DAO), Фил ответил: «Зря я вообще пустил на биржу этот хренов койн».
Страхи некоторых создателей Ethereum, что из-за The DAO по их душу явятся регуляторы, не были безосновательными. Виталик говорит, что перед хардфорком Лука из ММЕ – швейцарских юристов Ethereum Foundation – сообщил Мин и Виталику, что с ними по поводу The DAO хочет пообщаться швейцарский надзорный орган FINMA. 13 июля Виталик вылетел из Шанхая в Цюрих. Лука предупреждал его и Мин, будто разговор предстоит серьезный, но на деле регулятор просто согласился с объяснением, что The DAO – только приложение, не имеющее непосредственного отношения к Ethereum Foundation и протоколу.