ZetaChain
ZetaChain — первый и единственный в мире блокчейн, соединяющий все. Он упрощает переводы активов, доставку сообщений и вызовы смарт-контрактов между разными блокчейнами и уровнями — таким образом обеспечивая возможности для первых в своем роде омничейн-dApps (odApps), которые могут использовать ликвидность множества сетей и обновлять состояния всех подключенных сетей.
ZetaLabs позволяет вам принимать участие в развитии блокчейна ZetaChain, тестируя dApps с технологией омничейн, созданные на базе тестовой сети ZetaChain. Участники могут приглашать других присоединиться к тестированию различных продуктов в ZetaLabs, чтобы зарабатывать баллы ZETA, которые показывают ваш прогресс в роли тестировщика.
Это децентрализованное приложение для свопов с несколькими цепочками, созданное на основе ZetaChain. Вы можете передавать активы между любыми подключенными цепочками без обернутых или блокированных токенов за один шаг. Опробуйте его!
Узнайте, как создать собственную децентрализованную кроссчейн-биржу здесь.
Тестовая сеть ZetaChain Athens — это полностью исследуемая сеть для разработчиков, позволяющая создавать и тестировать dApps, прежде чем вывести их в основную сеть. Периодически в ZetaChain будут технические паузы, так как она находится в стадии активной разработки. Хотя по мере обновления блокчейна со временем это может измениться, тестовая сеть будет служить платформой разработки для ZetaChain и dApp даже после запуска основной сети. Время от времени мы будем размещать в Twitter и Discord больше новостей ZetaLabs — о новых функциях и dApps, с которыми вы сможете взаимодействовать и помогать тестировать.
Вы можете подключить кошельки Metamask и Coinbase . Скоро мы добавим поддержку других кошельков!
Баллы ZETA — это способ отслеживать ваш прогресс как тестировщика в ZetaLabs, будь то количество приглашенных вами новых членов, ваши еженедельно транзакции или найденные ошибки, о которых вы сообщили.
Если ваша транзакция не проходит, в сети могут быть задержки или вы нашли ошибку! Пожалуйста, сообщайте обо всех обнаруженных проблемах в канале # 👌| support-squad в нашем Discord.
Поскольку тестовая сеть находится в стадии активной разработки, периодически в ней будут внедряться обновления и проводиться стресс-тестирование. Если сеть не работает, транзакции могут не выполняться. В такие периоды зарабатывать баллы на основе транзакций будет невозможно. Однако вы по-прежнему сможете зарабатывать баллы за другие действия, такие как приглашение в ZetaLabs новых тестировщиков.
Join the Zeta Guild - https://guild.xyz/zetachain
Twitter - https://twitter.com/zetablockchain
Discord - https://discord.com/invite/kjQBqcZtnh
Telegram - https://t.me/zetachainofficial
Reddit - https://www.reddit.com/r/zetablockchain/
ZetaChain — единственная децентрализованная платформа блокчейна и смарт-контрактов, созданная для совместимости с омниканальными сетями.
Добро пожаловать на вторую сессию Zeta Education🤖.
В этой сессии #ZetaEd мы вернемся к whitepaper с примером межцепочечного обмена до и после ZetaChain.
Блокчейны по умолчанию изолированы друг от друга. В результате, если пользователь хочет совершить транзакцию между несколькими цепочками, его опыт будет далеко не беспроблемным (плохой UX, сомнительные модели доверия и высокие комиссии).
Для повышения уровня совместимости используется несколько межцепочечных стратегий, но основная проблема фрагментации блокчейна сохраняется.
В настоящее время не существует НИ ОДНОГО децентрализованного, не требующего разрешения и публичного сервиса, который бы способствовал проведению общих атомарных транзакций (не только атомарного свопинга, но и произвольной логики) с участием нескольких блокчейнов.
Если бы у вас был блокчейн общего назначения, поддерживающий обмен сообщениями и смарт-контракты на всех цепочках, то межцепочечный обмен прошел бы гораздо более гладко. Давайте рассмотрим этот пример сейчас на примере ZetaChain 👇
ZetaChain - это децентрализованный блокчейн PoS с многосторонней схемой пороговой подписи (TSS - простой криптографический метод генерации распределенного ключа и подписи к нему). Валидаторы ZetaChain подтверждают достоверность событий/транзакций на Цепочке 1 и 2 (смарт-контракт Цепочки 2 вносит адрес TSS ZetaChain в белый список доверия). Это позволяет условно выполнять контракт цепочки 2 в зависимости от транзакций/сообщений из цепочки 1. К сообщениям можно прикреплять ценность в виде монеты ZETA (встроенная кросс-цепь), что упрощает передачу ценности.
С помощью TSS ZetaChain может хранить и управлять собственными активами на любой цепочке. Только благодаря передаче сообщений можно создавать такие важные приложения, как межцепочечные DEX, займы/кредитование и многоцепочечные NFT.
ZetaChain — это фундамент для будущего мультичейна. Новый блокчейн обеспечивает функциональность мультичейна без использования мостов или обернутых токенов и легкое развертывание omnichain-dApps, или odApps. Эти приложения могут управлять и связывать данные и ценности на всех платформах смарт-контрактов, а также на платформах, не связанных с смарт-контрактами, таких как Bitcoin и Dogecoin.
Давайте поговорим о мостах 🌉 — решения для создания мостов объединяют активы и создают риск атак.
ZetaChain — это первый блокчейн со «встроенной» функциональной совместимостью (передача стоимости без моста 👀) #ZetaEd #interoperability
Проще говоря, мосты — это популярный способ перемещения активов между блокчейнами. Они работают, сообщая и доказывая цепочке B, что определенная транзакция произошла в цепочке A. Давайте рассмотрим базовый сценарий одностороннего моста в Ethereum из Биткоина 👇
Когда пользователь Биткойн отправляет 1 BTC на адрес, в Ethereum выпускается один wBTC. Чтобы сделать это без доверия, смарт-контракт на Ethereum может проверить TX (транзакцию) в Биткойне и выпустить монету wBTC на Ethereum. BTCRelay и Rainbow Bridge — хорошие примеры ненадежных мостов.
Но это не единственный подход к передаче активов между сетями. Существует ряд стратегий с различными уровнями доверия и возможностями (дополнительную информацию см. в нашем техническом документе: https://bit.ly/Zetachainpaper).
Одна из проблем с обертыванием активов заключается в том, что пользователи несут риск, например, не иметь возможности выкупить свой wETH.
В феврале 2022 г. мост-контракт Wormhole (кроссчейн-сервис) был взломан, и в результате одной из крупнейших DeFi эксплойтов они потеряли 320 млн долларов в wETH.
Итак, у нас есть несколько проблем:
- Обернутые активы и централизованные хранилища часто являются точками отказа, которые приводят к потерям в сотни миллионов долларов;
- Пользователи и разработчики разделены на соответствующие цепочки, что приводит к серьезной, растущей фрагментации.
В ZetaChain все средства, находящиеся в состоянии покоя, не подвергаются риску, поскольку отсутствует взаимозависимость через обертку/блокировку. Единственная (собственная) ценность, которая может проходить через цепочку, - это токен $ZETA, что значительно сокращает площадь атаки.
Транзакции также производятся немедленно. Считайте ZETA промежуточным токеном, который мы можем обменять на ZETA в источнике, сжечь его, а затем добыть ZETA для обмена на целевой актив на месте назначения.
Взаимозаменяемые токены Omnichain могут быть легко развернуты или переданы через ZetaChain и распределены по подключенным цепочкам, а также беспрепятственно проданы между ними.
Если это не взорвет ваш мозг, мы поговорим о смарт-контрактах ZetaChain, которые могут напрямую хранить/управлять активами (и рассчитываться по транзакциям) на внешних цепочках в соответствии с предопределенной произвольной логикой (но об этом подробнее в другом #ZetaEd 😏).
Мы надеемся, что этот обзор мостов был вам полезен.
Механизмы верификации в блокчейне
Как узнать о прошлых событиях на #blockchain? Вот 1️⃣0️⃣1️⃣ механизм верификации блокчейна 🤓.
#zetaed#interoperability#omnichain#web3#fullnode#lightclient#merkletree#notarization#spv#hashfunction#utxo
Накопленные в прошлом события на блокчейне довольно важно знать. Они показывают свидетельства транзакций. Обратите внимание, что события и состояния блокчейна обрабатываются по-разному в разных цепочках⛓️.
Например, в Биткойне, если вы хотите узнать свой последний баланс, вы будете смотреть на прошлые события (еще не потраченные UTXO). Мы глубоко погружаемся в блокчейн-модели транзакций здесь.
Но остается большой вопрос: как узнать, что произошло, не доверяя централизованному органу, который расскажет вам, что случилось? Это ставит под сомнение предпосылки публичных блокчейнов.
Решение заключается в принципе: проверяй, а не доверяй. Блокчейн устроен таким образом, что любой пользователь может запустить "полный узел", чтобы проверить все в соответствии с правилами консенсуса. Полный узел обладает двумя важными свойствами 👇
A) Валидность: что блокчейн, которому соответствует полный узел, использует те же правила консенсуса.
B) Каноничность: все полные узлы в сети имеют единообразное представление о генезисной цепочке блоков. Другими словами, их блокчейны являются префиксами друг друга.
Эта новая парадигма вычислений поддерживает основные ценности блокчейна, а именно полную возможность проверки, и делает это таким образом, что доверие к централизованному органу является необязательным.
Однако одна из проблем с полными узлами заключается в том, что блокчейн может занимать сотни гигабайт или даже несколько терабайт. Они требуют большого количества хранилищ и вычислений для поддержания их работы 💰.
Одним из решений является так называемый "легкий клиент", который хранит минимальные данные о блокчейне, полагаясь на полные узлы для полных данных блокчейна (но вам нужно убедиться, что полные узлы честны 😇).
Биткойн решил эту проблему с помощью системы под названием SPV (простая проверка платежа). Проще говоря, это похоже на использование функции хэширования (MD5, SHA1, SHA256 и т. д.) для хэширования загруженного файла и сравнения хэша с надежным источником для проверки подлинности.
- уникальна: даже изменение одного бита приведет к совершенно другому хэшу (коллизии хэшей редки);
- необратима: хэш-функция практически односторонняя: ее нельзя отменить.
Поэтому для проверки легкий клиент может хранить все хэши всех транзакций, но подождите 🛑, эти данные также могут быть очень большими 😩.
Разумное решение, предложенное Биткойном, заключается в использовании дерева хэшей транзакций, так что легкому клиенту нужно хранить только корень хэша всего дерева транзакций.
В результате объем данных, который необходимо поддерживать легкому клиенту, пропорционален только количеству хэш-деревьев (обычно блоков), а не количеству транзакций (которое гораздо выше).
Таким образом, при использовании дерева Меркла легкие клиенты хранят цепочку заголовков блоков (а не данные всего блока) и могут проверить включение транзакции, если предоставлено краткое доказательство Меркла. Дерево Меркла выглядит следующим образом:
Чтобы проверить, что транзакция TD включен в блок, вы берете корневой хэш (HABCDEFGH), запрашиваете сеть о HD, и она возвращает HC, HAB и HEFGH. Дерево Меркла проверяет, что все учтено с помощью этих трех хэшей и что HD (единственный отсутствующий хэш) должен присутствовать в данных.
Давайте поговорим о моделях “бухгалтерского учета” блокчейна 🤓. Новый гибридный подход ZetaChain позволяет смарт-контрактам напрямую взаимодействовать с состояниями в любой внешней цепочке.
#zetaed#интероперабельность#omnichain#web3
Если вы собираетесь добиться универсальной поддержки смарт-контрактов на всех цепочках, то вам необходимо преодолеть:
- проблему асинхронности блокчейна (в отличие от смарт-контрактов в одной цепочке, таких как EVM);
- ограничения моделей транзакций блокчейна для поддержки межцепочечных dApps.
Исторически сложилось там, что существует 2 основные модели "бухгалтерского учета" для записи и изменения состояния в блокчейне: UTXO (вывод неизрасходованных транзакций), которая используется Биткойном, Ergo, Cardano и другими, и основанная на счетах, которая используется EVM.
Модель UTXO представляет глобальное состояние всех израсходованных и неизрасходованных выходных данных транзакций. Каждый вывод может быть привязан к событию транзакции с самого начала, а блокчейн функционирует как принятый реестр всех транзакций. Наглядно его можно представить в виде направленного ациклического графа (DAG) между адресами, ниже приведено сравнение моделей: UTXO - Вывод неизрасходованных транзакций (напр. Bitcoin) VS модель на основе аккаунта-счета (EVM-сети).
Модель аккаунта включает в себя кошельки (как банковские счета) на уровне протокола. Она работает таким образом, что состояние системы обновляется на основе транзакции каждого предыдущего блока. Текущий набор счетов и их балансы представляют собой глобальное состояние (изображение выше).
Ключевое различие между этими моделями - выразительность. Хотя высокая выразительность программирования на основе счетов позволяет легко создавать сложные dApps (AMM, ICO и т. д.), это достигается ценой снижения безопасности.
Так почему бы не объединить плюсы обеих моделей? Некоторые так и сделали. Ergo стала пионером модели расширенного UTXO, за которой последовала Cardano, но она не лишена серьезных перегрузок UTXO (завершенные транзакции, которые пытаются потратить один и тот же UTXO, терпят неудачу и должны ждать 1 блок и тратить новый UTXO).
ZetaChain представляет новый дизайн, который решает эту проблему: он использует UTXO для представления и отслеживания внешних транзакций блокчейна (рассматривается как синтетический UTXO), и использует смарт-контракты на основе учетных записей для логики и управления общими глобальными состояниями.
UTXO включает в себя количество сожженной монеты ZETA, количество другой монеты (например, BTC в сети Bitcoin, где невозможно выпустить ZETA coin) и скрипт msg (примерно эквивалентный сообщению или вызову функции в Ethereum).
Синтетическая модель UTXO позволяет ZetaChain ощутить преимущества подотчетности, простоты и масштабируемости, избегая при этом ключевых ограничений UTXO, которые заключаются в экспрессивности его скриптов и неудобстве в некоторых важных приложениях (например, одна транзакция на блок в AMM (автоматический маркет-мейкер)).
Рассмотрим гибридный поток UTXO-аккаунтов ZetaChain:
- Смарт-контракт ZetaChain запускает сообщение и генерирует событие, которое пытается потратить UTXO на ZetaChain.
- Затем это событие подхватывается подписавшими ZetaClient, и они подписывают транзакцию во внешней цепочке.
- ZVM и ZetaClient будут проверять определенные инварианты, один из которых заключается в том, что выходная ZETA должен быть равен входному ZETA в UTXO.
- После подтверждения и наблюдения за исходящей транзакции, UTXO помечается как израсходованная и удаляется из машины состояний. Если исходящая транзакция не удалась (недостаточно газа и т.д.), UTXO помечается как возврат, и возврат ZETA и/или связанных монет осуществляется по цепочке источника. Когда возврат подтвержден, UTXO удаляется из машины состояний.
Виртуальная машина Zeta Chain (ZVM) ограничена в некоторых ключевых аспектах для поддержки атомарности транзакций между блокчейнами и обеспечения безопасности. Мы обсудим это более подробно:
- Каждый UTXO может генерировать только одно выходное событие. По сути, только одна внешняя цепочка может обновить свое состояние в ответ на UTXO. Поскольку исходящие транзакции во внешних цепочках, как правило, не подлежат возврату (например, отправленные токены не могут быть возвращены обратно), множественные выходные события сделают невозможным возврат всей транзакции.
- Все переводы ценностей через блокчейн должны осуществляться в ZETA, потому что только монета ZETA находится под контролем системы ZetaChain и может быть возвращена (возмещена), если транзакция через блокчейн завершится неудачей.
Обратите внимание, что некоторые более сложные смарт-контракты, которые требуют нескольких выходных транзакций (например, должны отправляться в несколько цепочек), лучше всего записывать как многоступенчатые транзакции, где приложение само обрабатывает атомарность многоступенчатой транзакции.
В целом, новая гибридная модель транзакций, которую ZetaChain внедряет в блокчейн, позволяет смарт-контрактам напрямую взаимодействовать с состояниями во внешних цепочках. Это одна из многих революционных особенностей, которые используются для создания действительно омниканального протокола взаимодействия.
Если вы разработчик, используйте этот примитив для создания мощных межцепочечных dApps в тестовой сети ZetaChain: https://docs.zetachain.com - мы здесь для совместной разработки с вами 💪.