# Архитектура ZKX: детальный разбор

By [一川drive](https://paragraph.com/@yichuandrive) · 2023-02-06

---

> В этом блоге мы детально поговорим об архитектуре **ZKX**. Наши будущие блоги будут посвящены технической документации по основам **ZKX**, такой как **ABR, High Tide,** и конкретным компонентам торговой платформы **ZKX,** когда будет подступать фаза **Testnet**.

### Введение: ZKX

Мы создаем первую деривативную бессрочную биржу в сети **Starknet,** с самостоятельным хранением и возможностью регулироваться нашим сообществом. Биржа использует абстракцию учетных записей и низкие транзакционные издержки, чтобы предложить **DEX** нового поколения, который так же масштабируем, как и **CEX**. Протокол отличается улучшенной токеномикой, при этом стейкинг нативного токена **ZKX**, позволит как увеличить долю своего дохода, так и помочь пользователям, которые стейкают токены, участвовать в росте **ZKX**.

### Обзор

**Архитектура ZKX состоит из двух уровней, у каждого из которых есть своя роль.**

*   Первый уровеь- это смарт-контракты **Ethereum**, использующие **Solidity**, а второй уровень - смарт-контракты **Starknet**, использующие **Cairo**.
    
*   Децентрализованная сеть узлов ZKX находится на вершине, опираясь на доступность данных, прогнозирование сети, алгоритмы вычислений и консенсус внутри сети.
    

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

### Почему Starknet?

Выбор разрабатывать на **Starknet**, был сделан из-за его среды, которая допускает некоторые функции, невозможные в других **Web3** средах, а также возможность курирования сообщества разработчиков в рамках экосистемы **StarkWare**. Надежность **StarkWare**, постоянная поставка и отличный опыт работы с решениями **StarkEx,** делают их идеальным партнером для **ZKX**. Видение создания инструментов для разработчиков, позволяющих расширить охват **Web3** на рынке, соответствует нашим целям.

### Решение проблем масштабируемости и децентрализации

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

1.  **Виртуальная модель AMM** похожа на Uniswap, где есть пул из двух токенов, один из которых выступает в качестве залога (_обычно это стейблкоин_), а другой - фактическим виртуальным активом. Эта модель эффективна для не крупных сделок, но не подходит для высокочастотной торговли, так как торговать на ней становится дороже.
    
2.  Модель **Synthetix**, с другой стороны, отслеживает синтетические позиции по взаимным активам посредствам цен в Oracle. Протокол имеет пул обеспечения, который поглощает убытки или прибыль, и обеспечивает ликвидность. Эта модель в определенной степени эффективна, но потери приходятся в пользу **LP держателей**.
    
3.  **Модель централизованной книги ордеров** реализована на таких платформах, как **dYdX** и других биржах. В этой модели **маркет-мейкеры** обеспечивают ликвидность и глубину рынка, чтобы пользователи могли комфортно торговать. Однако эта модель является централизованной и зависит от сервера, работающего в **AWS** или **Google Cloud**, что ограничивает его способность быть **децентрализованным** или **устойчивым к цензуре**. Он также сталкивается с ограничениями в рамках масштабируемости.
    

_Мы создали_ **_собственную сеть узлов для биржи ZKX_**_, чтобы устранить эти ограничения._

Сеть узлов ZKX
--------------

**Сеть Узлов** - это решение, которое сочетает в себе лучшие функции виртуальных **AMM** и **CLOB** исключая их недостатки. Она состоит из ряда узлов, которые взаимодействуют друг с другом с использованием алгоритма консенсуса и могут выполнять децентрализованное сопоставление ордеров.

![ZKX Node Network](https://storage.googleapis.com/papyrus_images/5d161eb3dbd85a05ffdaf26feb581e0f7b55250a4f19b084f3a5d0712cebd1cb.png)

ZKX Node Network

*   Каждый узел организован **как автономный узел**, спроектированный как набор сверх изолированных микро-сервисов (_по типу служебный транспорта_).
    
*   Каждый **узел способен выполнять** все возможные операции в сети узла.
    
*   Каждый узел может работать как:
    
    *   **Вычислительный Узел** (_предоставляет ресурсы хранения, памяти и обработки_),
        
    *   **Узел Подписи** (_достижение консенсуса_),
        
    *   **Диспетчерский Узел** (_шлюз подключения к платформе в любой момент_).
        

![Nodes](https://storage.googleapis.com/papyrus_images/2afd923a88622bd02c2d103a4e509499f1b94452468258880b99f058a46a2e49.png)

Nodes

Сеть узлов состоит из двух основных частей:
-------------------------------------------

*   **Децентрализованная книга лимитных ордеров (DLOB)**
    
*   **Служба поставщика данных** (**DPS**)
    

### 1\. DLOB (Децентрализованная книга лимитных ордеров)

Децентрализованные биржи (**DEX**) постоянно развиваются. Пользователям **DEX** пора попрощаться с автоматическими маркет-мейкерами (_AMM_) и поприветствовать автономную децентрализованную книгу лимитных ордеров (**DLOB**). Протокол **ZKX** предлагает более эффективный и удобный торговый опыт, аналогичный механизмам исполнения, используемым в традиционных финансовых системах, но с дополнительными преимуществами полной децентрализации и отсутствия разрешений.

**Здесь нет посредников, лишь только прямое взаимодействие между пользователями, узлом ZKX и смарт-контрактами**. Это обеспечивает столь необходимый уровень безопасности и надежности, которого так жаждали пользователи. Протокол **ZKX** изначально построен на **Ethereum и Starkne**t, что делает его безопасным и надежным вариантом для пользователей **DEX**.

### 2\. DPS (Служба поставщика данных)

Служба поставщика данных (**DPS**) - это шлюз между механизмом ценообразования и внешними источниками данных.

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

Что еще больше впечатляет, так это то, что **DPS** не нужно получать данные. Вместо этого, у нее есть собственный стандарт **Provider Library**, который подключается к сторонним поставщикам данных. Это означает, что **DPS** может получать доступ к широкому спектру источников данных, что дает возможность предоставлять точную и актуальную информацию для протокола **ZKX**. Оракул данных - это слой между системой **ZKX** и рядом внешних поставщиков данных. В нашем случае это будет **RedStone** и другие сторонние поставщики.

![DPS](https://storage.googleapis.com/papyrus_images/55eddc710efebb8d18a8ac816bfd530c4a645441eff5831b263e978c41c7d1a3.png)

DPS

Консенсус Сети Узлов
--------------------

Для обеспечения надежной и эффективной связи между узлами **ZKX** требуется надежный алгоритм консенсуса.

> _Когда одному узлу необходимо взаимодействовать с другими узлами (например, для нахождения неродной пары ордера/свапа в децентрализованной книге лимитных ордеров, нахождения внешней цены, расчета показателей ABR или High-Tide), ему необходимо решить, как это сделать. Информация будет распространяться и транслироваться в сети._

Войдя в **Catamaran**, многогранный алгоритм консенсуса улучшает традиционные алгоритмы, такие как **Paxos и Raft**. Благодаря усовершенствованному алгоритму голосования лидеров и включению нескольких групп, **Catamaran** обеспечивает более высокий уровень отказоустойчивости и защиты от несанкционированного доступа. Это означает, что выборы сети узлов быстрее, надежнее и больше подходят для ненадежных децентрализованных установок.

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

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

![Benchmark](https://storage.googleapis.com/papyrus_images/7c29569aea3dc51295a894bee70b0ea2d6ebcca033a7ee6c9b02af64f58bac96.png)

Benchmark

### Выбор узла: рандомизированные таймеры для надежного руководства

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

### Корневой узел группы: оптимизация потока заказов DLOB

**Узлы Корневой Группы** играют решающую роль в управлении потоком заказов **DLOB**, делая процесс более простым и линейным. Заказы **DLOB** передаются только от корневого узла группы к другим узлам **ZKX**, выполняя итерации. Эта конструктивная особенность повышает общую надежность системы и упрощает управление **DLOB**.

### Группы Узлов ZKX: двойной консенсус для бесперебойной работы

Еще одним впечатляющим аспектом **Catamaran,** является его механизм изменения набора узлов **ZKX** в группе. Использование подхода двойного консенсуса во время перехода групп гарантирует, что группа узлов **ZKX** может продолжать нормально работать даже во время изменений конфигурации. Этот подход с двойным консенсусом дал алгоритму название - **Catamaran**.

Производительность и размер Сети
--------------------------------

В нашем стремлении построить сеть узлов, способную обрабатывать сложные формулы, такие как **ABR и High-Tide**, мы придавали большое значение масштабируемости и производительности. Было крайне важно, чтобы сеть могла расти и расширяться по мере необходимости, сохраняя при этом высокий уровень производительности.

Наши тесты показали, что сеть в ее нынешнем тестовом виде способна выполнять более **9000 TPS**, а добавление новых узлов приводит к линейному увеличению пропускной способности системы.

**У нас есть трех-этапный план расширения сети узлов:**

**Этап 1:** Запуск тестовой сети будет осуществляться за счет небольшого количества узлов (_несколько десятков_), чтобы справиться с начальной нагрузкой на систему. **Этап 2:** При запуске основной сети, количество узлов увеличится более чем до сотни. **Этап 3:** Как только спрос в сети увеличится, и мы децентрализуем **ZKX** в сторону структуры **DAO**, мы ожидаем, что появятся сотни дополнительных узлов, а сообщество сможет стать нашими операторами узлов.

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

Архитектура смарт-контрактов в Cairo 0.1
----------------------------------------

### Депозит и вывод

**Депозит средств**

Пользователи вносят средства в L1, и соответствующая сумма будет добавлена ​​в L2.

**Вывод средств**

Пользователь выводит средства из L2 и соответствующая сумма будет переведена в L1.

![Withdraw](https://storage.googleapis.com/papyrus_images/d6ebc81071e0201759e2bce5739f32cf0ef2edff4924b8fe158100be0cf9f54f.png)

Withdraw

### Связь между контрактами L1 и L2

**L1 - смарт-контракты Ethereum (Solidity):**

*   Лок ZKX протокола
    
    *   Депозит
        
    *   Вывод
        

L2 - **смарт-контракты StarkNet** (Cairo):

*   ABR
    
*   Удержание
    
*   Ликвидность
    
*   Страхование
    
*   Аутенцификация администратора
    
*   Центральный пункт реестра
    
*   Маркет
    
*   Средства
    
*   Аккаунт (аккаунт пользователя)
    
*   Торговля
    
*   Риск-менеджмент
    
    *   Ликвидация
        
    *   Делевередж
        
*   Торговые комиссии
    
*   Баланс комиссии
    

### Что будет дальше?

Мы рады объявить нашему сообществу, что долгожданный запуск тестнета ZKX на StarkNet состоится 14 марта!

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

Мы, также хотели бы выделить наш первый аудиторский отчет, проведенный **Nethermind**, который можно найти на нашем веб-сайте по адресу: [https://media.zkx.fi/audit.pdf](https://media.zkx.fi/audit.pdf).

Наш первоначальный аудит **Testnet** включал более 10 000 строк кода, и мы гордимся тем, что удвоили его для нашего текущего запуска. У нас есть планы для будущих **аудитов**, чтобы обеспечить высочайший уровень безопасности и надежности, а также обеспечить быстрое выявление и устранение любых потенциальных ошибок.

### Немного о ZKX

[ZKX](https://zkx.fi/?utm_source=grantannouncement+&utm_medium=mediumblog2&utm_campaign=blog2)\- это первый протокол деривативов “**без разрешений**” _(пользователям не требуется разрешение на использование блокчейна, DeFi или связанной системы)_, построенный на **StarkNet**, с децентрализованной книгой ордеров и уникальным способом предлагать сложные финансовые инструменты в качестве свапов. Простыми слова он -**Независим, Надежен и Не имеет границ.**

ZKX привлекла [**4,5 млн $**](https://mirror.xyz/yichuandrive.eth/TGLse1JX08TEeouhpeaCr4OhGjc1lsMG11_aNuIeA3s) начального финансирования в июле 2022 года.

Не забудьте [заполнить форму](https://form.typeform.com/to/jmwv2p51?typeform-source=zkxprotocol.medium.com), чтобы в числе первых принять участие в запуске **ZKX.**

*   Наш [Веб-сайт](https://zkx.fi/?utm_source=Medium&utm_medium=Blog&utm_campaign=Original+Content)
    
*   Комьюнити в [Discord](https://discord.com/invite/7YrNHdwNyu?utm_source=Medium&utm_medium=Blog&utm_campaign=Original+Content)
    
*   Наш [Twitter](https://twitter.com/zkxprotocol?utm_source=Medium&utm_medium=Blog&utm_campaign=Original+Content)
    
*   [Telegram](https://t.me/zkxcommunity?utm_source=Medium&utm_medium=Blog&utm_campaign=Original+Content) комьюнити
    

[https://zkx.fi/blogs/zkx-architecture-a-deep-dive](https://zkx.fi/blogs/zkx-architecture-a-deep-dive)

---

*Originally published on [一川drive](https://paragraph.com/@yichuandrive/zkx-2)*
