Понимание атаки DAO
Блокчейн-стратег Дэвид Сигел дает пошаговый обзор атаки на The DAO для журналистов и представителей СМИ.
Основы
Сеть Ethereum — это сеть компьютеров, работающих на блокчейне Ethereum . Блокчейн позволяет людям обмениваться токенами стоимости, называемыми эфиром, который в настоящее время является второй по популярности Криптовалюта после Bitcoin. Ethereum также позволяет людям писать и размещать в сети смарт-контракты — универсальный код, который выполняется на каждом компьютере в сети (в настоящее время более 6000 компьютеров). Затем люди выполняют эти программы, отправляя им эфир.
АDAO — это децентрализованная автономная организация. Его цель — кодифицировать правила и аппарат принятия решений организации, устраняя необходимость в документах и людях в управлении, создавая структуру с децентрализованным контролем.
Вот как работает DAO:
- Группа людей пишет смарт-контракты (программы), которые будут управлять организацией.
- Существует начальный период финансирования, в течение которого люди вносят средства в DAO, покупая токены, которые представляют собой право собственности — это называется краудсейлом или первичным предложением монет (ICO), — чтобы предоставить DAO необходимые ресурсы.
- По окончании периода финансирования начинает работу DAO.
- Затем люди могут вносить предложения в DAO о том, как потратить деньги, а члены, которые внесли свой вклад, могут проголосовать за одобрение этих предложений.
Важно понимать, что были предприняты большие усилия, чтобы не превратить эти токены в акции — они больше похожи на взносы, которые дают людям право голоса, но не право собственности. В большинстве случаев DAO никому не принадлежит — это просто программное обеспечение, работающее в сети Ethereum .
Самый первый DAO — это сам Bitcoin , который управляется консенсусом среди его CORE команды и его майнинговой сети. Все остальные DAO были запущены на платформе Ethereum .
«ДАО«» — это название конкретного DAO, придуманного и запрограммированного командой немецкого стартапа Slock.it — компании, создающей «умные замки», которые позволяют людям делиться своими вещами (автомобилями, лодками, квартирами) в децентрализованной версии Airbnb.
DAO был запущен 30 апреля 2016 года с окном финансирования в 28 дней.
По какой-то причине The DAO был популярен, собрав более $100 млн к 15 мая, а к концу периода финансирования The DAO стал крупнейшим краудфандингом в истории, собрав более $150 млн от более чем 11 000 энтузиастов. DAO собрал гораздо больше денег, чем ожидали его создатели.
Можно сказать, что маркетинг оказался лучше, чем реализация, поскольку во время краудсейла несколько человек выразили опасения, что код уязвим для атак.
После окончания краудсейла было много обсуждений того, что сначала нужно устранить уязвимости, прежде чем начинать финансировать предложения. В частности, Стефан Туал, ONE из создателей The DAO, объявил о 12 июнячто в программном обеспечении была обнаружена «ошибка рекурсивного вызова», но «никакие средства DAO не были под угрозой».
В то время более 50 проектных предложений ожидали голосования держателей токенов The DAO.
Важно повторить, что сеть Ethereum не имеет подобных ошибок и работает идеально все это время. Все сетевые системы уязвимы для различных видов атак. Сеть Ethereum , которая поддерживает (в зависимости от цены) около $1 млрд эфира, не была взломана и постоянно выполняет множество других смарт-контрактов.
Каждый, кто пишет смарт-контракт, знает, что если он может перемещать большую сумму денег, он будет подвержен атаке. Эта конкретная уязвимость была недавно обнаружена в другой системе, называемой Maker DAO, и была быстро нейтрализована, поскольку эта DAO все еще находилась в стадии тестирования.
Многие считают, что тестирование и сертификация смарт-контрактов станет важной частью обеспечения безопасности экосистемы Ethereum . Вы найдете несколько служб проверки смарт-контрактов, перечисленных на DecentralStation.com.
Взлом DAO
К сожалению, пока программисты работали над устранением этой и других проблем, неизвестный злоумышленник начал использовать этот подход, чтобы начать выкачивать из The DAO эфир, собранный от продажи его токенов.
К субботе, 18 июня, злоумышленнику удалось слить более3,6 млн эфирав «дочерний DAO», который имеет ту же структуру, что и DAO. Цена эфира упала с более чем $20 до менее $13.
Несколько человек предприняли попытки разделить The DAO, чтобы предотвратить изъятие большего количества эфира, но они T смогли получить необходимое количество голосов за столь короткое время. Поскольку разработчики T ожидали таких больших денег, весь эфир был на одном адресе (плохая идея), и мы считаем, что злоумышленник добровольно остановился, услышав о предложении форка (см. ниже). Фактически, эта атака или другая ONE может продолжиться в любое время.
Смарт-контракты должны быть автономными соглашениями, не подлежащими толкованию внешними субъектами или юрисдикциями. Сам код должен быть окончательным арбитром «сделки», которую он представляет. Но, конечно, это идеалистическая (криптоанархистская) точка зрения.
Еще до атаки несколько юристов выразили обеспокоенность тем, что The DAO превысила свои полномочия по краудфандингу и нарушила законы о ценных бумагах в нескольких странах. Юристы также указали на его создателей как на потенциально ответственных за любые проблемы, которые могут возникнуть, и несколько выразили обеспокоенность тем, что держатели токенов The DAO принимают на себя ответственность, о которой они, вероятно, не знали. The DAO существует в серой зоне закона и регулирования.
Поскольку дочерняя DAO имеет ту же структуру, ограничения и уязвимости, что и родительская DAO, эфир в этой недавно созданной дочерней DAO T может быть доступен в течение 28 дней, поскольку это период первоначального финансирования.
Каждый может видеть эфир в этом дочернем DAO – любые попытки обналичить его вызовут тревогу и расследование. Может случиться так, что злоумышленник никогда не сможет обналичить или потратить ни одного эфира.
Вполне возможно, что у злоумышленника была большая короткая позиция по эфиру во время атаки, которую он или она затем обналичили после того, как эфир был урезан примерно вдвое. Злоумышленник мог уже заработать свои деньги, независимо от эфира, находящегося в дочернем DAO.
Есть вещи, которые Ethereum Foundation может сделать, чтобы аннулировать эфир в этом DAO. Вот где все становится сложнее.
Предложение о софт-форке
DAO содержит около 15% всего эфира, поэтому крах DAO окажет негативное влияние на сеть Ethereum и ее Криптовалюта.
Стоит отметить, что десятки стартапов работают над DAO или продуктами управления, многие смарт-контракты имеют схожие уязвимости, а создание сложного программного обеспечения с использованием смарт-контрактов все еще находится в зачаточном состоянии. Все участники заинтересованы в том, что произойдет дальше.
Все взоры прикованы к DAO и Ethereum Foundation в надежде на решение, которое позволит экосистеме продолжить развиваться так, как и прежде.
Чтобы понять, что происходит дальше, вам нужно будет понять основы блокчейна: сеть узлов помещает транзакции в блоки, а блоки — в единую цепочку, которая представляет «истину» того, что произошло. Если две конкурирующие транзакции происходят примерно в одно и то же время, сеть разрешает этот конфликт, выбирая ONE и отклоняя другую, так что все узлы имеют точно такую же копию распределенного реестра.
Единственный способ «переписать историю» — это добиться согласия не менее 51% всех узлов на такой сговор — то, чего никогда не было в истории Bitcoin или Ethereum. Цель децентрализованной сети заключается в том, чтобы ONE не имел полномочий сделать это, иначе сама сеть станет ненадежной.
На 17 июняВиталик Бутерин из Ethereum Foundation опубликовал критическое обновление, в котором заявил, что DAO подверглась атаке и что он разработал решение:
Было предложено программное ответвление (БЕЗ ОТКАТА; никакие транзакции или блоки не будут «отменены»), которое сделает любые транзакции, которые делают какие-либо вызовы/коды вызовов/вызовы делегатов, уменьшающие баланс аккаунта с кодом hash0x7278d050619a624f84f51987149ddb439cdaadfba5966f7cfaea7ad44340a4ba (т.е. DAO и дочерние объекты), приведут к тому, что транзакция (не просто вызов, а транзакция) станет недействительной…
В этом заявлении Бутерин особо подчеркивает, что он T предлагает переписывать какие-либо блоки, а лишь установить «переключатель» в базовом коде Ethereum , который предотвращает перемещение любого эфира из DAO или его дочерних структур.
По сути, это единовременное исправление (называемое «форком») для единовременного события, которое навсегда запечатывает этот эфир на этом адресе.
Бутерин продолжил:
«Майнерам и майнинговым пулам следует возобновить проведение транзакций в обычном режиме, дождаться кода софт-форка и быть готовыми загрузить и запустить его, если они согласны с таким путем развития экосистемы Ethereum . Держатели токенов DAO и пользователи Ethereum должны сидеть сложа руки и сохранять спокойствие. Биржи должны чувствовать себя в безопасности, возобновляя торговлю ETH».
Другими словами, в код Ethereum будет встроен черный список, чтобы KEEP злодею забрать свой приз. В этом сценарии «заморозки активов» Бутерин призывает к обсуждению того, как помочь держателям токенов DAO вернуть свои первоначальные инвестиции.
Это, казалось бы, безобидное и благонамеренное предложение «Deus ex machina», которое еще должно быть принято большинством узлов сети Ethereum , чтобы вступить в силу, открыло огромную коробку с червями.
Атакующий реагирует — или нет?
Я назову нападавшего одиноким самцом, хотя понятия не имею, является ли он ONE.
Что произошло дальше, было интересно. Воткрытое письмо The DAO и Ethereum Community, злоумышленник якобы утверждал, что его «вознаграждение» было законным и угрожал подать в суд на любого, кто попытается сделать его работу недействительной. Несколько человек указали, что криптографическая подпись в этом сообщении T — она могла быть поддельной.
Но он хорошо написан и с определенной точки зрения хорошо обоснован: предпосылка смарт-контрактов заключается в том, что они являются своими собственными арбитрами и что ничто вне кода не может «изменить правила» транзакции.
Позже, через посредника, злоумышленник заявил, что положит конец организованной «краже» его собственности, вознаградив майнеров (узлы), которые T согласятся с предложенным софт-форком, заявив:
«[С]коро у нас появится смарт-контракт для вознаграждения майнеров, которые выступят против софт-форка и добудут транзакцию. 1 млн ETH + 100 BTC будут разделены между майнерами».
Очевидно, что это сложная динамическая система.
Эти сообщения от «злоумышленника» невозможно проверить, поэтому нам придется подождать и посмотреть, что произойдет.
Предложение хард-форка
Другое предложение более агрессивное — попросить майнеров полностью расплатиться за кражу и вернуть весь эфир в The DAO, где он может быть автоматически выкуплен держателями токенов, тем самым положив конец The DAO.
Как выразился Стефан Туалв своем блоге…
Последующий хард-форк может даже вернуть весь эфир, включая «extraBalance» DAO и украденные средства, обратно в смарт-контракт. Этот смарт-контракт будет содержать одну функцию: withdraw().
Это позволило бы всем, кто участвовал в DAO, вывести свои средства: благодаря поддержке майнеров, и поскольку до сих пор ничего не было потрачено, ничего не было бы потеряно».
Это приводит к переписыванию правил, по которым работает блокчейн, что, как предполагается, невозможно. Стоит ли нам позволить этому правилу сдвинуться с мертвой точки хотя бы ONE раз, чтобы вернуть проект Ethereum на путь истинный?
Ребята из Slock.it и большинство держателей токенов DAO были бы признательны, если бы мы это сделали.
Ответы на софтфорк
Если рассматривать это предложение отдельно, оно разумно. Это одноразовое решение одноразовой проблемы. Но многие люди так T считают.
Вы можете прочитатьМассовый отклик на Reddit, которые я попытаюсь резюмировать:
Надежность сети священна.
Как выразился ONE человек на Reddit:
«Участие Ethereum Foundation в DAO было и остается ошибкой. Как я вижу, Ethereum должен стать базовой инфраструктурой, на которой должен расцвести шквал проектов и экспериментов, и для того, чтобы они расцвели, им нужен прочный фундамент, который будет иметь целостность перед лицом трудностей. Предложение о хардфорке — это компромисс, который разрушает эту целостность и сигнализирует о том, что такие проекты, как DAO, могут влиять на базовый фундамент в своих интересах. Для меня это совершенно неприемлемо и является отходом от принципов, которые привлекли меня к Ethereum».
Хард-форк — допустимый вариант, но его следует оставить для ситуаций, требующих экстренных изменений самого протокола Ethereum , а не для проектов, работающих на нем.
Тот факт, что Ethereum Foundation участвует в проекте DAO и продвигает его, является ошибкой, и это лишь подрывает доверие людей к Ethereum как к базовой инфраструктуре для других проектов.
Надеюсь, они исправят эту ошибку.
ONE вмешался:
«Я заключил плохой контракт в первые дни появления ETH в сети и потерял из-за этого 2 тыс. ETH . Могу ли я вернуть их? Спасибо!»
И наконец:
«Ethereum работал именно так, как и предполагалось. Я T считаю, что программное обеспечение следует обновлять, когда оно работает именно так, как и предполагалось. Вы принимаете на себя риски своих инвестиций. Если вы T понимаете своих инвестиций, вы принимаете на себя неизвестный риск. Все остальное — это спасение от центрального органа, т. е. антитеза Криптo . Подобным образом, именно поэтому Lehman Brothers позволили потерпеть неудачу — потому что сделка есть сделка, и если вы нарушаете правила для конкретного игрока, все остальные игроки тоже захотят особого отношения».
Слишком большой, чтобы обанкротиться
Всего через месяц после Lehman Brothers другие банки получили особое отношение, и вы можете решить для себя, было ли это хорошей идеей – это вполне аналогично ситуации, которая сейчас. DAO – это не остров.
С точки зрения экосистемы Ethereum он считается «слишком большим, чтобы рухнуть». Можно отметить, что несколько человек из Ethereum Foundation являются держателями токенов DAO и также занимают консультативные должности в DAO. Даже Гэвин Вуд, ONE из основателей Ethereum , поддержал форк в своем блоге.
Таким образом, с этой точки зрения, возможно, потребуется спасти некоторые другие крупные проекты, и Ethereum Foundation, создав прецедент, может снова попросить майнеров переписать историю.
Аналогия с банковскими спасением примечательна: банки могли идти на огромные риски, надеясь на огромную прибыль, и когда эти сделки пошли на спад, налогоплательщики выручили их (за исключением бедняги Lehman Brothers). Такая асимметрия риска обычно считается плохим способом стимулирования участников рынка.
Это две крайности, но большинство людей впадают в ONE или другую. Длинная рука закона, не говоря уже о налоговике
Вышеизложенное обсуждение предполагает, что мы работаем в вакууме, в пространстве криптоанархии, где законы T применяются. Но люди вложили реальные деньги, и реальные законы могут и будут применяться в этом случае.
На самом деле, у всех сторон могут быть законные претензии, на урегулирование которых в судах по всему миру могут уйти годы.
Кто в группе риска?
Хотя они и приложили все усилия, чтобы не создавать ценных бумаг и убедиться, что люди знают о рисках, они все равно могут быть привлечены к ответственности. Если держатели токенов DAO потеряют большую часть своих инвестиций в размере более 150 млн долларов, вероятным представляется коллективный иск против оригинаторов.
Другие DAO
Некоторые люди буквально переняли смарт-контракт The DAO, чтобы реализовать другие DAO. В случае хард-форка весь эфир в любом DAO, который использует смарт-контракты The DAO 1.0, потеряет свой эфир на адрес возврата, который будет разделен между держателями токенов DAO. Таким образом, держатели токенов DAO могут получить больше, чем вложили. Это наверняка разозлит тех, кто вложил свои собственные деньги в свои собственные DAO, используя код The DAO 1.0.
Держатели токенов DAO
Как инвесторы и без защиты корпорации, все 11 000+ держателей токенов DAO могут рассматриваться как генеральные партнеры в фонде. В этом случае злоумышленник может подать в суд на держателей токенов DAO в их собственных юрисдикциях, утверждая, что они представляют организацию, которая захватила его законную собственность.
Биржи
Вскоре после первоначального периода финансирования несколько Криптовалюта бирж начали Рынки токенами DAO.
В рамках этой цепочки любой, кто купил токены DAO на любой бирже, может подать в суд на биржу за продажу некачественных инвестиций. Это может зайти очень далеко — до уровня нарушения закона о ценных бумагах, или они могут просто нести ответственность за прибыль, которую они получили от токенов.
Учитывая, что на нескольких биржах имеется достаточно много наличных денег, они могут оказаться в числе первых целей.
Фонд Ethereum
Ethereum Foundation ставит на карту многое. Они хотят, чтобы сеть была прочной, поддерживала миллиарды долларов торговли и была «операционной системой будущего».
Но теперь они оказались между молотом и наковальней: если они ничего не сделают, сеть Ethereum потерпит неудачу, на восстановление после которой могут потребоваться годы; если они вмешаются, они создадут опасный прецедент, который подорвет общественный договор, созданный ими в сети независимых узлов.
Они T создавали сеть Ethereum как судью и присяжных в случае, если ONE или несколько сторон пострадают.
Майнеры и узлы
Более 6000 полных узлов Ethereum могут нести ответственность за любые форки, за которые они проголосуют.
Если можно увидеть, что злоумышленник получил свой эфир в результате «функции» смарт-контракта, то он может (и уже угрожал) подать в суд на любого из майнеров, которые попытаются отобрать у него то, что, по его мнению, принадлежит ему по праву. Он также может подать в суд на Ethereum Foundation, если они напишут программное обеспечение, реализующее форк.
С другой стороны, держатели токенов DAO могут подать в суд на узлы, которые T голосуют за форк, утверждая, что они поступают T . С другой стороны, люди, управляющие узлами, любят деньги, и они могут получить деньги от «атакующего» за то, чтобы не проводить форк. Вполне возможно, что правительства вмешаются и попытаются внести большие изменения в управление системой Ethereum .
Нападающий
Атакующий, возможно, уже заработал значительную сумму с помощью рыночных манипуляций – это незаконно во многих юрисдикциях. У него также может быть огромная налоговая задолженность. Очевидно, что у сообщества есть огромный стимул Словарь его личность и «вывести» его на чистую воду.
Вероятно, уже достаточно информации, чтобы люди могли понять, кто он такой. Возможно, это лишь вопрос времени, когда они это сделают.
Последствия
Похоже, что в этот момент DAO умрет, а держатели токенов DAO получат обратно где-то от 0% до 100% своего эфира.
Можно с уверенностью сказать, что ребята из Slock.it на какое-то время будут заняты своими делами, возможно, их проект не получит финансирования (мне сказали, что они вложили в The DAO BIT собственных денег), и им, возможно, придется месяцами разговаривать с юристами.
DAO по-прежнему подвергается подобной атаке.
Виталик может предложить решение на основе эфириума, но решать должны узлы. Неясно, по какому из этих путей пойдут узлы. Многие говорят, что «ничегонеделание — это, пожалуй, худший вариант». Все зависит от того, по какую сторону забора вы находитесь. Скользкие дорожки есть везде.
Есть еще одна загвоздка: Ethereum Foundation готовится перейти на новый механизм консенсуса под названием «доказательство доли», и в этом случае любой, кто владеет 14% всего эфира, получит колоссальный контроль над будущим блокчейном.
Фактически Виталик попросил установить лимит на проекты в размере около 10 миллионов долларов, чтобы помочь ограничить масштаб непреднамеренных ошибок.
Также весьма вероятно, что будут судебные иски. Мы могли бы увидеть полный беспорядок, с судебными исками, которые будут тянуться много лет. Или мы могли бы увидеть довольно аккуратный и опрятный конец, Ethereum продолжит существовать, а «злоумышленник» больше никогда не появится.
Хотя я бы поставил 5 эфиров, что злоумышленник будет найден в течение месяца или двух. Хотя буква и дух смарт-контрактов таковы, что «умные контракты правят», а верховенство закона T применяется — в этом случае большинство людей хотели бы увидеть повтор. Я предполагаю, что мы увидим применение различных правил закона.
Я старался придерживаться фактов, и теперь я выскажу ONE простое Мнение: эта ситуация разрешится сама собой, если злоумышленник просто купит кучу эфира, а затем согласится работать с людьми из DAO, чтобы вернуть деньги всем держателям токенов и полностью распустить DAO.
Злоумышленник заработает немного денег, докажет свою точку зрения, не придется привлекать адвокатов, мы все усвоим тяжелый урок, а Ethereum Foundation сможет начать планировать более безопасное и устойчивое будущее.
Краткое содержание
Я считаю, что можно сказать, что это событие знаменует начало новой эры публичного блокчейна Ethereum.
Хотя гибкий подход «готовься, стреляй, целься» обычно лучше всего работает с новым программным обеспечением, он может быть опасен, когда в патронник загружается 150 миллионов долларов.
Ethereum был объявлен универсальным компьютером и предвестником новой децентрализованной модели для вычислений и для общества. Мы увидим, BIT раньше, чем мы, возможно, хотели, как все это будет работать в реальном мире.
Некоторые ресурсы:
- DAO, DAC и многое другое– Виталик Бутерин
- Как построить демократию на блокчейне – Фондом Ethereum
- DAO, The Fork, The Fallout
Этот пост изначально появился наСерединаи переиздано с разрешения автора.
Дэвид Сигел — блокчейн-стратег и спикер, основательKryptodesign.comи кураторDecentralStation.com, место, где можно Словарь о блокчейне.
Отказ от ответственности: Siegal владеет небольшим количеством токенов DAO.