July 13, 2024

Как устроены блокчейны?

По мере появления новых и развития старых технологий во всём всегда появляются новые решения, которые призваны так или иначе улучшить и упростить нашу жизнь. И сфера криптовалют не является исключением. За относительно короткий срок данное направление прошло путь от обычной передачи средств с помощью Биткоина до появления целых экосистем внутри одного блокчейна и создания Web3 версий привычных нам продуктов: почта, игры, социальные сети.

С приходом всё большего числа людей в сферу криптовалют встал вопрос о модернизации уже устоявшихся проектов, а также о создании новых, более технологичных, быстрых и удобных решений. И хотя блокчейн сам по себе является быстрым способом передачи средств, разработчики и энтузиасты всегда пытались и пытаются сделать его еще быстрее, добавляя, при этом, свои наработки.

Таким образом начали появлятся так называемые блокчейны второго уровня или просто Layer 2. Основные сети, такие, как Ethereum, Bitcoin, Solana стали называть блокчейнами первого уровня или Layer1. И у каждого из уже имеющихся или только создающихся проектов есть свои принципы работы, пути решения той или иной проблемы и различия, которые непонятны обычному пользователю.

В этой статье мы попытаемся донести простым языком смысл Layer 1, Layer 2 и Layer 3 блокчейнов для более широкого понимания вами сферы криптовалют. Приятного прочтения!

Содержание:

  1. Layer 0
  2. Layer 1
  3. Layer 2
  4. Layer 3

Layer 0

Прежде, чем мы поговорим о блокчейнах “различных уровней”, нужно прояснить одну важную деталь: отсчёт этих самых уровней ведется не с первого, а с нулевого.

Что же такое “нулевой уровень” или Layer 0?

Грубо говоря, Layer 0 — это абстракция, подразумевающая под собой всю необходимую инфраструктуру, на которой будут базироваться остальные сети. Эта инфраструктура поддерживает все необходимые инструменты для создания и подключения блокчейнов первого уровня (Layer 1).

Следовательно, основное утилити Layer 0 — передача данных между Layer 1 сетями и поддержание их работы. Таким образом, мы получаем сеть нескольких Layer 1 блокчейнов, объединённых и координируемых с помощью Layer 0. Всё это обобщается как единая сеть.

Помимо этого, Layer 0 включает в себя:

  • Подключение к интернету;
  • Аппаратное обеспечение;
  • Веб-хостинг;
  • Доменные имена;
  • Компиляторы языков программирования;
  • Прямые трансляции данных;
  • Облачное хранилище;

Какие проблемы решают Layer 0 сети?

Вообще, Layer 0 блокчейны могут использоваться для решения узконаправленных задач, но здесь можно выделить три глобальные проблемы. Перечислим их по порядку.

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

Совместимость или интероперабельность в данном случае означает возможность различных блокчейнов взаимодействовать друг с другом. Здесь нужно упомянуть, что, как правило, привычные блокчейны взаимодействуют друг с другом посредством мостов. К таким можно отнести Ethereum, BNB Chain, Polygon и т.п.

Layer 0 сети, в свою очередь, позволяют отправлять транзакции между собственными блокчейнами напрямую. К примеру, такая реализация есть в экосистеме Cosmos, которая называется Inter Blockchain Communication. Таким образом, в кошельке Keplr можно выбрать IBC перевод, который осуществляется гораздо быстрее обычного.

Проблема масштабируемости

Зачастую случается так, что та или иная сеть, Ethereum, Solana или Bitcoin оказывается перегруженной из-за большого наплыва пользователей. В таком случае мы получаем более медленную обработку транзакций и, как следствие, увеличение стоимости комиссий. Это связано с тем, что “монолитные” блокчейны первого уровня обеспечивают всю работу в одиночку.

В то же время различные Layer 0 сети являются оптимизированными и распределяют все задачи между всеми блокчейнами в сети.

Гибкость при разработке

Layer 0 блокчейны предоставляют больше возможностей для разработчиков в сравнении с обычными блокчейнами. Например, пользователь может создать собственный блокчейн под свои нужды и всячески его кастомизировать: определять тип создаваемых децентрализованных приложений или создавать собственные экономические модели токенов.

Стоит ли говорить, что в Ethereum или Solana провернуть такое невозможно?

Как работают Layer 0 блокчейны?

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

Давайте рассмотрим несколько таких проектов.

Polkadot

Данный протокол был разработан с целью предоставить возможность разработчикам создавать свои собственные блокчейны. Такие блокчейны называются парачейнами (Parallel Chain — Parachain) и взаимодействуют они друг с другом с помощью “ретранслятора”, коим выступает Polkadot. Отсюда и название Polkadot Relay Chain.

Примеры парачейнов: Acala, Clover Finance, Statemint. Чтобы иметь право на создание своего блокчейна, разработчики участвуют в специальных аукционах.

Связующим звеном между парачейнами и Polkadot Relay Chain является токен $DOT.

Если же центральная сеть Polkadot Relay Chain выйдет из строя, то парачейны продолжат работу в штатном режиме, но не смогут коммуницировать между собой. Для предотвращения таких ситуаций Polkadot работает на консенсусе Proof-of-Stake и имеет 300 валидаторов с возможностью увеличения до 1000.

Avalanche

Данная сеть разрабатывалась специально для DeFi протоколов. Avalanche имеет в своём распоряжении три сети: Avax C-Chain (Contract Chain), Avax X-Chain (Exchange Chain) и Avax P-Chain (Platform). Помимо этого Avalanche поддерживает небольшие сети (подсети).

P-Chain выступает в роли координатора для валидаторов и подсетей, которых насчитывается свыше 50; X-Chain требуется для создания и управления токенами; C-Chain необходима для взаимодействия с децентрализованными приложениями.

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

К слову, в отличие от Polkadot, Avalanche совместим с Ethereum, что позволяет передавать сообщения и токены, используя специальные мосты.

Cosmos

Данный Layer 0 состоит из главной сети Cosmos Hub и множества пользовательских блокчейнов, которые также называются зонами. В данном случае Cosmos Hub помогает блокчейнам передавать токены и сообщения друг другу, а также обеспечивает безопасность всей сети.

Что интересно, для передачи активов между зонами не требуется их прохождение через основную сеть. Для этого был разработан протокол межцепочной коммуникации (Inter Blockchain Communication), о котором мы уже упоминали выше.

Cosmos Hub имеет собственный набор разработчика (Software Developer Kit), который помогает пользователям создавать и настраивать свои блокчейны. Вы наверняка видели такое словосочетание Cosmos SDK. Теперь вы знаете что это такое.

Протоколы нулевого уровня

Помимо Layer 0 блокчейнов, также существуют Layer 0 протоколы. Они более распространены, но работают по-другому. Такие протоколы могут быть встроены в другие блокчейны, например, в Ethereum, а также могут подключаться к другим сетям.

Есть несколько типов таких протоколов:

  • Оракулы (Chainlink, Tellor) — эти протоколы помогают передавать данные между блокчейнами. Без их участия различные децентрализованные приложения не смогли бы получать данные из других блокчейнов.
  • Хранилища (Storj, Filecoin, IPFS) — такие протоколы помогают сохранить данные в блокчейне. К примеру, для использования того или иного децентрализованного приложения нужен домен. Если его уничтожить, то пользователи потеряют доступ к этому приложению. Хранилища помогают этого избежать.
  • Веб-сервисы — сервисы, предоставляющие вычислительные мощности в аренду, к примеру Gensyn; сервисы доменных имен, к примеру Ethereum Name Service; устойчивые к цензуре RPC провайдеры, к примеру, Ankr.
  • Мосты — такие протоколы позволяют отправлять данные и токены между блокчейнами. Мосты также могут делиться на подкатегории: локальные — для валидаторов собственного блокчейна или приложения; внешние — оракулы или мультиподписи (Multisig); нативные — например, Ethereum-Polygon.

Подводя итоги по теме блокчейнов нулевого уровня, можно смело сказать, что мастодонты рынка в лице Ethereum и Bitcoin все же удерживают абсолютное лидерство. Эти блокчейны представляют собой децентрализацию, нерушимость и надежность. Эти качества всегда будут в почете у пользователей. Однако, Layer 0 блокчейны имеют потенциал и могут улучшить уже имеющееся положение дел, но так или иначе, до этого пока ещё далеко.

Layer 1

Переходим к более привычным вещам — к блокчейнам первого уровня. Как правило такими блокчейнами принято считать Ethereum, Bitcoin, BNB Chain, Solana, Aptos и другие, а также их базовую инфраструктуру.

Самым первым блокчейном первого уровня является Bitcoin, который был изобретен как безопасное и децентрализованное платежное средство. Следовательно, основная задача Layer 1 блокчейнов — отправка средств и обработка транзакций.

Отличительной особенностью Layer 1 блокчейнов является наличие механизма консенсуса — процесса, в течение которого все участники сети приходят к согласию по текущему состоянию сети.

Основные механизмы достижения консенсуса:

  • Proof-of-Work — первый механизм достижения консенсуса, разработанный Сатоши Накамото. Его суть заключается в решении определенных математических вычислений с помощью специального физического оборудования. Посредством вычислений майнерами генерируются новые блоки, подтверждаются и обрабатываются транзакции, после чего добавляются в эти самые блоки. Использование: Bitcoin, Litecoin, Monero, Dogecoin.
  • Proof-of-Stake — альтернатива консенсусу Proof-of-Work, которая предполагает стейкинг определенного количества монет, вместо сложных вычислений, требующих дорогостоящее оборудование и колоссального потребления энергии. Данный механизм во много раз снижает энергопотребление, а также повышает децентрализацию, безопасность и масштабируемость. Использование: Ethereum, Polkadot, Cardano.
  • Delegated Proof-of-Stake — механизм, во многом похожий на PoS, однако предполагающий делегирование монет другим участникам сети, которые будут поддерживать работоспособность сети. Как правило, наибольшее влияние на сеть имеет тот делегат, которому делегировали наибольшее количество монет. Вознаграждение, собранное делегатами, распределяется между всеми, кто их выбрал. Таким образом, DPoS предполагает систему голосования, которая позволяет быстро заменять неэффективных валидаторов. Этот механизм достижения консенсуса является более масштабируемым, чем PoW и PoS. Использование: Tron, Cosmos, EOS.

Эти алгоритмы являются основными, однако существует несколько других, на которых мы не будем заострять внимание по причине их малой популярности.

  • Delegated Proof-of-Work — обеспечение безопасности сети за счёт мощностей сети Bitcoin. Использование: Komodo.
  • Leased Proof-of-Stake — обеспечение работоспособности сети за счёт сдачи своих монет в аренду без права передачи или продажи. Использование: Waves.
  • Proof-of-Authority — обеспечение безопасности сети за счёт репутации валидатора, который должен подтвердить свои личность и намерения, чтобы обеспечить себе некий авторитет для доступа к сети.
  • Proof-of-Burn — метод обеспечения работоспособности сети, при котором валидаторы сжигают часть монет, демонстрируя “приверженность” сети.
  • Гибридный консенсус — метод обеспечения работоспособности сети, при котором выбираются лучшие качества PoW и PoS, которые компенсируют недостатки друг друга.

Для чего нужны все эти консенсусы и блокчейны?

В связи с развитием индустрии криптовалют и, как следствие, с приходом всё большего числа людей всё чаще встаёт вопрос большей масштабируемости и удобства технологии блокчейн.

Ввиду своего фундаментального дизайна сеть Bitcoin могла обрабатывать всего лишь 7 транзакций в секунду, что недостаточно при массовом использовании. Данное ограничение вынуждало разработчиков постоянно экспериментировать и создавать новые решения. Однако по мере выхода новых проектов и блокчейнов индустрия столкнулась с ещё одной проблемой — трилеммой блокчейна.

Трилемма блокчейна — это ситуация, при которой блокчейн не может в равной степени добиться наивысшей безопасности, масштабируемости и децентрализации. Данный термин был популяризирован одним из создателей Ethereum Виталиком Бутериным.

Чтобы понять эту проблему, необходимо разобраться с её составляющими.

Первая составляющая — децентрализация

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

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

Именно благодаря децентрализации стал возможен концепт Web3 — нового поколения интернета, которое отличается от текущего Web2 тем, что пользователи смогут сами контролировать и владеть своими данными в сети.

Однако наличие множества участников, подтверждающих достоверность данных, может тормозить обработку транзакций, так как каждый валидатор должен проверить и обработать информацию. Для решения этой проблемы блокчейн должен быть масштабируемым, то есть должен обрабатывать больше транзакций. Для увеличения пропускной способности самым очевидным было бы сократить число участников, подтверждающих и добавляющих данные в сеть. Однако этот подход приведет к ослаблению децентрализации.

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

Вторая составляющая трилеммы — безопасность

Надежная и безопасная сеть подразумевает под собой достаточную устойчивость к атакам злоумышленников. Централизованные системы обеспечивают достаточную безопасность ввиду своего закрытого типа. Но как децентрализованные системы могут обеспечить безопасность?

Продолжим рассматривать Bitcoin. Как вы уже знаете, Bitcoin работает на механизме консенсуса Proof-of-Work, что обеспечивает наличие у каждого блока своей цифровой подписи (хеш). Так как все блоки в сети взаимосвязаны друг с другом записью данных о предыдущих, подделка данных фактически становится невозможной, поскольку это привело бы к изменению хеша. Таким образом, любая попытка изменить данные может быть быстро обнаружена остальными участниками сети, которые не подтвердят эти данные и не включат их в блокчейн.

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

Механизм консенсуса PoW отлично защищает блокчейн от злоумышленников, в том числе от атаки 51%, которая подразумевает захват контроля над более, чем 50% всей сети, что позволяло бы влиять на неё полностью. Однако такой подход, как уже упоминалось выше, значительно замедляет работу всей сети, что может вызывать перегрузки.

Следовательно, перед нами встает третья проблема — масштабируемость.

Третья составляющая — масштабируемость

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

Это связано с тем, что децентрализация и безопасность являются ключевыми моментами, на которые обращают внимание в первую очередь. Децентрализация является фундаментом блокчейна, а безопасность необходима для качественной работы.

При повышении качества этих двух аспектов значительно страдает масштабируемость. К примеру, Bitcoin, как уже упоминалось, обрабатывает 7 транзакций в секунду, а Ethereum — 15, что является очень низким показателем. Для сравнения, централизованная платежная система Visa способна обрабатывать 24 тыс. транзакций в секунду.

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

Есть ли пути решения у трилеммы блокчейна?

На данный момент, к сожалению, не существует единого и наиболее эффективного решения данной проблемы. Однако прогресс не стоит на месте и все же существуют предложения, которые могут помочь в той или иной степени.

  1. Шардинг. Это метод, при котором блокчейн разделяется на более мелкие блокчейны, которые управляют лишь ограниченным набором данных. Таким образом, основной сети не приходится обрабатывать все транзакции в одиночку.
  2. Смена механизма консенсуса. Одной из причин существования трилеммы блокчейна является механизм консенсуса PoW, который обеспечивает безопасность и децентрализацию за счёт большого количества майнеров и огромных вычислительных мощностей. Следовательно, одним из решений является смена данного механизма, что и произошло с блокчейном Ethereum, который теперь функционирует на механизме PoS.

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

Таким образом мы плавно переходим к теме Layer 2 блокчейнов.

Layer 2

Итак, мы с вами определились, что Layer 2 решения для блокчейнов первого уровня строятся поверх основных сетей. Такие решения работают за пределами основного блокчейна, тем самым увеличивая его основную пропускную способность.

На данный момент большинство Layer 2 решений сконцентрировано вокруг Ethereum, так как этот блокчейн не только помогает переводить активы, но и обладает огромной экосистемой: децентрализованные приложения, NFT, GameFi сектор, что стало возможным благодаря виртуальной машине Ethereum, о которой расскажем ниже. В это же время Bitcoin не имеет такого разнообразия.

Однако и у Bitcoin имеется собственное решение второго уровня — Lightning Network. Данное решение позволяет масштабировать основную сеть, не внося в неё каких-либо изменений.

Сеть Lightning Network работает поверх Bitcoin и имеет собственные ноды и программное обеспечение. Однако в это же время она обменивается данными с основной сетью.

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

Транзакции в этой сети происходят молниеносно (отсюда и название Lightning), так как пользователю не нужно дожидаться подтверждения блока.

Layer 2 решения для Ethereum

Теперь давайте перейдём к более распространённым проектам, которые масштабируют сеть Ethereum. Что интересно, существует несколько типов таких проектов. Давайте разберем их отдельно.

State Channel (Каналы состояний)

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

Принцип работы, как уже говорилось выше, похож на L2 решение для Bitcoin: стороны “изолируют” часть основной сети и подключаются к определенному каналу с помощью специального смарт-контракта или мультиподписи. Далее пользователи отправляют необходимое количество транзакций, а после окончания работы транслируют окончательное состояние этого канала в основную сеть.

Raiden Network является одним из таких проектов.

Сайдчейны

Сайдчейны — это, по сути, независимые сети, которые имеют собственных валидаторов. Такие сети работают автономно и сами обеспечивают свою безопасность.

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

Одним из самых популярных примеров сайдчейнов является Polygon.

Вложенные блокчейны (Nested Blockchains)

Такое решение второго уровня подразумевает под собой наличие множества вторичных сетей, расположенных поверх основной. Такие сети работают в соответствии с “правилами” главной сети, которая, в свою очередь, не участвует в выполнении транзакций. Её роль сводится к тому, чтобы разрешать возникшие в ходе работы конфликты. Все транзакции, обработанные вторичными сетями, возвращаются в основную сеть.

Один из примеров такого решения является Plasma, который был предложен Виталиком Бутериным и разработчиком Lightning Network Джозефом Пуном.

Rollups (Роллапы)

Эту категорию решений стоит выделить отдельно, так как она является одной из самых популярных на данный момент. Однако Роллапы также можно разделить на две основные категории: Optimistic Rollup и zkRollup.

Основной принцип работы Роллапа заключается в проведении и объединении множества транзакций за пределами Ethereum в один пакет и включение этих данных в основную сеть.

Но в чём же различия между Optimistic Rollup и zkRollup?

Optimistic Rollup

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

Примеры таких роллапов:

  • Optimism ($183.5 млн инвестиций);
  • Arbitrum ($123.7 млн инвестиций);
  • Base;
  • Zora ($60 млн инвестиций);
  • Public Goods Network (PGN) от Gitcoin ($11.3 млн инвестиций);

Что интересно, последние три примера построены на OP Stack — стеке разработки программного обеспечения от Optimism. Этот стек содержит ряд технологий и модулей, которые позволяют развернуть кастомный роллап без особых усилий.

Летом 2023 года вышло большое обновление OP Stack под названием “Bedrock”, которое внесло множество изменений, включая уменьшение цен на комиссии, увеличение времени депозита из Layer 1 и так далее. Но, что самое главное, данное дополнение позволило создать концепт “Суперцепи” (Superchain). Данный концепт подразумевает под собой создание единой сети блокчейнов, которая состояла бы из отдельных L2 сетей, что, по замыслу разработчиков, значительно повысит масштабируемость по всему миру.

Помимо высокой масштабируемости Superchain также устраняет множество компромиссов в области безопасности, присущих архитектуре блокчейна. Для этого Superchain обеспечивает горизонтальное масштабирование, которое обеспечивает соответствие требованиям, несмотря на увеличение количества цепочек, добавляемых в сеть.

По некоторым слухам, команда Optimism планирует реализовать данный концепт уже в следующем большом обновлении.

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

zkRollup

Данный тип роллапов при проведении транзакций использует технологию Zero-Knowledge Proof, что в переводе означает “Доказательство с нулевым разглашением” для обеспечения большей безопасности и конфиденциальности. В этом и состоит главное отличие от оптимистичных роллапов.

Что такое Zero-Knowledge Proof?

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

Как это работает?

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

Объясним на примере: представьте, что существует тоннель со входом и выходом, которые разъединены закрытой дверью с секретным кодом. Также представьте, что у вас есть этот код и вы хотите его продать другому человеку, но не хотите называть содержимое этого кода. Как другой пользователь вам поверит?

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

zk-SNARK

Одним из достижений в области технологии ZKP является zk-SNARK, что расшифровывается как Zero-Knowledge Succinct Non-Interactive Argument of Knowledge, а в переводе означает “Краткий неинтерактивный аргумент знания с нулевым разглашением”.

Данный тип доказательства с нулевым разглашением более широко применяется в индустрии криптовалют для обеспечения конфиденциальности. Одним из первых проектов, использующих zk-SNARK, является ZCash.

Почему такой вид доказательства называется кратким и неинтерактивным?

Такое доказательство называется “кратким” (или сжатым), так как оно, по сути, меньшее по размеру и может быть быстро проверено.

Слово “неинтерактивный” в аббревиатуре zk-SNARK означает, что доказывающая и проверяющая сторона практически не взаимодействуют друг с другом.

Кстати говоря, со-основатель Ethereum Виталик Бутерин предложил использовать zk-SNARK для проверки централизованных бирж после краха FTX в ноябре 2022 года.

Примеры zk-роллапов:

  • zkSync ($458 млн. инвестиций);
  • Linea от ConsenSys ($715 млн. инвестиций);
  • Polygon zkEVM ($450 млн. инвестиций);

Также стоит добавить, что, осенью 2022 года был произведен тестовый запуск zkBNB — роллапа от Binance на основе технологии ZKP.

Отдельно стоит отметить, что по аналогии с Optimism, zkSync запустили собственный стек разработки — zkStack.

Как сообщила команда zkSync в Twitter, zkStack представляет собой расширенное видение ZK, разработанное для того, чтобы служить модульной основой для создания отдельных сетей на базе ZK, иначе известных как гиперцепи или Hyperchains.

Одной из важнейших особенностей zkStack является его компонуемость. Гиперцепи, построенные с помощью zkStack, могут беспрепятственно подключаться к сети, не требующей доверия, обладая низкой задержкой и общей ликвидностью, что может улучшить транзакции в различных финансовых и цифровых сервисах. Они работают независимо, полагаясь на “Ethereum L1 для своей жизнеспособности и безопасности”, в то время как сеть гипермостов облегчает соединение каждой гиперцепи, обеспечивая быструю и экономичную совместимость.

Кроме того, zkStack является модульным, что означает, что разработчики имеют возможность самостоятельно “настраивать и формировать каждый аспект собственной гиперцепи”, как заявила команда zkSync в своем посте на Medium. Такая степень настройки подойдет для широкого спектра вариантов использования. Например, децентрализованные приложения могут использовать свои функции для улучшения финансовых транзакций, NFT проекты — для безопасной передачи цифровых активов, разработчики игр — для интеграции блокчейна в игры, а предприятия — для создания частной взаимосвязанной блокчейн-системы.

В этом плане zkStack чем-то похож на OP Stack.

Команда zkSync считает, что zkRollup’ы — это будущее масштабирования Ethereum. Таким образом, zkStack заявлен как “ориентированный на будущее”, разработанный с использованием правильной архитектуры, позволяющей использовать весь потенциал возможностей ZKP.

Таким образом мы выяснили, что основным преимуществом zkRollup является конфиденциальность и безопасность, что так необходимо в наше время. Неспроста проекты, использующие технологию ZKP привлекли такое большое количество инвестиций.

На этом обсуждение Layer 2 решений не заканчивается, далее мы расскажем про ещё один известный проект, который нужно рассматривать отдельно, ведь он отличается от вышеперечисленных не только принципом работы, но и вычислительной средой, на которой он был построен.

Ethereum Virtual Machine

Виртуальная машина Ethereum — это вычислительная среда, которая хранит, вызывает и исполняет различные смарт-контракты. EVM является изолированной, что означает, что у неё нет доступа к частям кодовой базы Ethereum, таким как настройки, файлы или другие процессы. Получается, если Ethereum — это компьютер, то EVM — это центральный процессор.

Виртуальная машина Ethereum является полной по Тьюрингу, что означает возможность реализовать любое вычисление, если это не ограничено мощностями вычислителя.

EVM была впервые представлена Гэвином Вудом, техническим директором Ethereum и создателем Polkadot, в 2015 году. Также им был разработан и представлен язык программирования Solidity, на котором создаются смарт-контракты в Ethereum.

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

Мы же оставляем ссылки на эти определения, дабы не перегружать и без того большую и сложную статью, но продолжим кратко объяснять самые необходимые моменты.

Что такое смарт-контракт?

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

Проще говоря, смарт-контракты — это разновидность учетной записи Ethereum, что означает, что у них есть баланс и они могут быть объектом транзакций. Благодаря смарт-контрактам появились целые направления в криптовалюте, такие как DeFi, P2E и NFT.

Понятие “газа” в пределах EVM

Большинство криптанов знакомо с понятием “Газ” в криптовалюте. Gas относится к единице измерения, которая измеряет объем вычислительных усилий, необходимых для выполнения определенных операций в сети Ethereum.

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

Плата за газ производится в валюте Ethereum (ETH). Цены на газ обычно указаны в gwei, который является деноминацией ETH. Каждый gwei равен одной миллиардной ETH (0,000000001 ETH). Чем выше нагрузка на сеть в текущий момент времени, тем выше показатель gwei и тем дороже стоимость транзакции.

Слово “gwei” является сокращением от “giga wei”, что означает “миллиард wei”. Один gwei равен одному миллиарду wei. Мало кто знает, но единица “wei” названа в честь Вэй Дая, компьютерного инженера, который внёс большой вклад в криптографию и криптовалюты. Сам по себе Wei является наименьшей единицей ETH.

Почему взимается плата за “газ”?

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

Почему EVM важна?

Как уже было сказано выше, благодаря виртуальной машине Ethereum и смарт-контрактам появилось множество направлений в индустрии криптовалют. Кроме того, Ethereum обладает преимуществом “первопроходца”. Выход на новый рынок первым позволяет компании или проекту создать большую базу пользователей и сильный бренд, даже если сам продукт далек от совершенства.Чтобы переманить часть пользователей от компании-первопроходца, конкуренту необходимо предложить продукт, который в чем-то лучше, но в то же время достаточно знаком, чтобы облегчить переход для пользователя.

Несмотря на имеющиеся недостатки в виде сложности языка программирования и, соответственно трудности в отладке, недостаточную скорость и безопасность, Ethereum имеет TVL в 9 раз больше, чем ближайший “преследователь” — BNB Smart Chain. Более того, большинство из 10 крупнейших сетей (BSC, Avalanche, Fantom и другие) поддерживают EVM и, по сути, наглядно показывают преимущество виртуальной машины Ethereum.

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

Есть ли альтернативы EVM?

Альтернативой использованию EVM является внедрение другой виртуальной машины.Такой подход имеет свои преимущества:

1) Технические улучшения: создание системы, свободной от проблем EVM — что-то более безопасное, простое в отладке и т.д.

2) Более высокая скорость обработки кода операции и более низкие затраты на газ;

3) Поддержка различных языков программирования;

4) Маркетинговые возможности — новый EVM — очень интересный материал для новостей.

Конечно, есть и обратная сторона: существующие dApps на базе EVM не смогут легко мигрировать в новую сеть, поэтому разработчикам будет сложнее создать экосистему. Команде нового проекта понадобится много ресурсов, а также придется предоставить дополнительные условия для привлечения клиентов и других разработчиков.

На данный момент на рынке присутствует малое количество возможных альтернатив EVM. Давайте рассмотрим их.

MoveVM

Виртуальная машина Move и язык программирования Move были разработаны в рамках проекта Diem, который поддерживался компанией Meta (ранее Facebook). Получившаяся в результате система намного безопаснее, гибче и масштабируемее, чем EVM. Вот несколько функций безопасности, которые предлагает MoveVM:

  • Контроль доступа и безопасность — разработчики могут устанавливать права собственности и привилегии для каждого цифрового актива (токена). Таким образом, даже если кому-то удастся взломать смарт-контракт, он не сможет его использовать, потому что у него не будет прав доступа.
  • Предотвращение ошибок — с помощью Move и одноименной виртуальной машины многие распространенные ошибки смарт-контрактов будут просто невозможны. Очень важно, что риск повторного входа и атак с двойными расходами действительно низок с помощью Move VM.
  • Проверка байт-кода — специальный инструмент верификации проверяет новый код перед его развертыванием, помогая устранять ошибки.

Язык программирования Move, как и одноименную виртуальную машину используют Layer 1 блокчейны Aptos и Sui, чьи разработчики являются выходцами из упомянутого проекта Diem.

Web Assembly Virtual Machine

WASM — это тип кода, который был создан консорциумом World Wide Web Consortium, или W3C. В нее входят разработчики, которые работали в Apple, Google и Microsoft. Он быстрый, гибкий, экономичный по расходу газа и простой в отладке. Код WASM удобочитаем и поддерживает широкий спектр языков, включая C, C++, C#, Haxe, Typescript и Rust.

WASM не был разработан специально для блокчейна: он используется многими веб-приложениями и расширениями в Chrome, Firefox и Microsoft Edge. Разработчикам, не использующим блокчейн, проще войти в децентрализованную индустрию с помощью WASM, чем изучать Solidity и EVM.

Такую виртуальную машину используют Polkadot и Kusama.

eWASM (Ethereum 2.0)

Как вы, вероятно, знаете, Ethereum медленно переходит на Eth 2.0 — сеть, пропускная способность которой должна достигать 100 000 транзакций в секунду. Попутно Ethereum откажется от EVM в пользу Ethereum WebAssembly, или eWASM.

С помощью eWASM разработчики должны иметь возможность писать смарт-контракты Ethereum на языках, отличных от Solidity. Отладка станет проще, и вся система должна работать более плавно и быстрее при меньших затратах газа. Создатели также предоставят транскомпилятор — инструмент для преобразования EVM-кода для использования с eWASM.

Однако до этого внедрения всё ещё далеко, ведь вторая часть перехода под названием “Surge” всё ещё не была исполнена, хотя планировалась на 2023 год.

Starknet и Cairo Virtual Machine

Возвращаясь к теме Layer 2 решений для Ethereum, невозможно пройти мимо Starknet, который построен на отличном от Solidity языке программирования — Cairo, а также на другой вычислительной среде, которая называется Cairo Virtual Machine. Данный проект также является zkRollup’ом, но вместо zk-SNARK использует собственные наработки в лице zk-STARK. Но обо всём по порядку.

Язык программирования Cairo

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

Это язык высокого уровня, похожий на Rust. Как и Rust, он предназначен для того, чтобы позволить разработчикам легко писать эффективный и безопасный код.

Одним из наиболее значительных изменений в Cairo является синтаксис. Разработчики черпали вдохновение из Rust, чтобы создать более удобный язык, который легче читать и писать. Новая версия Cairo позволяет писать более безопасный, а также более выразительный код.

Cairo Virtual Machine

Разработанная LambdaClass с использованием языка программирования Rust, виртуальная машина Cairo обеспечивает эффективную и оптимизированную среду для выполнения контрактов Cairo в экосистеме Starknet.

Эффективность и оптимизация виртуальной машины приводят к сокращению времени выполнения контрактов, повышению пропускной способности, снижению задержек и повышению общей производительности.

Это усовершенствование закладывает основу для будущих улучшений масштабируемости и надежности, позволяя Starknet справляться с возросшим объемом использования и сохранять приверженность эффективному исполнению контрактов. Виртуальная машина Cairo намеренно адаптирована для систем проверки достоверности (STARKs) и не ограничена лимитами, налагаемыми виртуальной машиной Ethereum.

Starknet

Как уже упоминалось выше, Starknet — это Layer 2 решение для масштабируемости Ethereum. Итак, мы с вами уже разобрались, что данный роллап работает на отличной от других вычислительной среде, а также использует собственные разработки в лице zk-STARK, при этом являясь несовместимым с EVM.

То есть, мы получаем блокчейн второго уровня для масштабируемости Ethereum, несовместимый с EVM? — Да! И дальше мы расскажем как это всё работает.

Итак, что такое zk-STARK?

zk-STARK или Zero-Knowledge Scalable Transparent Argument of Knowledge означает масштабируемый прозрачный аргумент знаний с нулевым разглашением. Данный вид доказательства был разработан как альтернатива zk-SNARK и считается более быстрым и дешевым воплощением данной технологии.

Одно из самых важных отличий состоит в том, что zk-STARK не требует начальной доверительной настройки, отсюда и буква T в аббревиатуре, означающая Transparent (прозрачность).

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

Для обычного пользователя все эти определения являются непонятными, но мы попытались объяснить их простым языком. Если вам интересна данная тема, оставляем ссылки на три статьи от Виталика Бутерина, в которых он рассказывает о zk-STARK:

Также оставляем ссылку на статью от Виталика, в которой он описывает типы Layer 2 блокчейнов.

Несовместимость Starknet и EVM

Как уже упоминалось выше, проект построен на отличной от EVM виртуальной машине. Но как добиться совместимости, если отличия являются фундаментальными? Выход есть — Layer 3 решение под названием “Kakarot”.

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

Основные принципы этого решения:

  • Полная совместимость с Ethereum — разработка на Kakarot и взаимодействие с децентрализованными приложениями выглядит и ощущается так же, как и на Ethereum;
  • Масштабируемость, которая достигается с помощью STARK proofs и разработок StarkWare. Следовательно, Kakarot работает по принципу zkRollup;
  • Безопасность, которую удастся достичь за счёт базы zkRollup;

Данное решение всё ещё находится в разработке, поэтому пока непонятно как это будет работать в итоге. Однако в проект инвестировали StarkWare, LambdaClass и Виталик Бутерин, которые не выкидывают деньги просто так.

Как заявлено командой Kakarot, их решение стремится перенести Starknet на Ethereum, поэтому вполне возможно, что мы можем увидеть переход проекта на EVM. Оно и не удивительно: виртуальная машина Ethereum находится в разработке уже достаточно долгое время, постоянно дополняется и улучшается, а также имеет огромную аудиторию пользователей, разработчиков и инвесторов.

В то же время виртуальная машина Cairo всё ещё сырая и не обеспечивает достаточной удобности при использовании сети Starknet. На этом фоне были перенесены плановые обновления сети, которые должны были состояться до конца 2023 года.

Layer 3

Мы уже упомянули Kakarot в качестве Layer 3 блокчейна. Вообще, третий уровень (или слой) блокчейна зачастую называют “прикладным”. Это означает, что они используются при разработке и размещении децентрализованных приложений, таких как DEX, протоколы кредитования и так далее. Layer 3 блокчейны также называются апчейнами (Appchains).

Ключевой целью этого уровня является предоставление высокоуровневых смарт-контрактов, протоколов и инструментов, позволяющих разработчикам создавать более сложные децентрализованные приложения. Важной особенностью уровня 3 является то, что он строится не только на уровне 1, но и повышает свою безопасность производительность с помощью уровня 2.

Что интересно, в документах Starknet упомянут и 4 слой, который называется “транспортным”, который может функционировать поверх слоя 3.

В общем и целом, мы не заостряем внимание на Layer 3, так как в этот пункт можно объединить все децентрализованные приложения и протоколы, которые помогают их создавать. С третьим слоем мы, как обычные пользователи, взаимодействуем практически на ежедневной основе.

Заключение

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

Также можно смело говорить о том, что мы находимся в переходном состоянии от Web2 к Web3 интернету и все самые большие и громкие события ещё впереди. Ведь мировое сообщество только-только начинает обращать свой взор на криптовалюты, которые долгое время считались чем-то несерьезным и направлением для гиков и энтузиастов.