October 24, 2022

LayerZero

- протокол взаимодействия Omnichain, не требующий доверия.

Авторы: Ryan Zarick, Bryan Pellegrino, Caleb Banister.

Дата: 26 мая, 2021г.

Перевод: t.me/zer0_source

Пояснение

Для прочтения данной статьи, и полного понимания - вам нужно быть знакомым с базовыми понятиями блокчейна, терминологии и иметь огромный запас нервов и усидчивости.
*под "цепочками" подразумевается, в основе своей, какая-либо блокчейн-сеть.
То бишь Polygon, BEP20, ETH и т.д.
**без доверия - trustless, не нашел адекватного перевода. Слова бездоверенностная не существует. А пора бы добавить.
***сообщение - в данном контексте, транзакция/подпись.

Абстракция

База, знать надо. Но часть довольно большая.
Если вы решили прочитать сквозь пальцы, советую пролистать до
моих вставок ниже. Где-нибудь полезная информация для вас может и найдется

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

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


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

В основе концепции блокчейна лежат три столпа: децентрализация, прозрачность и неизменяемость. Ни одна отдельная организация не контролирует блокчейн, и действия в блокчейне поддаются проверке и необратимы. Эти столпы создают фундамент, на котором объект может действовать, не доверяя никакому другому объекту. Эта гарантия доверия является одной из причин, по которой, например, криптовалюты являются привлекательными по сравнению с фиатными валютами.

Если бы все пользователи и все приложения сосуществовали в одном едином блокчейне, то эта статья завершилась бы здесь.

Однако, полезность блокчейна привела к распространению разнообразных приложений с уникальной сложностью и требованием. Спрос на разнообразный набор функций отверг рост специализированных сетей. Каждая из этих цепочек способствовала огромному росту приложений в рамках своей собственной экосистемы, но изоляция между этими экосистемами стала ключевым лимитом для внедрений новых приложений.
Пользователи и разработчики вынуждены распределять время, ресурсы и ликвидность между отдельными цепочками. Естественным следствием огромного количества так называемых Layer 1 блокчейнов (на момент написания статьи их было 109*) заключается в необходимости расширения вышеупомянутых трех столпов для одновременного охвата взаимодействий в нескольких цепочках. Одним из примеров востребованного взаимодействия между цепочками является передача токенов, которую мы обсудим позже в этом разделе.

На "языке блокчейна" единица работы – это транзакция, неизменяемая и невозвратная. Транзакции, объединенные в блоки, формируют основу безопасности в блокчейн-системе. Однако транзакции всегда были одно-цепочной концепцией; как описано ниже, взаимодействие между цепочками традиционно требовало стороннего механизма за пределами основной криптосистемы блокчейна. В отличие от этого, в этой статье описывается первый протокол обмена сообщениями, на основе которого возможны собственные кросс-чейн транзакции.

Layer Zero.

Чтобы проиллюстрировать мощный коммуникационный примитив который обеспечивает Layer Zero, мы рассмотрим пример передачи токенов из одной цепочки в другую. В настоящее время для конвертации между токенами двух цепочекпользователь должен использовать либо централизованный обмен, либо кросс-чейн децентрализованный обмен (DEX) (также известный как бридж), оба из которых требуют компромисса. В случае централизованного обмена, например Binance.com, пользователь должен доверять бирже, которая отслеживает депозиты и вывод средств. Эти доверительные отношения противоречат фундаментальной ненадежности блокчейн-консенсуса и лишены безопасности автоматизированной системы в сети.

Использование DEX, такого как любой AnySwap или THORChain, устраняет проблему доверия, осуществляя передачу по цепочке, но существующие реализации DEX включают преобразование пользовательского токена в специфичный для протокола токен, который проходит через их промежуточный уровень консенсуса для достижения консенсуса транзакции.
Этот промежуточный уровень консенсуса, хотя обычно и реализуется безопасным способом, требует чтобы пользователь доверял другой цепи для облегчения передачи токена. Как мы покажем в этой статье, в этих дополнительных накладных расходах нет необходимости. Несмотря на большой спрос пользователей, не появилось ни одного решения, которое было бы одновременно эффективным и прямым, сохраняя при этом основную причину использования блокчейнов в первую очередь: отсутствие доверия. К слову, прямые кросс-чейн транзакции LayerZero дают разработчикам инструменты для создания именно этого.

Важно отметить, что LayerZero и описанные выше изменения работают на двух разных уровнях стека реализации. LayerZero - это коммуникационный примитив, который позволяет использовать различные приложения omnichain, в то время как обмен является одним из примеров приложения, которое бы выиграло от повторной имплементации поверх LayerZero. В разделе 2 описывается технологический "ландшафт" блокчейна и далее рассматривается пример обмена.
Чтобы должным образом объяснить возможности LayerZero и его роль в экосистеме блокчейна, мы сначала представим формализацию основного коммуникационного принципа, необходимого для обеспечения кросс-чейн транзакций, которые мы называем "валидной доставкой" (раздел 3). Затем мы опишем, как LayerZero предоставляет этот примитив в режиме, не требующем доверия, тем самым сохраняя безопасность блокчейна.

Layer Zero - это Layer 1 взаймодействующий с omnichain, не требующий доверия, и поддерживает обмен непосредственно между обеими.

Рисунок 2: Layer Zero обеспечивает достоверность межцепочечной связи, требуя, чтобы два независимых объекта, наблюдатель и ретранслятор, подтвердили транзакцию.

Межцепочечная транзакция между цепочками A и B
состоит из транзакции tA для A, протокола связи
между A и B и сообщения m. "Валидная доставка" указывает, что m доставляется тогда и только тогда, когда tA зафиксирован и действителен. Ключевая идея, лежащая в основе Layer Zero, заключается в том, что если две
независимые сущности подтверждают действительность
транзакции (в данном случае tA), то цепочка B может быть уверена, что tA действительна.
Рисунок 2 иллюстрирует это на высоком уровне. Учитывая два объекта, которые не являются связанными чем-либо, если (1) один объект может создать заголовок блока для блока, содержащего tA в цепочке A, (2) другой объект может независимо предоставить доказательство для tA в этом блоке (доказательство транзакции), и (3) заголовок и доказательство транзакции фактически совпадают, тогда протокол связи может доставить m клиенту в цепочке B с гарантией того, что tA стабильно фиксируется в цепочке A. Протокол связи с нулевым уровнем, описанный в разделе 4 гарантирует, что транзакция в цепочке получателей будет сопряжена с действительной, зафиксированной транзакцией в цепочке отправителей без участия каких-либо промежуточных цепочек.
Мы достигаем этого, объединяя два независимых сущности: наблюдателя, который предоставляет заголовок блока, и ретранслятор, который предоставляет доказательство, связанное с вышеупомянутой транзакцией.

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

Раздел 5 демонстрирует этот процесс на примере внедрения LayerZero в блокчейн Ethereum.

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

Устали? Болят глаза? А это только первая часть из семи.

Бэкграунд

Чтобы заложить основу для LayerZero, мы рассмотрим соответствующие существующие системы, чтобы проиллюстрировать, почему они не отвечают требованиям новых приложений.
Кульминацией дискуссии является подробное объяснение преимуществ построения кросс-чейн обмена на LayerZero.

Сопутствующая работа

Самая интересная часть статьи, не советую пропускать тем
кто любит тех.лит. и пояснение о работе прочих блокчейнов.

В этом разделе дается представление о важных игроках в пространстве кросс-чейн взаимодействий, и о том, почему они не соответствуют идеалам "валидной доставки", не требующей доверия, и как LayerZero закрывает этот пробел.

Ethereum - самая популярная платформа для DeFi приложений, построенных с помощью смарт-контрактов. Ethereum расширяет свой базовый блокчейн с
помощью языка программирования Turing, который позволяет библиотеке децентрализованных приложений использовать мощные свойства безопасности базовой цепочки с помощью удобной для разработчиков абстракции.
Однако низкая скорость транзакций базового блокчейна, составляющая примерно 15-45 транзакций в секунду, оказалась серьезной проблемой масштабируемости, которая ограничивает популярность приложений, созданных для работы непосредственно на блокчейне Ethereum. Из-за своей модели программирования и популярности многие методы кросс-чейн коммуникации вертятся вокруг взаимодействия сторонних цепочек с Ethereum.
LayerZero предоставляет возможность прямой передачи состояния в Ethereum и из него без посредников, позволяя пользователям и приложениям использовать стабильность и надежность цепочки Ethereum без затрат и трудностей решений, описанных ниже.

Ethereum 2.0 - это набор предлагаемых обновлений для устранения недостатков масштабируемости, безопасности и устойчивости Ethereum. Ethereum 2.0 вводит цепочки сегментов, которые распределяют нагрузку вместо того, чтобы концентрировать все транзакции в перегруженной основной цепочке Ethereum.
Переход от proof-of-work к proof-of-stake устраняет возможность 51%-ной атаки и снижает затраты энергии на транзакцию. Эти достижения в значительной степени перпендикулярны LayerZero, за исключением того, что они, несомненно, повысят популярность Ethereum, создавая еще больший спрос на удобную и дешевую кросс-чейн связь.

Polygon, ранее Matic Network, представляет собой Layer 2 сеть, которая решает проблемы пропускной способности и суверенитета Ethereum. Несмотря
на то, что Ethereum является самой популярной платформой для блокчейн-разработки, он страдает от низкой пропускной способности, что делает его непригодным для определенных приложений. Polygon предоставляет сторонние цепочки, совместимые с Ethereum для конкретных приложений, которые сочетают масштабируемость и независимость отдельных цепочек с
сообщество и безопасность Ethereum. Специализированные приложения или
приложения с высокой пропускной способностью запускаются в параллельных цепочках и периодически объединяются обратно в основную цепочку Ethereum. Напротив, LayerZero - это платформа более низкого уровня, которая обеспечивает прямую кросс-чейн связь и может использоваться для облегчения передачи обратно в цепочку Ethereum без сложностей протокола Polygon.

Polkadot является ранним примером потенциала открытой кросс-чейн экосистемы. В Polkadot множество специфичных для домена параллельных цепочек (“парачейн”) соединяются через общую цепочку ретрансляции, которая позволяет использовать токены и данные чтобы продвигаться между ними. Однако кросс-чейн связь всегда пересекает эту ретрансляционную цепочку, что влечет за собой дополнительные затраты. LayerZero предоставляет ту же низкоуровневую коммуникационную платформу, что и Polkadot, без привлечения дополнительных транзакций, необходимых для он-чейн посредника.

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

AnySwap - это DEX, ориентированный на простой попарный обмен токенами, аналогичный THORChain. AnySwap основан на промежуточном токене ANY, основанном на управлении правами распределенного управления Fusion. Как с THORChain, использование любого промежуточного токена приводит к нежелательным накладным расходам, задержкам и дополнительным сборам за перевод.

Cosmos (ATOM) - это сетевая технология блокчейна, которая
позволяет отправлять произвольные транзакции между поддерживаемыми цепочками. Cosmos включает в себя протокол межблочной связи (IBC), основанный на Tendermint BFT для облегчения обмена сообщениями между цепочками, построенными на Cosmos-hub. Cosmos отличается от LayerZero двумя ключевыми способами:
1. IBC запускает полный сетевой световой узел
2. IBC обеспечивает только прямую связь между цепочками быстрого окончания.
Эти ограничения IBC в сочетании с использованием промежуточной цепочки для содействия консенсусу делают его похожим на Anyswap, THORChain или
Polkadot, а не на общий уровень связи, подобный LayerZero. Cosmos также предоставляет DEX со свойствами, аналогичными свойствам Anyswap или THORChain, называемым Gravity-Bridge. В отличие от Cosmos и IBC, LayerZero обеспечивает передачу сообщений по омничейну без доверия и может может быть расширен для работы в любой цепочке, включая те, что обеспечивают вероятностную завершенность, такие как Ethereum и Bitcoin.

Chainlink - это платформа для построения децентрализованных сетей oracle (DONs) и подключения к ним. Несмотря на то, что смарт-контракты защищены от несанкционированного доступа, их сетевой характер препятствует базовому подключению, критически важному для их более широкого внедрения: смарт-контракт не может извлекать данные вне сети, необходимые для выполнения контракта, такие как цены на акции, измерения устройств Интернета вещей и выходные данные из безопасных автономных вычислений. DON расширяет защищенное от несанкционированного доступа свойство смарт-контракта на источники данных и внешние ресурсы, от которых зависит контракт, без установление доверия к любой центральной организации. В DON смарт-контракт пользователя отправляет запрос по цепочке к смарт-контракту интерфейса Chainlink, который отправляет событие на множество отдельных узлов oracle. Каждый узел oracle запрашивает информацию из нескольких источников данных, объединяет ее для фильтрации ошибочных или вредоносных источников и, при необходимости, выполняет вычисления с минимизацией доверия к данным. Узлы
oracle реагируют на контракт интерфейса Chainlink, который выполняет второй уровень агрегации для фильтрации ошибочных или вредоносных узлов. Эта двухслойная фильтрация гарантирует доверие к конечным данным, не требуя доверия к какому-либо отдельному узлу или источнику данных. В результате Chainlink обеспечивает надежную сеть поиска информации, а также безопасное автономное вычислительное решение, которое стало широко использоваться во всей отрасли. Используя платформу DON Chainlink, протокол LayerZero получает возможность обеспечивать надежную доставку сообщений между разрозненными цепочками.

Я думаю тут перевод не нужен, все понятно раз вы дошли до такого момента а не выключили монитор от страха неизвестных слов.

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

LayerZero на практике

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

Центральная диаграмма показывает на высоком уровне, как работает типичный децентрализованный обмен — используя консенсусный протокол, управляемый смарт–контрактами, для облегчения автоматического получения монет в цепочке B, DEXы могут преодолеть необходимость в централизованном, надежном внешнем посреднике. Однако одним из ключевых ограничений является то, что
DEXы включают промежуточный токен и промежуточную цепочку и создают только промежуточный или завернутый токен в цепочке B, в отличие от фактического токена, который пользователь хочет. Затем пользователь должен обменять промежуточный токен (например, RUNE) или завернутый токен (например, ANY) на желаемый токен в дополнительной транзакции. Этот промежуточный / завернутый токен, вторая транзакция, а также
промежуточная цепочка - все это ненужные накладные расходы по сравнению с тем, что в идеале должно быть единой плавной транзакцией.

Правая часть рисунка 3 показывает, на чем построен обмен LayerZero будет выглядеть следующим образом: цепочка A может инициировать единственную кросс-чейн транзакцию, которая облегчает локальную транзакцию в цепочке A и уведомляет приложение о цепочке B, чтобы они могли безопасно предоставить токен пользователю. В этом приложении LayerZero обеспечивает чистый и минимальный обмен одной транзакцией, который не включает в себя никаких промежуточных токенов.
Фактический протокол обмена обрабатывается смарт-контрактами по обе стороны от кросс-чейн транзакции, при этом LayerZero доставляет сообщения между ними. Это обеспечивает большую гибкость и соответствует сквозному принципу, когда большая часть высокоуровневой логики обмена обрабатывается смарт-контрактами в цепочках источника и назначения.

"Валидная доставка"

Valid Delivery - но я решил перевести
более понятным способом, без лишнего использования
лингв. средств и оборотов

В этом разделе мы опишем фундаментальные свойства кросс-чейн коммуникации без доверия. Чтобы формально охарактеризовать проблему проверки транзакции в другой цепочке, мы определяем идею валидной доставки. Валидная доставка - это примитив связи, который позволяет передавать токены, предоставляя следующие гарантии:
1. Каждое сообщение m, отправленное по сети, соединяется с транзакцией t в цепочке на стороне отправителя.
2. Сообщение m доставляется получателю тогда и только тогда, когда связанная транзакция t является действительной и была зафиксирована в цепочке на стороне отправителя.


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

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


Альтернативой использованию централизованного обмена является децентрализованный обмен, такой как THORChain или AnySwap. Все существующие DEXы используют промежуточный токен, такой как RUNE в случае THORChain или ANY в случае AnySwap, в качестве транзакции t. Поскольку эти промежуточные токены регулируются соответствующими протоколами каждого DEX, DEX может гарантировать действительную доставку, поскольку злоумышленник не может подделать промежуточный токен.
Существующие решения DEX-операций не идеальны, поскольку они включают в себя две промежуточные транзакции — одну для преобразования токена отправителя в промежуточный токен и одну для преобразования промежуточного токена в желаемый токен. В дополнение к этому, пользователю необходимо полностью доверять промежуточному уровню консенсуса, который подтверждает транзакцию в исходной цепочке и передает намерение отправить токен в точку назначения. В то время как существующие биржи действительно позволяют передавать токены по цепочке, они делают это ценой ненужной сложности и затрат.
Недостатки этого проявляются в том, что кросс-чейн приложения
не получили широкого распространения. Идеальным решением проблемы кросс-чейн транзакций является то, действие, при котором используется единственная транзакция обмена между цепочками без привлечения какой-либо доверенной промежуточной сущности - другими словами, действительная отправка без доверия. В нашей работе мы реализуем общий протокол обмена сообщениями, который обеспечивает надежную доставку произвольных пользовательских данных, а не только токенов. Биржи или другие DeFi-приложения будут реализованы с использованием нашего примитива обмена транзакциями для обеспечения межцепочечных транзакций, и степень гибкости, обеспечиваемая низкоуровневым протоколом обмена транзакциями, позволяет приложениям более высокого уровня реализовывать широкий спектр ранее невозможных функциональных возможностей.

Дизайн

Просто и со вкусом.

Ядром LayerZero является протокол связи, который обеспечивает валидную доставку без доверия. Наш протокол построен на ряде компонентов, представленных в разделе 4.1. Мы обсуждаем коммуникационный поток протокола передачи в разделе 4.2, описываем, как LayerZero может достичь валидной доставки без привлечения надежных промежуточных услуг в разделе 4.3, и представляем наш новый дизайн для недорогой клиентской, основанной на смарт-контрактах, легкой клиентской конечной точки в разделе 4.4.

Компоненты LayerZero

Базовое объяснение функционала работы LayerZero.
А так же ответы на возможные появившиеся вопросы к переводу.

Конечные точки LayerZero - это пользовательский интерфейс для LayerZero. Каждая цепочка в сети LayerZero имеет одну конечную точку LayerZero, реализованную в виде серии встроенных смарт-контрактов. Цель конечной точки - позволить пользователю отправлять транзакцию с использованием серверной части протокола LayerZero, гарантируя валидную доставку. Конечная точка LayerZero разделена на четыре модуля:

  • Коммуникатор
  • Валидатор
  • Сеть
  • Библиотеки

Коммуникатор, валидатор и сетевые модули составляют основную функциональность конечной точки (рис. 4), при этом добавляется каждый новый чейн, поддерживаемый LayerZero в качестве дополнительной библиотеки. Такая конструкция позволяет нам добавлять поддержку для новых чейнов без изменения трех основных модулей. Мы объясняем функции каждого модуля в разделе 4.4. Наблюдатель - это сторонний сервис, который предоставляет механизм, позволяющий независимо от других компонентов LayerZero считывать заголовок блока из одной цепочки и отправлять его в другую цепочку.

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


Чтобы обеспечить правильную доставку, единственным требованием является то, что для любого данного сообщения, отправленного с использованием протокола LayerZero, наблюдатель и ретранслятор должны быть независимыми друг от друга. Сам протокол не требует какой-либо конкретной реализации ретранслятора, и теоретически пользователи LayerZero могут даже реализовать свой собственный сервис-ретранслятор. Такая конструкция позволяет пользователям быть уверенными в том, что ретранслятор не может быть соединён с Oracle, и эта независимость - то, что позволяет нам реализовывать валидные доставки без доверия, как показано в разделе 4.3. На практике LayerZero предоставляет службу ретрансляции, в то время как наблюдатель и связанные с ним механизмы консенсуса обрабатывются децентрализованной сетью Chainlink oracle.

Протокол LayerZero

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

Рисунок 4 иллюстрирует шаги, связанные с валидной доставкой сообщения LayerZero. Каждое число, обведенное кружком на рисунке, представляет собой шаг протокола и соответствует абзацу в этом разделе. В этом разделе рассматривается пример пользовательского приложения в цепочке A, отправляющего одно сообщение пользовательскому приложению в цепочке B через нулевой уровень. В разделе 5 мы опишем, как различные компоненты и этапы протокола реализуются в случае отправки сообщений между двумя виртуальными машинами Ethereum.


Шаг 1: Пользовательское приложение в цепочке A (приложение A) выполняет некоторую серию действий как часть транзакции T . Мы однозначно идентифицируем транзакцию T по идентификатору транзакции
t - формат этого идентификатора может варьироваться в зависимости от типа цепочки A. Этап, включенный в транзакцию T, — это передача сообщения по Layer Zero с валидной доставкой, обусловленной T. В целях иллюстрации и без потери общности мы предполагаем, что в этом сценарии приложение A использует наш эталонный ретранслятор. Приложение A отправляет запрос к коммуникатору LayerZero, содержащий следующую информацию.

  • t: Уникальный идентификатор транзакции T
  • dst: Глобальный идентификатор указывающий на смарт-контракт цепочки B
  • payload: Любые данные которые приложение A желает отправить приложению B
  • relayer_args: Аргументы, описывающие платежную информацию в случае, если приложение A желает использовать ретранслятор.

Шаг 2: Коммуникатор создает пакет нулевого уровня, содержащий dst и полезную нагрузку, называемый Packet(dst, payload) и отправляет его вместе с аргументами t и relayer_args в валидатор.

Шаг 3: Валидатор отправляет t и dst в Сеть.
Этот шаг уведомляет сеть о том, что заголовок блока для текущего блока в цепочке A должен быть отправлен в цепочку B.

Шаг 4: Валидатор отправляет Packet(dst, payload), t и relayer_args ретранслятору, уведомляя ретранслятор о том, что подтверждение транзакции для T должно быть предварительно выбрано и в конечном итоге отправлено в цепочку B. Это происходит одновременно с шагом 3.

Шаг 5: Сеть отправляет dst и ID блока(cur_blk_id) данной тразакции наблюдателю. Это не позволяет наблюдателю извлекать заголовок блока для текущего блока в цепочке A и отправлять его в цепочку B. В случае, если в одном и том же блоке произошло несколько транзакций нулевого уровня, шаг 5 выполняется только один раз.

Шаг 6: Наблюдатель читает заголовок блока (blk_hdr) из цепочки А.

Шаг 7: Ретранслятор считывает подтверждение транзакции, связанное с транзакцией T (proof(t)), из цепочки A и сохраняет его вне цепочки. Этапы 6 и 7 выполняются асинхронно друг с другом.

Шаг 8: Наблюдатель подтверждает, что блок соответствующий (blk_hdr) стабильно сохранен в цепочке A, а затем отправляет (blk_hdr) в сеть по цепочке B. Механизм определения того, когда это происходит, варьируется в зависимости от цепочки, но обычно включает ожидание некоторого количества подтверждений блока.

Шаг 9: Сеть отправляет хэш блока, указанный как (blk_hdr_hash), в валидатор.

Шаг 10: Валидатор отправляет (blk_hrd_hash) в ретранслятор.

Шаг 11: После получения (blk_hdr_hash), ретранслятор отправляет список кортежей любых Packet(dst, payload), t, proof(t), которые соответствуют текущему блоку. В случае, если несколько пользователей одновременно отправляют сообщения между одними и теми же конечными точками, в одном блоке может быть несколько пакетов и связанных с ними подтверждений транзакций.

Шаг 12: Средство проверки использует полученные
доказательства транзакции в сочетании с заголовками блоков, сохраненными сетью для проверки того, является ли связанная транзакция T действительной и зафиксированной. Если заголовок блока и подтверждение транзакции не совпадают, то сообщение уничтожается. Если они совпадают, то Packet(dst, payload) отправляется коммуникатору.

Шаг 13: Коммуникатор отправляет Packet(dst, payload) в приложение B.

Достижение бездоверенной "валидной доставки"

Тут уже ничего не придумывается, такая духота.

Бездоверенность: В основе дизайна LayerZero лежит
идея о том, что пользователь не должен доверять компонентам Layerzero. Вместо того, чтобы требовать доверия, которое является сильным условием, нам требуется только более слабое условие независимости между наблюдателем и ретранслятором. Это требование независимости вместо доверия является одним из аспектов того, что позволяет LayerZero быть эффективным и легким. До тех пор, пока не будет злонамеренного сговора между наблюдателем и ретранслятором, затем LayerZero гарантирует "валидную доставку".


"Валидная доставка": По протоколу нулевого уровня, показанному в разделе 4.2, сообщение m доставляется сообществом для пользовательского приложения тогда и только тогда, когда подтверждение транзакции для транзакции t, связанной с m, может быть подтверждено на шаге 12. Этот шаг проверки будет успешным, если и только если заголовок блока и подтверждение транзакции совпадают, что произойдет только в следующих двух сценариях:

  1. Заголовок блока, предоставленный наблюдателем, и подтверждение транзакции, предоставленное ретранслятором, являются действительными.
  2. Заголовок блока, предоставленный наблюдателем, и подтверждение транзакции, предоставленное ретранслятором, оба являются недействительными, но все равно совпадают.

Сценарий 2 может произойти только в том случае, если наблюдатель и ретранслятор вступают в "сговор", поскольку статистически невозможно отправить подтверждение транзакции, которое может быть проверено по заголовку блока, не зная этого конкретного заголовка блока, и наоборот. Однако дизайн LayerZero исключает возможность сговора, как описано в разделе 1. Таким образом, если сообщение доставляется пользовательскому приложению на стороне получателя, оно гарантированно соответствует свойствам действительной доставки. Как описано в разделе 3, протокол связи, который может гарантировать достоверную доставку без доверия, а именно действительная доставка без доверия к посредническим организациям или токенам является идеальным решением для обеспечения кросс-чейн транзакций. LayerZero - первая и единственная система, доказавшая это свойство. Этот факт будет способствовать принятию пользователями LayerZero в качестве предпочтительного метода кросс-чейн обмена данными.

Конечные точки LayerZero

LegoLayer

Конечная точка LayerZero в настоящее время реализована в виде набора смарт-контрактов в каждой цепочке, включенной в сеть Layerzero. Основная функциональность конечных точек LayerZero инкапсулирована в три модуля:
Связь, проверка и сеть.

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

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

Масштабируемость затрат на конечную точку LayerZero

Поднять конечную точку для путешествия по блокчейну? Выгодно.

Как, вероятно, заметят многие читатели, запуск смарт-контрактов в Layer 1 блокчейнах может быть непомерно дорогостоящим, особенно по мере увеличения объема хранимых данных. Чтобы сделать конечную точку нулевого уровня практичной, нам было необходимо разработать максимально легкий клиент. Предыдущая работа по проверке кросс-чейн без доверия с помощью репликации конечных автоматов кросс-цепей (SMR), например Golden Gate, может стоить миллионы долларов в день для запуска в популярных Layer 1 чейнах, таких как Ethereum.

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

LayerZero на виртуальных машинах.

В этом разделе мы кратко опишем детали того, как мы реализовали поддержку запуска LayerZero на виртуальных машинах Ethereum (EVM). Для краткости мы сосредоточимся на аспектах системы, реализация которых, вероятно, будет варьироваться в зависимости от цепочки, и подчеркнем, как наша реализация справляется с конкретными требованиями цепочки Ethereum. Как упоминалось в разделе 4.1, текущая версия LayerZero использует Chainlink для предоставления сервиса Oracle и ожидает, что пользователи будут использовать предоставляемый нами сервис повторного уровня. LayerZero Packet: Формат пакета LayerZero будет варьироваться от исходных и достигаемых чейнов. Мы проиллюстрируем точную компоновку пакета LayerZero для конечных точек EVM на рисунке 5. Каждое поле функционирует следующим образом:

Стабильность транзакций цепочки на стороне отправителя: Чтобы гарантировать
стабильность транзакции сообщения в исходной цепочке,
мы полагаемся на неотъемлемые свойства децентрализованных наблюдательных сетей - наблюдатель уведомит чейн назначения о конкретном заголовке блока только после того, как получит некоторое количество подтверждений блока, что в случае эфириума равно 15. Точнее говоря, шаг 8 протокола LayerZero (раздел 4.2) будет выполняться только после того, как наблюдатель получит 15 подтверждений блока в цепочке A. Конечная точка LayerZero: Мы реализуем конечные точки в виде серии смарт-контрактов, состоящих из
четырех основных модулей, которые мы описали в разделе 4.4.
Для большинства существующих блокчейнов, включая блокчейн Ethereum, мы можем реализовать коммуникатор, валидатор и сеть, в виде отдельных смарт-контрактов. Однако такая конструкция не исключает реализации конечной точки LayerZero в (будущих) цепочках с различными требованиями. Библиотечный компонент конечной точки LayerZero является ключом к обеспечению поддержки блокчейна Ethereum в этом тематическом исследовании. Мы реализуем библиотеку для обработки построения пакета LayerZero, специфичного для виртуальных машин показаных на рисунке 5 и обрабатывающих кодирование и декодирование адресной информации смарт-контракта EVM. Дополнительная ответственность библиотеки заключается в обработке фактических вычислений, связанных с проверкой доказательства транзакции. Наша библиотека EVM обрабатывает Merkle-Patricia Tree validation для транзакций в блоке EVM, которую мы основываем на реализации с открытым исходным кодом с помощью
Golden Gate.

Приложения на LayerZero

Прекрасные возможности. Советую не пропускать.

DEX: Как кратко описано в разделе 2.2, LayerZero позволяет осуществлять кросс-чейн обмен. DEX (кросс-цепной мост), который занимается исключительно настоящими активами. В отличие от существующих проектов DEX, которые выпускают завернутые токены или проходят через промежуточные боковые цепочки, DEX, построенный с использованием LayerZero для отправки сообщений между цепочками, может быть построен таким образом, чтобы пулы ликвидности существовали в обеих цепочках, и пользователи могут просто вносить свои собственные активы в один пул и выводить собственные активы из другого. Примитив обмена сообщениями LayerZero достаточно мощный, чтобы создать прямые мосты (ценообразование 1:1), автоматизированного формирования рынка (ценообразование ab = k) и любого другого вывода (например, аналогичного ценообразованию Curve DAO). Гарантия "валидной доставки", которую предоставляет LayerZero, позволяет использовать широкий спектр децентрализованных обменных приложений.

Кросс-чейн yield farming: Текущие yield-farming приложения обычно работают в рамках экосистем с одной цепью, а такие проекты, как Yearn Finance, позволяютз зарабатаывать с использованием стратегий с одной цепью. Одним из ключевых недостатков этих сингл-чейн систем агрегирования урожайности является то, что они не могут воспользоваться преимуществами возможности получения урожая за пределами их текущей экосистемы, потенциально упуская многие из лучших связок.

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

Кросс-чейн кредитование: Сегодня у пользователей нет простого способа воспользоваться возможностями в чейнах, где у них нет активов. Например, предположим, что пользователь с активами, консолидированными в ETH, хочет воспользоваться возможностью на Polygon. Их выбор состоит в том, чтобы либо переместить всю свою базу активов в другой блокчейн и конвертировать ее в желаемую валюту, либо одолжить свои активы на Ethereum за желаемый актив, а затем соединить этот актив в чейн назначения. LayerZero включает протокол кредитования, который позволил бы пользователю сохранить всю свою базу активов на месте в Ethereum, одолжить ее, а затем занять непосредственно в MATIC на Polygon. Это устраняет промежуточные издержки, такие как комиссии за переход и своп. Эти три примера представляют собой лишь крошечную часть многих возможностей, которые предоставляет LayerZero.

Используя LayerZero, разработчики смогут писать свои приложения, не беспокоясь о различиях в семантике между транзакциями внутри цепочки и пользователи смогут свободно перемещать ликвидность по цепочкам.
Мы с нетерпением ждем новых креативных приложений, которые сообщество разработает, учитывая возможности надежных кросс-чейн транзакций.

Вывод

Что же мы имеем, тоже не советовал бы пропускать.

В этом документе была представлена разработка и внедрение LayerZero, первой
платформы взаимодействия с омничейнами, не требующей доверия и не требующей каких-либо промежуточных транзакций. Мы показали, что, используя две независимые, ненадежные автономные сущности, наблюдатель и ретранслятор, LayerZero может обеспечить достоверную доставку, не требуя дорогостоящей репликации конечного автомата между цепочками или промежуточных токенов.
Наш протокол разработан таким образом, чтобы не исключать использования произвольных служб ретранслятора, что гарантирует отсутствие связи между ретранслятором и наблюдателем. Протокол LayerZero обеспечивает собственные транзакции между поддерживаемыми цепочками, в то время как новая конструкция конечной точки LayerZero может быть легко расширена для поддержки любой цепочки.
В дополнение к этому, наш дизайн конечных точек достаточно легкий, чтобы работать в дорогих чейнах Layer 1, таких как Ethereum, без непомерно высоких затрат.
Мы представили тематическое исследование того, как реализовать поддержку цепочек на основе EVM в LayerZero, используя ссылку на реализацию ретранслятора в сочетании с децентрализованной сетью oracle Chainlink для обеспечения кросс-чейн транзакций через LayerZero.

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

Ссылки и пояснения.

  1. Все блокчейн-протоколы Layer 1
  2. Гайд по AnySwap DEX
  3. Binance
  4. Что такое ATOM(Cosmos)
  5. Fusion
  6. Ethereum
  7. ETH 2.0 Vision
  8. Golden Gate
  9. Cosmos Gravity Bridge
  10. Cosmos SDK
  11. Polygon: Ethereum's internet of blockchains
  12. Solidity Types
  13. Tendermint
  14. The eth2 upgrades
  15. THORchain
  16. yearn.finance

Спасибо всем тем, кто дочитал до конца или как минимум до него дошёл. Статья, а если точнее перевод вышли удивительно долгими. Суммарно заняло около 7.5 часов бесперерывно. Я надеюсь вам понравился данный материал, перевод является псевдо-художественным, я не являюсь сертифицированным переводчиком-лингвистом.