Просмотров: 17156

Роковой рекурсивный вызов и фейковая децентрализация


Скандал недели случился в криптомире — The DAO на грани смерти и хардфорк Ethereum. Далее я попытаюсь посмотреть на первые следствия всего произошедшего кипиша. Я не буду ниже тратить время на объяснение того, что же произошло, поэтому предварительно прошу ознакомиться на выбор вот с этими ссылками (первая, вторая, третья), иначе возможно пост будет не понят. Далее растекаться мыслью по древу буду в рамках этих ключевых слов: Bitcoin и DAO, взлом и атака на Ethereum, эфир и смарт-контракты, хакеры и безопасность, будущее криптовалют и проблемы липовой децентрализации.

Итак, какова текущая расстановка сил, а также последствия того, что случилось после хакерской атаки на The DAO.

Bitcoin, атака на Ethereum, эфир и смарт-контракты, хакеры безопасность, будущее криптовалют проблемы децентрализации децентрализация Ethereum

То, что произошло на прошлой неделе — грандиозно, и оно требует ещё своего спокойного осмысления. Ранее речь шла про децентрализованные сети или платежные сервисы типа Биткоин. Но Эфириум — это фактически распределенный компьютер, который децентрализовано исполняет принятые разными сторонами смарт-контракты. Будучи однажды запущен, такой смарт-контракт будет безусловно исполнен.

Дизайн сети гарантирует это. Просто нет того компьютера, который можно отключить, равно как невозможно локализовать программу-контракт, который можно было бы как-то подправить.

Но что же произошло? Обнаруженная уязвимость приложения The DAO позволила посредством бесчисленного множества рекурсивных вызовов скушать всю доступную в Фонде сумму, плавно перекачав её на счета «злоумышленников». И слово злоумышленники я не зря взял выше в кавычки. Но обо всём по порядку.

1. Похачить всё взад

Сама Ethereum Foundation, желая вернуть обратно похищенные деньги вкладчиков The DAO, ерепенится по беспределу выполнить хардфорк проекта, то есть ни много ни мало изменить правила игры глобально в рамках всей сети, чтобы посредством магического эффекта, сопоставимого с Нео, останавливающим ладонью пули, вернуть уже ушедшие прочь деньги, таким образом провернув фарш обратно в первоначальную тушку.

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

Голубоглазый Vitalik беспомощно разводит руками: другого выхода нет, кроме как врубить режим бога и пропатчить криптографическую реальность через грязный бит-хак.

2. А ты кто такой?

Чтобы ещё больше запутать всех, злоумышленник выступил с открытым обвинением/угрозами сообществу в нарушении принципов необратимости смарт-контрактов. Он собирается надеть свой парадный смокинг и деанонимизироваться, попутно наняв юристов и стравив их всех на Виталика Бутерина, а также на «всю его криптографическую банду за мошенничество». Серьёзно, дело пахнет керосином.

Смотрите сами: чисто формально смарт-контракт был опубликован, злоумышленник акцептировал его условия, тогда контракт со стороны машины был исполнен. Что же поделать, что один из его вариантов кода предусматривал бесконечную рекурсию, невыгодную для самого Фонда, и злоумышленник «просто воспользовался публично предоставленным легальным сервисом».

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

3. Виталика не виновата?

Но из композиции всех факторов возникает ещё более тупиковая ситуация. Уязвимость была в приложении The DAO, запущенного поверх стэка Эфира. Это одним абстрактным этажём выше самой эфирной сети. Причем тут Vitalik? «Это не проблема Ethereum, отвалите».

Тем не менее сеть оказалась заложником утечки гигантской суммы, а значит, мишенью для репутационной атаки.

The DAO между прочим поставило мировой рекорд краудфандинга, собрав огромную сумму в долларах.

И что делать теперь, когда злостный аноним только и ждёт разблокировки средств, обуреваемый страстным желанием подвигать своими блоками?

Основатель The Dao свалил, как только запахло жареным, куча чужих денег теперь сосредоточена у явного проходимца, который ждёт разморозки актива (эта пауза на вывод — условие смарт-контракта, ещё примерно 20 дней осталось до анхолда всей суммы) и размахивает угрозами судиться с каждым, кто станет на пути его блокчейновых транзакций.

4. Сode is king

Не знаю, чем всё это закончится, но понятно одно: для подобных проектов требуется невероятная глубина экспертизы. Уровень компетенций архитекторов, участвующих в подобных глобальных проектах должен зашкаливать. Любой баг в подобной среде — критичен и необратим. Это корни проблемы: мы идем семимильными шагами к коммунизму, но скотина за нами не поспевает мечта реальна, но спешная реализация нас подкачала.

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

Второй момент, насчет которого сейчас ведется спор между двумя вариантами интерпретации происходящего: случайная ли это ошибка и проблема ли это отдельного приложения, или это уязвимость by design, имманентно присущая самой среде Эфира.

Bitcoin, атака на Ethereum, эфир и смарт-контракты, хакеры безопасность, будущее криптовалют проблемы децентрализации децентрализация Ethereum

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

И, наконец, третий аспект — необратимость операций блокчейна — это новый источник проблем, порождающий ошибки/ситуации, которые невозможно обработать или устранить штатными средствами.

Bitcoin, атака на Ethereum, эфир и смарт-контракты, хакеры безопасность, будущее криптовалют проблемы децентрализации децентрализация Ethereum

5. Второе дно децентрализации

Безусловно, события будут развиваться дальше, и, вероятно, мы ещё увидим много крипто-анархического кипиша на этой киберпанковской поляне, но пока лично я согласен вот с таким консервативным выводом — время смарт-контрактов, видимо, ещё не пришло. Даешь консервативные ценности!

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

Но Биткоин по-прежнему автономен и работает как ни в чем не бывало, а вот все эти новомодные децентрализованные сети с централизованным вторым дном, что-то чувствуют себя не ахти.

Далее результирующая цитата взята отсюда:

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

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

6. Промежуточные выводы

Реально, потенциальный фэйл ETH заставил многих серьёзно задуматься, ИМХО, он многому научил. Например, LISK уже заказал стороннюю экспертизу своих смарт-контрактов.

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

Подобно Илону Маску, возможно, нам понадобится несколько попыток для успешного запуска смартовой крипто-ракеты, а пока можно определено сказать лишь одно: нужно быть осторожным, очень осторожным, ибо неконтролируемая сложность готова в любой момент сожрать наши молодые и такие амбициозные проекты. Виталик Бутерин видится мне в роли Искусителя, который показал всем чарующие горизонты нового дивного мира, но нам еще предстоит побороться, чтобы отладить его Мечту до состояния продакшена.

Мы делаем только первые робкие шаги в этом грандиозном и новом для всех направлении. После произошедшей библейской по своим масштабам катастрофы, понятно, что смарт-контракты потребуют каких-то иных подходов не только в философии устройства блокчейна, но и в этой области программирования. Здесь очень важно не спешить, ибо это дает справедливый повод для подобных подозрений:

Вы уловили послание? Все эти биткойны и этериумы — попытка взломать традиционную систему (национальных) государств, и события могут стать прямо-таки учебниковой иллюстрацией к тезису анти-либертарианцев: «вы просто хотите сами стать государством, возможно, под другим названием».


Кто ничего не понял, вот краткое графическое содержание всей истории для самых маленьких. Действующие ниже лица: Ethereum, The DAO, Bitcoin:

Bitcoin, атака на Ethereum, эфир и смарт-контракты, хакеры безопасность, будущее криптовалют проблемы децентрализации децентрализация Ethereum

Дополнительные внешние материалы, которые помогут глубже разобраться в теме данного важного скандала:

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru pikabu.ru blogger.com liveinternet.ru livejournal.ru google.com bobrdobr.ru yandex.ru del.icio.us

Подписка на обновления блога → через RSS, на e-mail, через Twitter
Теги: , , , , ,
Эта запись опубликована: Вторник, 21 июня 2016 в рубрике МненияНовости.

2 комментария

Следите за комментариями по RSS
  1. На gektimes куча коментариев, не ужели на блогераторе так мало посетителей? Здесь на блогераторе более познавательные и качественные статьи. Может блогератор не стараются популяризировать, личное автора в осноном для себя? С другой стороны где толпа там и уровень статей ниже на более средний уровень читателей?

  2. Неужели на этом загнется эфириум, в него столько денег ввалили или подождать пока совсем упадет и закупиться по дешевке?

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Зарегистрировать/комментатор

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

(обязательно)


⇑ Наверх
⇓ Вниз