> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mycryptocasino.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Dice adilliği

> Neden hiçbir operatör gizli değerine gerek olmadığı ve herkese açık girdilerden yapılan tam türetme.

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](/tr/docs/games/dice) atışının ardındaki mekanizmayı birebir anlatır. Dice, [kanıtlanabilir adil şemanın](/tr/docs/provably-fair/overview) 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.

<h2 id="why-there-is-no-commit-step">
  Dice'ta neden commit adımı yok?
</h2>

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.

<h2 id="the-exact-formula">
  Dice atışının tam formülü nedir?
</h2>

```text theme={null}
girdiler
  slothash   32 bayt   bahis işlemi gerçekleştiğindeki en son Solana slot hash'i
  user       32 bayt   zincir üstü kullanıcı hesabınızın adresi
  nonce      8 bayt    bahis sayacınız, little-endian

türetme
  hash = sha256( "dice" ‖ slothash ‖ user ‖ nonce )   // "dice" = 4 ASCII bayt 0x64 0x69 0x63 0x65
  roll = u128_be( hash[0..16] ) mod 10000              // ilk 16 bayt, big-endian işaretsiz 128 bit

sonuç
  roll, 0..9999 aralığında bir tamsayıdır; iki ondalık basamakla 0.00–99.99
```

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

```text theme={null}
Hedefin altı : roll < target ise kazanırsınız      kazanma şansı = 10000 sonuçtan target kadarı
Hedefin üstü : roll > target ise kazanırsınız      kazanma şansı = 10000 sonuçtan 9999 − target kadarı

multiplier_bps = floor( (10000 − edge_bps) × 10000 / win_chance_bps )
```

Seçtiğiniz kazanma şansı %2 ile %98 arasında olmalıdır. Mevcut %1,5 avantajla (`edge_bps = 150`):

| Bahis | Kazanma şansı | Çarpan |
| - | - | - |
| 5000 altı | %50 | 1.97x |
| 200 altı | %2 | 49.25x |
| 9800 altı | %98 | 1.0051x |

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](/tr/docs/fees-and-limits) 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.

<h2 id="verify-a-roll">
  Bir Dice atışı nasıl doğrulanır?
</h2>

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](/tr/docs/provably-fair/verify-a-round) sayfasına bakın.

Oyunun nasıl oynandığı için [Dice oyun rehberine](/tr/docs/games/dice) bakın.
