Слишком длинный; не читал
Сегодня решения уровня-2 жертвуют масштабируемостью в обмен на фрагментацию состояния. Мы представляем дизайн уровня-2 (L2), =nil;, который выталкивает пределы масштабируемости Ethereum, не жертвуя преимуществами объединенной среды выполнения. Решение объединяет динамический механизм шардинга с проверяемым доступом к данным Ethereum, обеспеченным технологиями нулевого доказательства. Ключевые элементы включают:
Через zkSharding =nil; вы получаете преимущества как монолитного, так и модульного дизайнов, включая:
Масштабируемость
Единая среда выполнения
Безопасность
Функциональность
На нижнем уровне состояние =nil; разделено на основной шард и несколько вторичных шардов. Основная роль основного шарда - синхронизация и консолидация данных из вторичных шардов. Он использует Ethereum как свой уровень доступности данных и в качестве проверяющего для доказательств перехода состояния, аналогично типичным операциям zkRollups.
Вторичные осколки функционируют как "рабочие", выполняющие пользовательские транзакции. Эти осколки поддерживают объединенную ликвидность и данные через протокол обмена сообщениями между осколками, устраняя любое фрагментирование между ними.
Каждый шард контролируется комитетом валидаторов. Периодически происходит перераспределение этих валидаторов между шардами. Кроме того, обновления состояния шарда проверяются на главном шарде с использованием zkEVM.
Для иллюстрации потока транзакций от инициирования пользователем до подтверждения на Ethereum рассмотрите следующие шаги:
Эта схема предполагает, что транзакция пользователя не активирует протокол межшарового обмена сообщениями. Однако в этом случае поток транзакций остается тем же, за исключением того, что транзакция пользователя может запускать создание новых транзакций на других шардах.
С учетом того, что все учетные записи распределяются среди осколков, это может показаться похожим на проблему фрагментации данных, обнаруженную в подходе приложения-специфических роллапов. Однако ключевое различие заключается в том, как обрабатывается межшаровое взаимодействие: оно интегрировано непосредственно в общий протокол, а не управляется отдельными внешними мостами.
Чтобы гарантировать безопасность каждого вторичного шарда, его комитет валидаторов обязан доказать переход его состояния на первичный, чтобы убедиться, что в меньшей группе валидаторов не произошло мошенничества. У каждого комитета валидаторов шардов есть дополнительные задачи, помимо обслуживания шардов. Валидаторы отвечают за отслеживание определенных типов событий, а именно межшардовых сообщений, в рамках «ближайших шардов». Ближайшие осколки определяются на основе расстояния Хэмминга в идентификаторах сегментов.
=nil;s zkEVM - это zkEVM типа 1, скомпилированный с zkLLVM. Чтобы понять различия между более традиционными zkEVM и zkEVM =nil;, нам необходимо обсудить ограничения, связанные с процессом определения цепи, лежащей в основе zkEVM. Цепь zkEVM является критической частью, отвечающей за правильность доказательства перехода состояния, обычно определяемого с помощью некоторого пользовательского zkDSL или просто библиотеки. Такой способ определения цепи вызывает проблемы, связанные с:
=nil; zkEVM эффективно решает все эти проблемы, будучи:
zkEVM, скомпилированный через zkLLVM, обеспечивает безопасность по конструкции, используя evmone для обеспечения полной согласованности с использованным в производстве EVM Ethereum. zkLLVM (C++ или Rust) автоматически компилируется в цепь, что означает, что человеческая ошибка исключается из процесса определения цепи.
Более того, поскольку =nil; zkEVM компилируется через zkLLVM, он естественно более гибок (и, следовательно, более будущеустойчив), чем вручную определенные схемы, поскольку их легко настраивать, и генерация схемы происходит автоматически. Он также более аудируем, что означает, что его безопасность не идет в ущерб включению последних EIP, добавленных в Ethereum.
Поскольку первичный шард и вторичные шарды различаются по своим специализированным задачам - вторичные шарды фокусируются на обработке транзакций, в то время как первичный шард фокусируется на синхронизации данных - они имеют разные подходы к доступности данных (DA), которая помогает восстанавливать состояние данных в чрезвычайных ситуациях. Это означает:
Эта организация устанавливается за счет запуска двух видов осколков в начале: тех, у которых есть отдельное внешнее решение DA, и тех, у которых его нет. В последующих фазах можно объединять только осколки одной и той же категории DA. Это означает, что при создании каждая учетная запись должна быть сопоставлена с определенной категорией DA.
Кроме того, эту структуру можно расширить, чтобы включить другие типы DA.
Один из наших основных целей - оптимизация для комбинируемости приложений и предотвращение фрагментации ликвидности, поэтому подход zkSharding был бы неполным без доверительного доступа к состоянию Ethereum. Это означает, что =nil; предлагает полную комбинируемость и прозрачную интеграцию с Ethereum через модуль поставщика данных.
Поставщик данных работает независимо от хранилища данных обрывка, синхронизирует свою информацию с внешней базой данных и внедряет отпечаток Эфира последнего отслеживаемого состояния базы данных (представленный хешем блока Ethereum) в блок обрывка. Самое последнее состояние этой базы данных получает подтверждение от модуля подтверждения, который использует zkBridge с доказательством консенсуса Casper FFG Ethereum.
=nil; и zkSharding являются результатом продуктов, которые =nil; Foundation разработала за последние 4 года. Ее целью является быть первым компонуемым, масштабируемым и универсальным решением Ethereum L2 zkRollup. Мы с нетерпением ждем возможности поделиться более подробными сведениями о реализации в ближайшие несколько месяцев. Обязательно следите за нашим Twitter, чтобы быть в курсе нашего прогресса!
Для технически подкованных мы разработали отдельный, всеобъемлющий вводный курскоторый углубляется в детали =nil; и zkSharding. Этот вводный курс является вашим путеводителем в понимание тонкостей этого подхода, оснащенного всеми техническими деталями и предварительными условиями, которые вам нужны.
Ознакомьтесь с нашим техническим введением прямо сейчас и присоединяйтесь к разговору на DiscordиTelegram. Давайте вместе исследуем беспредельные возможности zkSharding!
Слишком длинный; не читал
Сегодня решения уровня-2 жертвуют масштабируемостью в обмен на фрагментацию состояния. Мы представляем дизайн уровня-2 (L2), =nil;, который выталкивает пределы масштабируемости Ethereum, не жертвуя преимуществами объединенной среды выполнения. Решение объединяет динамический механизм шардинга с проверяемым доступом к данным Ethereum, обеспеченным технологиями нулевого доказательства. Ключевые элементы включают:
Через zkSharding =nil; вы получаете преимущества как монолитного, так и модульного дизайнов, включая:
Масштабируемость
Единая среда выполнения
Безопасность
Функциональность
На нижнем уровне состояние =nil; разделено на основной шард и несколько вторичных шардов. Основная роль основного шарда - синхронизация и консолидация данных из вторичных шардов. Он использует Ethereum как свой уровень доступности данных и в качестве проверяющего для доказательств перехода состояния, аналогично типичным операциям zkRollups.
Вторичные осколки функционируют как "рабочие", выполняющие пользовательские транзакции. Эти осколки поддерживают объединенную ликвидность и данные через протокол обмена сообщениями между осколками, устраняя любое фрагментирование между ними.
Каждый шард контролируется комитетом валидаторов. Периодически происходит перераспределение этих валидаторов между шардами. Кроме того, обновления состояния шарда проверяются на главном шарде с использованием zkEVM.
Для иллюстрации потока транзакций от инициирования пользователем до подтверждения на Ethereum рассмотрите следующие шаги:
Эта схема предполагает, что транзакция пользователя не активирует протокол межшарового обмена сообщениями. Однако в этом случае поток транзакций остается тем же, за исключением того, что транзакция пользователя может запускать создание новых транзакций на других шардах.
С учетом того, что все учетные записи распределяются среди осколков, это может показаться похожим на проблему фрагментации данных, обнаруженную в подходе приложения-специфических роллапов. Однако ключевое различие заключается в том, как обрабатывается межшаровое взаимодействие: оно интегрировано непосредственно в общий протокол, а не управляется отдельными внешними мостами.
Чтобы гарантировать безопасность каждого вторичного шарда, его комитет валидаторов обязан доказать переход его состояния на первичный, чтобы убедиться, что в меньшей группе валидаторов не произошло мошенничества. У каждого комитета валидаторов шардов есть дополнительные задачи, помимо обслуживания шардов. Валидаторы отвечают за отслеживание определенных типов событий, а именно межшардовых сообщений, в рамках «ближайших шардов». Ближайшие осколки определяются на основе расстояния Хэмминга в идентификаторах сегментов.
=nil;s zkEVM - это zkEVM типа 1, скомпилированный с zkLLVM. Чтобы понять различия между более традиционными zkEVM и zkEVM =nil;, нам необходимо обсудить ограничения, связанные с процессом определения цепи, лежащей в основе zkEVM. Цепь zkEVM является критической частью, отвечающей за правильность доказательства перехода состояния, обычно определяемого с помощью некоторого пользовательского zkDSL или просто библиотеки. Такой способ определения цепи вызывает проблемы, связанные с:
=nil; zkEVM эффективно решает все эти проблемы, будучи:
zkEVM, скомпилированный через zkLLVM, обеспечивает безопасность по конструкции, используя evmone для обеспечения полной согласованности с использованным в производстве EVM Ethereum. zkLLVM (C++ или Rust) автоматически компилируется в цепь, что означает, что человеческая ошибка исключается из процесса определения цепи.
Более того, поскольку =nil; zkEVM компилируется через zkLLVM, он естественно более гибок (и, следовательно, более будущеустойчив), чем вручную определенные схемы, поскольку их легко настраивать, и генерация схемы происходит автоматически. Он также более аудируем, что означает, что его безопасность не идет в ущерб включению последних EIP, добавленных в Ethereum.
Поскольку первичный шард и вторичные шарды различаются по своим специализированным задачам - вторичные шарды фокусируются на обработке транзакций, в то время как первичный шард фокусируется на синхронизации данных - они имеют разные подходы к доступности данных (DA), которая помогает восстанавливать состояние данных в чрезвычайных ситуациях. Это означает:
Эта организация устанавливается за счет запуска двух видов осколков в начале: тех, у которых есть отдельное внешнее решение DA, и тех, у которых его нет. В последующих фазах можно объединять только осколки одной и той же категории DA. Это означает, что при создании каждая учетная запись должна быть сопоставлена с определенной категорией DA.
Кроме того, эту структуру можно расширить, чтобы включить другие типы DA.
Один из наших основных целей - оптимизация для комбинируемости приложений и предотвращение фрагментации ликвидности, поэтому подход zkSharding был бы неполным без доверительного доступа к состоянию Ethereum. Это означает, что =nil; предлагает полную комбинируемость и прозрачную интеграцию с Ethereum через модуль поставщика данных.
Поставщик данных работает независимо от хранилища данных обрывка, синхронизирует свою информацию с внешней базой данных и внедряет отпечаток Эфира последнего отслеживаемого состояния базы данных (представленный хешем блока Ethereum) в блок обрывка. Самое последнее состояние этой базы данных получает подтверждение от модуля подтверждения, который использует zkBridge с доказательством консенсуса Casper FFG Ethereum.
=nil; и zkSharding являются результатом продуктов, которые =nil; Foundation разработала за последние 4 года. Ее целью является быть первым компонуемым, масштабируемым и универсальным решением Ethereum L2 zkRollup. Мы с нетерпением ждем возможности поделиться более подробными сведениями о реализации в ближайшие несколько месяцев. Обязательно следите за нашим Twitter, чтобы быть в курсе нашего прогресса!
Для технически подкованных мы разработали отдельный, всеобъемлющий вводный курскоторый углубляется в детали =nil; и zkSharding. Этот вводный курс является вашим путеводителем в понимание тонкостей этого подхода, оснащенного всеми техническими деталями и предварительными условиями, которые вам нужны.
Ознакомьтесь с нашим техническим введением прямо сейчас и присоединяйтесь к разговору на DiscordиTelegram. Давайте вместе исследуем беспредельные возможности zkSharding!