Ethereum — проект создания различных платформ на базе распределенного реестра (блокчейна). Основной идеей Ethereum является то, что любая транзакция сохраняется в общей распределенной базе навсегда и служит основной для подписания следующих транзакций. Это позволяет создавать «в эфире» не только криптовалюты наподобие биткойна, но и децентрализованные организации, правила работы которых записаны в блокчейне, а также «умные контракты», автоматически исполняющиеся при определенных условиях.

На начало событий капитал The DAO оценивался в $132,7 млн

The DAO, Decentralized Autonomous Organization — одна из подобных организаций, полностью автоматический инвестиционный фонд. Желающие могут выставлять свои предложения на суд публики. Те из них, которым удалось найти поддержку сообщества, получат финансирование, а часть их прибыли поделят все «инвесторы». И голосование, и финансирование, и распределение прибыли происходит автоматически. Сотрудники или менеджеры DAO не могут повлиять на эти процессы. На начало событий капитал The DAO оценивался в $132,7 млн, и именно эти деньги оказались под угрозой.

Что же произошло?

Утром 17 июня началась атака на The DAO. Неизвестный злоумышленник использовал описанную в «умном контракте» The DAO функцию для вывода денег из инвестиционного фонда, которая позволяла внутри себя, кроме перевода финансов, выполнять другой программный код. Атаковавший The DAO многократно вызывал эту функцию из самой себя, что привело к многократному переводу «эфира» на его счет.

Примечательно, что эта уязвимость была опубликована неделю назад, и разработчики уже сообщали о ее устранении. Отметим, что уязвимость связана с конкретными реализациями децентрализованных организаций, а не с системой Ethereum в целом — при создании The DAO можно было этой уязвимости не допустить.

На иллюстрации — то самое предложение о выделении из The DAO дочерней организации, которое позволило злоумышленнику вывести деньги.

После обнаружения атаки в официальном блоке The DAO опубликовали план действий по устранению последствий атаки, в том числе предложив пользователям запустить спам на адрес проекта, чтобы приостановить вывод «эфира».

Принято решение о закрытии The DAO и переводе его в обычный контракт, что позволит пользователям вернуть вложенные деньги

В результате упали как стоимость «эфира», так и стоимость токена The DAO (внутренней валюты организации). Создатель Etherium Виталик Бутерин призвал руководство криптовалютных бирж приостановить ввод и вывод средств, а также заморозить торги. Как минимум одна биржа — Kraken согласилась с этим и торги «эфиром» приостановила.

В настоящий момент установлен адрес дочернего DAO, на который злоумышленник переводил «эфир», и у сообщества есть 27 дней (за это время вывести деньги из дочернего DAO невозможно), чтобы решить, что же делать. Кроме этого принято решение о закрытии The DAO и переводе его в обычный контракт, что позволит пользователям вернуть вложенные деньги.

Самому Ethereum грозят перемены — Виталик Бутерин предлагает сперва создать софтфорк системы («мягкую» версию с небольшими изменениями), в результате которого будут отменены транзакции, приведшие к утечке средств The DAO. Затем последует хардфорк («жесткая» версия с глобальными изменениями), который принудительно вернет средства их бывшим владельцам.

Виталик Бутерин vs регулятор: нужен ли России Ethereum В Москву приехал 22-летний создатель блокчейн-платформы Ethereum Виталик Бутерин. Ethereum с его смарт-контрактами и стремящейся к $1 млрд капитализацией стал одним из самых обсуждаемых явлений в мире блокчейна, а сам Бутерин — абсолютной звездой. Bankir.Ru законспектировал все важные мысли, прозвучавшие на встрече евангелиста с разработчиками, представителями российского банковского сообщества и регуляторов — ЦБ и Минкомсвязи, которая состоялась в Сколково.

Audiatur et altera pars — выслушаем другую сторону

Именно предложение введения софтфорка и хардфорка и разделило сообщество Ethereum. Дело в том, что по логике Ethereum произошедшее не является преступлением.

Правила DAO — это код «умного контракта», и непреднамеренные уязвимости в них — это такая же часть контракта, как и сознательно описанные условия. Действия, которые выполняет злоумышленник, предусмотрены правилами DAO. В противном случае они были бы невозможны.

Вмешаться в исполнение «умного контракта» невозможно, равно как и повернуть вспять уже проведенные транзакции

Проблема заключается в той самой неумолимости «умных контрактов», которую обычно считают их плюсом. Привычные бумажные контракты, содержащие ошибки или лазейки, можно оспорить, изменить или исправить — на этом кормятся десятки тысяч юристов. Вмешаться в исполнение «умного контракта» невозможно, равно как и повернуть вспять уже проведенные транзакции — это гарантирует блокчейн Ethereum.

Масла в огонь подлило открытое письмо злоумышленника руководству проекта Ethereum. В нем человек, подписавшийся как Атаковавший, пишет:

«Я внимательно изучил код The DAO и решил принять в нем участие после того, как обнаружил функцию, которая вознаграждала дополнительными эфирами за операцию разделения. Я использовал эту функцию, в силу чего законно, в рамках правил, получил 3 641 694 токена эфира и хотел бы поблагодарить The DAO за эту награду. Насколько я понимаю, исходный код The DAO содержал эту функцию для продвижения идей децентрализации и стимулирования создания дочерних организаций.

Я разочарован теми, кто охарактеризовал использование этой внутренней особенности как „кражу”. Я использовал эту недвусмысленно закодированную функцию в соответствии с условиями „умного контракта”. Моя юридическая фирма проконсультировала меня, что все мои действия полностью соответствуют уголовному и деликтному праву США. Для справки, пожалуйста, ознакомьтесь с условиями The DAO».

Также Атаковавший угрожает юридическим преследованием в случае, если софтфорк или хардфорк помешают ему вывести полученные средства:

«Для того чтобы помешать мне воспользоваться полученным законным и легитимным образом через использование „умного контракта” эфиром, могут быть применены мягкое или жесткое ветвление платформы. Подобные ветвления навсегда и безвозвратно уничтожат всякое доверие не только к Ethereum, но и в общем к „умным контрактам” и блокчейну как технологии.

Я оставляю за собой право предпринимать любые и все возможные законные действия против любых соучастников незаконных краж, заморозок или изъятия моего законно полученного эфира, и я продолжаю активно работать с моей юридической фирмой. Все эти персоны в ближайшее время получат по почте официальные юридические уведомления о прекращении и недопущении подобной деятельности (Cease and Desist notices)».

Каков же итог?

До сих пор предполагалось, что любая транзакция в рамках блокчейн-технологии сохраняется в общей базе навсегда (и служит основной для подписания следующих транзакций, в чем, собственно, блокчейн и заключается). То есть все платежи злоумышленнику нужно признавать технически правильными, а вывод денег, полученных сомнительным путем, следует регулировать иными способами (как в реальном мире полиция ловит грабителей банков и отбирает у них мешки с деньгами не с помощью платежных поручений и безакцептных списаний).

Если так можно поступить с одной сделкой, то кто помешает это сделать с любым другим количеством сделок?

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

Но даже удачный исход ветвления, в пользу которого выступил Бутерин, может оказаться пирровой победой. Он заронит сомнение в том, что криптовалюта не настолько децентрализована и неконтролируема, как считается. В ее работу можно вмешаться и повернуть законные сделки вспять. Если так можно поступить с одной сделкой, прошедшей в рамках «умного контракта», то кто помешает это сделать с любым другим количеством сделок?

Возможно, это еще хуже, чем потеря 50 миллионов.