> ## 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.

# Puente

> Cómo se mueve el colateral entre Intention y las cadenas externas — depósitos, retiros en dos fases con un periodo de disputa y los roles que pueden detenerlo.

El puente es donde la red toca activos que no ha creado. Todo lo demás en esta arquitectura es un sistema cerrado cuya corrección cualquiera puede comprobar reejecutando bloques. Un puente no puede serlo, porque la mitad de él está en otra cadena con sus propios validadores, su propia firmeza y sus propios modos de fallo.

Esa asimetría dirige el diseño. Los depósitos y los retiros no son operaciones simétricas, y los retiros son deliberadamente más lentos de lo que técnicamente necesitan ser.

<h2 id="roles">
  Los 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">Cadena externa</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">Contrato del puente</span><span className="dg-s">custodia · verifica firmas antes de liberar nada</span><span className="dg-n">la pieza de la que dependen tus fondos</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">Validadores</span><span className="dg-s">observan la cadena externa y firman lo que ven</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">Finalizador</span><span className="dg-s">retransmisor, no autoridad — no puede crear un retiro sin firmas de validadores</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">Gobernador</span><span className="dg-s">validadores y parámetros — lo que no se automatiza con seguridad</span></div>
    <div className="dg-free" style={{left:"0.0000%",top:"89.0909%",width:"100.0000%"}}><div className="dg-n">Un retiro solo puede ejecutarse cuando se agregan suficientes firmas de validadores — el mismo supuesto de confianza que el consenso, aplicado entre cadenas.</div></div>
    <div className="dg-lbl" style={{left:"45.8333%",top:"21.2121%",width:"12.2222%",whiteSpace:"normal"}}>eventos de depósito</div>
    <div className="dg-lbl" style={{left:"87.2222%",top:"36.9697%",width:"19.4444%",whiteSpace:"normal"}}>firmas agregadas</div>
    <div className="dg-lbl" style={{left:"45.8333%",top:"45.4545%",width:"12.2222%",whiteSpace:"normal"}}>transacciones de retiro</div>
  </div>
</div>

**Los validadores** observan la cadena externa y firman lo que ven. Un retiro solo puede ejecutarse cuando se han agregado suficientes firmas de validadores: el mismo supuesto de confianza que el consenso, aplicado a través de la frontera entre cadenas.

**El finalizador** envía transacciones en el lado externo. Es un retransmisor, no una autoridad: puede elegir *cuándo* enviar y puede no enviar, pero no puede crear un retiro que los validadores no hayan firmado.

**El gobernador** se encarga de las operaciones administrativas: cambios en el conjunto de validadores, actualizaciones de parámetros. Sus poderes son los que no se pueden automatizar con seguridad.

**El contrato del puente** tiene la custodia en el lado externo y verifica las firmas antes de liberar nada. Es la pieza de la que dependen de verdad los fondos de un usuario.

<h2 id="deposits">
  Los depósitos
</h2>

El depósito es la dirección fácil. Los fondos se bloquean en el contrato externo, que emite un evento de depósito; los validadores lo observan y el abono se convierte en una transacción nativa del protocolo en Intention.

Como ese abono es una transacción ordinaria, hereda todo lo que garantiza el [kernel](/es/protocol/architecture/kernel). Se ejecuta en el orden canónico, su efecto sobre la cuenta se le atribuye y es visible en la misma salida que cualquier otro cambio de estado. Un depósito que restaura el margen de una posición cercana a la liquidación es visible para la [cámara de compensación](/es/protocol/architecture/clearinghouse) en el mismo paso de ejecución, no en una conciliación posterior.

La espera está en la firmeza de la cadena externa, no en Intention. Un depósito se abona cuando se cumple el requisito de confirmaciones de la cadena de origen.

<h2 id="withdrawals">
  Los retiros
</h2>

El retiro es la dirección peligrosa, y se desarrolla en dos fases con un **periodo de disputa** entre ellas.

<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">Solicitado en 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">Firmado por validadores, registrado en el contrato</span><span className="dg-s">aún no se abona nada</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">Periodo de disputa</span><span className="dg-s">transcurre un periodo configurado</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">Finalizado</span><span className="dg-s">fondos liberados</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">Invalidado</span><span className="dg-s">cancelado antes de que se mueva nada</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">Por qué espera</span><span className="dg-s">Todo fallo catastrófico de un puente tiene la misma estructura: un atacante logra autorizar un retiro y los fondos desaparecen en el mismo bloque. Un periodo de disputa convierte una pérdida instantánea e irreversible en una ventana en la que la monitorización y las personas pueden actuar. El coste es que los retiros legítimos también esperan.</span></div>
    <div className="dg-lbl" style={{left:"79.1667%",top:"10.3448%"}}>transcurrido</div>
    <div className="dg-lbl" style={{left:"79.1667%",top:"54.4828%"}}>disputado</div>
  </div>
</div>

Los validadores firman la solicitud y esta queda registrada en el contrato externo. Todavía no se abona nada. Antes tiene que transcurrir un periodo configurado, durante el cual el retiro se puede **invalidar**: cancelar antes de que se mueva ningún fondo.

Esto no es un descuido de rendimiento. Todo fallo catastrófico de un puente tiene la misma estructura: un atacante obtiene la capacidad de autorizar un retiro y los fondos desaparecen en el mismo bloque. Un periodo de disputa convierte una pérdida instantánea e irreversible en una ventana en la que las personas y la monitorización pueden actuar. El coste es que los retiros legítimos también esperan.

Los retiros se agrupan en lotes (se solicitan y se finalizan en grupos, en lugar de una transacción cada uno), y por eso las comisiones de la cadena externa no crecen linealmente con el número de retiros.

Los fallos son explícitos. Un retiro que no puede finalizarse emite un fallo con un código de error en lugar de no hacer nada en silencio, de modo que la diferencia entre *atascado* y *rechazado* se observa en lugar de inferirse de una ausencia.

<h2 id="stopping-it">
  Detenerlo
</h2>

Existen dos mecanismos para cuando algo va mal.

**La invalidación** cancela un retiro concreto dentro de su periodo de disputa. Es la respuesta dirigida.

**El bloqueo** es el mecanismo contundente: un rol designado puede bloquear el puente, y el número de partes de ese tipo que deben actuar es a su vez un parámetro. Este es el mecanismo para “algo va mal y todavía no sabemos qué”: detiene el flujo en lugar de dirimir transacciones individuales.

<Warning>
  Estos controles son lo que hace útil el periodo de disputa, y son también supuestos de confianza reales. Una parte que puede bloquear el puente puede detener retiros legítimos. Es un compromiso deliberado: los puentes fallan de forma catastrófica e irreversible, y poder detener uno vale más que poder garantizar que nunca se pausa. Consulta [Advertencias de riesgo](/es/protocol/security/risks).
</Warning>

<h2 id="validator-set-changes">
  Cambios en el conjunto de validadores
</h2>

El contrato externo tiene que saber quiénes son los validadores, lo que significa que los cambios en el conjunto de validadores deben propagarse a través de la frontera. Se proponen y después se finalizan como un paso aparte, en lugar de surtir efecto en el momento en que se envían: la misma forma en dos fases que los retiros, y por la misma razón.

<h2 id="where-the-risk-actually-sits">
  Dónde está realmente el riesgo
</h2>

Conviene decirlo con claridad, porque los puentes son donde los usuarios pierden dinero:

* **En Intention, el puente es algo ordinario.** Un depósito abonado es una transacción normal con garantías normales.
* **En la cadena externa, dependes del contrato y del umbral de firmas.** Ese es un modelo de seguridad distinto del consenso, y se [audita por separado](/es/protocol/security/audits): el puente es el componente sometido a revisión de terceros.
* **En medio, dependes de que los validadores observen correctamente** y de que el finalizador envíe. Ninguno de los dos puede fabricar un retiro; los dos pueden retrasarlo.

<Note>
  Las cadenas y activos admitidos, los requisitos de confirmaciones y la duración del periodo de disputa son parámetros operativos que cambian con cada versión. Los valores que mandan son los que muestran los diálogos de depósito y retiro en el exchange en el momento en que transfieres. Consulta [Deposit](/es/help/deposit) (depositar) y [Withdraw](/es/help/withdraw) (retirar).
</Note>

<h2 id="where-to-go-next">
  Qué leer a continuación
</h2>

<CardGroup cols={2}>
  <Card title="Depositar fondos" href="/es/help/deposit">
    La ruta de entrada para el usuario, con las cadenas y los tiempos actuales.
  </Card>

  <Card title="Comisiones ajenas al trading" href="/es/programs/other-fees">
    Cuánto cuesta un retiro y por qué los depósitos son gratis.
  </Card>

  <Card title="Cámara de compensación" href="/es/protocol/architecture/clearinghouse">
    Qué le hace un depósito al margen en el instante en que llega.
  </Card>

  <Card title="Advertencias de riesgo" href="/es/protocol/security/risks">
    Los supuestos de confianza del puente enunciados como riesgos.
  </Card>
</CardGroup>
