zkSharding для Ethereum
Поблагодарить за перевод, можно подписавшись на канал Crypto_Track
zkSharding решает проблему увеличивающейся фрагментации данных и ликвидности в экосистеме Ethereum. Эта технология позволяет горизонтально масштабировать системы и поддерживать их совместимость без разделения на отдельные части.
zkSharding сочетает в себе сегментированную архитектуру и безопасность с нулевым разглашением информации.
Отклоняя модульную и монолитную архитектуры, zkSharding вводит новую концепцию – горизонтальное масштабирование для Ethereum.
zkSharding внедряет трехуровневую архитектуру безопасности и разработан для децентрализации.
Фонд =nil; использует zkSharding для создания =nil; - уровня 2 для Ethereum, предназначенного для высоконагруженных приложений, таких как децентрализованные биржи (DEX), автономные экономические агенты, децентрализованные вычислительные рынки и автономные миры на блокчейне.
Почему именно zkSharding?
В настоящее время сообщество Ethereum рассматривает вопрос масштабируемости через призму модульной и монолитной структур. Этот подход, хоть и приносит определенную пользу, но также имеет свои ограничения.
Сам Ethereum представляет собой монолит – узлы-валидаторы обеспечивают согласование, доступ к данным и выполнение операций. Все взаимосвязано, поэтому нет раздробленности. Однако ограничения в аппарате и инфраструктуре мешают Ethereum работать быстро и увеличивают его стоимость.
Модульный подход стал основным решением для увеличения масштабируемости Ethereum. Скорость и масштабирование распределяются по цепочкам уровня 2, которые, в свою очередь, обеспечивают безопасность через Ethereum.
Модульный подход действительно вносит определенный уровень масштабируемости в экосистему, но при этом существует важный компромисс – фрагментация. Роллапы в настоящее время работают в изолированных сетях и (едва) взаимодействуют через часто уязвимые мосты.
Как можно решить проблемы фрагментации состояния, ликвидности и фрагментации пользователей, одновременно масштабируя Ethereum?
Парадоксально, ключ к решению не в улучшении взаимодействия, а в более эффективном масштабировании.
zkSharding представляет собой новаторский подход к модульному дизайну, внедряя горизонтальное масштабирование и совместимость в протокол с самого начала.
Как zkSharding обеспечивает горизонтальное масштабирование
В масштабировании блокчейна существуют два подхода: а) увеличение масштаба путем архитектурных улучшений и б) увеличение масштаба путем программных улучшений. Традиционно первый подход классифицируется как горизонтальное масштабирование, а второй - как вертикальное масштабирование.
Горизонтальное масштабирование увеличивает производительность системы путем распределения нагрузки между несколькими узлами, часто достигаемое за счет шардинга. С другой стороны, вертикальное масштабирование увеличивает использование аппаратных ресурсов или требования к аппаратному обеспечению отдельных узлов.
При вертикальном масштабировании неизбежно возрастают аппаратные требования полного узла, что ведет к тенденции централизации власти. Sharding считается оптимальной технологией масштабирования для блокчейнов и высоконагруженных приложений, потому что горизонтальное масштабирование позволяет сети превысить ограничения одного компьютера.
Одним из основных преимуществ zkSharding является способность применять как горизонтальные, так и вертикальные методы масштабирования без ущерба для децентрализации.
Горизонтальное масштабирование: сеть zkSharded может расширяться без ограничений путем добавления дополнительных шардов по мере необходимости.
Вертикальное масштабирование: каждый шард может быть дополнительно увеличен за счет программных оптимизаций, таких как параллельные виртуальные машины, которые повышают масштабирование внутри шарда.
zkSharding дополнительно предоставляет краткие гарантии достоверности с нулевым разглашением для выполнения каждого сегмента. Это уменьшает влияние уязвимости самой слабой цепи, с которой сталкиваются все блокчейны с шардированием.
диаграмма, показывающая, что =nil; сочетает в себе вертикальный и горизонтальный подходы к масштабированию
Итак, как выглядит сеть, использующая zkSharding?
Например, уровень 2 =nil; распределяет работу между основным шардом и исполнительными шардами. Все шарды взаимосвязаны и функционируют как единое целое: исполнительные шарды обрабатывают транзакции параллельно и создают ZKP, а главный шард проверяет данные, взаимодействует с Ethereum и синхронизирует состояние сети по всем валидаторам. Главный шард также управляет распределением валидаторов и аккаунтов между исполнительными шардами.
Давайте углубимся в реализацию zkSharding в =nil;.
Безопасность
Уровень 2 =nil; управляется набором валидаторов, который разделен на подмножества (например, комитеты). Все валидаторы полных узлов участвуют в глобальном протоколе согласования, выполняемом главным шардом. Кроме того, на каждой эпохе поворота валидаторов полные узлы валидаторов случайным образом выбираются и назначаются для участия в комитете исполнительного шарда.
Подход zkSharding к безопасности основан на трех уровнях.
На первом уровне комитеты валидаторов осуществляют локальное согласование (на основе протокола HotStuff-2) для формирования блоков в каждом исполнительном шарде.
На втором уровне комитеты исполнительных шардов генерируют ZKP для последних N блоков, которые они создали. Все комитеты отправляют свои доказательства в главный шард, где они проверяются на корректность с использованием глобального протокола согласования (основанного на HotStuff-2).
В заключение, главный шард собирает все доказательства исполнительных шардов в единое мастер-доказательство нулевого знания (ZKP) и отправляет его в сеть Ethereum для проверки. После этого глобальное состояние сети =nil; подтверждается и становится окончательным.
диаграмма, объясняющая три уровня безопасности, найденные в архитектуре zkSharding
Топология сети
Уровень 2 =nil; с самого начала предусматривает кросс-шардинговое взаимодействие в рамках протокола. Сообщения между шардами проверяются как транзакции каждым комитетом валидаторов в каждом шарде.
Взаимодействие между шардами создает полностью интегрированный пользовательский опыт. Разработчики могут воспользоваться возможностями нескольких блокчейнов, работающих параллельно, не беспокоясь о рисках мостов или управлении собственной инфраструктурой.
Однако возможны приложения, в которых необходимо, чтобы два контракта вызывали друг друга без каких-либо задержек, связанных с кросс-шардинговым обменом информацией. Совмещение контрактов позволяет разработчикам гибко выбирать возможность размещения контрактов на одном исполнительном шарде, что позволяет снизить накладные расходы в случае необходимости.
Доступность данных (Data Availability)
Имеются два вида шардов: исполнительные и главный. Исполнительные шарды отвечают за обработку транзакций в своем локальном состоянии и передачу сообщений по сети. Главный шард отвечает за синхронизацию и верификацию всех исполнительных шардов.
Главный шард использует Ethereum для DA (Data Availability), в то время как исполнительные шарды используют встроенный протокол DA от валидаторов. Однако Фонд =nil; активно исследует, как конкретные исполнительные шарды могут поддерживать альтернативные решения DA, если это потребуется разработчикам приложений.
Этот порядок может быть установлен путем запуска двух видов шардов: тех, с отдельным внешним решением DA, и тех, без него. Это фактически создает гетерогенную среду шардинга, основанную на решении DA определенного шарда. Здесь сделан выбор в пользу последующей фазы сети: только шарды одной категории DA могут быть объединены с помощью динамического шардинга.
Кроме того, исполнительные шарды передают хэш своего блока в главный шард. Учитывая, что главный шард обладает полными гарантиями доступности данных от Ethereum, для всей сети обеспечивается сильная гарантия целостности данных от Ethereum. Это означает, что хотя исполнительные шарды, использующие встроенную доступность данных, могут быть подвержены риску атаки на доступность, для восстановления работы шарда достаточно наличия хотя бы одного честного полного узла.
Преимущества и компромиссы zkSharding
zkSharding – это децентрализованная сетевая архитектура, которая предлагает новую концепцию для масштабирования Ethereum. Некоторые из преимуществ внедрения zkSharding:
Глобальный масштаб: zkSharding обеспечивает возможность как горизонтального, так и вертикального масштабирования.
Единое глобальное состояние: отсутствие фрагментации состояния или ликвидности, так как любой адрес может произвольно вызывать любой другой адрес, независимо от расположения шарда. Кроме того, Фонд =nil; также ведет исследования по композиции L1+L2, чтобы еще сильнее сократить фрагментацию состояния между =nil; и Ethereum.
Экономическая эффективность: надежные транзакции с низкой стоимостью и высокой скоростью финализации блоков (<1 секунда).
Безопасность: zkSharding, реализованный Фондом =nil;, предусматривает три уровня безопасности в терминах консенсуса и генерации блоков.
Для разработчиков zkSharding вводит сетевой дизайн, который с самого начала обеспечивает высокий уровень безопасности, децентрализации и интеграции. Они могут создавать приложения, не беспокоясь о ограничениях масштабирования, разделении ликвидности или пользовательской базы.
Для пользователей zkSharding предоставляет единое пользовательское взаимодействие в рамках одной среды, без постоянного перехода и обмена активами.
Какие недостатки имеет zkSharding?
Внедрение zkSharding увеличивает сложность управления сетью и её развития. Обычно данное дополнительное бремя можно снять с конечного пользователя. Тем не менее, характерной особенностью шардинга является асинхронное взаимодействие между шардами. Это нарушает атомарность, которая может быть достигнута в синхронных блокчейнах.
Фонд =nil; проводит три активных исследовательских проекта, направленных на снижение влияния этого компромисса.
Совмещение контрактов: позволяет разработчикам постоянно размещать контракты на одном шарде за дополнительную плату.
Установленное разделение между инициатором и создателем: позволяет =nil; создавать кросс-шардовый слот, что обеспечивает атомарность/синхронное выполнение на стороне создателей.
Параллельные виртуальные машины позволяют достичь большей пропускной способности внутри шарда, что снижает необходимость в кросс-шардовых вызовах.
Что можно создать на платформе =nil; L2
Техническое решение zkSharding позволяет =nil; предложить разработчикам среду, которая надежно и целенаправленно обеспечивает открытое глобальное участие, инновации без разрешений, децентрализацию и защиту от цензуры. Иными словами, нет необходимости опираться на социальные соглашения. zkSharding означает, что вам не обязательно доверять - достаточно просто проверить.
=nil; идеально подходит для разработки приложений, предъявляющих высокие требования ко времени, памяти и алгоритмической сложности. Примерами могут служить децентрализованные биржи, децентрализованные вычислительные рынки, сетевые автономные миры, краудсорсинговые приложения и автономные экономические агенты.
Кроме того, =nil; обладает уникальными возможностями для проведения массовых публичных мероприятий и содействия развитию микрорынков, которые когда-то были похоронены из-за регулятивного контроля и неэффективности рынка.
Что дальше?
=nil; и zkSharding – это результат работы, которую Фонд =nil; вел в течение последних 4 лет. Платформа =nil; L2 открывает возможности zkSharding для обеспечения совместимости, безопасности и эффективности как для пользователей, так и для разработчиков.
Перевод подготовлен каналом Crypto_Track
Ссылка на статью: zkSharding для Ethereum (nil.foundation)
#defi #zksharding #L2 #шардинг #ethereum #масштабирование