Rollups: закамуфлированная централизация для ethereum

Создано: 2021-03-22 13:54

Обновлено: 2021-04-04 17:31

2021-03-19 20:05

В заголовке этой заметки неслучайно объединены сразу 3 новости. Их последовательность подобрана так, чтобы показательно продемонстрировать соотношение ожиданий с реальным положением дел в современной криптоиндустрии (в данном случае - на примере ethereum). Сторонний разработчик переполнен оптимизмом и сгорает от нетерпения: "Давайте скорее внедрять новшества! Чего же мы ждём?". На что как бы получает ответ из первых рук от Виталика Бутерина - не всё так легко и просто, например, применительно к проблеме масштабирования блокчейна улучшений следует ждать не раньше, чем через несколько лет. Тут следует вспомнить, что Ethereum Foundation осенью 2019 года, перепробовав множество вариантов и разочаровавшись в них, сделала основную ставку в решении проблемы масштабирования блокчейна на шардинг. О сложности реализации полноценного state-шардинга я впервые написал без малого 3 года назад и далее выражал сомнения, что решение этой задачи по силам разработчикам ethereum. И вот спустя годы в Ethereum Foundation пришли к тем же выводам - внедрение шардинга постоянно сдвигается в будущее. Последнее, что я слышал на эту тему - сроки возможного начала шардирования блокчейна эфира смещены в 2022 год. Можно сказать, что ставка Ethereum Foundation на панацею шардинга ожидаемо провалилась. В результате заметного прогресса в решении технических проблем эфира не наблюдается вот уже практически 4 с лишним года, поэтому острота вопроса радикального улучшения архитектуры ethereum только усилилась. Конкуренты не дремлют, и Ethereum Foundation лихорадочно продолжает поиск новых костылей для своего блокчейна. "Ждать годы" (а может и вечность), когда может быть выстрелит панацея шардинга, нельзя; поэтому у Ethereum Foundation появился новый фаворит - rollups.

Если снова вернуться в осень 2019 года, то можно вспомнить, что ставка на панацею шардинга тогда сопровождалась серией заявлений Бутерина о его разочаровании в решениях масштабирования второго уровня, то есть в оффчейнах. Но rollups на первый взгляд выглядят как типичный оффчейн - они используют всю ту же базовую идею по выносу большей части транзакций за пределы основного блокчейна с целью его разгрузки. Эта базовая идея дополнена накоплением транзакций в оффчейне с периодическим их сбросом в eth-блокчейн уже в виде общей единой транзакции. Нетрудно заметить сходство идеи накопительных rollups как с мотивами segwit-а в btc, так и с общей иллюзией повышения пропускной способности, характерной для практически всех костылей блокчейна. Более того, утверждается, что rollups являются переработанной инкарнацией концепции "shadow chains", выдвинутой Виталиком Бутериным на заре появления ethereum в уже далёком 2014 году. Финализация блоков транзакций, накопленных в "shadow chains", происходит по истечении двух недель в случае отсутствия протестов со стороны контр-агентов - здесь нетрудно увидеть хорошо известный период ожидания возврата в основной блокчейн, который также является характерной чертой практически всех известных оффчейнов. Вобщем оффчейн как оффчейн (пусть и накопительный) с типичным набором основных характеристик. Что же заставило Бутерина (помимо провала реализации шардинга) спустя год после публичной демонстрации разочарования в оффчейнах снова возлагать на них основные надежды в вопросе решения проблем масштабирования? И чем собственно rollups заметно отличаются от ранее известных оффчейнов?

Поиск особенностей rollups сходу приводит к тому, что в них особое внимание уделяется безопасности транзакций, вынесенных за пределы основного блокчейна. Как известно, предыдущие решения масштабирования второго уровня сильно просаживали именно безопасность. Например, в случае если Plasma-шарда является приватным блокчейном с единственным валидатором, то пользователь становится абсолютно беззащитен перед возможным произволом этого валидатора, так как у него не будет абсолютно никаких данных, чтобы доказать фальсификацию истории транзакций со стороны единственного производителя блоков. В прочих реализациях оффчейнов положение с безопасностью вынесенных транзакций получше, но не радикально лучше. Утверждается, что в rollups удалось добиться именно радикального улучшения вопросов безопасности. Как следствие - в отличии от оффчейнов поколения Lightning Network, претендовавших на увеличение (агрегированной) пропускной способности до миллиона транзакций в секунду, заявляемые характеристики rollups заметно скромнее и максимально оцениваются в несколько тысяч (от 1 до 5) tps. Предварительно можно сделать вывод, что повышение безопасности в rollups достигается с помощью целого ряда ограничений: ограничивается тип данных, выносимых в оффчейн-транзакции, часть обрабатываемых данных берётся исключительно из неизменяемой области памяти CALLDATA (особенность, специфичная только для eth-платформы), набор применяемых операций также обычно ограничен. Казалось бы, можно прийти к заключению, что rollups - это оффчейны с акцентированием внимания на вопросы безопасности, и на этом поставить точку. Но дальнейшее погружение в изучение rollups показывает, что вопросами безопасности оффчейн-транзакций специфика rollup-ов не исчерпывается.

Особо обращают на себя внимание утверждения, что в rollups более не нужен упоминавшийся выше период ожидания возврата в основной блокчейн. Дальнейшее изучение причин отмирания периода ожидания приводит к следующей картине - описанное выше усиление безопасности оффчейн-транзакций в rollups не происходит самотёком и даже не определяется автоматически логикой столь любимых Ethereum Foundation смарт-контрактов. Вводится новая сущность - верификатор накапливаемых оффчейн-транзакций, который отслеживает изменения состояния оффчейна и проверяет их безошибочность. Кто же берёт на себя роль обработчика истории оффчейн-транзакций? Можно было бы предположить, что такими обработчиками могли бы стать, например, будущие PoS-валидаторы блокчейна эфира. Но на практике всё оказалось гораздо проще - оффчейн-верификаторами становятся сами сервисы, внедряющие у себя использование rollups. Например, биржа, переводящая часть своих операций в оффчейн, сама же проверяет правильность накапливаемых в нём транзакций. Очевидно, что такая схема сильнейшим образом подрывает общую децентрализацию eth-платформы, так как в неё включаются элементы, основанные на доверии к сторонним сервисам. Неслучайно, что одна из двух наиболее популярных разновидностей новых оффчейнов называется optimistic rollups - предполагается, что пользователь сервиса дожен быть клиническим безудержным оптимистом и должен полностью доверять сервису ведение истории оффчейн-транзакций. Но такой расклад по большому счёту ничем не отличается от описанного выше случая Plasma-шарды на приватном блокчейне с единственным валидатором; да и с обычным централизованным сервисом у этой схемы принципиальных отличий тоже не просматривается. Утверждается, что в другой популярной разновидности - ZK-rollups - не требуется полного доверия к верификатору оффчейн-транзакций, но тем не менее в определённой степени это доверие тоже должно присутствовать. Таким образом, rollup-ы являются своего рода инъекцией централизации в eth-платформу; соответственно утверждение о том, что rollups радикально улучшают безопасность оффчейн-транзакций, является обманом, так как история этих транзакций оказывается под полным контролем сторонних операторов.

Подводя итоги, можно сказать, что rollups стали ещё одним подтверждением наблюдаемой на протяжении всей истории блокчейна логической вилки. Либо проект пытается строго следовать принципам децентрализации, но тогда он становится чудовищно неэффективным с технологической точки зрения и абсолютно немасштабируемым (пример - биткоин). Либо же проекты в какой-то степени решают вопросы масштабируемости и технологичности, но практически всегда делают это за счёт урезания (либо полного отказа от) децентрализации, в конечном счёте подрывая безопасность проекта. И никому так (пока) и не удалось вырваться из указанной дилеммы "децентрализация или безопасность". И как я говорил ранее, врядли эта дилемма может быть решена без полного отказа от блокчейна в пользу более совершенной технологии. Ethereum Foundation до последнего пыталась решать проблему масштабирования своего блокчейна с сохранением настоящей децентрализации. Но на примере rollups мы видим, что дрогнула и она; и это не самый хороший знак для всей современной криптоиндустрии.


2021-04-04 17:31

Прошло всего несколько дней после выхода моей заметки о rollup-ах, и как по заказу в новостях появляется сообщение о переносе включения Optimistic Rollup в основную сеть эфира на июль 2021 года. Видимо в Ethereum Foundation спохватились и заподозрили что-то неладное. К сожалению, мотивы переноса внедрения Optimistic Rollup не детализируются и скрыты за расплывчатыми формулировками. В этой ситуации можно лишь предположить, что если и в июле внедрение rollup-ов будет снова перенесено в будущее, то они рискуют повторить судьбу Raiden-а.

Автор: Асан Ильчегин