Фундаментальный начальный этап развития экосистемы Ethereum можно считать завершенным — уже в 2018 году блокчейн-сообщество увидит «вторую фазу» взросления системы, об этом 10 июля заявил соучредитель платформы Джозеф Любин на конференции Rise в Гонконге. Во время панельной сессии с основателем Village Global Эриком Торенбергом и управляющим партнером Arbor Ventures Мелиссой Гузи представитель Ethereum рассказал, что разработанная инфраструктура будет базироваться на основе всем знакомой системы с «высоким уровнем доверия». Что изменится в новой версии известной блокчейн-платформы?

Plasma для масштабируемости

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

«Мы переходим в пространство второго уровня, в котором Ethereum будет служить в качестве системы доверия. В новой системе блокчейна мы сможем проводить сотни тысяч транзакций уже в этом году», — говорит Любин и добавляет, что на первый уровень будут добавлены новые технологии с механизмами on-side, side-, off-chain,  которые обеспечат масштабируемость сети.

Для описания решения on-chain был приведен пример технологии Plasma. Впервые общественность узнала о ней еще в прошлом году, а в начале июля 2018 года основатель Ethereum Виталик Бутерин заявил, что Plasma «почти готова».

«Это очень новая технология, понадобится некоторое время для ее внедрения и совершенствования. Система в принципе готова, но пока мы не можем назвать точную дату выпуска. “Почти” — это месяц, два, может, и больше», — поделился своими предположениями Бутерин.

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

Casper, Sharding и Vyper для безопасности

Повышение уровня безопасности системы остается главным вопросом для всех блокчейн-сетей. В июне 2018 года разработчики Ethereum предложили объединить технологию Casper — она представлена Владом Замфиром и подразумевает переход от алгоритма консенсуса Proof-of-Work на Proof-of-Stake, что исключает атаку 51% и снижает энергозатратность, и технологию Sharding, которая позволит отказаться от полных нод и разделить нагрузку между всеми шардами, что обеспечит эффективное хранение транзакций блокчейна. Совмещение двух технологий в одну, как считает Виталик Бутерин, позволит повысить работу сети до ее «теоретического максимума».

«Casper в некотором роде находится отдельно, вне мейнчейна сети. Это значит, что его разработка может проходить на отдельном чейне, где протокол сможет работать по собственным правилам», — говорит Бутерин.

Устройство сети Ethereum. Желтые блоки — нынешняя архитектура блокчейна, красные блоки — планируемые составляющие в 2018−2019 году, серые и голубые блоки — шардинг в 2020 году, белые блоки — планы на 2021 год. Источник.

Кроме того, у Ethereum существуют проблемы с безопасностью смарт-контрактов, которые имеют широкое распространение среди общественности. Не стоит забывать, что коды, написанные разработчиками, используются в рамках сети, участники которой договорились поддерживать определенную структуру данных между собой. Поэтому любая ошибка может обернуться большой финансовой потерей, как это было в 2017 году с пользователем devopps199, который обнаружил уязвимость в том смарт-контракте, где работал второй по популярности eth-клиент, и случайно заморозил более $100 миллионов.

После этого группа исследователей из Великобритании и Сингапура нашла в 3000 случайно выбранных контрактах 34,200 критических уязвимостей. В большинстве случаев, как отмечают ученые, баги случались из-за трудности восприятия смарт-контрактов, которые написаны на языке программирования Solidity. Поэтому некоторые разработчики предлагают использовать другой, более доступный модульный Vyper, синтаксис которого похож на Python. Язык позволяет достичь безопасности с помощью простоты и аудируемости, когда код Vyper не вводит в заблуждение. Ведь «простота для читателя важнее, чем простота для писателя», отмечают разработчики.

Vyper компилируется в байт-код EVM — Ethereum Virtual Machine, очень похожий на Solidity. Тем не менее весь процесс прост и удобен для пользователя. Он нацелен на упрощение понимания смарт-контрактов с большей прозрачностью и меньшим количеством атакующих точек. На данный момент язык находится в стадии разработки. Вот некоторые ключевые моменты v0.1.0-beta.1 Vyper: отсутствие перегрузки функций, наличие всех известных программистам конструкций, исключение рекурсии и другие.

Разработчики уже начали экспериментировать и вводить Vyper. Появились некоторые положительные отзывы на открытость к новым технологиям у команды Бутерина:

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

Ожидаемое будущее Ethereum в таблицах

Подвести итог начатой модернизации сети можно в виде инфографики, которая поможет полноценно продемонстрировать различие между Ethereum 1.0 и  Ethereum 2.0. Данные слайды взяты из презентации. В Twitter ее репостнул соучредитель платформы Джозеф Любин, который заявил о готовности eth-блокчейна ко второй фазе развития.

Криптоэкономика 1: сокращение. В версии 1.0 сетевая безопасность стимулируется за счет вознаграждений за майнинг, в версии 2.0 безопасность сети обеспечивается сочетанием из начислений вознаграждения и наказаний за «явно плохое поведение» майнеров. Участники награждаются за сообщение о некорректном поведении, а исполнители махинаций сокращаются. Источник.
Криптоэкономика 2: случайность. В версии 1.0 нельзя использовать случайности, нет простого способа получить доступ к приложению. В версии 2.0 протокол принципиально зависит от наличия случайного маяка, качество случайности должно быть достаточным для многих приложений. Выбор реализаций для случайного маяка: пороковые сигнатуры BLS a la Dfinity, комплексная настройка (DKG), не квантовая безопасность, RANDAO (текущее предложение), требуется VDF (проверяемая функция задержки), чтобы избежать проблемы «последнего участника». Источник.
Криптоэкономика 3: hash-алгоритм. В версии 1.0 это Keccak256 (почти SHA3), в версии 2.0 алгоритм минимизирует умножения, позволяет использовать более эффективные реализации STARK. Источник.
Криптоэкономика 4: аккаунт. В версии 1.0 срок действия транзакции исчисляется в протоколе: проверка подписи, проверка Nonce, проверка оплаты, в версии 2.0 все аккаунты становятся учетными, разрешается контрактам указывать свои собственные критерии действительности Tx, такие как альтернативные схемы подписи, гибкие варианты оплаты сборов. Источник.