> ## 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.

# Kanıtlanabilir adilliğe genel bakış

> Sade bir dille commit-reveal, zincir entropisinin kattıkları ve kendi başınıza neleri kontrol edebileceğiniz.

<Frame>
  <img src="https://mintcdn.com/cyberiantechnology/AuuF3KYTE6qxTgZL/images/illustrations/banner-provably-fair.webp?fit=max&auto=format&n=AuuF3KYTE6qxTgZL&q=85&s=63cf96dd8fc1c2c3a2efba7008fcad44" alt="Kanıtlanabilir adillik afişi" width="1376" height="516" data-path="images/illustrations/banner-provably-fair.webp" />
</Frame>

My Crypto Casino'daki her oyun sonucu, zincir üstü program tarafından yürütülen ve **Solana zincir entropisiyle birleştirilmiş bir commit-reveal şeması** ile üretilir. Bu, bir oyuncu olarak sizin için iki anlama gelir:

1. **Sonuç sonradan değiştirilemez.** Operatör, kendi katkısını (gizli bir değer) oyun *başlamadan önce*, bunun kriptografik parmak izini zincir üstünde yayımlayarak sabitler. Daha sonra program, açıklanan gizli değer bu parmak iziyle birebir eşleşmedikçe sonuçlandırmayı reddeder.
2. **Her şeyi kendiniz kontrol edebilirsiniz.** Tüm girdiler ve formülün tam hâli herkese açıktır. Herhangi bir tur ya da bahisten sonra, sonucu zincir üstü verilerden yeniden hesaplayıp oyunun ödediğiyle karşılaştırabilirsiniz.

Bu sayfa şemayı sade bir dille anlatır. Oyunlara özel sayfalarda formüllerin tam hâli yer alır; [Bir turu doğrulayın](/tr/docs/provably-fair/verify-a-round) sayfası ise gerçek bir turu adım adım kontrol etmenizde size yol gösterir.

<img src="https://mintcdn.com/cyberiantechnology/gEC6nhtd6-33erkH/diagrams/tr/commit-reveal-timeline.svg?fit=max&auto=format&n=gEC6nhtd6-33erkH&q=85&s=bf7411804241c34eb450030a2ce773d0" alt="Commit, oyun, reveal, doğrulama: gizli değer oyundan önce zincir üstünde mühürlenir, reveal anında program tarafından kontrol edilir ve her sonuç sonrasında herkes tarafından yeniden hesaplanabilir" width="920" height="310" data-path="diagrams/tr/commit-reveal-timeline.svg" />

<h2 id="the-three-building-blocks">
  Kanıtlanabilir adillik nelerden oluşur?
</h2>

**Taahhüt edilmiş bir gizli değer.** Sonucun oyun boyunca gizli kalması gereken oyunlarda (Crash, Mines) backend, rastgele 32 baytlık bir gizli değer üretir ve oyun başlamadan önce bunun SHA-256 hash'ini (*taahhüt*, yani commitment) zincir üstünde yayımlar. Hash, mühürlü bir zarf gibi çalışır: gizli değer hakkında hiçbir şey ele vermez, ancak bir kez yayımlandıktan sonra onunla yalnızca o gizli değerin kendisi eşleşebilir. Gizli değer sonunda açıklandığında program onun hash'ini bizzat hesaplar ve taahhütle eşleşmezse işlemi reddeder.

**Solana zincir entropisi.** Sonuç hiçbir zaman yalnızca gizli değere bağlı değildir. İşin içine bir de **slot hash'i** katılır: yakın zamandaki bir Solana slot'unun hash'i. Program bu değeri, belirlenmiş bir anda Solana'nın `SlotHashes` sysvar'ından okur. Bu değer kumarhane tarafından değil, Solana ağı tarafından üretilir ve taahhüt yapıldığı anda henüz mevcut değildir.

**Herkese açık, deterministik bir formül.** Sonuç, bu girdilerin sabit bir matematiksel fonksiyonudur. Aynı fonksiyon zincir üstü programın içinde çalışır (backend bir sonucu yanlış bildiremez; sonucu program hesaplar) ve kendiniz çalıştırabilmeniz için bu sayfalarda yayımlanır.

<h2 id="the-flow">
  Bir tur adım adım nasıl işler?
</h2>

```mermaid theme={null}
sequenceDiagram
    participant MCC as MCC backend (operatör)
    participant SOL as Solana programı
    participant You as Oyuncu

    Note over MCC,SOL: 1. Commit
    MCC->>SOL: Taahhüdü yayımla = sha256(gizli değer)
    Note over You,SOL: 2. Oyun
    You->>SOL: Bahisler zincir üstünde yapılır
    Note over SOL: 3. Zincir entropisi
    SOL->>SOL: En son Solana slot hash'ini yakala
    Note over MCC,SOL: 4. Reveal
    MCC->>SOL: Gizli değeri gönder
    SOL->>SOL: sha256(gizli değer) taahhütle eşleşiyor mu, doğrula
    SOL->>SOL: Sonucu herkese açık formülle hesapla
    Note over You: 5. Doğrulama (daha sonra istediğiniz zaman)
    You->>SOL: Taahhüdü, slot hash'ini ve gizli değeri zincirden oku
    You->>You: Sonucu yeniden hesapla ve karşılaştır
```

Dice bu akışı tek bir işleme sığdırır: oyun sırasında korunması gereken gizli bir durum olmadığından ortada hiç operatör gizli değeri yoktur. Zar sonucu slot hash'inden, hesabınızdan ve bahis sayacınızdan türetilir ve onu çeken talimatın içinde sonuçlandırılır.

## Her oyun neyi, ne zaman taahhüt eder

| Oyun | Operatör gizli değeri | Zincir entropisi | Sonucun sabitlendiği an | Zincir üstünde zorunlu kılınan |
| - | - | - | - | - |
| [Crash](/tr/docs/provably-fair/crash) | 32 baytlık gizli değer, **bahisler açılmadan önce** taahhüt edilir | Tur başladığında yakalanan slot hash'i | Turun başlangıcı | Taahhüt kontrolü + reveal anında program tarafından hesaplanan crash noktası |
| [Dice](/tr/docs/provably-fair/dice) | Yok | Bahis işleminizin zincire ulaştığı andaki slot hash'i | Bahis işleminin bloğa dahil edilmesi | Zar sonucu program tarafından tek talimatta türetilir ve sonuçlandırılır |
| [Mines](/tr/docs/provably-fair/mines) | 32 baytlık seed, **oyununuzu başlatan işlemde** taahhüt edilir | Aynı başlangıç işleminde yakalanan slot hash'i | Oyunun başlangıcı, ilk seçiminizden önce | Seed kontrolü + sonuçlandırmada tahtanın tamamı program tarafından yeniden türetilir |

## Neyi garanti eder, neyi varsayar

Burada dürüstlük pazarlamadan daha önemli, o yüzden net olalım. Bu şema bir **VRF** (doğrulanabilir rastgele fonksiyon) **değil, herkese açık zincir entropisiyle çalışan bir commit-reveal şemasıdır**. İşte *kodla zorunlu kılınan* ile *operatörün dürüst davranmasına dayanan* arasındaki kesin sınır.

### Zincir üstü program tarafından zorunlu kılınanlar

* **Taahhütten sonra sonuç değiştirilemez.** Program, açıklanan gizli değerin hash'ini hesaplar ve yayımlanan taahhütle eşleşmeyen her sonuçlandırmayı reddeder. Operatör, bir turun nasıl gittiğini gördükten sonra başka bir gizli değer seçemez.
* **Operatörün üretmediği entropi.** Slot hash'i Solana ağından gelir. Taahhüt yayımlandığında bilinmez ve kumarhane onu oluşturmaz.
* **Sonuçlar zincir üstünde hesaplanır.** Crash noktası, zar sonucu ve Mines tahtası programın kendisi tarafından hesaplanır (ya da yeniden türetilip kontrol edilir). Backend, formülün üretmediği bir sonucu bildiremez.
* **Tamamen herkese açık denetlenebilirlik.** Her tur ve her bahis, türetme girdilerinin tamamını ve sonucu içeren zincir üstü olaylar yayar. Yalnızca ilgili oyuncu değil, herkes geçmişteki her sonucu yeniden hesaplayabilir.

### Varsayılanlar: dürüst çekinceler

* **Zamanlama etkisi.** Operatörün backend'i bazı işlemleri *ne zaman* göndereceğini seçer; bu da ona *hangi* slot hash'inin yakalanacağı üzerinde kısmi bir etki sağlar. Oyunlara özel her sayfa, bunun o oyunda neyi başarabileceğini ve neyi başaramayacağını tek tek açıklar.
* **İptaller mümkündür, ama yalnızca iade ile.** Operatör bir Crash turunu ya da bir Mines oyununu iptal edebilir. İptal her zaman tüm bahis tutarlarını eksiksiz iade eder (programın iptal yoluyla para el koyma imkânı yoktur) ve her iptal herkese açık olarak kaydedilir; dolayısıyla iptal sıklığı herkes tarafından denetlenebilir. Sık iptaller, kötü niyetli bir operatörün zincir üstünde görünen izi olurdu.
* **Mines tahtası oyun sırasında operatör tarafından bilinir.** Bu yapısal bir durumdur: kare açma işlemleri zincir dışında anında sunulur ve bunları sunan taraf tahtayı bilmek zorundadır. Taahhüt, tahtanın ilk seçiminizden önce sabitlendiğini ve sonradan yeniden yazılamayacağını garanti eder. Bunun tam olarak nasıl zorunlu kılındığını görmek için [Mines adilliği](/tr/docs/provably-fair/mines) sayfasına bakın.

### Bu ödünler neden kabul ediliyor?

Çünkü bunlar kestirme yollar değil, anlık ve kesintisiz oynanışın bedeli. Her oyun bu yelpazede tam olması gereken yerde duruyor:

* **Mines**: bir kare açmayı milisaniyeler içinde sunmak, yapısal olarak tahtayı zaten bilen bir taraf gerektirir. Alternatifler (her tıklama için bir zincir üstü işlem ya da her açma için bir oracle gidiş-dönüşü) her kareyi bir ücrete ve beklemeye dönüştürürdü. Anlık hissettiren ve yine de zincir üstünde sonuçlanan bir Mines için tahtayı bilen bir operatör vazgeçilmezdir; taahhüt şeması da bu bilginin neler yapabileceğini sınırlamak için vardır.
* **Crash**: ortak ve canlı bir turun tüm oyuncular için aynı anda birinin yürütmesi gerekir. Bu yapısal bir zorunluluktan çok pragmatik bir tercihtir; bu yüzden program, oracle tabanlı rastgeleliğe (VRF) geçiş için yerleşik bir yol içerir. Gelecekteki bu aşama, ekonomik koşullar izin verdiğinde zamanlama çekincelerini ortadan kaldıracaktır.
* **Dice**: yelpazenin diğer ucu. Oyun sırasında gizlenecek hiçbir şey yoktur, dolayısıyla hiç operatör gizli değeri de yoktur. Operatöre duyulan güveni ortadan kaldırmanın hiçbir maliyeti olmadığı yerde tasarım bu güveni ortadan kaldırır.

Kısacası: oyunları operatör yürütür; zincir ise hileyi ya **imkânsız** (taahhütten sonraki her şey) ya da **herkesçe tespit edilebilir** (zamanlama örüntüleri, iptal sıklığı, kazanma oranı istatistikleri) kılar.

<Info>
  **Sonucun adilliği ile fonların saklanması**

  Bu bölüm *sonuçların* nasıl üretildiğiyle ilgilidir. Para yatırma işlemlerinin, bakiyelerin ve para çekme işlemlerinin zincir üstünde nasıl tutulduğu ayrı bir konudur; bkz. [Zincir üstü mimari](/tr/docs/security/on-chain-architecture).
</Info>

## Kendiniz doğrulayın

* Uygulamada, tamamlanan her Crash turu adillik verilerini (açıklanan gizli değer, blok hash'i ve zincir üstü işlemlere bağlantılar) tur ayrıntılarında, tek tıkla çalışan bir adillik aracıyla birlikte gösterir.
* Dice ve Mines, türetme girdilerinin tamamını bahsin kendi işlemindeki sonuçlandırma olayında yayımlar.

[Bir turu doğrulayın](/tr/docs/provably-fair/verify-a-round), uygulama içindeki verilerden birkaç satır kodla sonucu yeniden hesaplamaya kadar tüm süreci adım adım anlatır.
