Provably fair nedir ve nasıl çalışır?

Her sonucu doğrulamak ve Cloudbet Originals'ın nasıl dürüst oranlar sunduğunu anlamak için aşağıdaki provably fair hesaplayıcısını kullanın.
Above are two provably fair tools: a Game Verification Tool — paste your Server Seed, Client Seed, and Nonce from any round to reconstruct and confirm the outcome — and a Server Seed Verification Tool — verify that a revealed server seed matches the hash Cloudbet published before you played.

Cloudbet Originals'ta bahis yaparken her sonucu doğrulamak sizin elinizdedir. Tahmin yok, hile yok — sadece kendinizin kontrol edebileceği saf, kanıtlanabilir bir rastgelelik.

"Provably fair" ne demek?

Provably fair oyun, çevrimiçi kumarhanelerin her oyun sonucunun dürüst olduğunu ve oyuncu tarafından bağımsız olarak doğrulanabildiğini garanti etmek için kullandığı bir sistemdir. Sadece kumarhaneye güvenmek yerine, sonuçların oyun sırasında hile ile değiştirilmediğine dair matematiksel bir kanıt elde edersiniz.

Cloudbet Provably Fair avantajı:

  1. Cloudbet Originals en güncel provably fair protokolleriyle çalışır, böylece her sonuç müdahaleye karşı korumalı, bağımsız olarak doğrulanabilir ve matematiksel olarak adildir.
  2. Bir tur tamamlanıp tohumlar açıklandığında, herkes sonucun dürüstçe üretildiğini matematiksel kesinlikle doğrulayabilir.
  3. Her turun planının elinize verilmesi gibidir — gizli numaralar yok, döndürme sonrası bahaneler yok.

Provably fair olmanın gereklilikleri

Provably fair olmak iki şeyi kanıtlamak anlamına gelir:

  1. Her oyun, gerçekten rastgele ve müdahaleye karşı korumalı bir sayı dizisine erişebilir — bu sayfa bu kısmı ele alır.
  2. Bu rastgele dizi, oyunun sonucunu sabit ve şeffaf bir şekilde belirler — aynı sayılar verildiğinde her zaman aynı sonucu alırsınız. Bu kısım oyuna özeldir — Mines ve diğer Originals'ımızda nasıl çalıştığına bakın.

Gerçek rastgeleliği garanti etmek için hem oyuncu hem de Cloudbet, sayı üretimine katkıda bulunur — böylece hiçbir taraf sonucu tek başına kontrol edemez ve Cloudbet, girdisini sonradan değiştirmediğini kanıtlamak zorunda kalır.

Temel terimler

  1. Bit: Dijital bilginin temel birimi — "1" veya "0". Bit dizileri, sayıları ikili sistemde temsil eder.
  2. Bayt: 8 bit, 256 değere kadar temsil eder. Tohumlarımız 32 baytlık (256 bit) sayılar kullanır.
  3. Tohum (seed): Bir rastgele sayı üretecinin başlangıç girdisi. Aynı tohum her zaman aynı sonucu üretir.
  4. Sunucu tohumu: Cloudbet'in gizli kodu — oyun başlamadan önce üretilen, kilitlenen ve sonrasında açıklanan 32 baytlık kriptografik olarak rastgele bir dize.
  5. Müşteri tohumu: Sizin kodunuz — kendiniz belirleyebilir ya da tarayıcınızın (en fazla 255 karakter) rastgele oluşturmasına izin verebilirsiniz.
  6. Nonce: Aynı tohum çiftiyle her oynadığınızda artan bir tur sayacı, böylece her tur benzersiz olur.
  7. Hash / Taahhüt: Oynamadan önce sizinle paylaşılan, sunucu tohumunun güvenli parmak izi. Geri alınamaz — kimse ondan geriye doğru giderek tohumu tahmin edemez, ancak tohum açıklandığında, onu kendiniz hashleyerek aynı Taahhüdü elde etmelisiniz.
  8. Tur İmzası: Sunucu tohumu, müşteri tohumu ve nonce'un birleştirilip hashlenmesiyle oluşan — turunuzun sonucunu belirleyen gerçek girdi.
  9. SHA3-256: Taahhütleri ve Tur İmzalarını oluşturmak için kullanılan hash algoritması. Aynı girdi her zaman aynı sabit uzunluktaki çıktıyı verir; işlem geri alınamaz.
  10. SHAKE256: Tur İmzasını, oyun sonucunuzun oluşturulduğu rastgele sayı akışına dönüştüren esnek bir SHA-3 algoritması — aynı girdi, her zaman aynı çıktı, bu da doğrulamayı mümkün kılan şeydir.
  11. Modulo: Bir sayının başka bir sayıya bölünmesinden kalan (örn. 16 % 5 = 1) — rastgele bir sayıyı sabit bir olası sonuç kümesinden birine dönüştürmek için kullanılır.
  12. Tohumların döndürülmesi: Yeni bir rastgele çift için her iki tohumun de yenilenmesi.

Bir oyuna hazırlık

Her tur başlamadan önce iki sayı oluşturulur: Sunucu Tohumu ve Müşteri Tohumu.

Cloudbet'in oyun sunucusu, Sunucu Tohumunu Node.js'in kriptografik randomBytes fonksiyonunu kullanarak üretir — 32 baytlık (256 bit) bir sayı, aslında 256 kez tekrarlanan güvenli bir dijital yazı-tura atışıdır. Tohum çifti döndürülene kadar gizli tutulur. Daha sonra değiştirilmeyeceğini kanıtlamak için sunucu, onu hemen (SHA3-256 kullanarak) hashleyerek bir Taahhüde dönüştürür ve bu Taahhüt, oynamadan önce sizinle paylaşılır — böylece tohum açıklandığında, onu kendiniz hashleyip hâlâ eşleştiğini doğrulayabilirsiniz.

Müşteri Tohumu varsayılan olarak tarayıcınız tarafından oluşturulur, ya da kendi tohumunuzu belirleyebilirsiniz.

Cloudbet'in kanıtlanabilir adil sistemini açıklayan diyagram: Server Seed, SHA3-256 ile hashlenerek oyundan önce gösterilen bir Commitment'a dönüştürülür, Client Seed ise oyuncunun tarayıcısı tarafından oluşturulur.

Oyun sırasında

Sunucu Tohumunuz, Müşteri Tohumunuz ve Nonce'unuz birleştirilip SHA3-256 ile tek bir Tur İmzasında hashlenir — iki kişinin, bir ismin yarısını gizlice katkıda bulunması gibi düşünün; böylece hiçbiri sonucu önceden tam olarak bilemez.

Cloudbet'in kanıtlanabilir adil sisteminin Server Seed, Client Seed ve Nonce'u nasıl birleştirip SHA3-256 ile tek bir Round Signature'a hashlediğini gösteren diyagram.

Bu Tur İmzası daha sonra SHAKE256'ya beslenir ve bu da oyununuzun sonucunu belirleyen rastgele sayı akışını üretir. SHAKE256 her zaman aynı girdiden aynı çıktıyı ürettiğinden, açıklanan tohumlara ve nonce'a sahip olan herkes tam sonucunuzu yeniden oluşturabilir — doğrulamayı mümkün kılan şey de budur. Bu rastgele sayı akışının gerçek bir oyun sonucuna (örn. minlerin nereye yerleştiği, bir zar atışının ne gösterdiği) dönüştürülmesi her oyunda farklı şekilde çalışır — Mines ve diğer Originals'ımızda nasıl çalıştığına bakın.

Round Signature'ın SHAKE256'ya beslenerek her kanıtlanabilir adil oyun sonucunun arkasındaki rastgele sayı akışını nasıl oluşturduğunu gösteren diyagram.

Adil oyun sonuçları ayrıca reddetme örneklemesine dayanır — bu yöntem, rastgele üretilen bir sayının, eşit olmayan bölünme nedeniyle bazı sonuçları kayırmak yerine, tüm olası sonuçlar arasından gerçekten eşit bir olasılıkla seçim yapmasını sağlar.

Reddetme Örneklemesinin ayrıntılı bir örneği için, 10 yüzlü bir zar atma örneği hazırladık; burada 10 olası sonuç olduğundan P değeri 10'dur.

10 yüzlü bir zarı normalde, rastgele bir "X" sayısı üreterek ve X modulo 10'u hesaplayarak atarız, çünkü bir zar atışı gibi bu işlemin de 10 olası sonucu vardır. Ancak bu, önceden Reddetme Örneklemesi yapılmadan yapılırsa, düşük sonuçları haksız yere kayırır. X'in rastgele bir 4-bit sayı olduğunu varsayalım, yani 2⁴=16 olası değeri vardır: 0'dan 15'e kadar. O zaman, X modulo 10'un (X % 10) tüm olası sonuçları şöyledir:

  1. X, 0 ile 9 arasındaysa: 0 … 9
  2. X, 10 ile 15 arasındaysa: 0 … 5

Bu şöyle görselleştirilir:

Kanıtlanabilir adil sistemlerin neden rejection sampling'e ihtiyaç duyduğunu gösteren tablo: bu olmadan zar sonuçları eşit olmayan ve önyargılı bir dağılımla ortaya çıkar.

0'dan 5'e kadar olan zar sonuçlarının her biri iki farklı X'in üretilmesiyle ortaya çıkabilirken, 6-9 sonuçları yalnızca bir X ile ortaya çıkar. Bu da 0-5 zar atışlarının 6-9'a göre iki kat daha olası olduğu anlamına gelir, ki bu adil değildir:

Kanıtlanabilir adil bir rastgele sayı üretecinin rejection sampling adımını atlaması durumunda hangi zar sonuçlarının aşırı temsil edildiğini gösteren tablo.

Bu, 16'nın 10'a tam olarak bölünememesinden kaynaklanır. Bu yüzden Reddetme Örneklemesiyle, 10'a tam olarak bölünen en büyük sayıyı buluruz. 4 bit ile X'in alabileceği en büyük değer 15'tir ve bu değer aralığına sığan en büyük 10 katı 10'dur, bu yüzden 10'a eşit veya daha büyük rastgele üretilen tüm sayıları reddederiz. Bu, X için yalnızca 0 … 9 değerlerinin mümkün olduğu anlamına gelir. Not: bir sayı reddedilirse yeni bir sayı örneklenir.

Rejection sampling'in Cloudbet'in kanıtlanabilir adil sistemini nasıl önyargısız hale getirdiğini ve her zar sonucuna eşit olasılık verdiğini gösteren tablo.

Reddetme adımından sonra, 0 ile P arasında bir sayı elde etmek için X modulo P'yi hesaplarız. Bu da hangi 1/P olasılıklı sonucu seçtiğimizi belirler.

Oyun sonuçlarınızı nasıl doğrularsınız

  1. Oynamadan önce Taahhüdü ve Müşteri Tohumunuzu not edin.
  2. Turdan sonra, kullanılan Sunucu Tohumunun açıklanması için tohumlarınızı döndürün.
  3. Açıklanan Sunucu Tohumunu SHA3-256 ile hashleyin — kaydettiğiniz Taahhütle eşleşmelidir. Bu, tohumun oyun sırasında değiştirilmediğini doğrular.
  4. Sunucu Tohumunuzu, Müşteri Tohumunuzu ve Nonce'unuzu aşağıdaki doğrulama hesaplayıcısına yapıştırın — sonucu sıfırdan yeniden oluşturur.
  5. Bunu oyunda gördüğünüzle karşılaştırın. Eşleşme, turun adil olduğunu doğrular; eşleşmeme müdahaleye işaret eder (ki Cloudbet'te bu olmaz).

SSS: Provably fair sorularınızın yanıtları

1. Tohumlar neden bu kadar uzun ve rastgele görünüyor?

Çünkü rastgelelik, adilliğin özüdür. Uzun karakter dizileri hem Cloudbet'in hem de oyuncuların sonuçları tahmin etmesini veya manipüle etmesini engeller. Daha fazla entropi = daha fazla güven.

2. Müşteri tohumumu değiştirebilir miyim?

Evet. Oyundaki adillik ayarlarına gidin ve istediğiniz zaman kendi müşteri tohumunuzu girin. İstediğiniz sıklıkta döndürebilirsiniz.

3. Sunucu tohumu orijinal hash ile eşleşmezse ne olur?

O zaman bir şeyler yanlış demektir. Hashlemenin tüm amacı, tohumun oyununuz başlamadan önce kilitlendiğini kanıtlamaktır. Bir uyuşmazlık müdahaleye işaret eder — ama Cloudbet'te bu olmaz.

4. Bunu kullanmak için kriptografi bilmem gerekir mi?

Hayır. Tüm zor işi araç yapar. Siz sadece kopyalar, yapıştırır ve doğrularsınız.

5. Hash tam olarak nedir?

Bunu dijital bir imza gibi düşünün. Sunucu tohumunun kriptografik bir algoritma kullanılarak karıştırılmasıyla üretilir. Birisi daha sonra tohumu değiştirmeye çalışırsa hash farklı olur — ve hileyi fark edersiniz.

6. Sonuçları doğrulamak için üçüncü taraf araçlar kullanabilir miyim?

Evet. Cloudbet'in sistemi bağımsız doğrulama araçlarıyla uyumludur, böylece sonuçları platformumuz dışında da tekrar kontrol edebilirsiniz.

7. Oyunlar zaten eğlenceliyse bu neden önemli?

Çünkü adillik bir bonus özellik değil — bir gerekliliktir. Kripto ile bahis yaparken tam kontrol ve sıfır belirsizlik hak edersiniz. Provably fair bunu varsayılan hâle getirir.

Provably fair oyun anlatımları:

  1. Provably fair Mines
  2. Provably fair Pump
  3. Provably fair Plinko
  4. Provably fair Dice
  5. Provably fair Dice: Golden Ticket
  6. Provably fair Limbo
  7. Provably fair Roulette