TheDAO не было взломано. MtGox Эфириума

71
ПОДЕЛИТЬСЯ

Concept key

До последнего времени у меня не было своего мнения относительно провала The DAO. Что правильнее: софт форк, хард форк, ничего не делать? Мой предварительный вывод: лучшее решение – не делать ничего. Объясню почему.

Давайте обратимся к фактам. Эфириум и The DAO – две совершенно разные вещи. Эфириум представляет собой базовый компьютерный протокол с собственным блокчейном. Его единственное назначение – обеспечить надежное выполнение кода во всемирной компьютерной сети.

The DAO – одна из первых программ для выполнения в сети Эфириум. «ДАО» означает Децентрализованная Автономная Организация – новый тип компании. Она работает автономно, управляемая программным кодом.

Это ключевой момент: The DAO – компания. Компания без персонала. The DAO не существует вне программного кода. Компания и есть код. Инвесторы могут финансировать компанию, вкладывая в нее деньги.

The DAO не подвергалась хакерской атаке. Она просто исполняла свой собственный код, и в процессе этого исполнения пришла к банкротству. Просто бизнес-модель оказалась некудышней. Катастрофа? Только с точки зрения инвесторов The DAO. С технической точки зрения The DAO сработала безупречно.

Mt. Gox 2.0

Банкротство The DAO очень похоже на банкротство Mt.Gox. Биткойн-сообщество хорошо помнит как СМИ описывали банкротство Mt.Gox. Заголовки кричали «Биткойн – банкрот!», или «Хакеры атаковали Биткойн!». И то и другое было неверным. С Биткойном все было в полном порядке. Mt.Gox была компанией, работающей «вне» основного протокола Биткойна.

Люди доверяли Mt.Gox как компании, и к несчастью, она обанкротилась. Участники потеряли солидные суммы. Это, конечно же, очень печально, но та катастрофа стала хорошим уроком. Он пошел впрок.

То же самое происходит с The DAO. Вкладчики доверяли компании не вникая в детали. Они инвестировали деньги в компанию, а она обанкротилась, хотя лежащая в ее основе платформа Эфириума не имела никакого отношения к катастрофе. Да, создатели The DAO внесли в его код не продуманную как следует функциональность, которая в итоге позволяла вывести средства инвесторов через рекурсивный сплит. При чем тут Эфириум?

Поэтому я считаю идею хардфорка неприемлемой для сообщества Эфириума. Да и софтфорка тоже.

Деньги потеряны, это факт, но не из-за технических проблем с Эфириумом. В свое время люди потеряли много денег на банкротстве Mt.Gox (как и на взломах других компаний биткойн-экосистемы), однако хардфорк Биткойна “для спасения инвесторов” был признан принципиально неприемлемым. Более того, по сути он даже всерьез не обсуждался – разница между базовой платформой и периферией была для всех очевидной.

В этой истории со “спасением The DAO” неприятно поражает явный конфликт интересов. Тот факт, что разработчики Эфириума инвестировали деньги в The DAO, и теперь, по сути, защищают свои шкурные интересы. Вообразите, что Биткойн-компания обанкротилась, а разработчики планируют хардфорк, чтобы вернуть деньги – ведь они сами вложились в эту компанию! Код был правильный, все работало как должно работать, но они прогорели и теперь хотят все “переиграть”. Разве разумно в таких случаях проводить хардфорк? Это очень опасный прецедент.

Новая Атака 51%

Тем не менее, окончательное решение о форке Эфириума остается не за разработчиками, а за майнерами. Вроде бы, это очень неплохо. Демократия в действии, глас народа – глас божий, все такое. Однако, есть одна проблемка. Ведь, по сути, мы наблюдаем новый тип атаки на блокчейн-технологию – демократическую атаку 51%.

Люди, предлагающие “хардфорк для спасения The DAO”, не обсуждают устранение какой-либо технической ошибки. Они обсуждают возможность “восстановления справедливости” – возврата средств, потерянных инвесторами обанкротившегося бизнеса. Люди инвестировали в компанию, не просчитав толком риски. Компания обанкротилась, и теперь они хотят силой забрать свои деньги из блокчейна.

Снова опасный прецедент. Он демократичный, но разве демократия (“власть большинства над меньшинством”) – это всегда правильно? Сегодня, голосованием большинства, произойдет перераспределение средств в пользу инвесторов The DAO. Что именно окажется, по мнению большинства, несправедливым завтра или послезавтра?

https://twitter.com/N173553719/status/744086544269590528

Ошибка биржи против банкротства компании

Предположим, вы открыли счет на фондовой бирже и положили на него $1000. Представьте себе два сценария:

  1. На бирже произошел сбой, и вы потеряли деньги.

  2. В компании, акции которой вы купили, произошел технический сбой, компания из-за этого обанкротилась, вы потеряли свои деньги.

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

Во втором варианте вряд ли фондовая биржа будет решать ваши проблемы. Сомнительно, что она переложит ваши риски на плечи других и сможет представить все так, что вы как бы и не покупали акции обанкротившейся компании.

Биржа отвечает за свои ошибки. Эфириум отвечает за технические сбои на своей стороне. Технического сбоя не было. Почему кто-то должен изменять код, чтобы исправить неверные решения своих клиентов?

Контракты, коды, стук в дверь

Еще одна аналогия провала The DAO.

Предположим, вы по своей воле подписываете контракт. В нем, в частности, написано: «Каждый раз, когда ваш сосед стучит в вашу дверь, $5 с вашего счета в банке автоматически отправляются на его счет».

Вроде бы, все хорошо, до тех пор, пока сосед не постучал к вам в дверь. Утром вы просыпаетесь, а ваш банковский счет пуст. Кто виноват? Ваш сосед украл деньги? Это он хакер?

Насколько я понимаю, именно это сейчас и случилось с The DAO. Код компании предусматривал вознаграждение за сплиттинг, некто проводил процесс сплиттинга, пока счет не опустел. Это плохая бизнес-модель, что и показало данное банкротство.

Проводить форк Эфириума, чтобы внести в глобальный черный список адрес этой неизвестной личности? И даже вырезать часть блокчейна, переписать историю, чтобы забрать у него деньги? Мне не кажется это разумным. Я вовсе не говорю, что этот тип морально чист. Однако с точки зрения автономных организаций и смарт контрактов, использование функциональности опубликованного в блокчейне кода никак нельзя считать криминалом.

С другой стороны

Я не хочу сказать, что все так просто, нет. Крупные ошибки должны исправляться всем сообществом, особенно с учетом новизны технологии. Конечно, это опасный прецедент, но все же, масштаб Эфириума еще крайне мал. Хардфорк из-за неудачного контракта станет абсолютно неприемлемым в будущем, но, возможно, прямо сейчас он не так подорвет доверие к платформе и не сильно повредит сообществу. Я не поддерживаю хардфорк, но возможно он не окажется смертным приговором для Эфириума.

Честно говоря, было бы намного проще, если бы баг оказался в самом коде платформы Эфириума, но увы, это не тот случай.

Надеюсь, что несколько уроков будут извлечены из происшедшего. Во-первых, инвестировать крупные суммы денег в настолько экспериментальный проект – исключительно плохая идея. Во-вторых, если все-таки сообщество Эфириума решит вернуть свои деньги посредством хардфорка, я надеюсь, они твердо определят, что такое событие останется единственным в истории. От этого зависит доверие ко всему проекту.

Вот только, когда прецедент уже создан, удастся ли удержаться от его повторения в следующем случае, когда “невинные инвесторы” вновь будут трогательно взывать о помощи?

kitty

Источник: http://steve-patterson.com/dao-not-hacked-mt-gox-ethereum/

71 КОММЕНТАРИИ

  1. Более того, по сути он даже всерьез не обсуждался

    Ведь, по сути, мы наблюдаем новый тип атаки на блокчейн-технологию – демократическую атаку 51%.

    Да. Это самый фейл. Сейчас говорят о консенсусе, демократии и честном решении. Но такие вопросы просто не должны рассматриваться не рабочей системе. Все подобные меры должны быть заранее оговорены, а решаться по ходу движения не должны. Ни хоть одним человеком, ни толпой. Иначе это уже не программная система, а политическая.

    Кроме того, сколько бы не находили причин для такого хард-форка, но это факт самой настоящей цензуры. Толпа решила что воровать плохо и приняла решение вмешаться. Потом толпа решит что свободная торговая площадка – это плохо, потому что там продают запрещенные товары. Возникнет угроза существованию Ethereum Foundation под давлением властей, и что тогда? Снова хард-форк?

    Таким образом получается, что слова uncensored, unstophable на главной странице проекта вводят в заблуждение. По сути просто являются лживой рекламой. И даже decentralized. В привычном всем интернете нет глобальной цензуры для всех пользователей, черный список роскомнадзора не действует в других странах. А в такой только зарождающейся системе она уже есть. Нужен ли такой Web 3.0, где действия одних участников ставят на колени всю сеть.

    Крайне разозлило так же, что в первые часы атаки уже поспешили заявить: мы всё исправим. Мне уже тогда стало ясно “как” собираются исправить, уже после прочитал пост Виталика. Туаль там уже строчил самоуверенные посты в твиттере. Решение принято, толпу мы уговорим.

  2. Пример с кирпичным заводом крайне глуп. А вот с соседом постучавшим в дверь аккурат в тему. В контракте было написано кто постучит тот получит. Просо не оговаривалось количество раз, которое можно постучать. Хакер постучался от души 🙂

    • Речь в примере не о работе контракта, а о том как поступить Виталику. Не будем путать теплое с мягким. ))

      • Энтони Dи Иорио, один из разработчиков Эфириума призвал В. Бутерина максимально дистанцироваться от проблем сторонних компаний/контрактов/приложений, и заниматься протоколом, масштабированием и т п. Эмин Гюн Сайер, тоже страшно ругает SlockIt за ничегонеделание и адские крики “Помогите!”. Однако оба сходятся на том, что софт форк – не самое страшное, пусть будет. Про хардфорк разговора пока нет.

  3. Автор статьи здраво рассуждает что решения которое удовлетворит всех в настоящий момент нет. Каждое из возможных будет нести какой-то дискомфорт для части инвесторов.

    • Solidity это не изъян Ethereum. Ethereum работает на OP_СODEs, так же как и биткоин, код на Solidity компилируется в OP_CODE script. А сам компилятор вообще внешняя сущность. Это как язык программирования и процессор компьютера: процессор не отвечает за баги компилятора. Да Solidity ещё очень сырой, он был совсем недавно разработан с нуля. Но это не значит что им нельзя пользоваться. Можно было покрыть тестами, пожно было изучить полученный ассемблерный код. Можно было в конце-концов не собирать столько денег на счету одного контракта и придумать лучший модульный дизайн.

    • Хард форк будет необходимым, чтобы исправить изъян в Solidity.

      Это полный бред. Ложь.

      • Не хочу вообще иметь дела с системой, где толпу к принятию решений склоняют вводом в заблуждение, убеждениями и авторитетами.

  4. Внимание вопрос!Как бы вы рассуждали,окажись лично на месте людей попавших на деньги.Не на сто долларов а на десятки,сотни тысяч.Вас бы волновала “юридическая позиция” хакера?Более правильней было бы этому хакеру когда он обнаружил такую возможность,договорится с создателями за разумное вознаграждение.Вся эта идеология биткойна, полная лажа и лицемерие.Ожидание вложить сто долларов и поднять через год 10 000,вот и вся идеология большинства.

    • Не согласен я с Мэттью! Если все откатить и сделать “как было” никакие уроки извлечены не будут! В истории останется только то, что есть Центральный орган который все исправит случись чего еще… А это ведет к известному мультфильму про тяп-ляп “и так сойдет!”…

  5. В свете сравнения The DAO с Mt.Gox, почему-то вспомнилось, что перед ICO, полный аудит кода The DAO провела компания с говорящим названием “Deja Vu Security”.

  6. По моему все правильно сказано! 100% поддерживаю автора!
    Мне очень понравился пример одного участника на форуме битс.медиа! Предположим Вы владелец кирпичного завода, у вас купили кирпичи и построили дом. В дом залезли грабители и все вынесли. Разве Вы как владелец завода должны возвращать пропавшее!

    • Ситуация еще печальнее. Владелец завода сам хранил в том доме свои доходы, и теперь требует у других покупателей кирпичей, скинуться дабы возместить убытки.

    • Вообще мне это напоминает такую историю – продхожу я к банкомату и снимаю 10к рублей, а банкомат мне выдает 100к – Спасибо от Сбербанка ???? и когда представители банка мне позвонят и скажут что это ошибка – я должен сказать , что нет – это вы меня татк по благадарили за использование вашего сервиса ????

      • Не, пример с банкоматом не подходит. Люди, отдавая свои деньги в Сбербанк не знают как работает их банкомат и его программное обеспечение. Поэтому они не могут решить на сколько это безопасно. Умный контракт The DAO находиться в открытом доступе, и каждый переводя туда деньги, может оценить (если лень или не умеешь, то сам дурак) насколько это безопасно. Смысл в том что контракт работает абсолютно детерминировано (однозначно) и ответственность падает на тебя лично.

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here