Единая инфраструктура DAPP Omnichain

СреднийFeb 29, 2024
Эта статья посвящена техническим аспектам решения omnichain от ZetaChain, объясняя, как оно служит базовой инфраструктурой для omnichain-взаимодействия DAPP, обеспечивая беспрепятственное разрешение и обработку межцепочечных сообщений.
Единая инфраструктура DAPP Omnichain

Переслать оригинал названия:Технический взгляд на ZetaChain: Универсальная DAPP-инфраструктура OmniChain

ZetaChain - это публичная цепочка POS, основанная на Cosmos SDK, в блоках которой записываются межцепочечные сообщения и данные, инициированные на "внешних цепочках". Пользователи внешних цепочек, таких как BTC, могут сообщать о своих намерениях в сеть ZetaChain, публикуя сообщения в определенном формате, напоминающем протокол Ordinals. Узлы ZetaChain используют механизм консенсуса для определения того, какие сообщения и в какой последовательности следует обрабатывать, и в конечном итоге используют схему пороговой подписи (TSS) для создания цифровой подписи целевой цепочки. Этот процесс включает в себя освобождение активов с публичного счета цепочки, что запускает последующие этапы транзакций.


В текущий список узлов-валидаторов ZetaChain входят многочисленные участники проекта и организации, такие как OKX, HashKey Cloud, Dora Factory и другие. Благодаря присущей ZetaChain совместимости с EVM, она поддерживает развертывание контрактной логики. Разработчики полноцепочечных DApp могут напрямую писать программы для обработки сообщений между цепочками на ZetaChain, что избавляет от необходимости развертывать мостовые контракты на активы в нескольких цепочках и, таким образом, снижает затраты на разработку. С точки зрения пользователя, теоретически, достаточно взаимодействовать с контрактами ZetaChain, что устраняет необходимость в многократном взаимодействии с промежуточными контрактами между исходной и целевой цепочками и снижает затраты на комиссию за транзакцию. Подобно некоторым проектам Intent с эффектом "единой цепочки хранения активов", ZetaChain поддерживает развертывание контрактов на активы или протоколов DeFi. Пользователи могут генерировать специальные сообщения на фронтенде DApps на разных цепочках для асинхронного вызова DeFi контрактов или состояний активов ZetaChain. Эта настройка также поддерживает счета цепочки BTC. Это сродни тому, чтобы позволить ZetaChain напрямую разместить универсальный унифицированный счет активов во всех цепочках. Однако для достижения этого эффекта требуется специальная фронт-энд DApp для совместной работы. На данный момент основная функция ZetaChain заключается в том, чтобы служить базовой инфраструктурой для взаимодействия омничейнов. Он может анализировать и обрабатывать специфические межцепочечные сообщения, а также выступать в качестве платформы выполнения бизнес-логики для многоцепочечных DApps. Основная бизнес-модель вращается вокруг типичных сценариев B to B to C.

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

Можно сказать, что проблема фрагментации и несовместимости разнородных сетей - одно из главных препятствий на пути к повышению коэффициента конверсии пользователей. Популярность экосистемы BTC сегодня еще больше подчеркивает проблемы совместимости между разнородными цепочками. Как заявил Виталик Бутерин много лет назад, "Multichain - это будущее". Несмотря на то, что сосуществование нескольких цепочек стало неудержимой тенденцией, создание межцепочечных мостов между разнородными цепочками остается сложной задачей.

Чтобы решить проблему совместимости омничейнов, LayerZero, Polyhedra, Map Protocol, Bool Network и даже Cosmos и Polkadot предложили различные решения для обмена сообщениями между цепочками. Недавно запущенный ZetaChain, который представил свой токен, является важным игроком в ландшафте инфраструктуры омничейн.

Ниже мы кратко расскажем о техническом аспекте решения ZetaChain для omnichain, объяснив, как оно служит базовой инфраструктурой для omnichain-совместимых DApps, обеспечивая разбор и обработку сообщений между цепочками.

Проблемы с существующими межцепочечными решениями

На самом деле, самый простой сценарий, который должен решать межцепочечный мост, - это передача активов между различными цепочками. Например, при переводе активов из ETH в Polygon Вам необходимо сначала перевести активы на указанный депозитный адрес в цепочке ETH, а затем получить эквивалентную сумму в цепочке Polygon. Проблема возникает потому, что узлы Polygon не могут подтвердить, что произошло в цепочке ETH, и не знают, действительно ли Вы внесли указанную сумму. Если кто-то ошибочно утверждает, что внес 100 USDT на указанный ETH-адрес, и инициирует заявку на вывод средств в цепочке Polygon, чтобы освободить свои 100 USDT, это приводит к проблеме "вывода средств из воздуха". Ключ к межцепочечному мосту заключается в том, чтобы решить эту проблему, подтвердив, что все требования о снятии средств соответствуют реальным действиям с депозитами. По сути, это означает доказательство на цепи B того, что на цепи A действительно было N транзакций, связанных с межцепочечным мостом.


В настоящее время основные межцепочечные мосты, как правило, используют нотариальный механизм, который предполагает создание группы нотариальных узлов, достигающих "консенсуса" с помощью мультиподписей или MPC-подписей. Пока большинство нотариальных узлов согласны с тем, что Ваше действие по пересечению цепи может быть одобрено, Ваши активы могут спокойно пересекаться. Некоторые межцепочечные мосты используют более надежный хэш-лок или реализуют легкие узлы других цепочек через внутрицепочечные контракты. Эти мосты подтверждают достоверность межцепочечных действий, получая меркловские или zk-доказательства. Однако стоимость таких межцепочечных мостов зачастую выше и в конечном итоге переносится на комиссию за транзакции пользователей. Поэтому большинство межцепочечных мостов по-прежнему выбирают модель внецепочечного нотариального узла для консенсуса нескольких подписей. Ссылка: Объясните, какие соображения важны при проектировании мостов с перекрестными цепями? Примечательно, что межцепочечные мосты, основанные на нотариальном обслуживании, часто подвержены значительным рискам, включая уязвимость к взлому или внутренним кражам. Согласно статистике SlowMist Hacked, в 2022 году произошло 16 инцидентов безопасности, связанных с межцепочечными мостами, в результате которых общий ущерб составил $1,21 млрд. В том году это составило 32% всех потерь от инцидентов, связанных с атаками на цепочки, что подчеркивает опасность уязвимостей в системе безопасности на межцепочечных мостах.


Кроме того, многие существующие решения для межцепочечных мостов в основном используют модель Lock-Mint, при которой активы блокируются в цепочке А, а соответствующие отображаемые активы выпускаются в цепочке В для достижения межцепочечной передачи активов. Однако процесс обработки депозита и вывода средств в таких решениях требует многократного взаимодействия с контрактом на сопоставление активов, что приводит к значительным трениям и потенциальной потере средств. Кроме того, многочисленные решения для межцепочечных мостов поддерживают передачу активов только между EVM-совместимыми цепочками, сталкиваясь с проблемами при межцепочечном взаимодействии между разнородными цепочками, такими как Solana и Bitcoin, из-за различий в технических стандартах. Учитывая вопросы безопасности и комиссии, основные решения для межцепочечных мостов часто не могут достичь оптимальных результатов и не могут обеспечить "родную межцепочечную" передачу активов. В современной экосистеме Биткойна растет желание получить бесшовный и естественный опыт межцепочечного взаимодействия, ожидая более эффективного решения. ZetaChain решает эту проблему с помощью своего уникального подхода.

Функциональные возможности ZetaChain: Базовая инфраструктура для совместимых DAPP, работающих через цепочку

ZetaChain позиционирует себя как основополагающая инфраструктура для omnichain interoperable DApps, специализирующаяся на поддержке различных прикладных протоколов для межцепочечного взаимодействия - пример базовой инфраструктуры B To B To C. В ней используется механизм допуска PoS, позволяющий узлам, закладывающим активы, входить в сеть и выступать в качестве нотариусов. Все узлы PoS, использующие технологию TSS, участвуют в проверке и обработке межцепочечных сообщений, стремясь максимально повысить уровень безопасности. Одновременно ZetaChain облегчает развертывание смарт-контрактов, включающих бизнес-логику, связанную с обменом активами. Пользователи могут отправлять сообщения в определенном формате по любой цепочке, вызывая ZetaChain или поддерживаемые им контракты DeFi на нескольких цепочках. Например, на BTC пользователи могут косвенно вызывать функции DeFi на Polygon. В результате облегчается передача сообщений между различными блокчейнами, что позволяет добиться совместимости.


DApps, основанные на сценарии омниканальной совместимости, могут развернуть бизнес-логику обмена активами на ZetaChain, облегчая пользователям автоматическую конвертацию газовых токенов между различными цепочками. Например, используя фронтенд некоторых omnichain DApps, Вы можете выпустить сообщение определенного формата на BTC, похожее на протокол Ordinals, указывающее на вызов контракта на Solana. Узлы ZetaChain обнаружат это сообщение, и впоследствии контракт AMM на ZetaChain сможет автоматически рассчитать соотношение обмена между BTC и SOL. Затем он высвобождает эквивалентное количество SOL в цепочке Solana, завершая последующие шаги, такие как вызов контрактов и, наконец, перевод заслуженных активов обратно на Ваш адрес BTC или Solana. Этот процесс называется "omnichain interoperability", когда Вам нужно опубликовать сообщение только на одной цепочке, чтобы удаленно вызвать DApps на нескольких цепочках. В этом контексте ZetaChain можно представить как "расчетный уровень цепочки цепочек". Во всех сценариях многоцепочечного взаимодействия, например, при инициировании вызова от цепочки A к DApp на цепочке B, это похоже на то, что цепочка A сначала рассчитывается с ZetaChain. Затем ZetaChain синхронизирует предварительно обработанные результаты расчетов с соответствующим счетом в Chain B, завершая последующие шаги. На протяжении всего этого процесса не происходит чрезмерного взаимодействия с картографическими контрактами на активы или трения, связанного с комиссиями за транзакции. Циркуляция активов облегчается благодаря публичным счетам ZetaChain в разных цепочках, что устраняет необходимость частого развертывания контрактов на отображение активов в разных цепочках, как это происходит в традиционных межцепочечных приложениях.

В настоящее время представляется, что омниканальные приложения на базе ZetaChain могут избавить от значительного количества проблем, устранив необходимость кропотливой разработки контрактов на сопоставление активов в разных цепочках. Все детали, касающиеся притока и оттока активов между исходной и целевой цепочками, обрабатываются ZetaChain. Другими словами, Вам нужно развернуть на ZetaChain только бизнес-логику, связанную с межцепочечными транзакциями. Это позволяет различным полноцепочечным приложениям поддерживать такие не-EVM-цепочки, как Solana, Algorand, Bitcoin и DogeCoin, во фронтенде без необходимости в обширной реализации специальных кросс-цепочечных контрактов приложений на разных цепочках. Кроме того, ZetaChain сама поддерживает развертывание контрактов на активы или счетов AA (Autonomous Asset). Пользователи на разных цепочках могут отправлять сообщения в определенном формате для вызова этих контрактов, как если бы они работали с единым аккаунтом на всех цепочках. Такой подход к проектированию, также отраженный в Particle Chain от Particle Network, в конечном итоге позволяет пользователям централизовать записи данных о своих активах на ZetaChain или Particle Chain. При необходимости пользователи могут асинхронно вызывать свои контракты на активы в ZetaChain, отправляя сообщения о вызове через фронтенд DApps на "внешних цепях". Впоследствии ZetaChain через публичный счет во внешней цепочке переводит определенное количество активов на адрес, указанный пользователем, или взаимодействует с протоколом DeFi, указанным пользователем.


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

Модель безопасности ZetaChain: Большая сеть нотариальных узлов, основанная на POS-стакинге

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

В сети ZetaChain узлы Validator, выступающие в роли децентрализованных нотариусов, подтверждают, какие незавершенные межцепочечные запросы были запущены на других цепочках. Придя к консенсусу, они фиксируют это межцепочечное поведение и переходят к последующим шагам. Используя распределенные ключевые подписи TSS, ZetaChain может генерировать инструкции по проведению транзакций в других цепочках. Можно сказать, что работа валидаторов имеет некоторое сходство с нотариальным режимом межцепочечных мостов, но с POS-стакингом узлы валидаторов более недоверчивы, что решает проблему Sybil.


(Текущий список узлов валидатора Zetachain включает в себя множество проектных партий или учреждений) Клиент валидатора Zetachian включает в себя два модуля, ZetaCore и ZetaClient. Модуль ZetaCore участвует в генерации блоков ZetaChain и процессе консенсуса, а модуль ZetaClient наблюдает за событиями во внешних цепочках и подписывает исходящие транзакции. Здесь "исходящий" можно понимать просто как запись журнала транзакций в ZetaChain и отправку его во "внешние цепочки" (имеются в виду цепочки за пределами ZetaChain). Это вызывает соответствующие действия на целевой цепочке, при этом содержимое в основном включает адрес контракта, идентификатор цепочки и содержание сообщения, объявленное пользователем в сообщении, аналогично разделу Log в транзакциях Ethereum.


И наоборот, под "входящими" можно понимать запись в ZetaChain соответствующих сообщений/транзакций на внешних цепочках вне ZetaChain, таких как межцепочечные запросы, вызов смарт-контрактов на zEVM и т.д. Важно отметить, что при запуске узлов Validator для ZetaChain клиентский код включает в себя три модуля: Validator, Observer и TSS Signer. Эти три модуля имеют разные функциональные возможности, но все они относятся к клиенту ZetaChain.

Модули наблюдателя и подписывающего устройства TSS

Во-первых, все узлы ZetaChain оснащены модулем "валидатора" с функциями, аналогичными узлам валидатора в публичных цепочках PoS, участвуя в процессах генерации блоков и консенсуса. Кроме того, узлы могут голосовать по предложениям на цепочке, основываясь на соотношении количества накопленных токенов (ZETA). Блоки ZetaChain содержат все обработанные межцепочечные записи и взаимодействия со смарт-контрактами omnichain, выступая в роли журнала.

Модуль "наблюдатель" в клиенте ZetaChain управляет другими узлами/узлами полной/легкой публичной цепи, отслеживая определенные форматы межцепочечных транзакций/сообщений. Модуль Observer работает в двух режимах: активном и пассивном. Различные узлы ZetaChain могут выбирать, в каком из этих режимов переключать модуль наблюдателя. Модуль Observer постоянно отслеживает наличие сообщений/событий, связанных с ZetaChain, в других цепочках. Если да, то модуль Наблюдатель узла ZetaChain сообщает о ситуации модулю Валидатор. Затем эти замеченные межцепочечные сообщения передаются в блокчейн ZetaChain и подтверждаются коллективным консенсусом.

Существует два режима наблюдения: активный и пассивный. В активном режиме узлы непрерывно сканируют транзакции/события/состояния на других блокчейнах за пределами ZetaChain, запуская полные узлы этих цепочек. В пассивном режиме узлы не синхронизируют полные блоки из других блокчейнов; вместо этого они пассивно получают разобранные межцепочечные сообщения от других узлов ZetaChain. Однако, хотя узлы в пассивном режиме не синхронизируют полные блоки внешней цепи, они синхронизируют заголовки блоков и подтверждают с помощью доказательства Меркла, что эти межцепочечные сообщения/данные транзакций действительно существуют во внешней цепи.

Преимущество активного режима заключается в том, что большинство узлов ZetaChain синхронизируют данные с внешними цепочками, что обеспечивает сильную устойчивость к цензуре. В этом режиме любое взаимодействие пользователя с ZetaChain может произойти, как только узел обнаружит запрос, инициированный внешней цепочкой. Однако в активном режиме работа узлов связана с большими затратами. Помимо запуска клиента узла ZetaChain, узлы также должны запускать полноценные узлы внешних цепочек, синхронизируя данные и непрерывно проводя сканирование. С другой стороны, пассивный режим обеспечивает значительно меньшие эксплуатационные расходы для обычных узлов-наблюдателей. Только определенные узлы запускают полный клиент узла для внешних цепочек, в то время как другие узлы запускают облегченные клиенты без синхронизации полных блоков внешних цепочек. Это приводит к снижению стоимости и упрощает масштабирование количества узлов в пассивном режиме, облегчая интеграцию с несколькими внешними цепочками. Однако недостатком пассивного режима является то, что активность наблюдения за данными во внешних цепочках зависит от нескольких узлов, что приводит к более слабой устойчивости к цензуре. Чтобы облегчить эту ситуацию, ZetaChain стимулирует узлы запускать активный режим модуля Observer.


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

Подпись TSS

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


В кросс-цепочечной модели ZetaChain необходимо лишь иметь общий адрес счета в разных цепочках без необходимости развертывания сложных смарт-контрактов. Алгоритм мультиподписи ZetaChain использует TSS, схему пороговой подписи. Хотя внешне видимые цифровые подписи транзакций соответствуют одному закрытому ключу, открытому ключу и адресу, в действительности этот закрытый ключ генерируется множеством фрагментов, распределенных по всем устройствам узла ZetaChain, и генерируется без участия посредников. В любой момент времени один человек или несколько валидаторов не могут представлять всю сеть, чтобы собрать воедино фрагменты закрытых ключей и подписать сообщения. Процесс генерации и подписания ключей TSS осуществляется с помощью многосторонних вычислений (MPC), что гарантирует отсутствие утечки секретов участвующих узлов. Узлы ZetaChain могут генерировать подписи транзакций в различных цепочках. Помимо совместимости с различными цепочками EVM, ZetaChain добавляет возможность удаленного вызова смарт-контрактов для Bitcoin или цепочек без смарт-контрактов. Пользовательский опыт аналогичен тому, как пользователи Bitcoin напрямую вызывают определенные функциональные возможности DeFi.


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

zEVM: Универсальная кросс-цепочечная DAPP-контрактная платформа

В отличие от традиционных межцепочечных решений, требующих развертывания контрактов с отображением активов на каждой цепи, ZetaChain достигает межцепочечной функциональности, развертывая смарт-контракт только один раз на своей собственной цепи. В ZetaChain существует EVM-совместимый уровень исполнения, называемый zEVM, на котором можно напрямую развертывать межцепочечные смарт-контракты. zEVM поддерживает следующие возможности: любой человек может отправить данные транзакции в определенном формате во внешнюю цепочку и вызвать контракт на zEVM; логика контракта на zEVM может контролировать данные исходящей транзакции, генерируемые во внешней цепочке. Эти две дополнительные возможности позволяют zEVM поддерживать общее программирование, развертывать специфическую бизнес-логику и атомарно изменять состояние на разных цепочках. Если происходит межцепочечная операция, и ZetaChain обнаруживает, что последующие шаги этой межцепочечной операции не являются успешными на целевой цепочке, данные, измененные межцепочечной транзакцией в контракте ZetaChain, могут быть откачены, как будто ничего не произошло. Кроме того, омничейн-приложению DAPP не нужно разворачивать контракты на отображение активов на разных цепочках. Достаточно использовать контракт на цепочке ZetaChain, чтобы централизованно настроить логику обработки межцепочечных сообщений за одну остановку, без необходимости частого развертывания межцепочечных контрактов в многоцепочечной сети. Это может значительно снизить стоимость разработки полноцепочечного DAPP. На уровне пользователя, поскольку нет необходимости часто взаимодействовать с отображенными контрактами на активы в нескольких цепочках, затраты ниже, чем у основных межцепочечных мостов, которые требуют развертывания отображенных контрактов на активы в разных цепочках. Кроме того, специальные контракты DeFi и активы ZRC-20 или даже NFT также могут быть развернуты на ZetaChain для синхронизации данных о состоянии активов или развертывания счетов AA. Это дает ему возможности унифицированной платформы управления активами (запись состояния). Поскольку нам больше не нужно прилагать усилия, чтобы владеть активами в нескольких цепочках, этот сценарий единых счетов активов во всех цепочках может принести больший потенциал в будущем.

Заключение

Из того, что мы обсудили в этой статье, мы лучше поняли "инфраструктуру совместимости омничейна" ZetaChain. Через модуль наблюдателя в клиенте валидатора ZetaChain отслеживает определенные сообщения/транзакции на внешних цепочках, сообщает о них модулю валидатора, достигает консенсуса по сообщениям в сети ZetaChain, анализирует данные, содержащиеся в сообщениях, генерирует цифровые подписи с помощью TSS и запускает последующие процессы транзакций на соответствующих целевых цепочках, тем самым реализуя межцепочечное взаимодействие во всей сети. Одновременно с этим, смарт-контракты omnichain, основанные на ZetaChain, позволяют нам тесно взаимодействовать с различными блокчейнами без необходимости использовать контракты с отображением активов на разных цепочках. Это избавляет от необходимости вызывать лишние логические схемы контрактов, что экономит затраты на транзакции. Кроме того, поскольку ZetaChain совместима с EVM, любой разработчик DApp или даже отдельные пользователи могут развернуть индивидуальную логику обработки сообщений в кросс-цепочке. Теоретически, можно развернуть весь контракт DApp одним махом. Разработчикам межцепочечных приложений не нужно часто развертывать/обновлять логику контрактов на отображение активов на разных цепочках, что исключает затраты на избыточную разработку.

Отказ от ответственности:

  1. Эта статья перепечатана с сайта[极客 Web3], все авторские права принадлежат автору оригинала[Howe & Faust, 极客web3]. Если у Вас есть возражения против этой перепечатки, пожалуйста, свяжитесь с командой Gate Learn, и они незамедлительно рассмотрят их.
  2. Отказ от ответственности: Мнения и взгляды, выраженные в этой статье, принадлежат исключительно автору и не являются инвестиционным советом.
  3. Перевод статьи на другие языки осуществляется командой Gate Learn. Если не указано, копирование, распространение или плагиат переведенных статей запрещены.
Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500
Tạo tài khoản