Skip to main content
Pengali sebuah ronde Crash ditentukan sebelum taruhan ditutup dan tidak dapat diubah setelahnya. Backend memublikasikan hash SHA-256 dari sebuah rahasia acak di on-chain sebelum taruhan dibuka, program mencampurkan slot hash Solana saat ronde dimulai, dan rahasia tersebut diungkap saat penyelesaian agar siapa pun dapat menghitung ulang titik crash dan memeriksanya. Halaman ini menjelaskan mekanisme persis di balik setiap ronde Crash: apa yang di-commit, kapan hasil menjadi tetap, rumus yang tepat, dan batas-batas jujur dari skema ini. Jika belum, baca dulu Ikhtisar provably fair; halaman itu menjelaskan commit-reveal dalam bahasa sederhana.

Apa yang terjadi on-chain selama ronde Crash?

Setiap ronde Crash dibangun dari tiga transaksi on-chain, dengan urutan berikut:
  1. Commit: sebelum taruhan dibuka, backend membuat rahasia acak 32 byte dan memublikasikan hash SHA-256-nya di on-chain (instruksi start_new_round). Inilah commitment: sejak saat ini, hanya rahasia yang persis sama yang dapat menyelesaikan ronde tersebut. Commitment bersifat publik di event CrashRoundPrepared milik transaksi itu.
  2. Taruhan: pemain memasang taruhan. Rahasia tetap tersembunyi; commitment menjamin rahasia itu tidak dapat ditukar.
  3. Awal ronde / pengambilan entropi: saat ronde dimulai (instruksi start_game), program membaca slot hash terbaru dari sysvar SlotHashes Solana dan menyimpannya di ronde. Aplikasi menyebut nilai ini sebagai block hash ronde. Titik crash kini sudah sepenuhnya ditentukan (ia murni fungsi dari slot hash yang disimpan dan rahasia yang di-commit), tetapi siapa pun yang tidak mengetahui rahasianya belum dapat menghitungnya. Nilai ini bersifat publik di event CrashGameStarted.
  4. Ronde berjalan: pengali naik dan pemain melakukan cashout.
  5. Reveal: backend mengirimkan rahasia (instruksi crash). Program memverifikasi secara on-chain bahwa sha256(secret) sama dengan commitment (jika tidak cocok, transaksi gagal), lalu menghitung sendiri titik crash dan memfinalisasi ronde. Event CrashRoundFinalized memublikasikan rahasia, slot hash, dan titik crash akhir.

Apa rumus pasti titik crash?

Titik crash diturunkan persis seperti ini (inilah aritmetika yang dijalankan program on-chain: matematika bilangan bulat, tanpa kejutan pembulatan):
Catatan tentang detail yang penting saat Anda menghitung ulang:
  • Urutan penggabungan adalah blockhash dulu, lalu secret.
  • X dibaca secara big-endian dari 4 byte pertama output SHA-256.
  • Pembagian adalah pembagian floor (bilangan bulat, dibulatkan ke bawah).
  • Batas bawah max(10000, …) berarti pengali tidak pernah di bawah 1.00x, dan batas atas pada X mencegah penyebut yang sangat kecil.

Contoh perhitungan

Dengan X = 0xABCD1234 (2,882,343,476) dan edge saat ini sebesar 1.5% (edge_bps = 150):

Seperti apa distribusinya

Rumus ini memetakan X yang seragam ke kurva crash klasik. Probabilitas sebuah ronde mencapai setidaknya pengali m kira-kira:
Dengan edge saat ini sebesar 1.5%: sekitar 49.25% ronde mencapai 2.00x, sekitar 9.85% mencapai 10x, dan sekitar 1.5% ronde langsung crash di 1.00x (di situlah house edge, atau keunggulan kasino, berada). Edge yang berlaku untuk setiap ronde adalah nilai yang dikonfigurasi on-chain pada saat reveal; nilai saat ini tercantum di Biaya & batas.

Apa yang dijamin, dan apa yang tidak

Ditegakkan oleh program:
  • Setelah commitment ada di on-chain, operator tidak dapat mengubah rahasia ronde: transaksi reveal gagal untuk rahasia apa pun yang hash-nya tidak cocok.
  • Begitu ronde dimulai (slot hash disimpan), titik crash sudah tetap. Cashout lebih awal, terlambat, atau dalam jumlah besar tidak mengubah apa pun: hasilnya sudah ditentukan sebelum pengali mulai naik.
  • Titik crash dihitung oleh program, bukan dilaporkan oleh backend. Nilai yang salah tidak dapat ditulis ke on-chain.
  • Semua yang diperlukan untuk verifikasi (commitment, slot hash, rahasia, titik crash akhir) dipublikasikan dalam event on-chain, secara permanen.
Catatan jujurnya (ini commit-reveal, bukan VRF):
  • Waktu mulai. Operator mengetahui rahasia sebelum ronde dimulai, dan backend-nya memutuskan kapan mengirim transaksi awal ronde. Karena slot hash terbaru bersifat publik, secara teori operator dapat menghitung lebih dulu pengali yang akan dihasilkan untuk slot-slot kandidat dan mengatur waktu mulai untuk memengaruhi slot hash mana yang diambil. Skema ini tidak mencegahnya; skema ini membuatnya dapat diamati: waktu mulai ronde bersifat publik, dan bias sistematis apa pun akan terlihat dalam statistik titik crash yang dipublikasikan, yang dapat dihitung ulang secara massal oleh siapa pun.
  • Pembatalan. Setelah ronde dimulai, operator mengetahui hasilnya sebelum pemain, dan dapat membatalkan ronde yang tidak menguntungkan alih-alih melakukan reveal. Ada dua batas tegas: pembatalan mengembalikan setiap taruhan secara penuh (program tidak punya jalur penyitaan), dan setiap pembatalan memancarkan event publik; frekuensi pembatalan adalah penandanya di on-chain. Pembatalan ada sebagai jalur pemulihan jika rahasia hilang (misalnya backend crash antara commit dan reveal) dan diperkirakan hampir tidak pernah digunakan.

Bagaimana cara memverifikasi ronde Crash?

Detail setiap ronde yang selesai di aplikasi menampilkan rahasia yang diungkap dan block hash, serta menautkan ke ketiga transaksi ditambah alat verifikasi keadilan yang menghitung ulang pengali untuk Anda. Untuk panduan lengkap langkah demi langkah, termasuk skrip kecil untuk menghitung ulang titik crash sendiri, lihat Verifikasi ronde. Untuk cara memainkan game itu sendiri (cashout, jendela taruhan, batas), lihat panduan game Crash.