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

# Bridge

> Bagaimana agunan berpindah antara Intention dan chain eksternal — deposit, penarikan dua fase dengan masa sanggah, dan peran-peran yang bisa menghentikannya.

Bridge adalah tempat jaringan ini bersentuhan dengan aset yang tidak diciptakannya. Semua hal lain dalam arsitektur ini adalah sistem tertutup yang kebenarannya bisa diperiksa siapa pun dengan me-replay blok. Bridge tidak bisa begitu, karena separuhnya berada di chain lain dengan validatornya sendiri, finalitasnya sendiri, dan mode kegagalannya sendiri.

Asimetri itulah yang mendorong desainnya. Deposit dan penarikan bukan operasi yang simetris, dan penarikan sengaja dibuat lebih lambat daripada yang secara teknis diperlukan.

<h2 id="roles">
  Peran
</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">Chain eksternal</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">Kontrak bridge</span><span className="dg-s">memegang kustodi · verifikasi tanda tangan sebelum melepas apa pun</span><span className="dg-n">bagian yang menjadi sandaran dana pengguna</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">Validator</span><span className="dg-s">mengamati chain eksternal dan menandatanganinya</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">Finalizer</span><span className="dg-s">relai, bukan otoritas — tidak bisa menciptakan penarikan tanpa tanda tangan validator</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">Governor</span><span className="dg-s">himpunan validator dan parameter — tidak aman diotomatiskan</span></div>
    <div className="dg-free" style={{left:"0.0000%",top:"89.0909%",width:"100.0000%"}}><div className="dg-n">Penarikan baru bisa ditindaklanjuti setelah cukup tanda tangan validator teragregasi — asumsi kepercayaan yang sama dengan konsensus, diterapkan melintasi batas chain.</div></div>
    <div className="dg-lbl" style={{left:"45.8333%",top:"21.2121%",width:"12.2222%",whiteSpace:"normal"}}>event deposit</div>
    <div className="dg-lbl" style={{left:"87.2222%",top:"36.9697%",width:"19.4444%",whiteSpace:"normal"}}>tanda tangan teragregasi</div>
    <div className="dg-lbl" style={{left:"45.8333%",top:"45.4545%",width:"12.2222%",whiteSpace:"normal"}}>transaksi penarikan</div>
  </div>
</div>

**Validator** mengamati chain eksternal dan menandatangani apa yang mereka lihat. Penarikan hanya bisa ditindaklanjuti setelah cukup banyak tanda tangan validator teragregasi — asumsi kepercayaan yang sama dengan konsensus, diterapkan melintasi batas chain.

**Finalizer** mengirim transaksi di sisi eksternal. Finalizer adalah relai, bukan otoritas: bisa memilih *kapan* mengirim, bisa gagal mengirim, tetapi tidak bisa menciptakan penarikan yang tidak ditandatangani validator.

**Governor** menjalankan operasi administratif — perubahan himpunan validator, pembaruan parameter. Wewenangnya adalah hal-hal yang tidak bisa diotomatiskan dengan aman.

**Kontrak bridge** memegang kustodi di sisi eksternal dan memverifikasi tanda tangan sebelum melepaskan apa pun. Inilah bagian yang benar-benar menjadi sandaran dana pengguna.

<h2 id="deposits">
  Deposit
</h2>

Deposit adalah arah yang mudah. Dana dikunci di kontrak eksternal, yang menerbitkan event deposit; validator mengamatinya, dan kredit itu menjadi transaksi native protokol di Intention.

Karena kredit itu adalah transaksi biasa, kredit itu mewarisi semua yang dijamin [kernel](/id/protocol/architecture/kernel). Eksekusinya mengikuti urutan kanonis, efeknya terhadap akun diatribusikan kepadanya, dan perubahannya terlihat di output yang sama dengan perubahan state lainnya. Deposit yang memulihkan margin pada posisi yang mendekati likuidasi terlihat oleh [lembaga kliring](/id/protocol/architecture/clearinghouse) di langkah eksekusi yang sama — bukan di rekonsiliasi belakangan.

Yang ditunggu adalah finalitas chain eksternal, bukan Intention. Deposit dikreditkan ketika kebutuhan konfirmasi chain sumber terpenuhi.

<h2 id="withdrawals">
  Penarikan
</h2>

Penarikan adalah arah yang berbahaya, dan berjalan dalam dua fase dengan **masa sanggah** di antaranya.

<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">Permintaan di 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">Ditandatangani validator, didaftarkan di kontrak</span><span className="dg-s">belum mencairkan</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">Masa sanggah</span><span className="dg-s">menunggu periode terkonfigurasi</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">Difinalisasi</span><span className="dg-s">dana dilepas</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">Dibatalkan</span><span className="dg-s">sebelum ada dana bergerak</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">Alasan menunggu</span><span className="dg-s">Setiap kegagalan bridge katastrofik punya struktur yang sama: penyerang memperoleh kemampuan mengotorisasi penarikan, dan dananya lenyap di blok yang sama. Masa sanggah mengubah kerugian instan tak terpulihkan menjadi jendela waktu bagi manusia dan pemantauan untuk bertindak. Ongkosnya: penarikan yang sah pun ikut menunggu.</span></div>
    <div className="dg-lbl" style={{left:"79.1667%",top:"10.3448%"}}>habis</div>
    <div className="dg-lbl" style={{left:"79.1667%",top:"54.4828%"}}>disanggah</div>
  </div>
</div>

Permintaan ditandatangani validator dan didaftarkan di kontrak eksternal. Permintaan itu belum mencairkan apa pun. Periode yang dikonfigurasi harus lewat lebih dulu, dan selama periode itu penarikan dapat **dibatalkan** — dibatalkan sebelum ada dana yang bergerak.

Ini bukan kelalaian performa. Setiap kegagalan bridge yang katastrofik punya struktur yang sama: seorang penyerang memperoleh kemampuan mengotorisasi penarikan, dan dananya lenyap di blok yang sama. Masa sanggah mengubah kerugian instan yang tak terpulihkan menjadi jendela waktu bagi manusia dan sistem pemantauan untuk bertindak. Ongkosnya adalah penarikan yang sah pun ikut menunggu.

Penarikan diproses dalam batch — diajukan dan difinalisasi berkelompok alih-alih satu transaksi masing-masing — itulah sebabnya biaya chain eksternal tidak naik linier terhadap jumlah penarikan.

Kegagalan bersifat eksplisit. Penarikan yang tidak bisa difinalisasi menerbitkan kegagalan dengan kode kesalahan alih-alih diam-diam tidak melakukan apa pun, sehingga perbedaan antara *tersangkut* dan *ditolak* dapat diamati alih-alih disimpulkan dari ketiadaan.

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

Ada dua mekanisme untuk saat ada yang salah.

**Pembatalan** membatalkan satu penarikan tertentu di dalam masa sanggahnya. Ini respons yang tertarget.

**Penguncian** adalah mekanisme yang tumpul: peran yang ditunjuk dapat mengunci bridge, dan berapa banyak pihak semacam itu yang harus bertindak juga merupakan parameter tersendiri. Ini mekanisme untuk “ada yang salah dan kami belum tahu apa” — penguncian menghentikan alirannya alih-alih mengadili transaksi satu per satu.

<Warning>
  Kontrol ini yang membuat masa sanggah berguna, dan sekaligus merupakan asumsi kepercayaan yang nyata. Pihak yang bisa mengunci bridge bisa menghentikan penarikan yang sah. Ini pertukaran yang disengaja: bridge gagal secara katastrofik dan tak terpulihkan, dan kemampuan menghentikannya lebih berharga daripada jaminan bahwa bridge tidak pernah berhenti. Lihat [Pengungkapan risiko](/id/protocol/security/risks).
</Warning>

<h2 id="validator-set-changes">
  Perubahan himpunan validator
</h2>

Kontrak eksternal harus tahu siapa saja validatornya, yang berarti perubahan himpunan validator harus merambat melintasi batas chain. Perubahan itu diusulkan lalu difinalisasi sebagai langkah terpisah, alih-alih berlaku begitu diajukan — bentuk dua fase yang sama dengan penarikan, dengan alasan yang sama.

<h2 id="where-the-risk-actually-sits">
  Letak risiko yang sebenarnya
</h2>

Layak dinyatakan terus terang, karena bridge adalah tempat pengguna kehilangan uang:

* **Di Intention, bridge bersifat biasa.** Deposit yang dikreditkan adalah transaksi normal dengan jaminan normal.
* **Di chain eksternal, Anda bergantung pada kontrak dan ambang batas tanda tangan.** Itu model keamanan yang berbeda dari konsensus, dan model itu [diaudit terpisah](/id/protocol/security/audits) — bridge adalah komponen yang sedang ditinjau pihak ketiga.
* **Di antaranya, Anda bergantung pada validator yang mengamati dengan benar** dan pada finalizer yang mengirim. Keduanya tidak bisa mengarang penarikan; keduanya bisa menundanya.

<Note>
  Chain yang didukung, aset, kebutuhan konfirmasi, dan panjang masa sanggah adalah parameter operasional yang berubah tiap rilis. Nilai yang otoritatif adalah yang ditampilkan di dialog deposit dan penarikan di bursa pada saat Anda melakukan transfer — lihat [Deposit](/id/help/deposit) dan [Withdraw](/id/help/withdraw).
</Note>

<h2 id="where-to-go-next">
  Ke mana selanjutnya
</h2>

<CardGroup cols={2}>
  <Card title="Melakukan deposit" href="/id/help/deposit">
    Jalur masuk dari sisi pengguna, dengan chain dan waktu yang berlaku saat ini.
  </Card>

  <Card title="Biaya non-trading" href="/id/programs/other-fees">
    Berapa biaya satu penarikan, dan mengapa deposit gratis.
  </Card>

  <Card title="Lembaga Kliring" href="/id/protocol/architecture/clearinghouse">
    Apa yang dilakukan deposit terhadap margin begitu dananya masuk.
  </Card>

  <Card title="Pengungkapan risiko" href="/id/protocol/security/risks">
    Asumsi kepercayaan bridge yang dinyatakan sebagai risiko.
  </Card>
</CardGroup>
