# **Abstract** Zeeka, новая инфраструктура блокчейна, родилась из технологии доказательства с нулевым разглашением и ее достижений в течение этого десятилетия. Zeeka предлагает сжимать пакеты переходов состояний (транзакций) в доказательства действительности постоянного размера, и Zeeka будет хранить только эти доказательства в цепочке. Зика предлагает новую концепцию под названием Zero Contracts. Нулевые контракты являются эквивалентом смарт-контрактов в некоторых основных системах блокчейна, таких как Ethereum. Эти контракты будут выражены в виде математических ограничений, а не байт-кодов виртуальной машины, такой как виртуальная машина Ethereum. Zeeka включит концепции, которые ранее использовались в качестве решений для обеспечения конфиденциальности или решений уровня 2 в других цепочках, в ядро ​​​​новой цепочки блоков, стремясь создать более масштабируемую сеть с лучшей конфиденциальностью. # **1. Введение** В 2009 году Биткойн был запущен и использовался в основном как платежная сеть. Эфириум шесть лет спустя продемонстрировал, что блокчейны можно использовать не только для денежных переводов. Кризис перегрузки CryptoKitties показал, что хранение всех транзакций в основной цепочке может быть не лучшей идеей. Для решения этой проблемы были введены решения уровня 2 (L2). Несмотря на введение платежных каналов, их никогда не было так просто использовать, как обычные транзакции. У решений L2 было несколько серьезных недостатков в их пользовательском опыте. **Общие недостатки решений L2:** От получателей транзакций может потребоваться подключение к сети. Средства заблокированы в контрактах. Эти контракты не могут свободно заключаться или выходить. Как правило, они требуют доверия централизованной третьей стороне. Затем пользователи могут доказать, что централизованная сторона обманывает, тем самым гарантируя безопасность сети. Вы должны быть онлайн, чтобы доказать, что третья сторона обманывает. Странные вещи могут произойти, если централизованная партия отключится. Сообщество Ethereum выяснило, что доказательства ZK можно использовать в решениях L2. Транзакции сжимаются в доказательства постоянного размера и регулярно отправляются оператором в основную цепочку. Доказательства с нулевым разглашением впервые использовались в Zcash для повышения конфиденциальности, но инженеры обнаружили, что их также можно использовать для масштабирования. zkRollup — самое известное решение L2, использующее доказательства ZK. Когда оператор недоступен, цепочка может вернуться к предыдущему состоянию, от которого может отталкиваться другой оператор. Недоступность данных обрабатывается, но сложность процедуры отката по-прежнему велика. Протокол MINA использует рекурсию доказательства с нулевым разглашением для обеспечения блокчейна постоянного размера. Хотя MINA успешно предоставила легкий блокчейн, который можно хранить на машине размером со смартфон, он не обеспечивает достаточную пропускную способность. Было заявлено, что MINA имеет скорость 22 транзакции в секунду. **Zeeka **— новый блокчейн и криптовалюта :доллар:Используя доказательства с нулевым разглашением в своей основе, Zeeka стремится обрабатывать впечатляющее количество транзакций в секунду без ущерба для размера блока. Zeeka не планирует внедрять блокчейн постоянного размера (например, протокол MINA), но по-прежнему предлагает все преимущества технологии ZK. В Zeeka предлагается перенести идеи L2 в L1, а сеть естественным образом растет таким образом, что транзакционные издержки остаются низкими даже при пиковой нагрузке. Zeeka представит новый вид смарт-контрактов, написанный в системе ограничений ранга-1, которая позволяет оценивать смарт-контракты с использованием систем доказательства с нулевым разглашением. # **2. Нулевые контракты :паспортный контроль:** :банк:исполнители транзакций станут одним из основных строительных блоков Zeeka. Эти машины регулярно обновляют свое состояние в блокчейне и сжимают транзакции пользователей, используя доказательства с нулевым разглашением. Исполнители транзакций почти такие же, как операторы zkRollups в блокчейне Ethereum. Zeeka будет оптимизирована для поддержки исполнителей транзакций, поскольку они находятся в ядре блокчейна Zeeka, а не в другом методе уровня 2. Обычные транзакции не будут поощряться в Zeeka, и пользователи будут вынуждены присоединиться к платежной сети Исполнителя для совершения денежных переводов. Требуя от проверщиков транзакций раскрывать полное состояние контрактов SNARK в последнем блоке, Zeeka стремится решить проблемы с доступностью данных, с которыми сталкиваются текущие решения zk L2. Узлам предлагается не принимать цепочки, которые не раскрывают последнее полное состояние всех своих контрактов. Очевидно, что предыдущие полные состояния благополучно удаляются после каждого обновления. Нулевой контракт в Zeeka будет эквивалентен смарт-контракту. В блокчейне Zeeka контракты предлагается не писать для конкретной виртуальной машины (например, EVM). Контракты предлагается писать в R1CS (строительный блок цепей zkSNARK). Программист загружает ключи проверки своего контракта R1CS (который может состоять из нескольких цепей) в блокчейн, и любой может вызывать эти схемы и переходить из одного состояния в другое с помощью одной транзакции (которая может быть просто сжатой версией тысяч сделки). Протокол Zeeka с доказательством с нулевым разглашением предлагается использовать в качестве CIS (Common Reference String) для создания экземпляров различных цепей без необходимости каждый раз устанавливать доверенную настройку. (например , ПЛОНК ) **2.1 Обеспечение доступности данных состояния SNARK** Блокчейны на основе виртуальных машин (такие как Ethereum) не могут обеспечить доступность данных состояния SNARK, потому что они обеспечивают доступность данных только истории цепочки, а не фактического состояния SNARK. Узлы и майнеры Zeeka работают таким образом, что принимают только цепочки, содержащие данные последнего блока, то есть они проверяют, соответствует ли хэш данных хэшу состояния, представленному в последнем блоке. При использовании этого механизма сжатое состояние последнего блока всегда доступно. Более длинная подцепочка с недоступным конечным состоянием считается бесполезной и не принимается сетью. Блокчейн Zeeka отслеживает размеры состояний, не позволяя им становиться слишком большими. Если размер состояния увеличивается, исполнители должны платить за большее количество байтов. **2.2 Отмена платы за газ** Эфириум ввел комиссию за газ, потому что трудно оценить, сколько вычислений потребует конкретный вход в функцию контракта. Контракты Zeeka проверяют ключи ZK-доказательств цепей, поэтому их размер является постоянным. Независимо от того, насколько сложны переходы между состояниями или определения цепей, единственными накладными расходами при создании контракта или отправке обновления является транзакция постоянного размера. Для создания контрактов требуются только ключи проверки составленного контракта, которые имеют постоянный размер. Поскольку единственными накладными расходами на создание и обновление контрактов является размер отправленной транзакции, у Zeeka не будет таких сложностей. Сборы будут основываться на цене каждого представленного байта. **2.3 Основная платежная сеть** В дополнение к разработанным пользователями контрактам, загруженным в сеть Zeeka, также будет загружен специальный контракт, известный как контракт основной платежной сети. Основная платежная сеть будет большой платежной сетью на основе zkSNARK, унаследовавшей свой консенсус и гарантии доступности данных от основного блокчейна. Все кошельки Zeeka будут использовать эту сеть в качестве основного платежного механизма и будут отправлять регулярные транзакции только тогда, когда они хотят вывести свои средства из этого контракта и ввести их в другой контракт. # **3. Консенсус** **3.1 Консенсус основной цепи** В основной цепочке консенсус достигается с помощью ***Proof-of-Work*** с использованием великолепной хеш-функции Monero RandomX. 3.2 Выбор исполнителя Чтобы избежать катастрофических обновлений и расточительных доказательств с нулевым разглашением, требующих интенсивных вычислений, следует разработать протокол выборов, в котором (статистически) только одному Исполнителю разрешено предоставлять доказательства в каждый временной интервал. Токены Zeeka, поставленные на конкретный контракт, будут пропорциональны шансу быть избранным. # 4. Стимулы Обеспечение консенсуса или выполнение контрактов и доказательство их выполнения — вот два способа, которыми можно внести свой вклад в сеть Zeeka . Майнеры способствуют достижению консенсуса, а исполнители выполняют контракты zkSNARK и предоставляют доказательства. Валидаторам не нужно выполнять контракты, и они проверяют действительность переходов состояний, используя доказательства, предоставленные Исполнителями. В Zeeka майнеры постоянно получают вознаграждение в токенах Zeeka, используя PoW в качестве алгоритма консенсуса. У майнеров есть возможность стать Исполнителями и внести свой вклад в сеть, выполняя контракты. Каждый контракт имеет Исполнителя, который избирается на основе средств, поставленных на контракт. Сборы, взимаемые с транзакций пользователей, вознаграждают исполнителей. Механизмы вознаграждения определяются в контрактах. Другими словами, если контракт не имеет определенного механизма вознаграждения, маловероятно, что Исполнитель захочет его выполнить. # **5. Мысли** 5.1 Почему людям может быть интересна Зика? > Доказательства с нулевым разглашением не используются многими блокчейн-проектами в их протоколе уровня 1. Примеры включают Zcash и MINA. > Доказательства ZK используются в основном для анонимности и конфиденциальности в проектах. Zeeka ориентирована на масштабируемость. > Zeeka представляет нулевые контракты, что является захватывающей концепцией. **5.2 Дальнейшие исследования** > Могут ли те, кто находится в сети A, отправлять деньги тем, кто находится в сети B, не публикуя никаких транзакций в основной цепочке, кроме транзакций перехода состояния их Исполнителей? Может ли zkRollup интегрироваться с платежными каналами? Контракты HTLC могут сделать это возможным, если мы заставим государства предоставить свои данные. **5.3 Дорожная карта** Эта дорожная карта является оценочной и может быть изменена. 1 кв. 2022 г. Заполните технический документ Zeeka и подготовьте подробный технический план. Сформируйте команду разработчиков, дизайнеров и маркетологов. Изучите PoS-системы, Ouroboros, PLONK, рекурсивные SNARKS, контракты zkRollup, векторные обязательства, деревья Verkle, атомарные свопы на zkRollups. Выясните, можно ли распределить генерацию защиты от цепей между несколькими Исполнителями. **Q2, 2022** Используя Rust и libp2p, реализуйте минимальную криптовалюту Proof-of-Work. Создайте очень простую криптовалюту, которая поддерживает только регулярные платежи. Убедитесь, что программное обеспечение тщательно протестировано, чтобы служить основой для дальнейшего развития в будущем. Внедрите экосистему разработки с нулевым контрактом (используя существующие компиляторы схем, такие как Circom или Cairo , или разработайте новый). После этого этапа разработчики платформы должны легко разрабатывать приложения zk. Решите, как контракты будут храниться в блокчейне, будь то набор инструкций, описывающих схему SNARK, или набор ключей проверки. Кроме того, определите, как состояние блокчейна будет связано с цепями контрактов и как они могут взаимодействовать друг с другом. **Q3, 2022** Разработайте контракт основной платежной сети, используя комплект разработки схемы. На выходе должна быть схема SNARK, которая может обрабатывать миллиарды учетных записей и требует O (n) времени для создания доказательства. Схема должна содержать плату в качестве поощрения для того, кто ее выполняет. Криптовалюта PoW, которую мы создали ранее, теперь будет иметь функциональность создания и обновления контрактов. Мы должны иметь возможность загружать контракт основной платежной сети в цепочку (используя Genesis Block), создавать контракты через транзакции и обновлять их состояния с помощью zk-доказательств. Создайте соответствующий кошелек для системы. Хотя кошелек должен предпочитать совершать транзакции через основную платежную сеть, он также должен иметь возможность создавать обычные транзакции L1. **Q4, 2022** Завершите работу с кошельком. Поддержка создания пользовательских взаимозаменяемых/невзаимозаменяемых токенов и их интеграция в основную платежную сеть. Разработайте варианты использования вне платежей. (Игры, обмены, аукционы) **1 кв. 2023 г.** Запустите тестовую сеть. Улучшить производительность прувера SNARK (используя GPU?). Возможно, начните соревнование SNARK для разных Исполнителей, чтобы соревноваться друг с другом. Начните проводить аудит и присуждать гранты и вознаграждения за обнаружение ошибок. **Q2, 2023** **Запустить основную сеть.** **5.4 Распределение токенов** Распределение токенов Zeeka показано на следующем графике: ![](https://i.imgur.com/EVdPGtj.png) **Майнеры/Исполнители (70%)** Майнеры обеспечивают сетевой консенсус. Исполнители исполняют нулевые контракты и предоставляют майнерам zk-доказательства их исполнения. Токены Zeeka присуждаются майнерам и исполнителям, что составляет 70% от общего количества токенов. Seed (5%) **(6-месячный линейный вестинг)** Проекту требуются средства для помощи в разработке MVP. Токены Zeeka доступны по более низкой цене для первых инвесторов. Для разработки MVP будут наняты инженеры, маркетологи и другие специалисты. Также средства будут использованы для создания юридического фонда в Великобритании. Инвесторы (10%) (1-летний линейный вестинг) Оставшиеся 10% акций инвесторов будут доступны для дальнейшего сбора средств после MVP. Кроме того, средства будут использованы для найма лучших инженеров и криптографов для разработки Zeeka. **Фонд (10%) (4-летний линейный вестинг)** Миссия Фонда Зика — поддержка проекта Зика и его развитие. 10% токенов пойдут в фонд, а средства пойдут аудиторам и разработчикам, которые строят сеть Zeeka в качестве грантов. Команда (5%) **(4-летнее линейное наделение правами)** Основатели Zeeka и другие члены команды будут владеть 5% токенов. # **6. Технические детали** Технические аспекты проекта описаны ниже: **6.1 Программный стек** Ожидается, что Zeeka будет разрабатываться на Rust является основным языком для многочисленных блокчейн-проектов. Протоколы Groth16 и PLONK будут использоваться в качестве движков с нулевым разглашением, Groth16, потому что он быстрый и эффективный, а Plonk, поскольку он использует универсальный CIS для создания экземпляров цепей по запросу. **6.2 Структуры транзакций** В Zeeka будет пять типов транзакций. Обычные транзакции аналогичны всем криптовалютам на основе аккаунта: ``` struct Send { src: Address, dst: Address, amount: Money, fee: Money, sig: Signature, } ``` Нулевой контракт будет иметь схему входа/выхода, которая указывает, как вход и выход пользователя будут влиять на состояние контракта. Также могут присутствовать схемы обновления, и схема обновления является эквивалентом функции в обычном смарт-контракте. ``` struct CreateContract { creator: Address, genesis: StateHash, entry: Circuit, update: Vec<Circuit>, exit: Circuit, fee: Money, sig: Signature, } ``` Пользователи могут попросить исполнителей перевести свои средства в контракт. Запросы на вход отправляются исполнителям, и исполнители группируют их вместе в транзакции Entry (содержащей множество запросов EntryRequest от разных пользователей) и доказательстве того, что запросы выполняются правильно, что приводит к новому state_hash. Кроме того, state_sizeподается для предотвращения: ``` struct Enter { prover: Address, contract: ContractAddress, entries: Vec<EntryRequest>, params: Vec<Fr>, fee: Money, sig: Signature, } ``` Пользователь может попросить исполнителей перевести средства из контракта обратно в основную цепочку. Как и в случае с запросами на вход, запросы на выход будут собираться исполнителями в транзакции выхода и отправляться в цепочку с доказательством правильности. ``` struct Exit { prover: Address, contract: ContractAddress, exits: Vec<ExitRequest>, params: Vec<Fr>, new_state: StateHash, proof: Proof, fee: Money, sig: Signature, } ``` Используя доказательства zk, исполнители будут обновлять состояние контракта. ``` struct Update { prover: Address, contract: ContractAddress, circuit_id: CircuitId, // Which update circuit? params: Vec<Fr>, proof: Proof, fee: Money, sig: Signature, } ``` **6.3 Контракт платежной сети** ``` for i in 0..max_num_txs { let srcAcc = extractAccount(currStateHash, beforeTxSrcMerkleProof); let dstAcc = extractAccount(currStateHash, beforeTxDstMerkleProof); check(srcAcc.pubKey == tx.pubKey); check(checkSig(srcAcc.pubKey, tx.sig)); let newSrcAcc = extractAccount(currStateHash, afterTxSrcMerkleProof); let newDstAcc = extractAccount(currStateHash, afterTxDstMerkleProof); check(newSrcAcc.pubKey == srcAcc.pubKey); check(newDstAcc.pubKey == dstAcc.pubKey; check(newSrcAcc.balance == srcAcc.balance - tx.amount; check(newDstAcc.balance == dstAcc.balance + tx.amount); ``` **`7.0 Отказ от ответственности`** Мнения, идеи и утверждения, представленные в этом обновлении, содержат многочисленные допущения, риски и неопределенности, которые со временем могут измениться. Существует множество факторов риска, в том числе связанные с блокчейном, криптографическими системами и технологиями в целом, а также бизнесом, операциями и результатами операций Zeeka, которые могут привести к тому, что фактические результаты или разработки, которые ожидаются, не будут реализованы или, даже если они будут реализованы в значительной степени, не получить каких-либо или всех выгод, которые можно было бы от этого ожидать. Мы оставляем за собой право в одностороннем порядке, полностью или частично изменять планы, ожидания и намерения, изложенные в настоящем документе, в любое время и по любой причине, по нашему единоличному и абсолютному усмотрению, и мы не берем на себя обязательств публично обновлять или пересматривать какие-либо прогнозные заявления. , будь то в результате получения новой информации, будущих разработок или иным образом. СООТВЕТСТВЕННО МЫ РЕКОМЕНДУЕМ ВАМ НЕ ПОЛАГАТЬСЯ И НЕ ПРИНИМАТЬ НИКАКИХ ФИНАНСОВЫХ РЕШЕНИЙ ИЛИ ИНВЕСТИЦИЙ НА ОСНОВЕ ЗАЯВЛЕНИЙ, СОДЕРЖАЩИХСЯ В ЭТОМ ОБНОВЛЕНИИ ИЛИ В ЛЮБЫХ НАШИХ ОБНОВЛЕНИЯХ/СТАТЬЯХ, ВКЛЮЧАЯ, ПОМИМО ПРОДАЖИ, ЛЮБУЮ ПРОДАЖУ ИЛИ ТОРГОВЛЮ ТОКЕНАМИ ZEEKA, ЭФИР, ИЛИ ЛЮБОЙ ДРУГОЙ КРИПТОГРАФИЧЕСКИЙ ИЛИ БЛОКЧЕЙН ТОКЕН, ИЛИ ЦЕННЫЕ БУМАГИ ЛЮБОЙ КОМПАНИИ. Взгляды, мнения и заявления, сделанные в этом обновлении, принадлежат отдельному автору, а не какому-либо учреждению, университету или юридическому лицу, действующему в пределах юрисдикции какой-либо страны. Нет никакой связи между этими взглядами, мнениями и заявлениями и какой-либо коммерческой или некоммерческой организацией, особенно с университетами, фондами и другими агентствами, расположенными в любой стране. Любое восприятие такой ассоциации является чисто случайным и будет немедленно исправлено, если читатель донесет его до нашего сведения.