Компонентная структура Arbitrum в интерпретации бывшего технического посла Arbitrum (часть 2)

1/9/2024, 6:31:25 AM
Продвинутый
БлокчейнEthereum
В этой статье дается подробное объяснение компонентов, связанных с межцепочечными сообщениями, такими как Delayed Inbox.

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

Основной текст: В предыдущих статьях мы упоминали, что контракт Sequencer Inbox специально разработан для получения пакетов данных транзакций, публикуемых секвенсором на Уровне 1. В то же время, мы отметили, что Sequencer Inbox также называют "быстрым ящиком", а в противоположность ему есть "медленный ящик" или Delayed Inbox (именуемый Inbox). Ниже мы дадим подробную интерпретацию компонентов, связанных с передачей сообщений по цепочке, включая Delayed Inbox.

Принцип перекрестных цепочек и мостиков

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

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

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

С другой стороны, межцепочечные действия между Rollup и мейннетом ETH в корне отличаются от вышеупомянутых межцепочечных процессов. Это происходит потому, что состояние Layer2 определяется данными, записанными на Layer1. Пока Вы используете официальный мост Rollup, он структурно безопасен в своей работе.

Это подчеркивает суть Rollup, который, с точки зрения пользователя, выглядит как независимая цепочка, но на самом деле так называемый "Layer2" - это просто окно быстрого отображения, открываемое Rollup для пользователей, а его истинная цепочкообразная структура все еще записана на Layer1. Поэтому мы можем рассматривать L2 как половину цепочки или "цепочку, созданную на Layer1".

Retryables

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

Повторные билеты - это фундаментальный инструмент, используемый в официальном мосте Arbitrum во время депозитов, применимый как к депозитам ETH, так и к депозитам ERC20. Жизненный цикл состоит из трех этапов:

  1. Отправка билета на L1: Используйте метод 'createRetryableTicket()' в контракте Delayed Inbox, чтобы создать депозитный билет и отправить его.
  2. Автоматическое погашение на L2: В большинстве случаев секвенсор может автоматически погасить билет для пользователя, не требуя дополнительных ручных действий.
  3. Ручное погашение на L2: В некоторых экстремальных случаях, например, при резком скачке цен на газ на L2, если предоплаченного газа на билете недостаточно, автоматическое погашение не может произойти. В этом случае необходимо ручное вмешательство пользователя. Важно отметить, что если автоматическое погашение не удалось, пользователю необходимо вручную погасить билет в течение 7 дней; в противном случае билет либо будет удален (что приведет к постоянной потере средств), либо пользователю придется заплатить определенную плату за продление хранения билета.

Более того, что касается процесса вывода средств на официальном мосту Arbitrum, то, несмотря на определенную симметричность процесса по сравнению с депозитами, здесь отсутствует концепция повторных билетов. Это можно понять с точки зрения самого протокола Rollup, и можно выделить некоторые различия:

  • Автоматического погашения в процессе снятия денег не происходит, поскольку EVM не имеет таймеров или автоматики. На L2 может быть реализовано автоматическое погашение, и это облегчается секвенсором. Поэтому пользователям L1 приходится вручную взаимодействовать с контрактом Outbox, чтобы вернуть свои активы.
  • При снятии средств не возникает проблем с истечением срока действия билетов. Пока длится период испытания, пользователи могут заявить о своих активах в любое время.

Межцепочечный шлюз для активов ERC-20

Перекрестное связывание активов ERC-20 - сложная задача. Мы можем подумать над несколькими вопросами:

  • Как развернуть токен, установленный на L1, на L2?
  • Нужно ли заранее вручную развернуть соответствующий контракт L2, или система может автоматически развернуть контракты на активы для токенов, которые уже перешли, но еще не развернули контракт?
  • Для активов ERC-20 на L1, каков соответствующий адрес контракта на L2? Должен ли он соответствовать L1?
  • Как токены, выпущенные на L2, могут быть переведены на L1?
  • Как можно использовать токены с особыми функциями, например, токены ребазы с регулируемым количеством или саморастущие процентные токены?

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

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

Arbitrum использует систему Gateway, чтобы решить большинство проблем с залипанием кросс-цепочек ERC20. Он обладает следующими характеристиками:

  • Компоненты шлюза располагаются парами в точках L1 и L2.
  • Шлюз-маршрутизатор отвечает за поддержание соответствия адресов между Token L1<->Token L2. Кроме того, отображение между некоторым маркером<->некоторым шлюзом.
  • Сам шлюз можно разделить на стандартный шлюз ERC20, шлюз Generic-custom, шлюз Custom и т.д., чтобы решить различные типы и функции проблем с мостом ERC20.

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

WETH - это ERC20-эквивалент ETH. Будучи основной валютой, Ether не может реализовать сложные функции во многих dApp, поэтому необходим эквивалент ERC20. Переведите некоторое количество ETH в контракт WETH, они будут заблокированы в контракте, и будет сгенерировано такое же количество WETH.

Таким же образом можно сжигать WETH и выводить ETH. Очевидно, что соотношение циркулирующих WETH и заблокированных ETH всегда составляет 1:1.

Если теперь мы напрямую соединим цепочку WETH с L2, то обнаружим несколько странных проблем:

  • Невозможно развернуть WETH в ETH на L2, потому что на L2 нет соответствующего ETH для блокировки.
  • Функцию Wrap можно использовать, но если эти вновь сгенерированные WETH будут переправлены обратно на L1, их нельзя будет декапсулировать в ETH на L1, поскольку контракты WETH на L1 и L2 не являются "симметричными".

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

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

Отложенная папка "Входящие

Аналогом быстрой папки "Входящие", известной как Sequencer Inbox, является медленная папка "Входящие" (полное название - Delayed Inbox). Зачем различать быстрое и медленное? Это связано с тем, что быстрый почтовый ящик предназначен для приема партий транзакций L2, опубликованных секвенсором, и любые транзакции, не прошедшие предварительную обработку секвенсором в сети L2, не должны появляться в контракте быстрого почтового ящика.

Первая функция медленного почтового ящика - обрабатывать процесс пополнения счета из L1 в L2. Пользователи инициируют пополнение счета через медленный почтовый ящик, и как только секвенсор замечает это, он отражает его на L2. В конечном счете, эта запись о вкладе включается секвенсором в последовательность транзакций L2 и передается в контракт быстрого ввода (Sequencer Inbox).

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

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

Если транзакция отправлена в папку Delayed Inbox и по истечении 24 часов она по-прежнему не включена секвенсором в последовательность транзакций, пользователи могут вручную запустить функцию принудительного включения на Layer1. Это действие заставляет транзакции, проигнорированные секвенсором, быть принудительно объединенными в быструю папку входящих сообщений (Sequencer Inbox). Впоследствии они будут обнаружены всеми узлами Arbitrum One и принудительно включены в последовательность транзакций уровня 2.

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

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

Несколько основных функций медленной папки "Входящие" (Inbox):

  • depositETH(): Простейшая функция для пополнения счета ETH.
  • createRetryableTicket(): Используется для внесения ETH, ERC20 и сообщений. Он предлагает большую гибкость по сравнению с depositETH(), позволяя задавать такие параметры, как адрес получения в L2 после депозита.
  • forceInclusion(): Эта функция, функция принудительного включения, может быть вызвана любым человеком. Функция проверяет, не была ли транзакция, отправленная по контракту "медленного входящего", обработана по истечении 24 часов. Если условия соблюдены, он принудительно включает сообщение.

Однако важно отметить, что функция включения силы на самом деле находится в быстром контракте inbox. Для облегчения понимания мы объяснили это вместе с медленным инбоксом.

Outbox

Outbox имеет отношение только к снятию денег и может быть понят как система записи и управления поведением при снятии денег:

  • Мы знаем, что для вывода средств на официальном мосту Arbitrum необходимо подождать около 7 дней, пока закончится период испытания, и вывод средств может быть осуществлен только после того, как будет завершен блок Rollup. После окончания периода испытания пользователь отправляет соответствующее доказательство Меркла контракту Outbox на Уровне1, который затем связывается с контрактами для выполнения других функций (например, разблокировки активов, заблокированных в других контрактах), и, наконец, завершает вывод средств.
  • Контракт OutBox будет записывать, какие межцепочечные сообщения от L2 к L1 были обработаны, чтобы предотвратить повторную подачу выполненных запросов на вывод средств. Он записывает соответствие между индексом трат и информацией запроса на вывод средств, используя 'mapping(uint256 => bytes32) public spent'. Если mapping[spentIndex] != bytes32(0), запрос был отозван. Принцип работы аналогичен счетчику транзакций Nonce для предотвращения атак повторного воспроизведения.

Ниже мы рассмотрим ETH в качестве примера, чтобы полностью объяснить процесс внесения и снятия средств. Единственное различие между ERC20 и ETH заключается в том, что в первом случае используется Gateway. Мы не будем объяснять это в деталях.

Депозит ETH

  1. Пользователь вызывает функцию depositETH() медленного ящика.

  2. Эта функция будет продолжать вызывать 'bridge.enqueueDelayedMessage()', запишите сообщение в мостовой контракт и отправьте ETH в мостовой контракт. Все средства депозита ETH хранятся в бридж-контракте, который эквивалентен адресу депозита.

  3. Секвенсор отслеживает сообщения о пополнении счета в медленном ящике и отражает операцию пополнения счета в базе данных L2. Пользователи могут видеть активы, которые они разместили в сети L2.

  4. Секвенсор включает запись о депозите в пакет транзакций и отправляет его в контракт фаст-бокса на L1.

Вывод средств из ETH

  1. Пользователь вызывает функцию withdrawEth() контракта ArbSys на L2, и соответствующее количество ET сгорает на L2.

  2. Секвенсор отправляет запрос на вывод средств в экспресс-бокс.

  3. Узел Validator создает новый блок Rollup Block на основе последовательности транзакций в быстром блоке, который будет содержать вышеуказанные транзакции вывода средств.

  4. После того, как блок Rollup пройдет период испытания, который также будет подтвержден, пользователь может вызвать функцию Outbox.execute Transaction() на L1, чтобы доказать, что параметры заданы контрактом ArbSys, о котором говорилось выше.

  5. После подтверждения правильности контракта Outbox соответствующее количество ETH в мосте будет разблокировано и отправлено пользователю.

Быстрое снятие наличных

При использовании официального моста Optimistic Rollup для снятия наличных возникнет проблема ожидания периода вызова. Для устранения этой проблемы мы можем использовать частный межцепочечный мост третьей стороны:

  • Атомарный обмен замками. Этот метод предусматривает обмен активами только между двумя сторонами в рамках их соответствующих цепочек и является атомарным. Если одна из сторон обеспечивает Предварительный расчет, обе стороны обязательно получат имущество, которого они заслуживают. Но проблема в том, что ликвидность относительно скудна, и Вам нужно найти контрагентов с помощью метода "равный-равному".F
  • Свидетели пересекают цепной мост. Общими типами мостов с перекрестными цепями являются мосты-свидетели. Пользователи подают собственные запросы на вывод средств, а пункт назначения вывода указывает на оператора стороннего моста или пула ликвидности. После того, как свидетель обнаружит, что межцепочечная транзакция была передана в контракт L1 fast box, он может напрямую перевести деньги пользователю на стороне L1. Этот подход, по сути, использует другую систему консенсуса для мониторинга уровня 2 и работы на основе данных, которые она передала на уровень 1. Проблема в том, что уровень безопасности в этом режиме не так высок, как в официальном мосте Rollup. \

Вынужденный уход

Функция force Inclusion() используется для противостояния цензуре секвенсора. Любая локальная транзакция L2, транзакция L1-L2 и транзакция L2-L1 может быть реализована с помощью этой функции. Вредоносная цензура секвенсора серьезно влияет на опыт транзакций. В большинстве случаев мы предпочитаем снять деньги и оставить L2. Поэтому ниже в качестве примера для ознакомления с использованием ForceInclusion используется принудительное снятие.

Если посмотреть на шаги вывода ETH, то только шаги 1 и 2 включают в себя цензуру секвенсора, поэтому нужно изменить только эти два шага:

  • При вызове 'inbox.sendL2Message()' в контракте slow box на L1, входные параметры - это параметры, которые необходимо ввести при вызове withdrawEth() на L2. Это сообщение будет передано мостовому контракту на L1.
  • После 24-часового периода ожидания принудительного включения вызывается функция Force Inclusion() в быстром блоке, чтобы выполнить принудительное включение. Контракт с быстрой коробкой проверит, есть ли соответствующее сообщение в мосту.

Конечные пользователи могут выводить деньги в Outbox, а остальные шаги такие же, как и при обычном выводе средств.

Кроме того, в arbitrum-tutorials есть подробные руководства по использованию Arb SDK, которые подскажут пользователям, как выполнять локальные транзакции L2 и транзакции L2 to L1 с помощью функции forceInclusion().

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

  1. Эта статья перепечатана из[极客 Web3]. Все авторские права принадлежат автору оригинала[极客 Web3]. Если у Вас есть возражения против этой перепечатки, пожалуйста, свяжитесь с командой Gate Learn, и они незамедлительно рассмотрят их.
  2. Предупреждение об ответственности: Мнения и взгляды, выраженные в этой статье, принадлежат исключительно автору и не являются инвестиционным советом.
  3. Перевод статьи на другие языки осуществляется командой Gate Learn. Если не указано, копирование, распространение или плагиат переведенных статей запрещены.

Пригласить больше голосов

Крипто-календарь

Обновления проекта
Etherex запустит токен REX 6 августа.
REX
22.27%
2025-08-06
Редкий день разработки и управления в Лас-Вегасе
Cardano проведет Rare Dev & Governance Day в Лас-Вегасе с 6 по 7 августа, включая семинары, хакатоны и панельные дискуссии, сосредоточенные на техническом развитии и вопросах управления.
ADA
-3.44%
2025-08-06
Блокчейн.Rio в Рио-де-Жанейро
Stellar примет участие в конференции Blockchain.Rio, которая состоится в Рио-де-Жанейро с 5 по 7 августа. Программа будет включать в себя ключевые выступления и панельные дискуссии с участием представителей экосистемы Stellar в сотрудничестве с партнерами Cheesecake Labs и NearX.
XLM
-3.18%
2025-08-06
Вебинар
Circle объявила о проведении вебинара Executive Insights на тему "Эра Закона GENIUS начинается", который запланирован на 7 августа 2025 года в 14:00 UTC. В ходе сессии будут рассмотрены последствия недавно принятого Закона GENIUS — первой федеральной регулирующей рамки для платежных стейблкоинов в Соединенных Штатах. Данта Диспарте и Кори Тен из Circle возглавят обсуждение того, как законодательство влияет на инновации в области цифровых активов, ясность регулирования и лидерство США в глобальной финансовой инфраструктуре.
USDC
-0.03%
2025-08-06
AMA на X
Ankr проведет AMA в X 7 августа в 16:00 UTC, сосредоточив внимание на работе DogeOS по созданию прикладного слоя для DOGE.
ANKR
-3.23%
2025-08-06

Похожие статьи

Что такое Tronscan и как вы можете использовать его в 2025 году?
Новичок

Что такое Tronscan и как вы можете использовать его в 2025 году?

Tronscan — это обозреватель блокчейна, который выходит за рамки основ, предлагая управление кошельком, отслеживание токенов, аналитику смарт-контрактов и участие в управлении. К 2025 году она будет развиваться за счет улучшенных функций безопасности, расширенной аналитики, кроссчейн-интеграции и улучшенного мобильного опыта. Теперь платформа включает в себя расширенную биометрическую аутентификацию, мониторинг транзакций в режиме реального времени и комплексную панель управления DeFi. Разработчики получают выгоду от анализа смарт-контрактов на основе искусственного интеллекта и улучшенных сред тестирования, в то время как пользователи наслаждаются унифицированным многоцепочечным представлением портфеля и навигацией на основе жестов на мобильных устройствах.
11/22/2023, 6:27:42 PM
Что такое Нейро? Все, что вам нужно знать о NEIROETH в 2025 году
Средний

Что такое Нейро? Все, что вам нужно знать о NEIROETH в 2025 году

Neiro - это собака породы шиба-ину, которая вдохновила запуск токенов Neiro на различных блокчейнах. К 2025 году Neiro Ethereum (NEIROETH) превратился в ведущий мем-коин с рыночной капитализацией 215 миллионов долларов, 87 000+ держателей и листингом на 12 крупнейших биржах. Экосистема теперь включает DAO для управления сообществом, официальный магазин мерчандайза и мобильное приложение. NEIROETH внедрил решения второго уровня для увеличения масштабируемости и закрепил свою позицию в топ-10 мем-коинов по капитализации, поддерживаемый активным сообществом и ведущими крипто-инфлюенсерами.
9/5/2024, 3:37:05 PM
Что такое индикатор кумулятивного объема дельты (CVD)? (2025)
Средний

Что такое индикатор кумулятивного объема дельты (CVD)? (2025)

Изучите эволюцию кумулятивного объема дельты (CVD) в криптоторговле в 2025 году, от интеграции машинного обучения и анализа межбиржевых данных до продвинутых инструментов визуализации, позволяющих более точно принимать рыночные решения за счет агрегации данных с нескольких платформ и автоматического обнаружения дивергенций.
12/10/2023, 8:02:26 PM
Лучшие криптовалютные лотерейные платформы на 2024 год
Новичок

Лучшие криптовалютные лотерейные платформы на 2024 год

Откройте для себя мир крипто-лотерей с помощью этого исчерпывающего руководства по механике крипто-лотерей, а также по лучшим платформам.
1/28/2024, 4:53:22 PM
Что такое Solscan и как его использовать? (Обновление 2025 года)
Средний

Что такое Solscan и как его использовать? (Обновление 2025 года)

Solscan — это усовершенствованный обозреватель блокчейна Solana, который предлагает пользователям веб-платформу для исследования и анализа транзакций, адресов кошельков, контрактов, NFT и DeFi проектов на блокчейне Solana. После его приобретения Etherscan в 2025 году платформа теперь имеет переработанную аналитическую панель, расширенные инструменты для разработчиков, продвинутые функции безопасности, комплексный мониторинг DeFi протоколов по 78 протоколам и сложные интеграции NFT-рынков с инструментами анализа редкости.
3/8/2024, 2:36:44 PM
15 криптовалютных проектов уровня 1 (L1), на которые стоит обратить внимание в 2024 году
Новичок

15 криптовалютных проектов уровня 1 (L1), на которые стоит обратить внимание в 2024 году

В этой статье рассматриваются 15 проектов криптовалюты Layer-1, на которые стоит обратить внимание в 2024 году, подчеркивая их важность в обеспечении безопасности, консенсуса и децентрализации экосистемы блокчейна. В то время как решения Layer-2 улучшают производительность, они все равно полагаются на безопасность и децентрализацию, обеспечиваемые сетями Layer-1.
7/19/2024, 7:05:12 AM
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!