Ethereum 2.0: полное руководство

Источник · Перевод автора

Вступление

Сеть Ethereum является одной из крупнейших и наиболее широко используемых блокчейн-сетей в мире. Это также один из крупнейших в мире проектов с открытым исходным кодом, и go-ethereum является одним из крупнейших проектов на Github. С момента своего первого выпуска в 2015 году Ethereum делает все возможное для достижения конечной цели — стать децентрализованным глобальным компьютером, который однажды сможет заменить многие централизованные приложения, которые мы используем в повседневной жизни. Однако сообществу и сети Ethereum предстоит еще много работы, прежде чем эта цель будет достигнута. В этой статье будет кратко объяснено продвижение Ethereum до настоящего времени, а затем будет обсуждаться предстоящий и ожидаемый выпуск сети. Этот выпуск известен как Ethereum 2.0 или Serenity (используется теперь взаимозаменяемо). Это будет крупнейшее и наиболее полное обновление, когда-либо внедренное сообществом Ethereum.

Четыре этапа развития Ethereum

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

Первый этап Ethereum назывался Frontier. Выпущенная в 2015 году, это была первая живая версия сети. Frontier позволил пользователям и разработчикам разрабатывать Ether, создавать Dapps и инструменты и экспериментировать с новой платформой. Вторым этапом развития Ethereum была Homestead. Выпущенный в марте 2016 года, Homestead стал первым производственным выпуском сети Ethereum. Он обеспечил множество улучшений протоколов, которые станут основой будущих обновлений и увеличат скорость транзакций.

Третий и нынешний этап развития Ethereum называется Metropolis. Metropolis был разделен на два выпуска: Byzantium и Constantinople. Byzantium был выпущен в октябре 2017 года и стал легче, быстрее и безопаснее, чем предыдущие версии. Некоторые конкретные обновления включают более предсказуемые цены на газ и более простое программирование для разработчиков. Byzantium также улучшает конфиденциальность, позволяя разработчикам Ethereum эффективно проверять zk-SNARK в цепочке (краткие неинтерактивные аргументы знания с нулевым знанием). Хотя на первый взгляд аббревиатура zk-SNARKs может показаться сложной, система использует относительно простую концепцию с нулевым знанием. Это метод, который может доказать истинность утверждения, не раскрывая ничего, кроме того, что пытается доказать это утверждение. Например, я могу доказать другу, что знаю пароль к своему мобильному телефону, фактически не раскрывая этот пароль. им. Обновление в Byzantium также обновило корректировку майнинга, называемую «бомбой сложности», которая усложнит майнинг с течением времени в ожидании перехода к системе доказательства кола (подробнее об этом позже). Constantinople предназначен для дальнейшего развития этих улучшений. Хотя первоначальная дата релиза для Constantinople была назначена на ноябрь 2018 года, лидеры и разработчики Ethereum решили отложить его выпуск до 2019 года. Вилка была окончательно выпущена 28 февраля 2019 года на блоке 7 280 000.² Четвертый и ориентировочно финальный этап Ethereum стал известен как Ethereum 2.0 или Serenity. Это самое амбициозное обновление, которое должно улучшить практически все аспекты сети. Eth 2.0 предполагается выпустить в четыре этапа между 2019 и 2021 годами, хотя этот график может быть изменен. Чтобы полностью понять масштабы и важность Eth 2.0, нам сначала необходимо изучить основные проблемы, с которыми сталкивается текущая сеть Ethereum, проблемы, которые Eth 2.0 пытается решить.

Актуальные проблемы, стоящие перед Ethereum

Единственная наиболее важная проблема, с которой в настоящее время сталкивается сеть Ethereum, — это масштабируемость. Сеть Ethereum поддерживает сотни децентрализованных приложений и должна обрабатывать большое количество транзакций в секунду. Добавление большего количества узлов не увеличивает масштабируемость сети, поскольку каждый узел должен проверять каждую транзакцию. Расширение использования сети Ethereum, включая создание большего числа приложений и выполнение большего количества транзакций, привело к постоянному увеличению времени и стоимости транзакций. Это делает сеть Ethereum более медленной и менее удобной в использовании. В недавнем тесте скорости сеть управляла только 20 транзакциями в секунду (различные источники указали где-то между 12 и 45 транзакциями в секунду за последний год). Для сравнения, централизованные сети, такие как PayPal и Visa, регулярно выполняют 193 и 1667 транзакций соответственно, а максимальная емкость Visa близка к 24 000. Для того, чтобы сеть достигла массового внедрения, усилия по массовому увеличению масштабируемости являются центральными для разработки Ethereum 2.0. После изучения нескольких других вариантов команда Ethereum остановилась на процессе, называемом шардингом, как лучшее решение для масштабирования сети. Решения вне цепочки, такие как плазменные цепочки и каналы состояния, также, вероятно, будут использоваться для снятия нагрузки с основной сети и дальнейшего повышения масштабируемости. Я буду выпускать новые статьи по шардингу и масштабируемости в ближайшие недели. Проверьте их для более подробной информации.

Еще одна важная проблема, которую будет решать Eth 2.0, — это эффективность и экологическая устойчивость. Подобно биткойну и многим другим блокчейн-сетям, Ethereum в настоящее время полагается на согласованный протокол доказательства работы (PoW) для обеспечения безопасности своей сети. В системах PoW задействован ряд майнеров, которые владеют компьютерным оборудованием, подключенным к сети блокчейнов. Майнеры получают вознаграждение за использование их оборудования в сети. Алгоритм устанавливает целевое значение для каждого нового блока, и майнеры соревнуются за то, чтобы первыми найти эту цель и добавить новый блок. Для этого они запускают данные заголовка предлагаемого блока вместе со случайным «одноразовым значением» через хэш-функцию, которая возвращает строку с зашифрованными числами фиксированной длины. Если целевое значение не достигнуто, одноразовый номер изменяется, и хэш-функция перезапускается. Майнеры перезапускают хеш-функцию, пока один из них не сгенерирует хеш-значение, соответствующее указанной цели. На этом этапе новый блок транслируется каждому узлу в сети для проверки и добавления в их регистр, и успешный майнер получает небольшой баланс за свою работу. Основным преимуществом систем PoW является то, что проверка того, принадлежит ли новый блок к цепочке, является очень быстрым и относительно простым процессом. Однако, чтобы обеспечить безопасность сети и предотвратить мошенничество, майнеры обходятся вычислительными средствами в поиске правильного ввода хеша. Это усугубляется тем фактом, что только один майнер найдет правильный хеш, поэтому работа, выполненная всеми остальными, фактически не используется. В результате, консенсус по PoW требует огромного количества вычислительной мощности и электроэнергии и очень неэффективен.

На момент написания каждой транзакции в сети Ethereum потреблялось около 29 киловатт-часов (киловатт-часов), достаточного количества электроэнергии для питания среднего американского домохозяйства в течение 24 часов! Электроэнергия, используемая на майнинге Ethereum, может ежегодно обеспечивать 652 669 американских домохозяйств. Ежегодно в Ethereum добывается примерно столько же энергии, сколько в стране Боливия. Это, очевидно, серьезная проблема. Непомерно большое количество энергии, необходимое для протокола PoW от Ethereum, снижает прибыльность майнинга и имеет серьезные негативные последствия для окружающей среды и долгосрочной устойчивости системы.

Протоколы PoW важны, потому что они позволили создать ранние блокчейн-сети, но они очень неэффективны. Они также подвержены рыночной монополизации, потому что они предоставляют несправедливые преимущества субъектам с большим объемом ресурсов. Богатые и влиятельные люди и организации могут позволить себе большее количество гораздо более быстрых и мощных компьютеров, что дает им гораздо больше шансов на успешное решение каждой криптографической головоломки и получение вознаграждения. Например, около 65% майнинга биткойнов делают 5 майнинговых групп, которые теоретически могут объединиться, чтобы контролировать более 50% рынка. Биткойн-майнеры используют дорогие и специализированные специализированные интегральные схемы (ASIC), которые привели к индустриализации и частичной централизации майнинга биткойнов. Поскольку майнинг Ethereum обычно проводится с использованием графических процессоров (GPU), которые есть во многих домашних компьютерах, риск централизованного майнинга здесь не так велик, как в биткойнах. Однако ASIC недавно были выпущены для Ethereum, и Ether mining все еще находится под угрозой централизации и монополизации из-за протокола PoW, на который он в настоящее время опирается. Это создало ситуацию, когда биткойн, эфириум и другие блокчейн-сети не настолько децентрализованы, как первоначально предполагалось, что ставит под угрозу их независимость и полезность. Eth 2.0 предназначен для перехода сети от протокола проверки работоспособности к протоколу проверки доли (PoS) под названием Casper, который стремится решить эту проблему эффективности и устойчивости. Этот переход будет становиться все более важным в связи с корректировкой сложности добычи бомбы, которая была введена в 2017 году благодаря обновлению Byzantium. Бомба будет усложнять майнинг Ether до тех пор, пока он не станет невозможным». Это устройство появилось в ожидании перехода Serenity с PoW на PoS и является еще одной причиной, по которой обновление так важно для сообщества Ethereum. В ближайшие недели я опубликую статью, в которой подробно рассказывается о Casper и переходе на PoS.

Последняя важная проблема, которую будет решать Eth 2.0, — это скорость и удобство использования. Это связано, но не совпадает с проблемой масштабируемости, которая будет решаться с помощью шардинга. Введение сегрегации должно устранить наиболее существенные узкие места в скорости транзакций и пропускной способности, но еще одно узкое место вызвано самой виртуальной машиной Ethereum (EVM). По сути, EVM — это базовая структура Ethereum, которая выполняет код и позволяет сети функционировать правильно. EVM отвечает за внутреннее состояние сети Ethereum и за все ее вычисления. EVM также гарантирует, что следующие данные являются точными: учетная информация, такая как баланс, текущая цена на газ, адреса и информация о блокировке. Кроме того, машина должна отслеживать следующие компоненты: информацию о блоке, состояние хранилища, состояние учетной записи и информацию о среде выполнения. Виртуальная машина также обрабатывает все смарт-контракты Ethereum, которые написаны в Solidity / Vyper и скомпилированы в уникальный байт-код EVM. Затем контракты выполняются каждым узлом в сети.

Поскольку он отвечает за многие важные аспекты сети Ethereum, скорость, с которой виртуальная машина способна выполнять задачи, оказывает значительное влияние на общую скорость и удобство использования самой сети. Решение этой проблемы, разработанное Eth 2.0 называется Ewasm (Ethereum wasm). Wasm — это открытый стандартный набор инструкций W3C Community Group, который в настоящее время разрабатывается инженерами из Google, Mozilla, Microsoft и Apple. В дополнение к увеличению скорости и пропускной способности, Ewasm повысит безопасность и удобство использования сети Ethereum, а также предоставит ряд других преимуществ.

Дополнительные цели Eth 2.0

Как мы теперь знаем, Ethereum 2.0 предназначен для решения основных проблем современного Ethereum. Однако инновация не останавливается на достигнутом. Спокойствие также строится, чтобы удовлетворить несколько более общих целей дизайна. Из-за множества новых и сложных систем, которые появятся в результате внедрения Casper и Sharding, одна из основных целей разработки Eth 2.0 — максимально снизить сложность сети, даже если это приводит к некоторой потере эффективности. Это возможно, потому что значительное увеличение пропускной способности и эффективности, допускаемое шардигом, Casper и Ewasm, перевесит небольшое снижение эффективности, чтобы уменьшить дополнительную сложность, необходимую для этих же систем. Другая важная цель разработки — использование криптографии и проектирования. методы, которые допускают участие большого количества валидаторов, как в сумме, так и в расчете на одну транзакцию. Третья цель в том же духе — создать систему, которая позволяет стандартному потребительскому ноутбуку обрабатывать и проверять отдельный осколок. Обе эти цели предназначены для обеспечения того, чтобы сеть оставалась безопасной и децентрализованной.

В дополнение к решению конкретных проблем и решению более общих проблем, Serenity имеет две долгосрочные цели проектирования, созданные в ожидании потенциальных проблем, которые могут возникнуть в будущем. Первый заключается в том, чтобы спроектировать релиз таким образом, чтобы сеть могла оставаться работоспособной в случае большого раздела или если очень большой процент узлов одновременно отключается. В своем выступлении на Devcon 2018 разработчик Ethereum Джастин Дрейк объяснил, как команда хочет, чтобы Eth 2.0 смог «пережить третью мировую войну» или в аналогичной ситуации, когда до 80 процентов узлов одновременно отключаются ». важно в других, менее экстремальных ситуациях. Например, одна или несколько крупных катастроф, связанных с изменением климата, могут выбить большую часть узлов в течение нескольких часов, или такая крупная держава, как Китай или Соединенные Штаты, может принять решение о запрете Ethereum и других блокчейн-сетей и попытаться устранить узлы в их стране.

Другая непредвиденная ситуация, которую ожидает Eth 2.0, — это появление квантовых вычислений. В настоящее время между Соединенными Штатами, Китаем и другими крупными державами и корпорациями идет технологическая гонка, которая первой изобрела серийный квантовый компьютер. На данный момент вопрос не в том, а когда. Когда бы они ни появлялись, квантовые компьютеры будут экспоненциально более мощными, чем даже самые продвинутые традиционные компьютеры. Это сделает большую часть существующей кибербезопасности, включая технологии шифрования и блокчейна, относительно беззащитной и легко взломанной. Поэтому важно, чтобы новые и будущие блокчейн-сети делали все возможное (в рамках традиционных бинарных вычислений) для защиты от случайности квантовых компьютеров. Конечная цель разработки Eth 2.0, изложенная в репозитории Ethereum github, заключается в следующем: «выбрать все компоненты таким образом, чтобы они были либо квантово защищенными, либо их можно было легко заменить на аналоги с квантовой безопасностью, когда они были доступны».

Чего ожидать от спокойствия

Это все очень увлекательно, но когда Eth 2.0 действительно выйдет в эфир? К сожалению, ответ остается … мы не знаем! Тем не менее, в своем выступлении на Devcon 2018 Виталик сказал, что Serenity «на самом деле не так уж и далеко». Он также объяснил, что «Ethereum 2.0… это сочетание множества различных функций, о которых мы говорили в течение нескольких лет, проводя исследования в течение нескольких лет, активно создавая в течение нескольких лет, которые, наконец, собираются объединиться в одно связное целое». Уильям Суберг, похоже, согласен с тем, что Serenity находится на завершающей стадии разработки и тестирования, когда он пишет о «окончательных настройках» перед «Большим запуском».

Кажется, что фаза 0 Eth 2.0 находится на заключительной стадии разработки и тестирования, но все еще точно не известно, сколько еще нам придется ждать до ее выпуска. Мы знаем, что Serenity разрабатывается отдельно от текущей основной цепи Ethereum и поначалу будет работать параллельно с ней. Позже, текущий блокчейн Ethereum будет включен в новый, возможно, в виде единого массового умного контракта. Мы также знаем, что когда выйдет Eth 2.0, он будет развернут в четыре последовательных этапа. Фаза 0 будет иметь систему PoS с цепочкой маяков. Он еще не будет поддерживать Dapps, но заложит основу для следующих этапов. Фаза 1 будет поддерживать Dapps и вводить осколки как цепочки данных. Сетевые данные будут разделены на сегменты, но состояние сети будет по-прежнему храниться в более старой цепочке блоков Ethereum и пока не будет сегментировано. Этап 2 будет полностью защищен, позволит выполнить состояние и позволит заключать умные контракты. На данный момент Eth 2.0 будет иметь все основные функции, обсужденные выше. Этап 3 и далее будет состоять из итерации, улучшения и дополнительных технологий. Tech После того, как каждая фаза будет реализована, ожидается, что Eth 2.0 будет иметь следующие функции: полностью оголенный блокчейн, чистый протокол согласования PoS, более быстрое время для синхронного подтверждения, примерно 8–16. секунд и «экономической окончательности», которая может быть достигнута за 10–20 минут». Виталик считает Serenity «мировым компьютером, каким он на самом деле должен быть». Я надеюсь, что вы так же взволнованы, как и выпуск Eth 2.0.