Skip to main content
Bir Dice atışı hiçbir operatör gizli değeri kullanmaz. Atış; bahsiniz gerçekleştiğinde yakalanan bir Solana slot hash’inden, hesap adresinizden ve kişisel bahis sayacınızdan zincir üstünde türetilir, ardından bahsi yapan işlemin ta kendisinde sonuçlandırılır. Operatörün seçebileceği bir seed yoktur, sonradan açıklanacak bir şey de yoktur. Bu sayfa her Dice atışının ardındaki mekanizmayı birebir anlatır. Dice, kanıtlanabilir adil şemanın en basit durumudur: burada hiçbir operatör gizli değeri yoktur. Atış herkese açık girdilerden türetilir ve bahsi yapan aynı işlem içinde zincir üstünde sonuçlandırılır.

Dice’ta neden commit adımı yok?

Crash’in taahhüt edilmiş bir gizli değere ihtiyacı vardır, çünkü tur oynanırken sonucun sabit ama gizli kalması gerekir. Bir zar atışının böyle bir aşaması yoktur: sonuç, onu çeken talimatın içinde hemen kullanılır. Bu yüzden türetme bir gizli değeri taahhüt etmek yerine hiçbir operatör girdisi kullanmaz: taahhüt edilecek bir şey, açıklanacak bir şey ve operatörün işine gelecek şekilde seçebileceği bir seed yoktur. Entropi doğrudan Solana ağından gelir ve bahsinizi tanımlayan değerlerle karıştırılır:
  • slothash: bahis işleminiz gerçekleştiği anda Solana’nın SlotHashes sysvar’ındaki en son kayıt. Bu, ağın ürettiği ve işlem oluşturulurken bilinmeyen bir entropidir (gönderen, bir işlemin tam olarak hangi slot’a düşeceğini bilemez).
  • user: zincir üstü kullanıcı hesabınızın 32 baytlık adresi (programın cüzdanınızdan türettiği bir hesap). Bu, atışları oyuncular arasında bağımsız kılar: aynı slot’a düşen iki bahis farklı atışlar alır.
  • nonce: zincir üstünde saklanan ve her oyunda artan kişisel bahis sayacınız. Bu, aynı slot içinde bile ardışık bahislerinizi birbirinden bağımsız kılar ve aynı zamanda çift gönderime karşı koruma sağlar.

Dice atışının tam formülü nedir?

Yeniden hesaplarken önemli olan ayrıntılar:
  • Hash girdisi, tam olarak bu sırayla birleştirilir: ASCII etiketi "dice", slot hash’i, kullanıcı hesabı adresi, ardından 8 bayt little-endian olarak kodlanmış nonce.
  • Örnek, SHA-256 çıktısının ilk 16 baytının big-endian işaretsiz 128 bitlik tamsayı olarak okunması ve 10.000’e göre mod alınmasıyla elde edilir.
  • 128 bitlik bir örneğin 10.000’e göre modunu almak, 2⁻¹¹⁴’ün altında teorik bir sapma yaratır; bu, kasa avantajından onlarca mertebe daha küçüktür ve bu yüzden düzeltilmek yerine belgelenmiştir.

Kazanma koşulu ve ödeme

Seçtiğiniz kazanma şansı %2 ile %98 arasında olmalıdır. Mevcut %1,5 avantajla (edge_bps = 150): Beklenen getiri her hedef için aynıdır: bahis tutarının şans × çarpan ≈ %98,5 kadarı (aşağı yuvarlama, en fazla bir baz puan kadar kasanın lehinedir). Mevcut avantaj ve limitler Ücretler ve limitler sayfasında listelenir.

Neler garanti ediliyor, neler edilmiyor

Program tarafından uygulananlar:
  • Atış, programın kendisinin okuduğu girdilerden, tek bir zincir üstü talimat içinde türetilir ve sonuçlandırılır. Atışı backend sağlamaz ve yanlış bildiremez.
  • Operatör türetmeye hiçbir girdi katmaz: lehine sonuç arayarak deneyebileceği bir sunucu seed’i yoktur.
  • Nonce’unuzun birebir geri gönderilmesi gerekir; böylece aynı bahis yanlışlıkla (ya da kötü niyetle) iki kez oynanamaz.
  • Her oyun, türetmenin tüm girdilerini ve sonucu yayımlar; böylece geçmişteki her atış herkes tarafından yeniden hesaplanabilir.
Dürüst uyarı: gönderim zamanlaması. Dice bahisleri ücretsizdir (gasless): işlemi sizin için MCC’nin backend’i imzalar ve gönderir, dolayısıyla işlemin ne zaman gönderileceğini operatör kontrol eder. N−1 slot’unun hash’i N slot’unun başında herkese açık hâle gelir; bu nedenle gecikmesi çok düşük bir operatör, bir bahsin eğer mevcut slot’a düşerse alacağı atışı tahmin edebilir ve yeniden çekmek için gönderimi geciktirebilir. Şema bunu yok sayıyormuş gibi yapmak yerine kabul eder (bunu ortadan kaldırmak, bahis başı maliyeti küçük bahislerde kasanın beklenen değerini aşan bir VRF oracle’ı gerektirirdi). Bunu sınırlayanlar:
  • İşleme alınma tamamen kontrol edilemez: bir işlemin tam olarak hangi slot’a düşeceğine gönderen değil, ağ karar verir.
  • Her girdi yayımlanır; bu nedenle gönderim gecikmesi örüntüleri ve toplam kazanma oranlarının belirtilen şanslardan her türlü sapması, herkese açık verilerden herkes tarafından ölçülebilir. Sistematik bir kötüye kullanım gizli kalamaz.

Bir Dice atışı nasıl doğrulanır?

Her oyun, bahsin kendi işleminde ihtiyacınız olan her şeyi taşıyan bir DiceBetSettled olayı yayar: slothash, user, nonce, target_bps, direction, win_chance_bps, roll, multiplier_bps ve is_win, ayrıca sonuçlandırmanın tam dökümü. Doğrulamak için:
  1. Bahsin işlemini bir Solana gezgininde açın ve olay alanlarını okuyun (uygulamadaki Dice ekranı oturumunuzun adillik girdilerini gösterir, bahis geçmişiniz de işleme bağlantı verir).
  2. sha256("dice" ‖ slothash ‖ user ‖ nonce) değerini yeniden hesaplayın, ilk 16 baytı big-endian olarak alıp 10.000’e göre modunu alın ve olaydaki roll ile karşılaştırın.
  3. Kazandı/kaybetti kararını (Altı için roll < target, Üstü için roll > target) ve çarpanı yukarıdaki formülle karşılaştırın.
Bir gezginden olay verilerini okumaya dair genel ipuçları için Bir turu doğrulayın sayfasına bakın. Oyunun nasıl oynandığı için Dice oyun rehberine bakın.