Идеальная DDoS-атака

Ажиотажный спрос добросовестных приобретателей токенов Ethereum превратился в жесткую DDoS-атаку на сеть этой криптовалюты, справиться с которой не удалось. Это первый случай проявления специфической уязвимости популярной финансовой технологии, свидетельствующий о необходимости кардинальной перестройки алгоритмов ее работы
Идеальная DDoS-атака
Криптовалюты лихорадит: по отношению к июньским пикам к концу месяца Bitcoin подешевел на 16%, Ethereum — почти на треть

Первичное криптовалютное размещение (Initial Coin Offering, ICO) сингапурского блокчейн-стартапа Status на прошлой неделе заставило инвесторов понервничать. Наплыв желающих приобрести токены оказался столь велик, что вычислительные мощности «экосистемы» криптовалюты Ethereum, в которой проходило размещение, не справились с нагрузкой, и сеть фактически оказалась парализованной.

Что это — разовый технический сбой или свидетельство системных проблем с криптовалютами? Возможно, это совпадение, но за последние двадцать пять дней курсы двух ведущих криптовалют, биткойна (BTC) и эфира (Ether, ETH), рухнули на 16 и 32% соответственно. Являемся ли мы свидетелями схлопывания «криптопузыря» или происходит всего лишь фиксация прибыли на росте курсов в апреле–мае и hype is going on?

 

Перегазовали

Компания Status.im объявила сбор средств на создание мессенджера под операционные системы Android и iOS, в котором кроме сообщений можно будет переводить средства в кибервалюте. После нескольких переносов ICO началось вечером 20 июня. Довольно быстро компания набрала заявки на 300 тыс. ETH, которые планировала собрать (эквивалент примерно 100 млн долларов по курсу на тот момент), но они продолжили поступать и превысили начальное предложение втрое.

magnifier.png Криптовалюта Ethereum была предложена канадцем российского происхождения Виталиком Бутериным в 2013 году, на волне популярности биткойна. Новацией по сравнению с биткойном в Ethereum стала поддержка так называемых умных контрактов (smart contracts).

И тут выяснилось, что сеть не в состоянии «переварить» такое количество транзакций — ведь проведение каждой из них требует существенных вычислительных ресурсов. Через некоторое время после начала ICO пользователи пожаловались, что переводы компании Status не проходят. На следующий день, 21 июня, оказались невозможны не только транзакции, относящиеся к ICO, но и другие операции в сети Ethereum. В частности, покупка токенов компании CIVIC, которая проводила ICO вслед за Status.

Business Insider, описывая проблемы с Ethereum, отметил, что кроме многочисленных отказов в прохождении транзакций наблюдалось также «мгновенное падение» (flash crash) курса эфира — на бирже GDAX на котороткое время он упал с 296 долларов до 10 центов. В какой-то момент сайт Coinbase ушел в офлайн, заставив майнеров изрядно понервничать.

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

Ряд экспертов вслед за самой компанией-эмитентом склонны возлагать вину за случившееся на самих пользователей. Дело в том, что для проведения транзакций Ethereum использует особый механизм, так называемый газ. Фактически это комиссия, которую платит пользователь за заключение контракта. Приоритет в сети имеют операции с большей комиссией. «По сути, проблему создали сами пользователи: они видели, что их транзакции не проходят, начали увеличивать количество газа, тем самым создавая еще большую нагрузку на сеть, — пояснил Анатолий Поединцев, соруководитель компании ICORating, консультирующей стартапы, выходящие на ICO. — При этом у Ethereum есть определенный лимит на количество газа, но пользователи этот лимит проигнорировали». Господин Поединцев сомневается, что разработчики Ethereum смогут снять лимит на количество единовременно проводимых операций и сократить время проведения транзакций, поскольку, по его мнению, эта криптовалютная сеть не очень гибкая.

pencil-striped-symbol-for-interface-edit-buttons.pngICO

Initial Coin Offerings, сбор средств в криптовалюте. Можно провести аналогию с IPO, только инвесторы получают не акции компании, а токены — монеты, стоимость которых зависит от успешности проекта, проводящего IPO. Так как в большинстве стран оборот криптовалют не регулируется, то операция не требует согласования регулирующих органов. В результате ICO требует меньше ресурсов на подготовку и сам процесс сбора криптовалюты. При этом проводящая ICO компания должна будет или вкладывать в свое развитие криптовалюту (это затруднительно, потому что пока она имеет очень ограниченное применение), либо выводить ее в денежные средства (доллары, евро, рубли и так далее), принимая на себя риски резких колебаний курсов криптовалют

Общая мощность сети Ethereum сейчас составляет порядка 55 терахешей (то есть 55 трлн вычисляемых хешей) в секунду. В пользователей это перевести довольно сложно, потому что у кого-то считает слабый компьютер, а у кого-то стоит сервер с мощными видеокартами, причем это даже может несколько систем с видеокартами — «ферма». Например, хешрейт Nvidia GeForce 1070, одной из самых быстрых видеокарт, — 28 мегахешей/c. Приблизительно оценить снизу количество используемых графических плат в системе Ethereum можно в два миллиона единиц (общий хешрейт делим на хешрейт самой быстрой видеокарты).

Зная производительность Nvidia GeForce 1070, можно сделать приблизительную оценку производительности всей сети Ethereum — порядка 0,4 Эксафлопс.

Но на фоне этой мощности 300 тыс. транзакций за три часа (а может, и за меньшее время: открылись торги, пошли заявки) оказалось достаточно, чтобы «положить» сеть. Ведь обычная нагрузка на нее не превышала 10 тыс. транзакций в час. Практически мгновенный скачок нагрузки более чем на порядок — это приговор любой сети. Идеальная DDoS-атака.

 

Умные деньги

Криптовалюта Ethereum была предложена канадцем российского происхождения Виталиком Бутериным в 2013 году, на волне популярности биткойна. Принцип работы соответствовал классической схеме блокчейна: информация о переводах записывается в транзакциях, транзакции объединяются в блоки, блоки закрываются с добавлением информации о предыдущих блоках, а пользователи получают валюту за выполнение последней операции. Новацией по сравнению с биткойном в Ethereum стала поддержка так называемых умных контрактов (smart contracts).

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

Канадский программист российского происхождения, сооснователь проекта Ethereum Виталик Бутерин
Канадский программист российского происхождения, сооснователь проекта Ethereum Виталик Бутерин
Фотография:  gettyimages.ru

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

С одной стороны, при этом снижаются издержки, но в случае сделок, результаты которых не могут быть полностью отслежены в интернете, предъявить претензии будет невозможно. Например, если вы заказали товар через интернет, приход и получение адресатом посылки можно отследить на сайте доставляющей компании, но качество содержимого (и вообще его наличие) вы узнаете, только вскрыв ящик. К этому моменту криптоденьги будут уже переведены, а продавец может остаться неизвестным, потому что кошельки в Ethereum анонимны. Судебные органы не примут иск, если криптовалюты не признаны в стране, а отправитель товара не сможет легализовать свои доходы.

Анонимность операций и неоформленный юридический статус криптовалют сделали их удобным инструментом для привлечения средств путем ICO. Привлеченные в результате ICO средства используются для развития компании или создания продукта.

Частота размещений в ICO росла — от нескольких за год до десятков в месяц: только за май 2017 года было проведено не менее 20 ICO. В июне же был поставлен абсолютный рекорд по объему ICO: Bancor Network удалось привлечь эфиров на 153 млн долларов.

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

 

Криптоклондайк может сдуться

Получить комментарий от создателя системы Ethereum к моменту публикации этой статьи не удалось. Эксперты, опрошенные «Стимулом», напоминали, что Бутерин уже имеет опыт решения сложных проблем со своей криптовалютой. В прошлом году один из участников сети воспользовался уязвимостью в описании умных контрактов, чтобы получить от DAO (Decentralized Autonomous Organization, инвестиционный проект, построенный на базе Ethereum) эфиров на сумму около 50 млн долларов. Он просто учел особенности системы, но правила, по которым она работала, не позволили ему вывести их мгновенно. За время задержки Бутерин убедил сообщество «откатить» операции в сети и убрать ошибку.

magnifier.png Частота размещений в ICO росла — от нескольких за год до десятков в месяц: только за май 2017 года было проведено не менее 20 ICO. В июне же был поставлен абсолютный рекорд по объему ICO: Bancor Network удалось привлечь эфиров на 153 млн долларов

«Не думаю, что задержка транзакций во время прохождения ICO позволяет сделать критические выводы об эфире, — рассуждает Виктор Крылов, гендиректор облачного сервиса Dokkur. — Когда будет больше майнеров, такие проблемы уйдут, а сейчас Status просто небрежно отнесся к ICO». На глазах у автора статьи Крылов пытался купить токены компании CIVIC, которая проводила ICO вскоре после Status, но сеть работала плохо. Чтобы не перегружать сеть, CIVIC организовала очередь для желающих, транзакцию Крылову удалось провести только через сутки.

Виталий Крылов отметил небрежность Status по сравнению с CIVIC: «Status похожа на компанию-однодневку. Насколько я знаю, никто не получил подтверждение об участии в ICO. И после завершения сбора прошло уже четыре дня (комментарий получен 24 июня. — “Стимул”), до сих пор нет комментариев. Думаю, такие компании не заботятся об условиях, из-за этого получился идеальный DDoS, пользователи сами за него заплатили. Но второй раз пользователи будут аккуратнее, я надеюсь».

Однако радикальный способ избежать риска подобных сбоев с криптовалютой Ethereum в будущем состоит в перестройке базовых алгоритмов работы ее сети. «Проблему решит изменение механизма исполнения контракта», — уверен Алексей Федоров, научный сотрудник Российского квантового центра (он известен тем, что первым в мире предложил концепцию квантового блокчейна). Сейчас в Ethereum для исполнения контракта или завершения блока с транзакциями используется механизм PoW (proof of work): пользователь совершает ресурсоемкую компьютерную операцию, затрудняющую подделку. Но из-за сложности вычислений сеть может повисать при больших нагрузках.

pencil-striped-symbol-for-interface-edit-buttons.pngБлокчейн

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

Известно, что Бутерин разрабатывает новую версию протокола на PoS, который сильно масштабирует сеть и решит возникшие проблемы. При механизме PoS (proof of stake), то есть «подтверждение доли», к заключению контрактов (завершению блоков) будут допущены только пользователи, обладающие значительными средствами в криптовалюте, например в размере 1000 ETH. При этом значительные компьютерные мощности будут необязательны, так как депозит гарантирует заинтересованность его владельца в принятии решений, повышающих курс криптовалюты.

Введение нового принципа подтверждения контрактов PoS сопряжено с большим количеством технических трудностей, которые предстоит решить команде Ethereum, считает Константин Виноградов, аналитик Runa Capital, исполнительный директор ИТ-кластера «Физтех». По его оценке, полноценный переход на новый механизм состоится не ранее чем через год.

Возможно, проблемы нагрузки на сеть при ICO разрешатся естественным путем — после спада ажиотажа пользователей-инвесторов. Одна-две компании, которые соберут миллионы долларов в криптовалюте и исчезнут с ними, сразу поубавят пыла у инвесторов. Тогда упадет и количество транзакций в сетях криптовалюты. Константин Виноградов даже сравнивает рынок ICO с акциями в США в 1930-е годы: «Неконтролируемая эмиссия токенов, как в прошлом веке ценных бумаг, и предложение их неквалифицированным инвесторам приведут к локальному кризису, когда люди поймут, что потеряли свои вложения из-за того, что инвестировали их в откровенно провальные проекты. А таковых явно больше половины из тех, кто сделал ICO».

Аналитик ожидает, что в течение 6–18 месяцев стоит ожидать спада рынка ICO, а затем его перехода в более цивилизованное русло. «Пока это настоящий Дикий Запад», — заключает он.

Шанс поумнеть

Рынок криптовалют отреагировал на инцидент с задержкой платежей в сети Ethereum сравнительно спокойно. Если бы владельцы токенов посчитали, что задержка транзакций во время ICO Status действительно угрожает их состоянию, то вывод средств уронил бы курс эфира в разы.

Тысячи долларов за биткойн
Тысячи долларов за биткойн
Фотография: gettyimages.ru

Пока масштаб снижения котировок существенно скромнее, да и началось оно, причем практически одновременно в сети Bitcoin и в сети Ethereum (см. график), на десять дней раньше злосчастного ICO и, очевидно, было вызвано другими причинами.

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

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

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

Темы: Инновации

Еще по теме
Наш ВМФ может получить полноценный авианосец через двенадцать лет. Авиационное крыло нового корабля придется уменьшить почти...