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

# Verifikasi sendiri

> Lima pemeriksaan yang mengubah klaim arsitektur ini menjadi hal yang bisa Anda tuntaskan sendiri — dua di antaranya tanpa koneksi jaringan sama sekali.

Halaman-halaman ini berulang kali mengajukan empat klaim: bahwa perhitungan margin bisa diperiksa secara terpisah, bahwa siapa pun bisa menghitung ulang pemilihan auto-deleveraging, bahwa funding diturunkan alih-alih ditetapkan, dan bahwa dua node jujur menghasilkan hasil yang identik bita demi bita. Klaim berbentuk seperti itu tidak bernilai apa pun sampai seseorang di luar protokol benar-benar menjalankannya.

Halaman ini adalah caranya. Setiap pemeriksaan menyebutkan inputnya, dari mana asalnya, dan — sama pentingnya — apa yang *tidak* dibuktikannya.

<div className="dg" data-dg="verify-tiers">
  <div className="dg-c" style={{aspectRatio:"720 / 248"}}>
    <svg className="dg-w" viewBox="0 0 720 248" aria-hidden="true" />

    <div className="dg-band" style={{left:"0.0000%",top:"7.2581%",width:"30.9259%",height:"72.5806%"}}><span className="dg-cap">Cukup aritmetika</span></div>
    <div className="dg-band" style={{left:"34.5370%",top:"7.2581%",width:"30.9259%",height:"72.5806%"}}><span className="dg-cap">Data publik, node mana pun</span></div>
    <div className="dg-band" style={{left:"69.0741%",top:"7.2581%",width:"30.9259%",height:"72.5806%"}}><span className="dg-cap">Full node milik sendiri</span></div>
    <div className="dg-b dg--blue" style={{left:"2.2222%",top:"18.5484%",width:"26.4815%",height:"22.5806%"}}><span className="dg-t">Kebutuhan margin</span></div>
    <div className="dg-b dg--blue" style={{left:"2.2222%",top:"45.9677%",width:"26.4815%",height:"22.5806%"}}><span className="dg-t">Harga likuidasi</span></div>
    <div className="dg-b dg--orange" style={{left:"36.7593%",top:"18.5484%",width:"26.4815%",height:"22.5806%"}}><span className="dg-t">Pemilihan ADL</span></div>
    <div className="dg-b dg--orange" style={{left:"36.7593%",top:"45.9677%",width:"26.4815%",height:"22.5806%"}}><span className="dg-t">Pembayaran funding</span></div>
    <div className="dg-b dg--green" style={{left:"71.2963%",top:"32.2581%",width:"26.4815%",height:"22.5806%"}}><span className="dg-t">Satu blok, bita demi bita</span></div>
    <div className="dg-free dg-mid" style={{left:"0.0000%",top:"83.0645%",width:"100.0000%"}}><div className="dg-n">Dua dari lima sama sekali tidak butuh jaringan: rumusnya fungsi murni atas catatan tier yang dipublikasikan.</div></div>
  </div>
</div>

<h2 id="1-a-margin-requirement">
  1 · Kebutuhan margin
</h2>

**Yang Anda butuhkan:** satu catatan tier leverage dan satu ukuran posisi. Tidak ada lagi. Tanpa node, tanpa jaringan, tanpa akun.

Margin awal dan margin pemeliharaan adalah fungsi murni dari nosional dan catatan tier, dengan rumus serta pembulatan persisnya di [Leverage](/id/trading/leverage):

$$
\text{IM} = \text{nosional} \times \text{im\_leverage} \times 10^{\text{exponent}}
$$

$$
\text{MM} = \max\!\left(\text{nosional} \times \text{mm\_leverage} \times 10^{\text{exponent}} - \text{pengurang},\; 0\right)
$$

Catatan tier dipublikasikan di grup **DEX Config** pada [referensi API](https://testnet-openapi.intention.xyz/) — `im_leverage`, `mm_leverage`, `exponent` bersama, dan `deduction` tiap tier. Pilih satu nosional, hitung kedua ekspresi di atas kertas, lalu bandingkan dengan yang dikenakan bursa pada posisi yang sama.

**Apa yang dibuktikannya:** kebutuhan itu adalah fungsi terpublikasi atas parameter publik, bukan penilaian per akun. **Apa yang tidak dibuktikannya:** bahwa catatan tier itu dipilih dengan tepat. Itu urusan tata kelola, bukan aritmetika.

<Note>
  Pembulatan adalah bagian dari spesifikasi, bukan toleransi. Kalau bilangan bulat Anda berbeda satu satuan dari bursa, salah satunya keliru — lihat aturan pembulatan di halaman [Lembaga Kliring](/id/protocol/architecture/clearinghouse) sebelum menyimpulkan yang mana.
</Note>

<h2 id="2-a-liquidation-price">
  2 · Harga likuidasi
</h2>

**Yang Anda butuhkan:** catatan tier yang sama, ditambah saldo dan posisi Anda.

Ambangnya adalah sebuah rasio, didefinisikan di [Likuidasi](/id/trading/liquidations):

$$
\text{rasio} = \frac{\text{margin pemeliharaan}}{\text{agunan bersih}}
$$

Agunan bersih adalah saldo ditambah P\&L belum terealisasi, dikurangi yang sudah dicadangkan order terpasang. Pecahkan untuk harga mark ketika rasio itu mencapai pemicunya, dan Anda memegang harga saat protokol akan bertindak — sebelum ia bertindak.

**Apa yang dibuktikannya:** pemicunya bisa diturunkan lebih dulu dari angka Anda sendiri. **Apa yang tidak dibuktikannya:** harga saat Anda benar-benar ditutup, yang bergantung pada order book saat itu dan dibatasi harga kebangkrutan.

<h2 id="3-an-auto-deleveraging-selection">
  3 · Pemilihan auto-deleveraging
</h2>

**Yang Anda butuhkan:** posisi terbuka dan harga mark satu pasar, dari full node mana pun.

Pemilihannya adalah sebuah skor, didefinisikan di [Auto-deleveraging](/id/trading/adl):

$$
\text{skor} = \text{\% profit belum terealisasi} \times \text{leverage efektif}
$$

Ambil posisi di sebuah pasar dari grup **Accounts** dan harga tersertifikasi dari grup **Oracle**, hitung skor tiap posisi di sisi yang untung, lalu urutkan. Urutan itulah antreannya. Bandingkan puncak antrean hitungan Anda dengan indikator ADL yang ditampilkan antarmuka.

**Apa yang dibuktikannya:** antreannya adalah fungsi dari state publik. Tidak ada yang memilih, dan tidak ada posisi di dalamnya yang tak bisa ditemukan aritmetika Anda sendiri. **Apa yang tidak dibuktikannya:** bahwa deleveraging tidak akan sampai kepada Anda. Antrean yang bisa Anda hitung tetap antrean yang bisa Anda tempati.

<h2 id="4-a-funding-payment">
  4 · Pembayaran funding
</h2>

**Yang Anda butuhkan:** order book dan indeks tersertifikasi untuk ronde penyelesaian, ditambah posisi Anda.

Rate-nya dibangun dalam tiga langkah di [Funding](/id/trading/funding) — premi berbobot kedalaman, diskalakan ke interval pasar, lalu dikunci:

$$
P = \frac{\max(0,\; \text{DW bid} - \text{indeks}) \;-\; \max(0,\; \text{indeks} - \text{DW ask})}{\text{indeks}}
$$

$$
F = F_{8h} \times \frac{\text{detik interval}}{28{,}800}
\qquad
F_{\text{final}} = \operatorname{clamp}\!\left(F,\; F_{\min},\; F_{\max}\right)
$$

Lalu tagihannya sendiri:

$$
\text{pembayaran funding} = \text{ukuran posisi} \times \text{harga mark} \times \text{funding rate}
$$

Order book berasal dari grup **Markets**, indeks tersertifikasi dari **Oracle**, dan pembayaran yang benar-benar dilakukan protokol dari endpoint pembayaran funding di grup **Accounts**. Hitung ulang lalu bandingkan.

**Apa yang dibuktikannya:** rate-nya diturunkan dari order book dan indeks, bukan ditetapkan operator. **Apa yang tidak dibuktikannya:** bahwa indeksnya benar. Lihat [apa yang dijamin dan tidak dijamin oracle](/id/protocol/architecture/oracle).

<h2 id="5-a-block-byte-for-byte">
  5 · Satu blok, bita demi bita
</h2>

**Yang Anda butuhkan:** full node milik Anda sendiri. Siapa pun bisa menjalankannya — lihat [Menjalankan node](/id/developers/run-a-node).

<Note>
  Ini satu-satunya pemeriksaan di halaman ini yang belum tersedia hari ini. Jaringan berada di [testnet privat](/id/protocol/architecture/network-status) sampai akses publik dibuka, jadi empat yang pertama bisa dijalankan sekarang dan yang ini menyusul kemudian. Ia dicantumkan di sini karena nilai keempat yang lain bertumpu pada yang satu ini.
</Note>

Inilah pemeriksaan tempat keempat lainnya bertumpu. Ambil sebuah blok yang sudah dikomit beserta state sebelumnya, eksekusi, lalu bandingkan hasil Anda dengan hasil jaringan. Determinisme di sini ditegakkan, bukan diharapkan: jalur eksekusinya tidak membaca jam dinding, entropi runtime, floating point, maupun urutan iterasi yang diacak hash — sehingga perbedaan adalah cacat, bukan toleransi. Lihat [Mengapa hasilnya bisa direproduksi](/id/protocol/architecture/kernel).

Dua sifat membuat ini uji sungguhan, bukan seremoni. Urutannya adalah objek yang dikomit konsensus, jadi rangkaian yang Anda replay adalah yang ditandatangani kuorum, bukan yang disimpulkan node Anda. Dan harganya dikomit oleh tanda tangan yang sama, sehingga tidak ada celah untuk melakukan replay terhadap harga yang tidak disahkan jaringan.

**Apa yang dibuktikannya:** bahwa state yang disajikan kepada Anda dihasilkan oleh aturan sebagaimana dipublikasikan, atas input yang dikomit jaringan. **Apa yang tidak dibuktikannya:** bahwa aturannya bebas cacat. Mereproduksi sebuah bug secara persis tetaplah mereproduksi bug — itulah sebabnya [audit](/id/protocol/security/audits) dan [bug bounty](/id/protocol/security/bug-bounty) ada berdampingan dengan ini.

<h2 id="what-none-of-it-covers">
  Yang tidak tercakup oleh semuanya
</h2>

Verifikasi membatasi apa yang harus diterima atas dasar kepercayaan; ia tidak menghapusnya. Yang tersisa — himpunan validator, kuorum harga, jangkauan tata kelola atas parameter, dan bridge — dienumerasi di [Asumsi kepercayaan](/id/protocol/architecture/trust). Baca halaman itu berikutnya kalau Anda datang untuk mencari batasnya, bukan jaminannya.

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

<CardGroup cols={2}>
  <Card title="Asumsi kepercayaan" href="/id/protocol/architecture/trust">
    Apa yang tersisa setelah semua yang bisa diperiksa diperiksa.
  </Card>

  <Card title="Menjalankan node" href="/id/developers/run-a-node">
    Perangkat keras, sinkronisasi, dan apa yang benar-benar dijalankan validator.
  </Card>

  <Card title="IntentionKernel" href="/id/protocol/architecture/kernel">
    Empat penutupan yang membuat replay bermakna.
  </Card>

  <Card title="Referensi API" href="https://testnet-openapi.intention.xyz/">
    Detail tingkat field untuk setiap input yang disebut di atas.
  </Card>
</CardGroup>
