> ## Documentation Index
> Fetch the complete documentation index at: https://docs.intention.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Мост

> Как обеспечение перемещается между Intention и внешними блокчейнами: депозиты, двухфазные выводы с периодом оспаривания и роли, способные всё остановить.

Мост — точка, в которой сеть соприкасается с активами, которых она не создавала. Всё остальное в этой архитектуре — замкнутая система, корректность которой кто угодно может проверить, воспроизведя блоки. Мост таким быть не может: половина его находится в другом блокчейне, со своими валидаторами, своей финальностью и своими режимами отказа.

Эта асимметрия и определяет конструкцию. Депозиты и выводы — не симметричные операции, и выводы намеренно медленнее, чем требуется технически.

<h2 id="roles">
  Роли
</h2>

<div className="dg" data-dg="bridge-roles">
  <div className="dg-c" style={{aspectRatio:"720 / 330"}}>
    <svg className="dg-w" viewBox="0 0 720 330" aria-hidden="true">
      <path className="dg-wire dg--blue" d="M 289.00 86.00 L 364.60 86.00" />

      <path className="dg-head dg--blue" d="M 371.00 86.00 L 364.60 90.40 L 364.60 81.60 Z" />

      <path className="dg-wire dg--blue" d="M 540.00 112.00 L 540.00 125.60" />

      <path className="dg-head dg--blue" d="M 540.00 132.00 L 535.60 125.60 L 544.40 125.60 Z" />

      <path className="dg-wire dg--sky" d="M 371.00 166.00 L 295.40 166.00" />

      <path className="dg-head dg--sky" d="M 289.00 166.00 L 295.40 161.60 L 295.40 170.40 Z" />

      <path className="dg-wire dg--yellow dg-dash" d="M 371.00 246.00 L 330.00 246.00 L 330.00 196.00 L 295.40 196.00" />

      <path className="dg-head dg--yellow" d="M 289.00 196.00 L 295.40 191.60 L 295.40 200.40 Z" />
    </svg>

    <div className="dg-band" style={{left:"0.0000%",top:"7.8788%",width:"41.6667%",height:"63.6364%"}}><span className="dg-cap">Внешний блокчейн</span></div>
    <div className="dg-band" style={{left:"50.0000%",top:"7.8788%",width:"50.0000%",height:"78.7879%"}}><span className="dg-cap">Intention</span></div>
    <div className="dg-b dg--orange" style={{left:"2.2222%",top:"18.1818%",width:"37.2222%",height:"45.4545%"}}><span className="dg-t">Контракт моста</span><span className="dg-s">хранение средств · проверка подписей перед выпуском</span><span className="dg-n">часть, от которой реально зависят средства</span></div>
    <div className="dg-b dg--blue" style={{left:"52.2222%",top:"14.5455%",width:"45.5556%",height:"18.1818%"}}><span className="dg-t">Валидаторы</span><span className="dg-s">наблюдают внешний блокчейн и подписывают увиденное</span></div>
    <div className="dg-b dg--sky" style={{left:"52.2222%",top:"41.2121%",width:"45.5556%",height:"18.1818%"}}><span className="dg-t">Финализатор</span><span className="dg-s">ретранслятор, а не орган власти: не может создать вывод без подписей</span></div>
    <div className="dg-b dg--yellow" style={{left:"52.2222%",top:"65.4545%",width:"45.5556%",height:"18.1818%"}}><span className="dg-t">Администратор</span><span className="dg-s">набор валидаторов и параметры — то, что нельзя автоматизировать</span></div>
    <div className="dg-free" style={{left:"0.0000%",top:"89.0909%",width:"100.0000%"}}><div className="dg-n">Вывод становится исполнимым только после того, как собрано достаточно подписей валидаторов, — то же допущение о доверии, что и в консенсусе, только через границу блокчейнов.</div></div>
    <div className="dg-lbl" style={{left:"45.8333%",top:"21.2121%",width:"12.2222%",whiteSpace:"normal"}}>события депозитов</div>
    <div className="dg-lbl" style={{left:"87.2222%",top:"36.9697%",width:"19.4444%",whiteSpace:"normal"}}>агрегированные подписи</div>
    <div className="dg-lbl" style={{left:"45.8333%",top:"45.4545%",width:"12.2222%",whiteSpace:"normal"}}>транзакции вывода</div>
  </div>
</div>

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

**Финализатор** отправляет транзакции на внешней стороне. Это ретранслятор, а не орган власти: он может выбирать, *когда* отправить, и может не отправить вовсе, но не может создать вывод, который валидаторы не подписали.

**Администратор** выполняет административные операции: изменения набора валидаторов, обновления параметров. Его полномочия — ровно те, которые нельзя безопасно автоматизировать.

**Контракт моста** держит средства на внешней стороне и проверяет подписи, прежде чем что-либо выпустить. Это та часть, от которой на самом деле зависят средства пользователя.

<h2 id="deposits">
  Депозиты
</h2>

Депозит — лёгкое направление. Средства блокируются во внешнем контракте, который выпускает событие депозита; валидаторы его наблюдают, и зачисление становится нативной транзакцией протокола в Intention.

Раз это зачисление — обычная транзакция, оно наследует всё, что гарантирует [ядро](/ru/protocol/architecture/kernel). Оно исполняется в каноническом порядке, изменение, которое оно вносит в счёт, приписано именно ему, и видно оно в тех же выходных данных, что и любое другое изменение состояния. Если депозит восстанавливает маржу по позиции, стоящей у грани ликвидации, [клиринговая палата](/ru/protocol/architecture/clearinghouse) видит его в том же шаге исполнения, а не при последующей сверке.

Ждать приходится финальности внешнего блокчейна, а не Intention. Депозит зачисляется, когда выполнено требование по подтверждениям в исходном блокчейне.

<h2 id="withdrawals">
  Выводы
</h2>

Вывод — опасное направление, и он идёт в две фазы с **периодом оспаривания** между ними.

<div className="dg" data-dg="bridge-withdrawal">
  <div className="dg-c" style={{aspectRatio:"720 / 290"}}>
    <svg className="dg-w" viewBox="0 0 720 290" aria-hidden="true">
      <path className="dg-wire dg--blue" d="M 154.00 91.00 L 179.60 91.00" />

      <path className="dg-head dg--blue" d="M 186.00 91.00 L 179.60 95.40 L 179.60 86.60 Z" />

      <path className="dg-wire dg--sky" d="M 354.00 91.00 L 379.60 91.00" />

      <path className="dg-head dg--sky" d="M 386.00 91.00 L 379.60 95.40 L 379.60 86.60 Z" />

      <path className="dg-wire dg--green" d="M 554.00 91.00 L 582.40 49.29" />

      <path className="dg-head dg--green" d="M 586.00 44.00 L 586.04 51.77 L 578.76 46.81 Z" />

      <path className="dg-wire dg--orange" d="M 554.00 91.00 L 582.78 140.47" />

      <path className="dg-head dg--orange" d="M 586.00 146.00 L 578.98 142.68 L 586.58 138.26 Z" />
    </svg>

    <div className="dg-b dg--blue" style={{left:"0.0000%",top:"15.1724%",width:"20.8333%",height:"32.4138%"}}><span className="dg-t">Запрос в Intention</span></div>
    <div className="dg-b dg--sky" style={{left:"26.3889%",top:"15.1724%",width:"22.2222%",height:"32.4138%"}}><span className="dg-t">Подписан валидаторами, зарегистрирован в контракте</span><span className="dg-s">выплаты не производит</span></div>
    <div className="dg-b dg--yellow" style={{left:"54.1667%",top:"15.1724%",width:"22.2222%",height:"32.4138%"}}><span className="dg-t">Период оспаривания</span><span className="dg-s">должен истечь настроенный период</span></div>
    <div className="dg-b dg--green" style={{left:"81.9444%",top:"5.5172%",width:"18.0556%",height:"19.3103%"}}><span className="dg-t">Финализирован</span><span className="dg-s">средства выпущены</span></div>
    <div className="dg-b dg--orange" style={{left:"81.9444%",top:"40.6897%",width:"18.0556%",height:"19.3103%"}}><span className="dg-t">Аннулирован</span><span className="dg-s">отменён до движения средств</span></div>
    <div className="dg-b dg--orange dg-left" style={{left:"0.0000%",top:"67.5862%",width:"100.0000%",height:"26.2069%"}}><span className="dg-t">Зачем ожидание</span><span className="dg-s">У каждого катастрофического взлома моста одна и та же структура: атакующий получает возможность авторизовать вывод, и средства исчезают в том же блоке. Период оспаривания превращает мгновенную необратимую потерю в окно, в котором успевают сработать мониторинг и люди. Платить за это приходится тем, что законные выводы тоже ждут.</span></div>
    <div className="dg-lbl" style={{left:"79.1667%",top:"10.3448%"}}>истёк</div>
    <div className="dg-lbl" style={{left:"79.1667%",top:"54.4828%"}}>оспорен</div>
  </div>
</div>

Запрос подписывается валидаторами и регистрируется во внешнем контракте. Выплаты он не производит. Сначала должен истечь настроенный период, в течение которого вывод можно **аннулировать** — отменить до того, как сдвинутся хоть какие-то средства.

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

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

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

<h2 id="stopping-it">
  Как это остановить
</h2>

На случай, когда что-то пошло не так, есть два механизма.

**Аннулирование** отменяет конкретный вывод внутри его периода оспаривания. Это точечная реакция.

**Блокировка** — грубая: назначенная роль может заблокировать мост, а число сторон, которые должны для этого действовать, — тоже параметр. Это механизм на случай «что-то не так, и мы пока не знаем что»: он останавливает поток целиком, а не разбирает отдельные транзакции.

<Warning>
  Именно эти рычаги делают период оспаривания полезным, и они же — реальные допущения о доверии. Сторона, способная заблокировать мост, способна остановить и законные выводы. Это осознанный размен: мосты ломаются катастрофически и необратимо, и возможность остановить мост стоит больше, чем гарантия, что он никогда не встанет на паузу. См. [Раскрытие рисков](/ru/protocol/security/risks).
</Warning>

<h2 id="validator-set-changes">
  Изменения набора валидаторов
</h2>

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

<h2 id="where-the-risk-actually-sits">
  Где на самом деле сидит риск
</h2>

Стоит сказать прямо, потому что именно на мостах пользователи теряют деньги:

* **В Intention мост устроен обычно.** Зачисленный депозит — обычная транзакция с обычными гарантиями.
* **Во внешнем блокчейне вы зависите от контракта и порога подписей.** Это другая модель безопасности, не консенсусная, и она [проверяется аудитом отдельно](/ru/protocol/security/audits) — мост и есть тот компонент, который проходит сторонний аудит.
* **Между ними вы зависите от того, что валидаторы наблюдают верно**, и от того, что финализатор отправляет. Ни тот ни другой не могут сфабриковать вывод; задержать могут оба.

<Note>
  Поддерживаемые блокчейны, активы, требования по подтверждениям и длина периода оспаривания — эксплуатационные параметры, меняющиеся с каждым релизом. Авторитетны те значения, которые показаны в диалогах депозита и вывода в интерфейсе биржи в момент перевода — см. [Депозит](/ru/help/deposit) и [Вывод средств](/ru/help/withdraw).
</Note>

<h2 id="where-to-go-next">
  Что дальше
</h2>

<CardGroup cols={2}>
  <Card title="Пополнение счёта" href="/ru/help/deposit">
    Путь ввода средств глазами пользователя, с актуальными блокчейнами и сроками.
  </Card>

  <Card title="Неторговые комиссии" href="/ru/programs/other-fees">
    Сколько стоит вывод и почему депозиты бесплатны.
  </Card>

  <Card title="Клиринговая палата" href="/ru/protocol/architecture/clearinghouse">
    Что депозит делает с маржой в момент зачисления.
  </Card>

  <Card title="Раскрытие рисков" href="/ru/protocol/security/risks">
    Допущения о доверии к мосту, сформулированные как риски.
  </Card>
</CardGroup>
