Skip to main content
Bir Crash turunun çarpanı bahisler kapanmadan önce belirlenir ve sonradan değiştirilemez. Backend, bahisler açılmadan önce rastgele bir gizli değerin SHA-256 hash’ini zincir üstünde yayımlar; program tur başladığında işin içine bir Solana slot hash’i katar; gizli değer ise sonuçlandırmada açıklanır. Böylece herkes crash noktasını yeniden hesaplayıp kontrol edebilir. Bu sayfa her Crash turunun ardındaki mekanizmayı tam olarak anlatır: neyin taahhüt edildiği, sonucun ne zaman sabitlendiği, formülün tam hâli ve şemanın dürüstçe ifade edilmiş sınırları. Henüz okumadıysanız önce Kanıtlanabilir adilliğe genel bakış sayfasını okuyun; orada commit-reveal sade bir dille açıklanıyor.

Bir Crash turu sırasında zincir üstünde neler olur?

Her Crash turu, bu sırayla üç zincir üstü işlemden oluşur:
  1. Commit: bahisler açılmadan önce backend rastgele 32 baytlık bir gizli değer üretir ve SHA-256 hash’ini zincir üstünde yayımlar (start_new_round talimatı). Taahhüt budur: bu andan itibaren turu yalnızca o gizli değerin kendisi sonuçlandırabilir. Taahhüt, işlemin CrashRoundPrepared olayında herkese açıktır.
  2. Bahisler: oyuncular bahislerini yapar. Gizli değer saklı kalır; taahhüt, değiştirilemeyeceğini garanti eder.
  3. Tur başlangıcı / entropinin yakalanması: tur başladığında (start_game talimatı) program, Solana’nın SlotHashes sysvar’ından en son slot hash’ini okur ve tura kaydeder. Uygulama bu değere turun blok hash’i der. Crash noktası artık tamamen belirlenmiştir (kaydedilen slot hash’inin ve taahhüt edilen gizli değerin saf bir fonksiyonudur), ancak gizli değeri bilmeyen hiç kimse onu henüz hesaplayamaz. Bu değer CrashGameStarted olayında herkese açıktır.
  4. Tur oynanır: çarpan yükselir ve oyuncular kazançlarını alır.
  5. Reveal: backend gizli değeri gönderir (crash talimatı). Program, sha256(secret) değerinin taahhüde eşit olduğunu zincir üstünde doğrular (eşleşmezse işlem başarısız olur), ardından crash noktasını bizzat hesaplar ve turu kesinleştirir. CrashRoundFinalized olayı gizli değeri, slot hash’ini ve nihai crash noktasını yayımlar.

Crash noktası formülünün tam hâli nedir?

Crash noktası tam olarak şöyle türetilir (zincir üstü programın yürüttüğü aritmetik budur: tamsayı matematiği, sürpriz yuvarlama yok):
Yeniden hesaplarken önemli olan ayrıntılar:
  • Birleştirme sırası önce blockhash, sonra secret şeklindedir.
  • X, SHA-256 çıktısının ilk 4 baytından big-endian olarak okunur.
  • Bölmeler aşağı yuvarlamalı (tamsayı) bölmelerdir.
  • max(10000, …) alt sınırı, çarpanın asla 1.00x’in altına düşmeyeceği anlamına gelir; X üzerindeki sınır ise paydanın astronomik derecede küçülmesini önler.

Örnek hesaplama

X = 0xABCD1234 (2.882.343.476) ve mevcut %1,5 kasa avantajı (edge_bps = 150) ile:

Dağılım nasıl görünür

Formül, düzgün dağılımlı bir X değerini klasik crash eğrisine dönüştürür. Bir turun en az m çarpanına ulaşma olasılığı yaklaşık olarak şudur:
Mevcut %1,5 kasa avantajıyla: turların yaklaşık %49,25’i 2.00x’e, yaklaşık %9,85’i 10x’e ulaşır ve turların yaklaşık %1,5’i anında 1.00x’te çöker (kasa avantajı tam da buradadır). Her tura uygulanan kasa avantajı, reveal anında zincir üstünde yapılandırılmış değerdir; güncel değer Ücretler ve limitler sayfasında listelenir.

Neler garanti edilir, neler edilmez

Program tarafından zorunlu kılınanlar:
  • Taahhüt zincire yazıldıktan sonra operatör turun gizli değerini değiştiremez: hash’i eşleşmeyen herhangi bir gizli değerle reveal işlemi başarısız olur.
  • Tur başladıktan (slot hash’i kaydedildikten) sonra crash noktası sabitlenmiştir. Kazancı erken, geç ya da topluca almak hiçbir şeyi değiştirmez: sonuç, çarpan yükselmeye başlamadan önce belirlenmiştir.
  • Crash noktasını backend bildirmez, program hesaplar. Yanlış bir değer zincire yazılamaz.
  • Doğrulama için gereken her şey (taahhüt, slot hash’i, gizli değer, nihai crash noktası) zincir üstü olaylarda kalıcı olarak yayımlanır.
Dürüst çekinceler (bu bir VRF değil, commit-reveal’dır):
  • Başlangıç zamanlaması. Operatör gizli değeri tur başlamadan önce bilir ve backend’i tur başlangıç işleminin ne zaman gönderileceğine karar verir. Son slot hash’leri herkese açık olduğundan, ilke olarak aday slot’lar için olası çarpanı önceden hesaplayıp başlangıcı hangi slot hash’inin yakalanacağını etkileyecek şekilde zamanlayabilir. Şema bunu engellemez; gözlemlenebilir kılar: tur başlangıç zamanlaması herkese açıktır ve sistematik bir sapma, herkesin toplu olarak yeniden hesaplayabileceği yayımlanmış crash noktalarının istatistiklerinde ortaya çıkar.
  • İptaller. Tur başladıktan sonra operatör sonucu oyunculardan önce bilir ve reveal yapmak yerine aleyhine olan bir turu iptal edebilir. Burada iki kesin sınır vardır: iptal tüm bahis tutarlarını eksiksiz iade eder (programın el koyma yolu yoktur) ve her iptal herkese açık bir olay yayar; iptal sıklığı zincir üstündeki ele veren işarettir. İptal, kaybolan bir gizli değer (örneğin commit ile reveal arasında backend’in çökmesi) için bir kurtarma yolu olarak vardır ve pratikte neredeyse hiç kullanılmaması beklenir.

Bir Crash turu nasıl doğrulanır?

Uygulamada tamamlanan her turun ayrıntıları, açıklanan gizli değeri ve blok hash’ini gösterir; üç işlemin tamamına ve çarpanı sizin için yeniden hesaplayan bir adillik aracına bağlantı verir. Crash noktasını kendiniz yeniden hesaplamanız için küçük bir betik de içeren adım adım anlatım için Bir turu doğrulayın sayfasına bakın. Oyunun kendisinin nasıl oynandığı (kazancı alma, bahis pencereleri, limitler) için Crash oyun rehberi sayfasına bakın.