Skip to main content
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.
Cukup aritmetika
Data publik, node mana pun
Full node milik sendiri
Kebutuhan margin
Harga likuidasi
Pemilihan ADL
Pembayaran funding
Satu blok, bita demi bita
Dua dari lima sama sekali tidak butuh jaringan: rumusnya fungsi murni atas catatan tier yang dipublikasikan.

1 · Kebutuhan margin

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: IM=nosional×im_leverage×10exponent\text{IM} = \text{nosional} \times \text{im\_leverage} \times 10^{\text{exponent}} MM=max⁡ ⁣(nosional×mm_leverage×10exponent−pengurang,  0)\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 — 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.
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 sebelum menyimpulkan yang mana.

2 · Harga likuidasi

Yang Anda butuhkan: catatan tier yang sama, ditambah saldo dan posisi Anda. Ambangnya adalah sebuah rasio, didefinisikan di Likuidasi: rasio=margin pemeliharaanagunan bersih\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.

3 · Pemilihan auto-deleveraging

Yang Anda butuhkan: posisi terbuka dan harga mark satu pasar, dari full node mana pun. Pemilihannya adalah sebuah skor, didefinisikan di Auto-deleveraging: skor=% profit belum terealisasi×leverage efektif\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.

4 · Pembayaran funding

Yang Anda butuhkan: order book dan indeks tersertifikasi untuk ronde penyelesaian, ditambah posisi Anda. Rate-nya dibangun dalam tiga langkah di Funding — premi berbobot kedalaman, diskalakan ke interval pasar, lalu dikunci: P=max⁡(0,  DW bid−indeks)  −  max⁡(0,  indeks−DW ask)indeksP = \frac{\max(0,\; \text{DW bid} - \text{indeks}) \;-\; \max(0,\; \text{indeks} - \text{DW ask})}{\text{indeks}} F=F8h×detik interval28,800Ffinal=clamp⁡ ⁣(F,  Fmin⁡,  Fmax⁡)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: pembayaran funding=ukuran posisi×harga mark×funding rate\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.

5 · Satu blok, bita demi bita

Yang Anda butuhkan: full node milik Anda sendiri. Siapa pun bisa menjalankannya — lihat Menjalankan node.
Ini satu-satunya pemeriksaan di halaman ini yang belum tersedia hari ini. Jaringan berada di testnet privat 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.
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. 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 dan bug bounty ada berdampingan dengan ini.

Yang tidak tercakup oleh semuanya

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. Baca halaman itu berikutnya kalau Anda datang untuk mencari batasnya, bukan jaminannya.

Ke mana selanjutnya

Asumsi kepercayaan

Apa yang tersisa setelah semua yang bisa diperiksa diperiksa.

Menjalankan node

Perangkat keras, sinkronisasi, dan apa yang benar-benar dijalankan validator.

IntentionKernel

Empat penutupan yang membuat replay bermakna.

Referensi API

Detail tingkat field untuk setiap input yang disebut di atas.