С каждым днем криптовалюты ставятся все более популярными, количество пользователей неумолимо растет, а значит и нагрузки на блокчейны. Учитывая тот факт, что рынок у нас сейчас находится в медвежьей фазе, количество пользователей криптой существенно сократилось, что сильно разгрузило сеть Ethereum, комиссии составляют порядка $10 и это совсем немного. Кто давно в этой сфере, прекрасно знает, что моментами комиссии в сети Ethereum составляли более $100, что делало его не очень привлекательным для взаимодействия, а для маленьких депо это и вовсе не подъёмная сумма. На мой взгляд Ethereum стал жертвой собственного успеха: огромная экосистема dApps построенных на их сети, это привело к многократному увеличению пользователей, а также сильно увеличилась стоимость самой монеты ETH. Все это стало результатом больших комиссий.
Масштабируемость
Ахиллесовой пятой Ethereum является ни что иное, как масштабируемость — прирост пользователей протокола, возрастание стоимости газа, транзакций в блокчейне становится все больше, а следовательно и времени на их обработку нужно все больше. Понятно, что эту проблему нужно решать, что собственно и призван сделать Ethereum 2.0 с переходом из алгоритма консенсуса PoW на более энергоэффективный PoS.
Каким образом решается эта проблема?
Как правило, существует два подхода к масштабированию блокчейнов: масштабирование в блокчейне (on-chain) и масштабирование вне блокчейна (off-chain).
Масштабирование в блокчейне — это увеличение пропускной способности на уровне основной цепочки (L1), наиболее распространенный метод — увеличение объёма данных которые могут быть включены в один блок, таким образом возможно разместить больше транзакций в интервале нахождения блока.
Масштабирование вне блокчейна — это увеличение пропускной способности на уровне цепочки (L2), которая работает поверх основной цепочки блокчейна.
Что такое ZK-Rollups?
Доказательство с нулевым разглашением (Zero-knowledge proof)— интерактивный криптографический протокол, позволяющий одной из взаимодействующих сторон («The verifier» — проверяющей) убедиться в достоверности какого-либо утверждения (обычно математического), не имея при этом никакой другой информации от второй стороны («The prover» — доказывающей). Такое определение нам дает Википедия.
ZK-Rollups — это решение L2, которое выполняет вычисление и хранение вне блокчейна, в то время как средства хранятся в смарт-контракте.
ZK-Rollup объединяет сотни транзакций вне цепочки и генерируют криптографическое доказательство с нулевым разглашением, которое позволяет одной стороне доказать, что она обладает определенной информацией, не раскрывая эту информацию, это позволяет обеспечить высокий уровень приватности в публичных сетях блокчейна.
Он основан на том, что проверяет честность валидаторов с помощью математического доказательства ZK-SNARK. Все транзакции проходят на уровне L2, а ZK-SNARK размещается на уровне L1. Выходит, что ZK-Rollup не нужно полагаться на честность валидаторов, а безопасность внешней сети имеет тот же уровень, что и безопасность сети Ethereum. Стоит также отметить, что ZK-Rollups работаю лучше чем решения L1, такие как Ethereum, потому-что они объединяют процессы включения и выключения, в то время как основная сеть Ethereum использует действия внутри блокчейна для обработки транзакций и проверки блоков, решения ZK-Rollups уровня L2 также предоставляют функции вне блокчейна. Одним из факторов, который позволяет ZK-Rollups работать лучше чем L1 — это деревья Меркла.
Дерево Меркла — полная структура данных в виде дерева, в листовые вершинах которого находятся хеши от блоков данных, а внутренние вершины содержат хеши от сложения значений в дочерних вершинах. Это связывает все элементы с информацией между собой. Выглядит это так.
Хеш — это результат преобразования хеш-функции, то есть функции, которая преобразовывает массив входных данных произвольной длинны в выходную строку произвольной длинны в соответствии с определенным алгоритмом.
Дерево Меркла позволяет представить огромный список транзакций или любой дрогой информации всего одной строкой. Вся прелесть этого состоит в том, что если среди потока этих транзакций мы изменим всего один символ, следующий уровень дерева будет уже совсем другим и следовательно конечный хеш — то есть верхушка дерева тоже поменяется.
Проще говоря, в блок нельзя подставить другую транзакцию или поменять данные уже существующей.
Проекты которые используют технологию ZK-Rollups.
Существует множество проектов использующих данную технология, я же упомяну только самые известные: dYdX — это децентрализованная биржа на основе биржевого стакана. Immutable X — платформа предназначенная в основном для создания NFT игр и NFT маркетплейсов. Polygon — также активно разрабатывают свое решение ZK-Rollups. Loopring — по своей сути еще одна децентрализованная биржа, но пока не имеет полною совместимость смарт-контрактов Ethereum.
Надеюсь статья была полезной!
Ахиллесовой пятой Ethereum является ни что иное, как масштабируемость — прирост пользователей протокола, возрастание стоимости газа, транзакций в блокчейне становится все больше, а следовательно и времени на их обработку нужно все больше. Понятно, что эту проблему нужно решать, что собственно и призван сделать Ethereum 2.0 с переходом из алгоритма консенсуса PoW на более энергоэффективный PoS.
Каким образом решается эта проблема?
Как правило, существует два подхода к масштабированию блокчейнов: масштабирование в блокчейне (on-chain) и масштабирование вне блокчейна (off-chain).
Масштабирование в блокчейне — это увеличение пропускной способности на уровне основной цепочки (L1), наиболее распространенный метод — увеличение объёма данных которые могут быть включены в один блок, таким образом возможно разместить больше транзакций в интервале нахождения блока.
Масштабирование вне блокчейна — это увеличение пропускной способности на уровне цепочки (L2), которая работает поверх основной цепочки блокчейна.
Что такое ZK-Rollups?
Доказательство с нулевым разглашением (Zero-knowledge proof)— интерактивный криптографический протокол, позволяющий одной из взаимодействующих сторон («The verifier» — проверяющей) убедиться в достоверности какого-либо утверждения (обычно математического), не имея при этом никакой другой информации от второй стороны («The prover» — доказывающей). Такое определение нам дает Википедия.
ZK-Rollups — это решение L2, которое выполняет вычисление и хранение вне блокчейна, в то время как средства хранятся в смарт-контракте.
ZK-Rollup объединяет сотни транзакций вне цепочки и генерируют криптографическое доказательство с нулевым разглашением, которое позволяет одной стороне доказать, что она обладает определенной информацией, не раскрывая эту информацию, это позволяет обеспечить высокий уровень приватности в публичных сетях блокчейна.
Он основан на том, что проверяет честность валидаторов с помощью математического доказательства ZK-SNARK. Все транзакции проходят на уровне L2, а ZK-SNARK размещается на уровне L1. Выходит, что ZK-Rollup не нужно полагаться на честность валидаторов, а безопасность внешней сети имеет тот же уровень, что и безопасность сети Ethereum. Стоит также отметить, что ZK-Rollups работаю лучше чем решения L1, такие как Ethereum, потому-что они объединяют процессы включения и выключения, в то время как основная сеть Ethereum использует действия внутри блокчейна для обработки транзакций и проверки блоков, решения ZK-Rollups уровня L2 также предоставляют функции вне блокчейна. Одним из факторов, который позволяет ZK-Rollups работать лучше чем L1 — это деревья Меркла.
Дерево Меркла — полная структура данных в виде дерева, в листовые вершинах которого находятся хеши от блоков данных, а внутренние вершины содержат хеши от сложения значений в дочерних вершинах. Это связывает все элементы с информацией между собой. Выглядит это так.
Хеш — это результат преобразования хеш-функции, то есть функции, которая преобразовывает массив входных данных произвольной длинны в выходную строку произвольной длинны в соответствии с определенным алгоритмом.
Дерево Меркла позволяет представить огромный список транзакций или любой дрогой информации всего одной строкой. Вся прелесть этого состоит в том, что если среди потока этих транзакций мы изменим всего один символ, следующий уровень дерева будет уже совсем другим и следовательно конечный хеш — то есть верхушка дерева тоже поменяется.
Проще говоря, в блок нельзя подставить другую транзакцию или поменять данные уже существующей.
Проекты которые используют технологию ZK-Rollups.
Существует множество проектов использующих данную технология, я же упомяну только самые известные: dYdX — это децентрализованная биржа на основе биржевого стакана. Immutable X — платформа предназначенная в основном для создания NFT игр и NFT маркетплейсов. Polygon — также активно разрабатывают свое решение ZK-Rollups. Loopring — по своей сути еще одна децентрализованная биржа, но пока не имеет полною совместимость смарт-контрактов Ethereum.
Надеюсь статья была полезной!