Skip to main content
Bitmiş herhangi bir turu, herkese açık zincir üstü verilerle, hesap ya da özel bir erişim gerekmeden kendiniz doğrulayabilirsiniz. Kontrol edilecek üç şey var: taahhüt hash’inin tur başlamadan önce yayımlandığı, açıklanan gizli değerin hash’inin bu taahhüde eşit olduğu ve herkese açık formül yeniden hesaplandığında turun ödeme yaptığı sonucun birebir elde edildiği. Bu rehber bitmiş bir Crash turunu alıp baştan sona doğrular: operatörün gizli değerinin turdan önce taahhüt edildiğini ve crash noktasının tam olarak herkese açık formülün verdiği değer olduğunu. Özel bir erişime ihtiyacınız yok: her şey herkese açık zincir üstü verilerden gelir. Sonda kısa bir bölüm, her biri tek bir işlemden doğrulanan Dice ve Mines’ı ele alır.

Neyi kanıtlıyorsunuz?

  1. Taahhüt önce geldi. Gizli değerin hash’i tur başlamadan önce zincirdeydi; yani sonuç, bahsinizden sonra seçilmiş olamaz.
  2. Gizli değer taahhütle eşleşiyor. sha256(secret), taahhüt edilen hash’e eşittir.
  3. Çarpan dürüst. Formül gizli değerden ve blok hash’inden yeniden hesaplandığında, turun ödeme yaptığı crash noktası birebir elde edilir.

1. adım: Turun adillik verilerini uygulamada açın

Bahis geçmişinizi (ya da tur geçmişini) açın ve ayrıntılarını görmek için bitmiş bir tura tıklayın. Turun sonucunun yanında şunları bulursunuz:
  • Çöktüğü nokta: doğrulanacak son çarpan.
  • Oyun gizli değeri hash’i: açıklanan 32 baytlık gizli değer. Bir Solana gezgininde commit işlemine bağlantı verir.
  • Blok hash’i: zincir entropisi olarak kullanılan Solana slot hash’i. Tur başlangıç işlemine bağlantı verir.
  • “Bu oyun adil mi? Adillik aracını kullanın”: bu turun bilgileri önceden doldurulmuş olarak adillik doğrulama aracını açar. Araç, turun üç işlem imzasını (commit, blok hash’i, reveal) ve ağı getirir ve aşağıdaki her şeyi tek tıkla sizin için yeniden hesaplar.
Adillik aracı pratik yoldur. Bu sayfanın geri kalanı ise zincirden ve kendi bilgisayarınızdan başka hiçbir şeye güvenmeyen, tamamen bağımsız yoldur.

2. adım: Bir turun üç işlemi

3. adım: Değerleri bir Solana gezgininden okuyun

Her işlemi tercih ettiğiniz gezginde (Solscan, Solana Explorer, SolanaFM…), uygulamanın çalıştığı ağda açın. İşlem sayfasında, çözümlenmiş program olaylarını (events) arayın (bazen “Logs” ya da “Instruction data” altında bulunur; programın IDL’sini tanıyan gezginler olay alanlarını adlarıyla çözümler). Dört değeri toplayın:
  • commit_hash: 32 bayt, commit işleminden.
  • blockhash: 32 bayt, blok hash’i işleminden.
  • local_e: 32 baytlık gizli değer, reveal işleminden.
  • crash_point_bps: baz puan cinsinden son crash noktası, reveal işleminden (29948, 2.9948x demektir).
KodlamalarGezginler 32 baytlık değerleri siteye göre hex, base58 ya da bayt dizisi olarak gösterir. Aşağıdaki betik hex bekler; gezgininiz base58 gösteriyorsa dönüştürün (herhangi bir base58 çözücü işinizi görür; önemli olan gösterim değil, bayt değerleridir).

4. adım: Sırayı kontrol edin

Gezginde commit işleminin ve blok hash’i işleminin slot’unu (ya da blok zamanını) karşılaştırın. Commit daha önce olmalıdır. Şemanın özü budur: gizli değer, birleştirileceği entropi henüz ortada yokken mühürlenmiştir.

5. adım: Crash noktasını yeniden hesaplayın

Bunu, 3. adımdaki üç hex dizesini doldurarak Node.js ile çalıştırın (bağımlılık gerekmez):
İki kontrolün de geçmesi gerekir: commitment ok: true ve yazdırılan crash noktası turun Çöktüğü nokta çarpanına (ve reveal olayındaki crash_point_bps değerine) eşit olmalıdır. Öyleyse, kimseye güvenmeden, bu turun sonucunun tur başlamadan önce kilitlendiğini ve tam olarak herkese açık formülle hesaplandığını kanıtlamış olursunuz.

Dice ve Mines

Anlık oyunlar da aynı şekilde, daha az işlemle doğrulanır:
  • Dice: bahis başına bir işlem. DiceBetSettled olayı, türetmenin tüm girdilerini (slothash, user, nonce) ile birlikte roll ve ödeme bilgisini içerir. Dice adilliği sayfasındaki formülle yeniden hesaplayın.
  • Mines: oyun başına iki işlem. Başlangıç işlemi tahta taahhüdünü ve slot hash’ini yayımlar; sonuçlandırma işlemi seed’i ve tahtanın tamamını açıklar. Mines adilliği sayfasındaki formülle yeniden hesaplayın.

Bir şey tutmazsa

Önce olağan şüphelileri eleyin: hex beklenen yere yapıştırılmış bir base58 değeri, yanlış işlem (her turun üç işlemi vardır) ya da turun oynandığı andakinden farklı bir kasa avantajı (avantaj zincir üstü yapılandırmada tutulur ve üzerindeki her değişiklik de bir zincir üstü işlemdir). Yine de gerçek bir uyuşmazlık görüyorsanız, bu sistem tam da bunu ortaya çıkarmak için var: veriler herkese açık ve kalıcıdır, dolayısıyla herkes kontrolünüzü yeniden çalıştırabilir. Tur numarasıyla destek ekibine ulaşın; gerçek bir taahhüt ya da formül uyuşmazlığının dürüst bir açıklaması olamayacağını unutmayın; şema da tam bu yüzden bunların gizlenmesini imkânsız kılar.