Станьте профессионалом в криптоторговле

Станьте профессионалом в криптоторговле

Узнайте все о криптовалюте, торговле и ботах

Узнайте все о криптовалюте, торговле и ботах

История Ethereum (Часть 2)

За авторством

priapus avatar

priapus

ДАТА ПУБЛИКАЦИИ: СЕНТ. 1, 2020
10 МИНУТ

Попробуйте 3Commas бесплатно

Полный доступ ко всем функциям 3Commas пока длится триальный период

В первой части серии статей об Ethereum мы рассказали о первых годах существования сети, описали первую в истории децентрализованную организацию The DAO и дальнейший ее крах, приведший к раздвоению цепочки и появлению независимого блокчейна Ethereum Classic.

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

Сопротивление dDos-атакам

Еще не успели утихнуть споры, связанные с раздвоением цепочки и событиями с проектом The DAO, как 22 сентября 2016 года, сеть подверглась dDos-атаке. Злоумышленники спамили сеть пустыми транзакциями, из-за чего возникали проблемы при совершении транзакций и включения их в блоки. Уязвимость была обнаружена в реализации протокола Go. Причиной уязвимости стала низкая стоимость газа на выполнение операционного кода при совершении транзакций. Транзакции злоумышленников вызывали операции ввода/вывода более 50 тысяч раз на один блок.

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

Для повышения устойчивости сети, 18 октября был осуществлен внеплановый хардфорк «Tangerine Whistle», целью которого являлось повышение стоимости выполнения некоторых операционных кодов до уровня, максимально увеличивающего для атакующих стоимость возможной атаки. Эти изменения сделали атаки экономически невыгодными, но не предотвращали от самих атак.

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

Способ организации блокчейна Ethereum отличается от такового в протоколе Bitcoin. В одной из наших прошлых статей мы говорили о модели учета доказательств владения, использующаяся в сети Биткоин — UTXO. В сети Ethereum используется «Account Model», в которой существуют два типа счетов (аккаунтов): внешние (управляемые закрытым ключом) и контрактные (контролируемые конкретным кодом, указанным в условии связанного контракта). Используя внешние счета можно создать транзакцию, задействуя закрытый ключ.

При совершении атаки на сеть, злоумышленники создавали пустые учетные записи, переводя нулевой ETH. Так как счета не содержали ни кода смарт-контракта, ни каких-либо значений или данных для отправки, то они были бесполезны. Но так как транзакции были совершены и их результат сохранялся в блокчейне, они увеличивали его размер и дополнительно задерживали другие транзакции. Новые атаки велись с 8 млн пустых адресов и увеличивали время генерации блоков на 1-2 секунды.

22 ноября был произведен еще один хардфорк под названием «Spurious Dragon», состоящий из нескольких обновлений, которые устранили последствия предыдущих атак, изменили стоимость некоторых операционных кодов и очистили блокчейн от пустых аккаунтов.

Бум ICO

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

По состоянию на конец августа 2017 года, на платформе Ethereum было выпущено около 6 тысяч токенов, а ежедневная ликвидность превысила $1 млн. лишь у 50 из них.

В 2017 году количество привлеченных средств за счет ICO было в 40 раз больше, чем годом ранее и составляло $3.8 млрд. Крупнейшим проектом в 2016 году, собравшим $16.5 млн, стал Waves, тогда как в 2017 году проект Hdac собрал $258 млн.

Пик ICO пришелся на декабрь 2017 года, после чего тенденция начала снижаться. 17 декабря Биткоин достиг отметки в $20 тыс. Во время падения Биткоина, на протяжении всего 2018 года, многие проекты переставали существовать по причинам неумелого управления средствами или отсутствия разработок и идей. Некоторые стартапы хранили средства в Ethereum, и по этой причине их средства обесценились во время медвежьего рынка и падения Ethereum с $1400 до $100.

2017 год стал важным этапом становления платформы Ethereum и криптовалют в целом. Стоит отметить, что помимо огромного количества мошеннических проектов, появившихся во время бума ICO, были собраны средства на развитие многих интересных и инновационных проектов связанных с блокчейном, а также появились конкуренты Ethereum, такие как: EOS, Cardano и Tron.

Обновление Metropolis: Byzantium

В Roadmap Ethereum, которая была опубликована еще в 2015 году, были запланированы обновления для перехода к алгоритму Proof of Stake. Одним из глобальных обновлений и третей фазой на пути к устранению процесса майнинга являлось обновление Metropolis, которое было разделено на две части: Byzantium (Византия) и Constantinople (Константинополь).

25 сентября 2017 года хардфорк Byzantium был проведен в тестовой сети Ropsten, а 16 октября — в основной сети Ethereum. Хардфорк включал в себя 9 протоколов улучшения (EIP). Одним из важных привнесенных изменений стала отсрочка «бомбы сложности», о которой чуть подробнее ниже.

Переход сети на PoS был запланирован на этап Serenity, но в силу слабой развитости и изученности технологии на то время, разработчики решили сделать это позже. При переходе, две цепочки с разными алгоритмами станут существовать параллельно друг другу и на алгоритме PoW останутся майнеры, которые могут отказаться осуществлять переход, поддерживая старую цепочку. Предвидя это, разработчики заложили так называемую «Difficulty Bomb» — механизм экспоненциального усложнения майнинга, для стимулирования перехода на новый алгоритм.

Искусственное увеличение сложности добычи началось во время первого запуска сети Frontier в 2015 году. Но так как до этапа Serenity было еще далеко, изменение сложности необходимо было отложить. Преждевременная активация «бомбы сложности» произошла в июне 2017 года и с мая по октябрь уровень сложности вырос в 10 раз. Среднее время нахождения новых блоков увеличилось в два раза — с 15 до 30 секунд.

Проведенный хардфорк Byzantium отложил увеличение сложности сети и снизил награду за блок с 5 до 3 ETH.

Помимо решения проблемы замедления добычи были добавлены криптографические элементы zk-SNARK, разработанные командой анонимной криптовалюты ZCash. Они  позволяют проводить приватные транзакции и обеспечивают взаимодействие между блокчейнами Ethereum и Zcash. Также были расширены возможности виртуальной машины Ethereum, оптимизированы расходы на газ, увеличена скорость создания блоков и внесены изменения в функционирование смарт-контрактов.

Обновление Metropolis: Constantinople

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

Второй этап Metropolis — хардфорк Contantinople — был проведен 28 февраля 2019 года. Это обновление состояло из 5 EIP и включало в себя следующие изменения: улучшения для масштабирования сети, повышение скорости работы блокчейна, решения по улучшению работы смарт-контрактов и снижения затрат на газ, оптимизация и создание условий для активации протокола Casper, для перехода на гибридный алгоритм консенсуса PoW/PoS, а также еще одно решение по задержке сложности майнинга.

Еще одно отложение «бомбы сложности» на 12 месяцев понадобилось в связи с тем, что похожего решения в хардфорке Byzantium хватило лишь на 4 месяца вместо запланированных 18-ти. Уже в марте 2018 года сложность сети превышала 3000TH, достигнув в августе пиковых значений в 3500TH. Скорость генерации новых блоков в это время составляло порядка 14-15 сек.

В декабре 2018 года сложность упала до 2000TH, но это было связано с отключением майнеров и падением цены ETH с $800 до 100$, после чего начался очередной рост сложности добычи.

Обновление Constantinople снизило уровень сложности сети до 2000TH, а объем эмиссии снизился с 3 до 2 ETH за блок.

Одновременно с Constantinople в сети было проведено еще одно обновление — St.Petersburg, которое было предназначено для удаления одного EIP из тестовых сетей Ethereum. Из-за уязвимости в этом EIP, обновление Constantinople постоянно переносилось от запланированной даты — осени 2018 года.

Уязвимость была обнаружена компанией по аудиту смарт-контрактов ChainSecurity и позволяла атакующим красть средства пользователей. Эта уязвимость называется «повторной атакой» и уже имела место в истории Ethereum — атака The DAO, о которой мы рассказывали в первой части.

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