[ Paticik.com | Forum | Kullanici Sozlesmesi | Üye Ol ]
» Forum Gezgini ... Üye Ol / Giris Yap
FORUM.PATICIK.COM
[ FORUM ANASAYFA ]  

[ Yeni Konu ] [ Mesaj Yaz ]
bagli degilsiniz: | Giris Yap | Üye Ol |
|+ Paticik.com Forumları
|-- |+ Pati Tech / Programlama
|-- |-- |+ Provably fair random number uretirken uretilen sayiyi belli bir aralik icinde birakmak....
Yazar RSS Konu: Provably fair random number uretirken uretilen sayiyi belli bir aralik icinde birakmak. {739}
Syf: ««/ 2 »»   [ A ]
Yörünge Disi
ID § 30 May 2017, 02:36    [ Alintila ] [ Özel Mesaj ] [ Albüm ]
Ahali selam,

Mevzu biraz karisik fakat en basit sekilde anlatmaya calisayim. Simdi ismi lazim degil siteler icin random number lazim oldugunda dumduz Math.random() ya da rand() kullanmak yerine,

hex2decimal(sha512(server seed + client seed + nonce)) % maximum sayi


gibi taklalar atip, bunun ustunden urettigimiz sayiyi kullaniyoruzki yarin bir gun server seed + nonce degerini kullaniciya verip "al haci ayni hesabi kendin yap, gorursun ayni sayi cikacak" diyebilelim ve "provably fair" olalim.

Yalniz is 1-100 arasina degil de, 0-100 milyon arasinda sayi uretip buna gore odul vermeye gelince epey bir karisiyor. SHA512'den bol sifirla baslayan bir sonuc cikma olasiligi neredeyse olmadigindan bir kac yuz bin altina denk gelen oduller neredeyse hic kazanilamiyor.

Bu random ama provably fair olayini daha duzgun nasil implemente ederim acep, var mi bi fikriniz?

Afyon'dan vekilime taze taze kaymak lazim.
Üye
medal 1k medal 5k
ID § 30 May 2017, 02:39    [ Alintila ] [ Özel Mesaj ] [ Albüm ]
demis oldugum gibi, sonucu (random number sonucunu) belli bir araliga gore check eder, eger aralikta degilse tekrar random number generate edersin.

zaman zaman bir cok iterasyon gerekebilir, ama yeterince hizli olacaktir.
Üye
medal 1k medal 5k medal 10k
ID § 30 May 2017, 02:41    [ Alintila ] [ Özel Mesaj ] [ Albüm ]
provably fair'ligi nasil kanitlayacak o zmaan?

s.e.n.k.o Sucuk Ekmek Ne Kadar Oldu
Üye
medal 1k medal 5k medal 10k
ID § 30 May 2017, 02:42    [ Alintila ] [ Özel Mesaj ] [ Albüm ]
tim'in yazdigindan anladiigm ayni seed ve nonce degerleri ile hep ayni sonucun cikmasi gerekiyor cunku?

s.e.n.k.o Sucuk Ekmek Ne Kadar Oldu
Yörünge Disi
ID § 30 May 2017, 02:54    [ Alintila ] [ Özel Mesaj ] [ Albüm ]
Sanirsam her sayi araligina bir suru sifir ekleyecegim, boylece en ufak sayi bile buyuk olacak, denk gelme olasiligi artacak.

Yine de farkli bir yaklasiminiz olursa cekinmeyin yazmaya.

Afyon'dan vekilime taze taze kaymak lazim.
Üye
medal 1k medal 5k medal 10k
ID § 30 May 2017, 03:10    [ Alintila ] [ Özel Mesaj ] [ Albüm ]
Ya olaya tam vakif degilim cok alakasiz bir seyden bahsediyor olabilirim de rand() komutu uniform seciyor olmali sayilari. 10000 replication falan alip secilen gozlemlerin dagilimlarini inceleyerek gercekten de secilen sayilar uniform mu dagiliyor incelenebilir gibi.

Ornek vermek gerekirse sayisal lotoyu otomatik oynayan bi algoritma olsun mesela 1/49 arasi 6 sayi sececek; bu sayilar uniform dagiliyor, yani her birinin gelme olasiligi esit. Sen kodun gercekten de boyle olup olmadigini test etmek icin 10000 kez 6 sayi sectireceksin, bu 10000 replication'in da ortalamasi, varyansi belli bir guven araliginda (%95 mesela) esit cikmali. Cikmazsa rng'de sikinti var demek. O kismini bilmiyorum.

Bu kadar sey anlatma nedenim de, eger kodun ciktilarini ciplak gozle deniyorsan yaniltici olur bayagi.

Ha bu arada 500'un secilme olasiligiyla 100m'in secilme olasiligi esit olmasin istiyorsan farkli bir olasilik fonksiyonu kullanman gerekiyor.

(Bu anlattiklarimin hepsini biliyor olman da muhtemel tabii sdf)

hihi
Üye
medal 1k medal 5k
ID § 30 May 2017, 03:17    [ Alintila ] [ Özel Mesaj ] [ Albüm ]
sunu okudunmu hacim [crypto.stackexchange.com]

bnet: bonesoul#2655
steam: raistlinthewiz
Yörünge Disi
ID § 30 May 2017, 03:18    [ Alintila ] [ Özel Mesaj ] [ Albüm ]
O sondaki "mod max_number" beni her sekilde kurtariyo olmali ya. O yuzden bu sorum sacma addedilip Facepalm rafima eklenebilir. smiling smiley

Afyon'dan vekilime taze taze kaymak lazim.
Üye
medal 1k medal 5k
ID § 30 May 2017, 03:20    [ Alintila ] [ Özel Mesaj ] [ Albüm ]
sunada bak hacim [dicesites.com] ek kaynak sana

bnet: bonesoul#2655
steam: raistlinthewiz
Yörünge Disi
ID § 30 May 2017, 03:25    [ Alintila ] [ Özel Mesaj ] [ Albüm ]
Benim yaptigimi anlatiyo abi o da.

Afyon'dan vekilime taze taze kaymak lazim.
Üye
medal 1k
ID § 30 May 2017, 09:41    [ Alintila ] [ Özel Mesaj ] [ Albüm ]
sayi zaten 1293871278398734872904923489724792 olsa bile mod 100 milyon yapinca sen bunu isine yaramiyor mu, random olusan sayinin 0'la baslamasi gerekmiyor sanki kucuk sayi gelmesi icin?

Aynisini yazmissin sen de hehe

okay cunts

1 defa güncellendi. Son güncelleme 30/05/2017 09:41 tarihinde SpiderS_DangeR tarafindan yapilmistir.
Üye
medal 1k medal 5k medal 10k
ID § 30 May 2017, 15:46    [ Alintila ] [ Özel Mesaj ] [ Albüm ]
di programlama kismina mark as answered opsiyonu getirsene, pati icince guccuk bir so olusturalim sdf
Üye
medal 1k
ID § 30 May 2017, 15:58    [ Alintila ] [ Özel Mesaj ] [ Albüm ]
ne SHA512 bilirim ne de provably fair nedir bilirim ama saçma bir öneri de bulunmak istedim yine de. yüz milyon rakam seçeceksen bunu 100000lik intervallere böl (ya da daha küçük 100lük intervallete böl istiyorsan). N tane interval içersinde önce random bir tanesini seç sonra bu interval içersinde SHA512 ne ise onla random sayıyı üret? SHA512 ne bilmediğim için tamamen saçma bişey söylemiş olabilirim, saygılar.

1 defa güncellendi. Son güncelleme 30/05/2017 16:02 tarihinde XLegolas tarafindan yapilmistir.
Yörünge Disi
ID § 30 May 2017, 16:09    [ Alintila ] [ Özel Mesaj ] [ Albüm ]
Abi provably fair = herkes elindeki veriyi acik edince ayni sayinin uretilebilmesi, haliyle kimsenin cakallik yapmadiginin kanitlanabilmesi.

Bu yuzden herhangi bir random sayi ureteci yerine cryptographic function ustunden gidiliyor cunku girdiler ayni oldugu surece hep ayni sonuca ulasiyorsun.

Bir suru farkli etkenin olsun ve aradan birini rastgele sec dedigin anda "provably fair" olmuyor o olay.

Afyon'dan vekilime taze taze kaymak lazim.
Üye
medal 1k
ID § 30 May 2017, 19:08    [ Alintila ] [ Özel Mesaj ] [ Albüm ]
girdi dediğin seed mi? iki kisi arasinda oynanan bir oyunsa mesela iki tane seed vermek gibi bir şey olmuyor mu biri bir oyuncudan diğeri diğer oyuncudan. böylece hiç bir taraf random number generatorin ne ürettiğini bilemez eğer generatora verdiğin seed bu iki seede bağlıysa gibi bir şey mi
Syf: ««/ 2 »»   [ Y ]
[ Forum ] / [ Konu ]
=o=
[ Yeni Konu ] [ Mesaj Yaz ]
*Bu sayfadaki içerik, yazanların kiŞisel görüŞlerini belirtmektedir. KiŞiler, üye anlaŞmasında var olan Şartların bilincinde olmak yükümlülüğündedir. Üye anlaŞmasına göre, gönderilen her türlü içerik, içeriği göndermiŞ olarak görünen üye rumuz ismi ve üyenin kendisine aittir. Paticik.com ve yetkilileri, üyelerimizin göndermiŞ olduğu iŞ bu sayfada yazılı olarak bulunan içerik hakkında hiçbir yasal sorumluluk kabul etmemektedir. Yükümlülük altında olmasa dahi, var olan site içeriğinin bütünü veya bir kısmının site kurallarına uygunsuzluğu durumunda, iletiŞim sayfamızdan bize eriŞebilir, gereken düzenlemeleri yapmamızı sağlayabilirsiniz.
[ Paticik.com | Forum | Kullanici Sozlesmesi | Üye Ol ]
Iletisim : info [at] paticik.com
Secereli Dobermann | Londra Rehberi Copyright 2001-2015 @ Paticik.com
This forum is powered by Phorum