Проблема масштабирования

Проблема масштабирования


В прошлых статьях мы рассмотрели, что такое блокчейн и в чем его основные проблемы. Большинство проблем для использования было решено с 2009 года, с момента как Сатоши Накамото выложил свой знаменитый White Paper Биткоина.

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

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

Было несколько вариантов решения:

  1. Масштабирование самого L1 (ethereum) — переход эфира на PoS и sharding.
  2. Сторонние цепочки (sidechains) — построение блокчейна над блокчейном (пример — цепочка Polygon).
  3. Layer 2 (или Rollup) — тип решения масштабирования, когда смарт-контракты и транзакции группируются вне блокчейна, но публикуются на самом блокчейне.

Первый вариант мы разбирали в прошлой статье. Во втором варианте есть свои плюсы, но есть и свои минусы, такие как: свой алгоритм консенсуса, ненаследуемость свойств основного блокчнейна L1. Разбирать мы будем именно третий вариант.

На данный момент, вероятно, именно layer 2 будут пытаться решить эту проблему.

Итак, что же такое эти ваши Rollup’ы?

Rollup — это решение для масштабирования блокчейна Ethereum, которое работает за счет выполнения транзакций за пределами первого слоя блокчейна и публикации на первом слое. Это позволяет увеличить пропускную способность блокчейна, не жертвуя децентрализацией и безопасностью, а также сохраняя консенсус первого слоя.

Работает это так: rollup собирает огромное количеств транзакций, обрабатывает их, приходит к окончательному решение кто кому и куда перевел, сворачивает их(отсюда и название), преобразует данные в хэш и отправляет на родительский блокчейн.

Но как мы понимаем, что данные, которые находились вне блокчейна, не посылаются мошенниками? Для ответа на этот вопрос надо сначала понять, какие виды роллапов бывают.

Виды роллапов:

  1. Optimistic rollups — они используют механизм проверки транзакций доказательство мошенничества (fraud proofs).
  2. zkRollups — такие роллапы используют механизм проверки транзакций, называемый доказательство истинности (validity proofs).

Разберем каждый из них.

Optimistic rollups

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

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

Считается, что из-за простоты механизма строить оптимистический роллап значительно легче, чем zk роллапы.

zkRollups

В свою очередь, zk роллапы используют другой механизм, который не требует апелляции тех данных, что были высланы на первый слой блокчейна. Это возможно за счет очень сложной криптографии, называемой доказательством с нулевым разглашением (zero-knowledge proofs), поэтому такое название.

В такой системе каждый отправленный на первый слой пакет данных использует консенсус zk-SNARK, который позволяет смарт-контракту сразу проверить истинность данных и отклонить неверные транзакции.

Если провести аналогию, то представьте, что вы хотите купить в магазине что-то, что требует от вас быть старше 18 лет. Обычно в таких случаях мы показываем паспорт либо другой документ, где написана наша дата рождения, но проблема в том, что попутно мы показываем кучу других наших данных — имя, фамилия, место рождения и т.д. Используя продвинутые методы криптографии, мы можем показать только корочку паспорта, не раскрывая данных о нас, что докажет, что нам больше 18 лет.

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

Кстати, на zk-SNARK работает знаменитая децентрализованная биржа DYDX.

В чем разница на практике?

Из-за того, что оптимистик-роллапы используют метод проверки данных другими узлами на истинность, вывод своего ETH с L2 на L1 занимает очень много времени, приходится пользоваться мостами, такими как HOP или Connext, иначе бы приходилось ждать по одной-две недели. Для примера смотрите на официальные мосты Arbitrum и Optimism.

В свою очередь, zk-роллапы не имеют проблем с проверкой данных, поэтому вывод с них должен быть достаточно быстр. Проверить мы пока не можем, т.к. что StarkNet, что zkSync еще не вышли в свой мейннет, что будет в этом году, ближе к зиме.

Послесловие

В следующей статье мы уже напрямую коснемся разборов разных роллап-решений. Дам советы по тому, как попробовать себя в тестировании этих систем, и расскажу про маленькие (а может, очень немаленькие) возможности получить дропы от проектов, которые развивает сегмент L2-решений, и заработать life change money. Не теряйтесь!



Report Page