Crash oyununun sonucunu kontrol edin: algoritma, güvenlik
1) Doğrulama amacı: tam olarak neyi onaylıyorsunuz
Değiştirilemezlik: Operatör, bahsinizden sonra sonucu değiştiremedi (sunucu tohum karmasının işlenmesi nedeniyle).
Tekrarlanabilirlik: Giriş yaptıktan sonra, oyunun gösterdiği aynı çarpanı elde edersiniz.
Yordam bütünlüğü: ileti biçimi, artım 'once', yuvarlama kuralı ve'ev kenarı 'kesinlikle şartnameye göre uygulanır.
2) Doğrulamanın imkansız olduğu veriler
1. Server Seed Hash (commit) - ilgili 'Server Seed'i kullanmadan önce yayınlandı.
2. Server Seed (daha sonra/dönem sonunda açıklanmıştır).
3. Müşteri Tohumu (tohumunuz; Kendiniz ayarlarsınız veya platform üretir).
4. Nonce (geçerli 'Server Seed' içindeki bahislerinizin sayacı).
5. Hash algoritması (genellikle 'HMAC-SHA256' veya 'SHA-256').
6. İleti biçimi (örnek: '': "'), tam sınırlayıcılar/case/encoding.
7. Özet eşleme formülü - bir çarpan (ve yuvarlama/minimum kural).
3) Doğrulama algoritması (7 adım)
1. Taahhüdü karşılaştırın: 'SHA-256 (ServerSeed)' sayın ve yayınlanan 'ServerSeedHash'ile karşılaştırın.
2. Mesajı toplayın: kesinlikle platform formatında (örneğin, 'msg = ClientSeed +': '+ Nonce').
3. Yuvarlak karmayı say:
4) Pseudocode (Python/JS için uyarlanabilir)
"'python
stub_mapping () yerine platformunuzdan tam eşleme formülünü buraya ekleyin
İthalat hmac, hashlib, matematik
Def round_hash (server_seed: bytes, client_seed: str, nonce: int) -> bytes:
Def take_u_from_hash (h: bytes, k_bits=52) -> float:
Def stub_mapping (u: float) -> float:
Def doğrulama (server_seed_hex, server_seed_hash_hex, client_seed, nonce, shown_multiplier):
Önemli: 'stub _ mapping' yerine, platformunuzun Adalet bölümünden tam formülü uygulayın; Aksi takdirde kontrol yanlış olacaktır.
5) Özel durumlar ve tuzaklar
Bir turda iki bahis: Birçok platform, aynı turda yer alsalar bile, bahislerinizin her biri için 'nonce' artışlarına sahiptir (örnek: A bahis - 'nonce = 42', B bahis - 'nonce = 43'). Geçmişine bak.
'Client Seed' Değiştirme: Tohum değiştirilirken, 'nonce' genellikle sıfırlanır (veya yeni bir akış başlar). Platformunuzun kurallarını karşılaştırın.
Batchy 'Server Seed': Bir 'Server Seed', bir dizi turda hareket eder, sonra yeni bir taahhüt yayınlanır; Farklı dönemlere ait tohumları karıştırmayın.
Yuvarlama/minimum: ikinci işarette uyuşmazlık - vakaların %90'ında yuvarlama/minimum kurallarında bir hata (örneğin, sabit 1. 00 × özel koşullar altında).
Kodlama/boşluklar: ekstra boşluk/satır beslemesi, yanlış durum, non-UTF-8 sonları kontrolü.
6) Hızlı Yuvarlak Kontrol Listesi
1. 'SHA-256 (ServerSeed)', yayınlanan 'ServerSeedHash'ile eşleşiyor mu?
2. 'Mesaj've'nonce' biçimi doğru oluşturulmuş mu?
3. Algoritma ('HMAC-SHA256'/' SHA-256') ve anahtar/alan sırası kesinlikle spesifikasyona göre uygulanır mı?
4. Eşleme ve yuvarlama belgelerle aynı mı?
5. Özel durumlar olsun (nadir "anlık çökme", minimum 1. 00 ×, ağız koruyucuları)?
6. Sonuç oyunun tarihiyle kuruşuna kadar örtüşüyor mu?
7) Kontrolün otomasyonu (uygulama)
Günlükler: 'client _ seed' dizisini, 'nonce' dizisini, zaman damgasını, son çarpanı tutun.
Örnekleme: 'Server Seed'in' kükremesi'nden sonra, komut dosyasını rastgele 20-50 tur boyunca çalıştırın; Eşleşme yüzdesini düzeltin (%100 olmalıdır).
Regresyon: Oyunun/sağlayıcının sürümünü değiştirirken, aynı seti çalıştırın.
Dışa aktarma: CSV/JSON'u kaynaklarla saklayın - bu sizin "denetim parçanız'dır.
8) Güvenlik: Hata yapmamak ve kandırılmanıza izin vermek
Yerel/çevrimdışı olarak kontrol edin: yalnızca operatörün web doğrulayıcısına güvenmeyin; kendi senaryonu tut.
Eksiksiz bir veri paketi olmadan turlara güvenmeyin: formül/format yok - doğrulama yok.
Güçlü 'Müşteri Tohumu': Rastgele sorun, periyodik olarak değiştirin (bu RTP'yi arttırmaz, ancak tekrarlanabilirlikle ilgili soruları hariç tutar).
TLS/oturumlar: Yalnızca HTTPS girişi, 2FA, geçmiş girişlerini ve yüklemelerini izleme.
Kimseye 'Server Seed' vermeyin: süre geçtikten sonra operatör tarafından yayınlanır; Göreviniz doğrulamak, önceden "almak'değil.
9) Tipik "çaylak hataları"
Karışık alan sırası ('ClientSeed: Nonce' yerine 'Nonce: ClientSeed').
Bir yerine sıfırdan 'nonce' sayın (veya tam tersi).
Platformun tüm turunun karması (global nonce) kullanıldı, ancak kişisel 'once'nize ihtiyacınız var.
Banker yuvarlama vs kat/ceil.
Etkin, henüz açığa çıkmamış 'Server Seed'e karşı kontrol edin.
10) Operatörde "kırmızı bayraklar"
Dönem başlamadan önce public Server Seed Hash yok.
Müşteri Tohumunuzu ayarlayamaz veya nonce görüntüleyemezsiniz.
Public multiplier hash mapping formülü yoktur.
Turların geçmişi, uzlaşma için minimum veri sağlamaz.
Format ve algoritma bildirim/şartname arşivi olmadan değiştirildi.
11) Avustralya Bağlamı (AU)
Para Birimi: AUD'de kazanç/bahis kayıtlarını tutun, hikayelerin yüklenmesini sağlayın (destek, tartışmalı konular).
Sorumlu Oyun (RG): Depozito/zaman sınırları, duraklamalar ve kendini dışlama - iyi niyetli uygulamalarda mevcuttur; Onları kullan.
Platform uygulamaları: iyi niyetli operatörler için, Adalet/Adil Adil blok tam bir açıklama ve doğrulama örnekleri içerir; Detay eksikliği başka bir hizmet seçmek için bir nedendir.
12) Alt satır
Bir Crash oyununun sonucunu kontrol etmek açık bir prosedürdür:
Kendi komut dosyanızı tutun, giriş yapın ve rastgele turları periyodik olarak kontrol edin. Yani dürüstlüğü kelimelerle değil, matematiksel olarak onaylıyorsunuz.
Değiştirilemezlik: Operatör, bahsinizden sonra sonucu değiştiremedi (sunucu tohum karmasının işlenmesi nedeniyle).
Tekrarlanabilirlik: Giriş yaptıktan sonra, oyunun gösterdiği aynı çarpanı elde edersiniz.
Yordam bütünlüğü: ileti biçimi, artım 'once', yuvarlama kuralı ve'ev kenarı 'kesinlikle şartnameye göre uygulanır.
2) Doğrulamanın imkansız olduğu veriler
1. Server Seed Hash (commit) - ilgili 'Server Seed'i kullanmadan önce yayınlandı.
2. Server Seed (daha sonra/dönem sonunda açıklanmıştır).
3. Müşteri Tohumu (tohumunuz; Kendiniz ayarlarsınız veya platform üretir).
4. Nonce (geçerli 'Server Seed' içindeki bahislerinizin sayacı).
5. Hash algoritması (genellikle 'HMAC-SHA256' veya 'SHA-256').
6. İleti biçimi (örnek: ''
7. Özet eşleme formülü - bir çarpan (ve yuvarlama/minimum kural).
💡Tüm şartname, operatörün Adalet/Adil Adil bölümünde olmalıdır. Orada bir şey yoksa, bu kırmızı bir bayraktır (bkz. § 10).
3) Doğrulama algoritması (7 adım)
1. Taahhüdü karşılaştırın: 'SHA-256 (ServerSeed)' sayın ve yayınlanan 'ServerSeedHash'ile karşılaştırın.
2. Mesajı toplayın: kesinlikle platform formatında (örneğin, 'msg = ClientSeed +': '+ Nonce').
3. Yuvarlak karmayı say:
- при 'HMAC-SHA256': 'RoundHash = HMAC_SHA256 (key = ServerSeed, msg = message)';
when 'SHA-256': 'RoundHash = SHA256 (ServerSeed | mesajı)' veya belirtimde belirtildiği gibi. |
---|---|
4. Ayıklama rastgeleliği: ilk'k 'bitlerini alın (genellikle 52) -'r' tamsayısını, sonra'u = r/2 ^ k '. | |
5. Haritalama formülünü uygulayın:'u 'çarpanına dönüştürün (ev kenarı/özel durumlar oyun belgelerine göre dikkate alınır). | |
6. Oyunun kurallarına göre yuvarlak (örneğin, en fazla 2 karakter, en az 1. 00 ×, vb.). | |
7. Tarihteki yuvarlak toplam ile karşılaştırın. Tesadüf = doğru dürüstlük. |
4) Pseudocode (Python/JS için uyarlanabilir)
"'python
stub_mapping () yerine platformunuzdan tam eşleme formülünü buraya ekleyin
İthalat hmac, hashlib, matematik
Def round_hash (server_seed: bytes, client_seed: str, nonce: int) -> bytes:
- = f "{client _ seed}: {nonce}". encode ("utf-8") formatı spesifikasyonuna bakın
- Geri hmac. Yeni (server_seed, mesaj, hashlib. sha256). Digest () veya hashlib. sha256 (...)
Def take_u_from_hash (h: bytes, k_bits=52) -> float:
- Bir bütün olarak k en önemli bitleri alıyoruz r
- r = int. from_bytes (h, "büyük")> (256 - k_bits)
- Dönüş r/( 1 <
Def stub_mapping (u: float) -> float:
- STUB! Oyun belgelerinizdeki formülle değiştirin
- Örneğin, bazen formun bir dönüşümü kullanılır: crash = floor ((const/( r + 1)) 100 )/100
- Ve/veya nadir bir zorunlu 1 olarak'ev kenarı ". 00 ×. Bu saplamayı gerçek bir kontrolde kullanmayın.
- dönüş maks (1. 00, yuvarlak (1. 0/max (1e-12, 1. 0 - u), 2))
Def doğrulama (server_seed_hex, server_seed_hash_hex, client_seed, nonce, shown_multiplier):
- server_seed = bayt. fromhex (server_seed_hex)
- 1) Taahhüt
- Hashlib'i savun. sha256 (server_seed). hexdigest () = = server_seed_hash_hex. daha düşük ()
- 2-3) Yuvarlak hash
- h = round_hash (server_seed, client_seed, nonce)
- 4) u
- u = take_u_from_hash (h)
- 5-6) eşleme + yuvarlama
- calc_mult = stub_mapping (u)
- 7) Karşılaştırma
- Dönüş abs (calc_mult - shown_multiplier) <1e-9
- ```
Önemli: 'stub _ mapping' yerine, platformunuzun Adalet bölümünden tam formülü uygulayın; Aksi takdirde kontrol yanlış olacaktır.
5) Özel durumlar ve tuzaklar
Bir turda iki bahis: Birçok platform, aynı turda yer alsalar bile, bahislerinizin her biri için 'nonce' artışlarına sahiptir (örnek: A bahis - 'nonce = 42', B bahis - 'nonce = 43'). Geçmişine bak.
'Client Seed' Değiştirme: Tohum değiştirilirken, 'nonce' genellikle sıfırlanır (veya yeni bir akış başlar). Platformunuzun kurallarını karşılaştırın.
Batchy 'Server Seed': Bir 'Server Seed', bir dizi turda hareket eder, sonra yeni bir taahhüt yayınlanır; Farklı dönemlere ait tohumları karıştırmayın.
Yuvarlama/minimum: ikinci işarette uyuşmazlık - vakaların %90'ında yuvarlama/minimum kurallarında bir hata (örneğin, sabit 1. 00 × özel koşullar altında).
Kodlama/boşluklar: ekstra boşluk/satır beslemesi, yanlış durum, non-UTF-8 sonları kontrolü.
6) Hızlı Yuvarlak Kontrol Listesi
1. 'SHA-256 (ServerSeed)', yayınlanan 'ServerSeedHash'ile eşleşiyor mu?
2. 'Mesaj've'nonce' biçimi doğru oluşturulmuş mu?
3. Algoritma ('HMAC-SHA256'/' SHA-256') ve anahtar/alan sırası kesinlikle spesifikasyona göre uygulanır mı?
4. Eşleme ve yuvarlama belgelerle aynı mı?
5. Özel durumlar olsun (nadir "anlık çökme", minimum 1. 00 ×, ağız koruyucuları)?
6. Sonuç oyunun tarihiyle kuruşuna kadar örtüşüyor mu?
7) Kontrolün otomasyonu (uygulama)
Günlükler: 'client _ seed' dizisini, 'nonce' dizisini, zaman damgasını, son çarpanı tutun.
Örnekleme: 'Server Seed'in' kükremesi'nden sonra, komut dosyasını rastgele 20-50 tur boyunca çalıştırın; Eşleşme yüzdesini düzeltin (%100 olmalıdır).
Regresyon: Oyunun/sağlayıcının sürümünü değiştirirken, aynı seti çalıştırın.
Dışa aktarma: CSV/JSON'u kaynaklarla saklayın - bu sizin "denetim parçanız'dır.
8) Güvenlik: Hata yapmamak ve kandırılmanıza izin vermek
Yerel/çevrimdışı olarak kontrol edin: yalnızca operatörün web doğrulayıcısına güvenmeyin; kendi senaryonu tut.
Eksiksiz bir veri paketi olmadan turlara güvenmeyin: formül/format yok - doğrulama yok.
Güçlü 'Müşteri Tohumu': Rastgele sorun, periyodik olarak değiştirin (bu RTP'yi arttırmaz, ancak tekrarlanabilirlikle ilgili soruları hariç tutar).
TLS/oturumlar: Yalnızca HTTPS girişi, 2FA, geçmiş girişlerini ve yüklemelerini izleme.
Kimseye 'Server Seed' vermeyin: süre geçtikten sonra operatör tarafından yayınlanır; Göreviniz doğrulamak, önceden "almak'değil.
9) Tipik "çaylak hataları"
Karışık alan sırası ('ClientSeed: Nonce' yerine 'Nonce: ClientSeed').
Bir yerine sıfırdan 'nonce' sayın (veya tam tersi).
Platformun tüm turunun karması (global nonce) kullanıldı, ancak kişisel 'once'nize ihtiyacınız var.
Banker yuvarlama vs kat/ceil.
Etkin, henüz açığa çıkmamış 'Server Seed'e karşı kontrol edin.
10) Operatörde "kırmızı bayraklar"
Dönem başlamadan önce public Server Seed Hash yok.
Müşteri Tohumunuzu ayarlayamaz veya nonce görüntüleyemezsiniz.
Public multiplier hash mapping formülü yoktur.
Turların geçmişi, uzlaşma için minimum veri sağlamaz.
Format ve algoritma bildirim/şartname arşivi olmadan değiştirildi.
11) Avustralya Bağlamı (AU)
Para Birimi: AUD'de kazanç/bahis kayıtlarını tutun, hikayelerin yüklenmesini sağlayın (destek, tartışmalı konular).
Sorumlu Oyun (RG): Depozito/zaman sınırları, duraklamalar ve kendini dışlama - iyi niyetli uygulamalarda mevcuttur; Onları kullan.
Platform uygulamaları: iyi niyetli operatörler için, Adalet/Adil Adil blok tam bir açıklama ve doğrulama örnekleri içerir; Detay eksikliği başka bir hizmet seçmek için bir nedendir.
12) Alt satır
Bir Crash oyununun sonucunu kontrol etmek açık bir prosedürdür:
- 'Server Seed Hash' taahhüdünün doğrulanması,
- 'RoundHash'i' Server Seed ',' Client Seed ',' nonce've algoritma ile geri yükleme,
- Yayınlanan eşleme formülünü ve yuvarlama kurallarını uygulama
- İncelemenizde ve oyun tarihinde aynı çarpan.
Kendi komut dosyanızı tutun, giriş yapın ve rastgele turları periyodik olarak kontrol edin. Yani dürüstlüğü kelimelerle değil, matematiksel olarak onaylıyorsunuz.