Весь блокчейн построен на криптографии, потому что криптография создала экологию первого уровня всей распределенной бухгалтерской книги; и благодаря криптографии появился второй уровень внецепочечного расширения. В августе 2022 года Виталик выпустил статью "Различные типы ZK-EVM", в которой приводится общее сравнение современных мейнстримных решений для расширения, как показано на рисунке ниже:
图1:Обзор различных типов ZK-EVMs
Поэтому текущие решения по расширению zkVM в основном вращаются вокруг решения zkEVM, поскольку другие решения zkVM не совместимы с продолжением и поддержкой существующей экологии, но они будут проблематичны с точки зрения будущего. Обновление Web2 - важная часть Web3, особенно после появления решений, представленных zkWasm, которые совместимы со многими языками C++, Rust, Go, AssemblyScript, C# и другими, стало возможным обновить учетную систему приложений Web2; ожидаемый zkEVM От левого к прошлому, zkWasm движется от правого к заднему, чтобы совместно построить большую экологию обновлений приложений Web3, вместо того чтобы продолжать спор о публичной цепочке, который был запутан в течение многих лет.
Основная функция Ethereum - это распределенная бухгалтерская книга, позиционирующаяся как DA + Settlement + Consensus. Решение zkWasm от eWASM больше подходит для создания экосистемы Web3.0.
zkEVM наследует прошлое и оптимизирует экологию блокчейна, а zkWasm начинает будущее и создает будущее Web3.0!
Создавайте роллапы с помощью zkWasm, а не только блокчейн
Как уже говорилось в предисловии, экологическая эра, которая действительно соединяет Web2.0 и Web3.0, - это эра AppRollup. По сравнению с экологией, которая все еще молчит об идее цепочки, в эпоху Rollup не нужно создавать слишком много цепочек, потому что цепочка играет роль The ledger, то есть учетный слой выделяется из отдельного приложения и возвращается на общий слой, а право собственности возвращается к пользователю; цепочка, естественно, является таким носителем, выполняя основные функции доступности данных (DA), расчетов и консенсуса.
Рисунок 2:AppRollup гораздо более гибкий, чем Appchain
В криптографии доказательство с нулевым знанием (англ. zero-knowledge proof) или протокол с нулевым знанием (zero-knowledge protocol) - это метод, с помощью которого одна сторона (доказатель) может доказать определенное предложение другой стороне (испытателю). Характерно, что в процессе "не будет раскрыто никакой информации, кроме того, что предложение истинно". Поэтому его можно назвать "защитой от утечек". Впервые она была предложена Шафи Голдвассером, Сильвио Микали и Чарльзом Ракоффом из Массачусетского технологического института в работе 1985 года под названием "Сложность знаний интерактивных систем доказательств" ([GMR85]). Автор упомянул в статье, что проверяющий может убедить верификатора в подлинности данных, не раскрывая конкретные данные. Доказательство с нулевым знанием может быть интерактивным, то есть проверяющий должен доказать подлинность данных один раз для каждого проверяющего; оно также может быть неинтерактивным, то есть проверяющий создает доказательство, и любой, кто использует это доказательство, может быть проверен.
Изображение 3:История развития доказательств с нулевым знанием
zk-SNARK (Succinct Non-Interactive Arguments of Knowledge) - это, вероятно, самая популярная форма доказательства с нулевым знанием, впервые появившаяся в статье Bit+11 2011 года. К 2013 году доказательства с нулевым знанием можно было использовать в реальных приложениях благодаря статье Pinocchio PHGR13, которая сделала zk-SNARKS пригодными для общих вычислений, хотя и более медленными. Алгоритм Groth16, предложенный в 2016 году, значительно снизил вычислительную сложность, сделав zk-SNARKS настолько эффективным, что он остается стандартом и сегодня.
Однако доверенная установка очень важна для безопасности этих протоколов с нулевым знанием. Процесс инициализации должен использоваться для генерации параметров шифрования, чтобы можно было запустить протокол с нулевым знанием. Третья сторона выполняет эту операцию, чтобы гарантировать, что параметры шифрования будут случайными, непредсказуемыми и безопасными.
За этим последовало появление Пуленепробиваемых (BBBPWM17) в 2017 году и zk-STARKs (BBHR18) в 2018 году. В отличие от своих предшественников, они представляют собой тип доказательства диапазона, который не требует первоначального установления доверия. В работе PlonK 2019 года реализован универсальный алгоритм доказательства с нулевым знанием, что означает, что необходимо инициировать только одну доверенную установку, в отличие от Groth16, который требует отдельной доверенной установки для каждой схемы.
По мере развития этой области доказательства с нулевым знанием перешли от чистой теории к полезным практическим применениям в блокчейне, безопасных коммуникациях, электронном голосовании, контроле доступа и играх. По мере того, как они будут продолжать применяться в коммерческих целях, будут появляться новые интересные разработки для развития этой технологии.
Таким образом, zk-SNARKS, zk-STARKS, PLONK и Bulletproofs представляют собой основные методы реализации доказательств с нулевым знанием на сегодняшний день. У каждого метода есть свои преимущества и недостатки с точки зрения объема доказательства, времени работы провера и времени проверки. В решении по расширению блокчейна все в основном крутится вокруг метода внедрения, дружественного к ZK-SNARK.
WebAssembly (сокращенно WASM) - это относительно новый член семейства веб-технологий (JavaScript, HTML, CSS), который стал официально признанным стандартом W3C в декабре 2019 года. WebAssembly представляет собой новую среду выполнения в браузере, которая работает вместе со средой выполнения JavaScript. Для сравнения, он более легкий, имеет небольшой набор инструкций и строгую модель изоляции (WebAssembly по умолчанию не имеет ввода/вывода). Одним из основных мотивов разработки WebAssembly было предоставление целей компиляции для большего количества языков программирования (C++, Rust, Go и т.д.), что позволит разработчикам создавать новые веб-приложения или переносить существующие, используя более широкий набор инструментов.
Рисунок 4:Территория Васьма
Будь то Web2 или Web3, поддержка и сфера использования Wasm становятся все более и более обширными:
Рисунок 5: Основные компании и организации в экосистеме WebAssembly
Будучи новым членом zkVM, zkWasm решает сложные операции с помощью доказательств хранения на цепи, совместим с идеями основного языка Web2, реализует модернизацию соединений Web2 и Web3, выполняет сложные вычисления бизнес-логики на цепи, предоставляет ценные результаты и Сертификат хранится на цепи для отслеживания, проверки подлинности и ликвидации. Система счетов состоит из существующей системы кошельков. Всю экосистему можно представить на следующем рисунке:
Рисунок 6:Экология zkWasm
Общая логическая тенденция данных может быть представлена на следующем рисунке:
图7:Он-чейн контракты + офф-чейн виртуальная машина (ВМ) + совместимость WASM
Важное ядро первоначального обновления Ethereum 2.0 также включало в себя переход от EVM к eWASM; однако фактический прогресс 2.0 оказался не таким, как ожидалось, поэтому eWASM не слишком часто упоминался в последнем плане.
Рисунок 8:Общий план ETH 2.0
Несмотря на то, что eWASM не упоминается в последних планах, преимущества, которые может принести eWASM, также признаются. С самого начала EVM был разработан таким образом, чтобы сделать акцент на корректности, а не на эффективности. Это отражается в том, что все узлы в сети должны запускать EVM с полной точностью. Wasm, хотя и похож на EVM, был изобретен для Интернета. В отличие от правильности, Wasm делает акцент на эффективности и быстрой загрузке. Разработчик Ethereum Лейн Реттиг (Lane Rettig) сказал, что EVM был создан без "особой дизайнерской мысли". Он считает, что EVM был разработан скорее с теоретической, чем с практической точки зрения, поэтому, хотя он внутренне надежен, в реальном мире он не может показать себя с лучшей стороны. Отличная функция. Ник Джонсон согласен с этим. В отличие от этого, Wasm написан ближе к реальным аппаратным инструкциям, что делает его более эффективным при трансляции реальной логики кодирования. Фактически, инструкции Wasm отображаются непосредственно один к одному с инструкциями, используемыми машиной, что значительно повышает производительность. В то же время, Ewasm может уменьшить или даже устранить необходимость в предварительной компиляции, будет поддерживать больше языков для обеспечения совместимости и получит более широкий набор инструментов, чем EVM.
Основные преимущества использования eWASM по сравнению с EVM признаны мейнстримом следующим образом:
Производительность: По сравнению с EVM, eWASM обеспечивает более высокую производительность, поскольку использует WebAssembly, который разработан для более быстрой и эффективной работы, чем байткод EVM. WebAssembly обеспечивает производительность, близкую к нативной, что может значительно увеличить скорость и масштабируемость сети Ethereum.
Совместимость : eWASM обеспечивает лучшую совместимость, чем EVM, поскольку поддерживает множество языков программирования, включая C++, Rust и AssemblyScript. Это позволяет разработчикам писать смарт-контракты на предпочтительном для них языке, повышая качество кода и производительность разработчиков.
Безопасность : eWASM обеспечивает лучшую безопасность, чем EVM, поскольку включает в себя множество функций безопасности, таких как "песочница" памяти, которая может изолировать смарт-контракты друг от друга и предотвратить их доступ к памяти друг друга. Кроме того, eWASM обеспечивает лучшую защиту от распространенных уязвимостей смарт-контрактов, таких как атаки реентерабельности и целочисленные переполнения.
Гибкость: eWASM обеспечивает большую гибкость, чем EVM, поскольку поддерживает динамическое связывание, что позволяет смарт-контрактам состоять из нескольких модулей, которые могут обновляться независимо друг от друга. Это может привести к улучшению организации кода и упрощению обслуживания смарт-контрактов.
Поддержка сообщества : eWASM получил мощную поддержку со стороны сообщества Ethereum, и несколько основных клиентов Ethereum, включая Geth и Parity, внедрили поддержку eWASM. Это означает, что разработчики имеют доступ к широкому спектру инструментов и ресурсов при создании смарт-контрактов с помощью eWASM.
Однако действительно ли сети Ethereum необходимо заменить EVM на eWasm? Нельзя недооценивать различные риски безопасности в процессе замены и влияние на существующую экосистему. Возможно, именно по этой причине eWASM не слишком часто упоминается в последнем плане.
Рисунок 9:Виталик Бутерин предлагает последнюю дорожную карту Ethereum
В дорожной карте обновления разделены на несколько категорий в зависимости от их влияния на архитектуру Ethereum. Сюда входят:
Слияние : Влечет за собой переход от Proof-of-Work к Proof-of-Stake
Увеличение Модернизация, включающая масштабирование за счет объединения томов и разделения данных.
Бич Обновление, включающее протокольные риски для устойчивости к цензуре, децентрализации и максимальной извлекаемой ценности
Verge : Обновления, связанные с упрощением проверки блоков
Очистка : предполагает снижение вычислительных затрат на работу узлов и упрощение обновления протоколов.
Скупитесь Другие обновления, которые не попадают в вышеперечисленные категории
Все понимают, что основная функция Ethereum - это распределенная бухгалтерская книга, позиционирующаяся как DA + Settlement + Consensus. Таким образом, многие требования к масштабируемости не требуют слишком больших модификаций самого Ethereum и не влекут за собой другие неизвестные риски. Рыбы и медведи. Способ получить и то, и другое одновременно - разделить работу на слои. Размещение eWASM на втором слое должно быть более разумным и эффективным решением. Особенно после объединения с zk, техническое решение zkWasm может идеально унаследовать эффект, которого хочет добиться eWASM. В то же время, он может предоставлять услуги как Web2, так и Web3 и соединять их между собой. zkEVM наследует прошлое и оптимизирует экологию блокчейна, zkWasm начинает будущее и создает будущее Web3.0!
Рисунок 10:zkWasm = zkp + WASM
Весь блокчейн построен на криптографии, потому что криптография создала экологию первого уровня всей распределенной бухгалтерской книги; и благодаря криптографии появился второй уровень внецепочечного расширения. В августе 2022 года Виталик выпустил статью "Различные типы ZK-EVM", в которой приводится общее сравнение современных мейнстримных решений для расширения, как показано на рисунке ниже:
图1:Обзор различных типов ZK-EVMs
Поэтому текущие решения по расширению zkVM в основном вращаются вокруг решения zkEVM, поскольку другие решения zkVM не совместимы с продолжением и поддержкой существующей экологии, но они будут проблематичны с точки зрения будущего. Обновление Web2 - важная часть Web3, особенно после появления решений, представленных zkWasm, которые совместимы со многими языками C++, Rust, Go, AssemblyScript, C# и другими, стало возможным обновить учетную систему приложений Web2; ожидаемый zkEVM От левого к прошлому, zkWasm движется от правого к заднему, чтобы совместно построить большую экологию обновлений приложений Web3, вместо того чтобы продолжать спор о публичной цепочке, который был запутан в течение многих лет.
Основная функция Ethereum - это распределенная бухгалтерская книга, позиционирующаяся как DA + Settlement + Consensus. Решение zkWasm от eWASM больше подходит для создания экосистемы Web3.0.
zkEVM наследует прошлое и оптимизирует экологию блокчейна, а zkWasm начинает будущее и создает будущее Web3.0!
Создавайте роллапы с помощью zkWasm, а не только блокчейн
Как уже говорилось в предисловии, экологическая эра, которая действительно соединяет Web2.0 и Web3.0, - это эра AppRollup. По сравнению с экологией, которая все еще молчит об идее цепочки, в эпоху Rollup не нужно создавать слишком много цепочек, потому что цепочка играет роль The ledger, то есть учетный слой выделяется из отдельного приложения и возвращается на общий слой, а право собственности возвращается к пользователю; цепочка, естественно, является таким носителем, выполняя основные функции доступности данных (DA), расчетов и консенсуса.
Рисунок 2:AppRollup гораздо более гибкий, чем Appchain
В криптографии доказательство с нулевым знанием (англ. zero-knowledge proof) или протокол с нулевым знанием (zero-knowledge protocol) - это метод, с помощью которого одна сторона (доказатель) может доказать определенное предложение другой стороне (испытателю). Характерно, что в процессе "не будет раскрыто никакой информации, кроме того, что предложение истинно". Поэтому его можно назвать "защитой от утечек". Впервые она была предложена Шафи Голдвассером, Сильвио Микали и Чарльзом Ракоффом из Массачусетского технологического института в работе 1985 года под названием "Сложность знаний интерактивных систем доказательств" ([GMR85]). Автор упомянул в статье, что проверяющий может убедить верификатора в подлинности данных, не раскрывая конкретные данные. Доказательство с нулевым знанием может быть интерактивным, то есть проверяющий должен доказать подлинность данных один раз для каждого проверяющего; оно также может быть неинтерактивным, то есть проверяющий создает доказательство, и любой, кто использует это доказательство, может быть проверен.
Изображение 3:История развития доказательств с нулевым знанием
zk-SNARK (Succinct Non-Interactive Arguments of Knowledge) - это, вероятно, самая популярная форма доказательства с нулевым знанием, впервые появившаяся в статье Bit+11 2011 года. К 2013 году доказательства с нулевым знанием можно было использовать в реальных приложениях благодаря статье Pinocchio PHGR13, которая сделала zk-SNARKS пригодными для общих вычислений, хотя и более медленными. Алгоритм Groth16, предложенный в 2016 году, значительно снизил вычислительную сложность, сделав zk-SNARKS настолько эффективным, что он остается стандартом и сегодня.
Однако доверенная установка очень важна для безопасности этих протоколов с нулевым знанием. Процесс инициализации должен использоваться для генерации параметров шифрования, чтобы можно было запустить протокол с нулевым знанием. Третья сторона выполняет эту операцию, чтобы гарантировать, что параметры шифрования будут случайными, непредсказуемыми и безопасными.
За этим последовало появление Пуленепробиваемых (BBBPWM17) в 2017 году и zk-STARKs (BBHR18) в 2018 году. В отличие от своих предшественников, они представляют собой тип доказательства диапазона, который не требует первоначального установления доверия. В работе PlonK 2019 года реализован универсальный алгоритм доказательства с нулевым знанием, что означает, что необходимо инициировать только одну доверенную установку, в отличие от Groth16, который требует отдельной доверенной установки для каждой схемы.
По мере развития этой области доказательства с нулевым знанием перешли от чистой теории к полезным практическим применениям в блокчейне, безопасных коммуникациях, электронном голосовании, контроле доступа и играх. По мере того, как они будут продолжать применяться в коммерческих целях, будут появляться новые интересные разработки для развития этой технологии.
Таким образом, zk-SNARKS, zk-STARKS, PLONK и Bulletproofs представляют собой основные методы реализации доказательств с нулевым знанием на сегодняшний день. У каждого метода есть свои преимущества и недостатки с точки зрения объема доказательства, времени работы провера и времени проверки. В решении по расширению блокчейна все в основном крутится вокруг метода внедрения, дружественного к ZK-SNARK.
WebAssembly (сокращенно WASM) - это относительно новый член семейства веб-технологий (JavaScript, HTML, CSS), который стал официально признанным стандартом W3C в декабре 2019 года. WebAssembly представляет собой новую среду выполнения в браузере, которая работает вместе со средой выполнения JavaScript. Для сравнения, он более легкий, имеет небольшой набор инструкций и строгую модель изоляции (WebAssembly по умолчанию не имеет ввода/вывода). Одним из основных мотивов разработки WebAssembly было предоставление целей компиляции для большего количества языков программирования (C++, Rust, Go и т.д.), что позволит разработчикам создавать новые веб-приложения или переносить существующие, используя более широкий набор инструментов.
Рисунок 4:Территория Васьма
Будь то Web2 или Web3, поддержка и сфера использования Wasm становятся все более и более обширными:
Рисунок 5: Основные компании и организации в экосистеме WebAssembly
Будучи новым членом zkVM, zkWasm решает сложные операции с помощью доказательств хранения на цепи, совместим с идеями основного языка Web2, реализует модернизацию соединений Web2 и Web3, выполняет сложные вычисления бизнес-логики на цепи, предоставляет ценные результаты и Сертификат хранится на цепи для отслеживания, проверки подлинности и ликвидации. Система счетов состоит из существующей системы кошельков. Всю экосистему можно представить на следующем рисунке:
Рисунок 6:Экология zkWasm
Общая логическая тенденция данных может быть представлена на следующем рисунке:
图7:Он-чейн контракты + офф-чейн виртуальная машина (ВМ) + совместимость WASM
Важное ядро первоначального обновления Ethereum 2.0 также включало в себя переход от EVM к eWASM; однако фактический прогресс 2.0 оказался не таким, как ожидалось, поэтому eWASM не слишком часто упоминался в последнем плане.
Рисунок 8:Общий план ETH 2.0
Несмотря на то, что eWASM не упоминается в последних планах, преимущества, которые может принести eWASM, также признаются. С самого начала EVM был разработан таким образом, чтобы сделать акцент на корректности, а не на эффективности. Это отражается в том, что все узлы в сети должны запускать EVM с полной точностью. Wasm, хотя и похож на EVM, был изобретен для Интернета. В отличие от правильности, Wasm делает акцент на эффективности и быстрой загрузке. Разработчик Ethereum Лейн Реттиг (Lane Rettig) сказал, что EVM был создан без "особой дизайнерской мысли". Он считает, что EVM был разработан скорее с теоретической, чем с практической точки зрения, поэтому, хотя он внутренне надежен, в реальном мире он не может показать себя с лучшей стороны. Отличная функция. Ник Джонсон согласен с этим. В отличие от этого, Wasm написан ближе к реальным аппаратным инструкциям, что делает его более эффективным при трансляции реальной логики кодирования. Фактически, инструкции Wasm отображаются непосредственно один к одному с инструкциями, используемыми машиной, что значительно повышает производительность. В то же время, Ewasm может уменьшить или даже устранить необходимость в предварительной компиляции, будет поддерживать больше языков для обеспечения совместимости и получит более широкий набор инструментов, чем EVM.
Основные преимущества использования eWASM по сравнению с EVM признаны мейнстримом следующим образом:
Производительность: По сравнению с EVM, eWASM обеспечивает более высокую производительность, поскольку использует WebAssembly, который разработан для более быстрой и эффективной работы, чем байткод EVM. WebAssembly обеспечивает производительность, близкую к нативной, что может значительно увеличить скорость и масштабируемость сети Ethereum.
Совместимость : eWASM обеспечивает лучшую совместимость, чем EVM, поскольку поддерживает множество языков программирования, включая C++, Rust и AssemblyScript. Это позволяет разработчикам писать смарт-контракты на предпочтительном для них языке, повышая качество кода и производительность разработчиков.
Безопасность : eWASM обеспечивает лучшую безопасность, чем EVM, поскольку включает в себя множество функций безопасности, таких как "песочница" памяти, которая может изолировать смарт-контракты друг от друга и предотвратить их доступ к памяти друг друга. Кроме того, eWASM обеспечивает лучшую защиту от распространенных уязвимостей смарт-контрактов, таких как атаки реентерабельности и целочисленные переполнения.
Гибкость: eWASM обеспечивает большую гибкость, чем EVM, поскольку поддерживает динамическое связывание, что позволяет смарт-контрактам состоять из нескольких модулей, которые могут обновляться независимо друг от друга. Это может привести к улучшению организации кода и упрощению обслуживания смарт-контрактов.
Поддержка сообщества : eWASM получил мощную поддержку со стороны сообщества Ethereum, и несколько основных клиентов Ethereum, включая Geth и Parity, внедрили поддержку eWASM. Это означает, что разработчики имеют доступ к широкому спектру инструментов и ресурсов при создании смарт-контрактов с помощью eWASM.
Однако действительно ли сети Ethereum необходимо заменить EVM на eWasm? Нельзя недооценивать различные риски безопасности в процессе замены и влияние на существующую экосистему. Возможно, именно по этой причине eWASM не слишком часто упоминается в последнем плане.
Рисунок 9:Виталик Бутерин предлагает последнюю дорожную карту Ethereum
В дорожной карте обновления разделены на несколько категорий в зависимости от их влияния на архитектуру Ethereum. Сюда входят:
Слияние : Влечет за собой переход от Proof-of-Work к Proof-of-Stake
Увеличение Модернизация, включающая масштабирование за счет объединения томов и разделения данных.
Бич Обновление, включающее протокольные риски для устойчивости к цензуре, децентрализации и максимальной извлекаемой ценности
Verge : Обновления, связанные с упрощением проверки блоков
Очистка : предполагает снижение вычислительных затрат на работу узлов и упрощение обновления протоколов.
Скупитесь Другие обновления, которые не попадают в вышеперечисленные категории
Все понимают, что основная функция Ethereum - это распределенная бухгалтерская книга, позиционирующаяся как DA + Settlement + Consensus. Таким образом, многие требования к масштабируемости не требуют слишком больших модификаций самого Ethereum и не влекут за собой другие неизвестные риски. Рыбы и медведи. Способ получить и то, и другое одновременно - разделить работу на слои. Размещение eWASM на втором слое должно быть более разумным и эффективным решением. Особенно после объединения с zk, техническое решение zkWasm может идеально унаследовать эффект, которого хочет добиться eWASM. В то же время, он может предоставлять услуги как Web2, так и Web3 и соединять их между собой. zkEVM наследует прошлое и оптимизирует экологию блокчейна, zkWasm начинает будущее и создает будущее Web3.0!
Рисунок 10:zkWasm = zkp + WASM