Статьи

StarkEx: простое объяснение сложного

Как и любой технологический скачок, доказательства STARK невероятно сложны. Эта сложность может стать ограничивающим фактором для понимания людьми технологии и, как следствие, для массового внедрения Web3. Цель этой статьи  — дать простое объяснение STARK и того, как StarkWare реализует эту технологию с целью ускорения внедрения блокчейна.

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

Практический пример: Sorare и STARK

Sorare является создателем популярных онлайн-игр в жанре фэнтези-спорт для европейского футбола, NBA и Высшей бейсбольной лиги. Пользователи получают цифровые карты, представляющие игроков в игре, и эти карты являются NFT. Чтобы создать NFT для клиента, Sorare платит за газ в Ethereum; на пике своего развития Sorare платила 1 миллион долларов в неделю в виде платы за газ для создания NFT. Для Sorare было важно обеспечить безопасность Ethereum, но затраты на газ были высокими. Затем Sorare интегрировалась со StarkEx (платформа StarkWare Saas) и переключилась с майнинга Ethereum на майнинг уровня 2. В результате еженедельные затраты на газ сократились с 1 млн долларов до 10 тысяч долларов. Sorare сократила существенные бизнес-затраты в 100 раз одним изменением технологии, сохранив при этом тот же пользовательский опыт и безопасность клиентов.

Закон физики блокчейна

Прежде чем узнать о STARK, полезно понять преимущества и ограничения самих блокчейнов. Если вы уже знакомы с трилеммой блокчейна, вы можете пропустить эту часть и сразу перейти к разделу, объясняющему L2 и то, как они работают.

Практически по всем показателям Ethereum является крупнейшим и наиболее успешным блокчейном (за исключением Биткоина, не являющегося платформой смарт-контрактов для общего использования): на его долю приходится более 50% общей заблокированной стоимости во всех блокчейнах и около 4000 активных разработчиков (более чем у всех остальных блокчейнов вместе взятых). Ethereum также является базовым уровнем безопасности для технологии на основе STARK.

Чтобы понять преимущества и ограничения Ethereum, разработчики должны начать с модели понимания компромиссов блокчейна, созданной соучредителем Ethereum Виталиком Бутериным, которая называется «Трилемма блокчейна».



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

Децентрализация имеет два фактора: первый — это количество «узлов» в сети. Узел — это копия всего блокчейна — проще говоря, это база данных всех транзакций, которые когда-либо происходили в этом блокчейне. Сеть с одним узлом является централизованной. Это, например, файлы, сохраненные на жестком диске пользовательского ноутбука, или список учетных записей клиентов, сохраненный на сервере в задней части офиса агента по недвижимости. Сеть с несколькими узлами, контролируемая одним объектом, также является централизованной. Сеть со многими узлами, где множество различных объектов контролируют эти узлы, является децентрализованной. Ethereum имеет от 7000 до 8000 узлов в данный момент времени. Это в несколько раз больше, чем у конкурентов Ethereum, таких как Solana (~ 2 тыс.) или Polygon (~ 100), что делает его сильно децентрализованным.

Тем не менее, стоит отметить: существует концентрация владения этими узлами — около 50% узлов Ethereum управляются тремя организациями (Lido, Coinbase и Kraken). Это относится ко второму фактору децентрализации — «инклюзивности». Это означает, что любой, кто хочет запустить узел, может это сделать.

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

Безопасность — это мера неизменности блокчейна; Другими словами,показатель того, насколько легко любой стороне изменить или фальсифицировать транзакцию в блокчейне. Если сторона может сфальсифицировать транзакцию в блокчейне, она может заставить реестр говорить все, что захочет — например, добавить несколько дополнительных нулей к своему балансу и обнулить чужой. Для централизованного приложения технически просто фальсифицировать транзакции в реестре (даже если можно рискнуть своей репутацией, изрядными штрафами или даже тюремным заключением). Вот почему существуют регулирующие органы и почему банки имеют тысячи людей в своих командах по обеспечению соответствия и тратят сотни миллионов долларов на технологии обеспечения соответствия.

Блокчейны обеспечивают безопасность, требуя, чтобы 51% всех узлов проверяли блок, прежде чем он будет зафиксирован в блокчейне, поэтому, чтобы кто-то мог фальсифицировать транзакцию в Ethereum, он должен контролировать 51% всех узлов, что в высоко децентрализованном блокчейне как технически, так и финансово чрезвычайно сложно. В результате высоко децентрализованный блокчейн также обладает высокой степенью безопасности.

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

Менее инклюзивные блокчейны, требующие мощных и дорогих компьютеров для запуска своих узлов, могут производить больший объем транзакций в секунду, чем блокчейны, требующие менее сложных машин. Блоки имеют ограничения по емкости, так как они должны быть достаточно малы, чтобы мог работать самый маленький компьютер в сети, и заполняться при высокой нагрузке на сеть. Если кто-то хочет убедиться, что его транзакция имеет приоритет в блоке (например, он хочет убедиться, что его покупка NFT будет немедленно записана в Ethereum), он платит дополнительный «газ» (комиссия, необходимая для выполнения транзакций) операторам узлов. Думайте об этом как об аукционе — чем больше транзакций соревнуются за то, чтобы поместиться в блок с ограниченным пространством, тем дороже стоимость выполнения любой отдельной транзакции.

В 2021 году, в разгар бычьего рынка, средняя стоимость транзакции на Ethereum составляла 21 доллар США. Таким образом, вне зависимости от того, переведет ли кто-то 1 миллион долларов или 10 долларов в Eth, завершение этой транзакции обойдется в 21 доллар при пиковой перегрузке сети в 2021 году.

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

Уровень 2. Решение масштабируемости Ethereum

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

Первый шаг — понять разницу между «ончейн» и «офчейн». Внутрисетевая активность происходит в блокчейне. Если транзакция, вычисление, хранение данных и т. д. происходят в блокчейне, это означает, что они проводятся и хранятся на всех узлах блокчейна. Ончейн-транзакции и ончейн-хранилище довольно дорого обходятся из-за ограничений размера блока. Для блокчейнов, в которых масштабируемость важнее децентрализации и безопасности, внутрисетевые транзакции обходятся гораздо дешевле. С другой стороны, вычисления и хранение вне сети, во много раз дешевле. Облачные платформы — это специалисты по вычислениям и хранению «вне блокчейна»: очень дешево развернуть новый вычислительный экземпляр для запуска приложения и немного больше, чтобы создать базу данных для хранения любого количества данных, которое пользователь хочет хранить. AWS и Azure — это централизованные инструменты: у них нет блоков, ограничивающих масштабируемость, поэтому они могут практически бесконечно масштабировать вычисления и хранилище.

Как это применимо к уровням 2, таким как решения масштабирования StarkWare? Проще говоря, уровень 2 берет на себя всю вычислительную деятельность, необходимую для запуска приложений, таких как торговые площадки NFT (чеканка, передача и обмен NFT) или криптобиржи (запись балансов клиентов, обменных курсов, криптоплатежей, подписей кошелька и т. д.) и работает на их вычислениях вне сети, где вычисления и хранение достаточно дешевы. На уровне 2 нет необходимости платить за газ, поэтому выполнение таких довольно сложных вычислений теперь стоит в несколько раз меньше, чем в сети. Конечно, возникает очевидный вопрос — если эти вычисления выполняются вне сети, как они попадают в сеть?

Путешествие по транзакциям в системе StarkEx

Чтобы перейти от офчейна к ончейну, транзакция проходит несколько этапов. Пример ниже относится к платформе StarkWare Layer 2 SaaS под названием StarkEx. Это платформа, используемая клиентами StarkWare, такими как Sorare, ImmutableX и dYdX, для достижения масштабируемости уровня 2 без необходимости писать свои собственные смарт-контракты — скорее, клиенты создают свои приложения поверх API-интерфейсов StarkEx, как и на большинстве технологических платформ B2B.

Off-Chain: оператор приложений и система StarkEx

Во-первых, транзакция создается конечным пользователем в приложении оператора (например, клиент Sorare входит в Sorare и покупает NFT). Оператор проверит транзакцию, чтобы убедиться, что она действительна (имеет цифровую подпись, у пользователя есть соответствующий баланс, придерживается необходимых бизнес-правил), а затем отправит ее в свой собственный экземпляр StarkEx. Каждое приложение имеет свой собственный экземпляр StarkEx, который настроен для своего конкретного варианта использования: бессрочные сделки, спотовые сделки, NFT и т. д. Затем экземпляр StarkEx запускает свою собственную логику над транзакциями, снова убеждаясь, что они соответствуют всем необходимым бизнес-правилам.

Доказательство вне сети

На последнем шаге вне сети транзакции отправляются из экземпляра StarkEx в STARK Prover. STARK Prover — это место, где происходит «свертывание» транзакции. Подобно тому, что zip-файл делает с данными, STARK Prover принимает сотни тысяч транзакций (иногда миллионы) и создает очень длинную строку чисел, представляющую все эти транзакции, называемую доказательством.

Переход в блокчейн

Как только доказательство завершено (либо когда оно полностью заполнено транзакциями, либо по истечении определенного периода времени), действие перемещается по блокчейну. Доказательство отправляется по блокчейну на смарт-контракт STARK Verifier. Этот смарт-контракт основан на блокчейне Ethereum — как и все смарт-контракты Ethereum, он общедоступен и имеет открытый исходный код. Смарт-контракт STARK Verifier не может принять недействительное доказательство. Если деньги были переведены без согласия клиента (например, без его цифровой подписи), если на счете не было доступного баланса для завершения транзакции, доказательство будет отклонено. Если доказательство действительно (соответствует всем бизнес-правилам), то это оно будет записано в блокчейн Ethereum, что придаст этим транзакциям завершенность и безопасность на уровне Ethereum (навсегда в реестре). Таким образом, доказательства STARK обеспечивают безопасность Ethereum Layer 1 в автономном процессе StarkEx.

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

Доступность данных

Обновление состояния записывается из собственного экземпляра StarkEx каждого оператора в отдельный смарт-контракт в сети, называемый смарт-контрактом StarkEx. У ImmutableX есть собственный смарт-контракт StarkEx, как и у dYdX, Sorare и т. д. Как и вычисления, хранение данных в сети невероятно дорого. Вместо того, чтобы сохранять каждую транзакцию, у оператора есть два варианта хранения своих данных — команда проекта называет это режимом доступности данных.

Сводный режим

Оператор может выбрать Rollup Mode, использующий dYdX; в Rollup Mode разница между балансами предыдущего состояния и балансами следующего состояния передается на смарт-контракт оператора StarkEx на Ethereum. Это позволяет третьим сторонам независимо переконструировать состояние StarkEx, просматривая добавочные изменения, сообщаемые каждым обновлением состояния. Это на порядки дешевле, чем хранить всю историю транзакций в блокчейне, и даже дешевле, чем сообщать список транзакций в виде calldata. Это также обеспечивает большую конфиденциальность, чем отображение списка транзакций, так как раскрываются только начальное и конечное состояние (потенциально тысячи транзакций позже).

Режим Validium

Другой режим доступности данных — Validium; в режиме Validium обновления состояния хранятся у членов Комитета по доступности данных (DAC). Члены DAC являются независимыми третьими сторонами, которые соглашаются получать и хранить каждое обновление состояния от имени операторов — член DAC обязуется публиковать обновления состояния в сети, если оператор (или StarkWare) когда-либо выйдет из сети, что гарантирует, что пользователь всегда может получить свои средства (важный компонент самообслуживания). В состав DAC входят Consensys, Chainstack и StarkWare, а также многие другие авторитетные стороны. Операторы выбирают режим Validium, так как он дешевле, чем режим Rollup; в режиме Validium в блокчейне смарт-контракта StarkEx хранятся только подписи членов DAC, подтверждающие, что у них есть последнее обновление состояния. Дополнительной особенностью режима Validum является то, что транзакции и балансы не хранятся в сети — это огромное преимущество для компаний, которые хотят защитить конфиденциальность своих пользователей.

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

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

StarkEx: простое объяснение сложного


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

Информация для Вас была полезна?
0
0
0
0
0
0
0

Похожие статьи

Проверьте также
Закрыть
Кнопка «Наверх»