Jun. 18th, 2016

keinkeinkein: (v14)


Виталик Бутерин влип.

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

Правила DAO изначально были составлены криво. Начиная с того, что мошенник может в самый последний момент вбросить десяток голосов "за" и вложить чужие деньги в мошеннический проект, и заканчивая тем, что спекулянт, посеяв панику среди инвесторов, может в очень короткий промежуток времени скупить все их токены задешево. Тем не менее, проект запустили, а исходники выложили на "Гитхаб".

Сегодня произошло эпическое событие. Воспользовавшись уязвимостью в функции splitDAO(), создающей форки контрактов инвестиционного фонда, злоумышленник вызывал ее рекурсивно.

https://github.com/slockit/DAO/blob/develop/DAO.sol

Таким вот образом он получал халявную криптовалюту после каждой транзакции. За несколько часов он украл (хотя сам он считает, что честно заработал) примерно 53 миллиона долларов. На данный момент, он продолжает свою атаку. Вся логика смарт-контрактов, на которых построена валюта эфириум, не подразумевает таких понятий, как "честный контракт" и "мошеннический контракт", и это является недостатком этой валюты.

После того, как об атаке стало известно, от этой валюты биржевые трейдеры стали избавляться, а у Виталика Бутерина пригорел стул, на котором он сидел. Эфириум сегодня на биржах обвалился примерно на треть. Разработчики даже предложили всем устроить DDoS-атаку на Ethereum, загрузив его процессор мусором, чтобы отсрочить окончательный обвал и выкрасть время на поиск решения. Виталик также попросил всех трейдеров приостановить любую деятельность, связанную с эфириумом.

Несколько часов назад Виталик предложил всем "честным пацанам", "кому не западло и не впадлу", сделать по сути форк всего блокчейна без сегодняшних транзакций DAO и перейти на этот форк. Я так и не понял, как он планирует поступать со смарт-контрактами, которые были выполнены за сегодня, но не были мошенническими, если структура данных блокчейна подразумевает связный список с хэшированием и не дает возможности сделать этакий cherry-pick (как это делается в git).

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

Злоумышленник, укравший примерно 53 миллиона долларов, утверждает, что заработал он их честно, и грозится подать на Виталика в суд, если он сделает новый блокчейн:

http://pastebin.com/CcGUBgDG

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

UPDATE: все-таки Виталик решил сделать форк.

Сделать перепост:

January 2017

S M T W T F S
123 45 67
8 910 1112 13 14
15161718192021
2223 2425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 28th, 2017 02:57 pm
Powered by Dreamwidth Studios