fixmint
HU

Hogyan válassz nyertest nyereményjátékhoz tisztességesen és dokumentáltan

Szerző: · · frissítve: 2026. november 8. · 4 perces olvasás

A tisztességes sorsoláshoz biztonsági célra készült generátort használj, minden jelentkező azonos eséllyel induljon, és hagyd, hogy az emberek utólag ellenőrizhessék az eredményt. Az egyszerű sorsolók tisztességtelenségének legtöbbször két oka van: gyenge véletlenforrás vagy egy apró aritmetikai hiba, az úgynevezett modulo-torzítás. Mindkettő javítható. A közzétett résztvevői lista és a sorsolás rögzített felvétele a legjobb bizonyíték arra, hogy senki nem választotta ki előre a nyertest.

Véletlen választóIgazságos nyertessorsolásPróbáld ki ingyen

Valódi és álvéletlen

A valódi véletlenforrás kiszámíthatatlanságát egy fizikai folyamatból meríti, például elektronikus zajból. Az álvéletlen generátor egy képlet. Kiindulópontja a mag (seed), ezen determinisztikus lépéseket hajt végre, és olyan sorozatot állít elő, amely véletlennek tűnik. A sorozatot teljesen meghatározza a mag, ezért aki ismeri a magot és a képletet, minden számot előre meg tud jósolni.

A legtöbb szoftver álvéletlen generátort használ, és ez rendben van egy lejátszási lista keverésénél vagy egy játékpálya véletlenszerű generálásánál. Olyan sorsolásnál, ahol az embereknek valami nyeremény a tét, az a kérdés, hogy valaki meg tudja-e jósolni vagy befolyásolni a kimenetet. Egy gyors, de kiszámítható generátor ilyenkor rossz eszköz.

Használd a böngésző kriptográfiai generátorát

JavaScriptben a Math.random() gyors álvéletlen generátor. A dokumentációja szerint nem alkalmas kriptográfiai célra, a nyereményjáték pedig biztonságérzékeny döntés. A Web Crypto crypto.getRandomValues() függvénye az operációs rendszer kriptográfiai véletlenforrásából tölt fel egy tömböt értékekkel. Ezt kell használni. A véletlen választó minden választásnál ezt alkalmazza, a pénzfeldobástól a dobókockáig. Egy eszközbe, amely nem mondja meg, mit használ, nehezebb bízni, ezért a használata előtt érdeklődj.

Modulo-torzítás, egy példán

Tegyük fel, hogy a forrásod egy véletlen bájtot ad, vagyis egész számot 0 és 255 között, és három jelentkező közül kell egyet választanod. A kézenfekvő megoldás, ha a 3-mal való osztás maradékát veszed. Igazságosnak tűnik, de a 256 nem osztható el hármas csoportokra maradék nélkül.

  • A 0, 3, 6 és így tovább, egészen 255-ig, maradékul 0-t ad. Ilyen szám 86 van.
  • A maradék 1-et adó értékek száma 85, a maradék 2-t adóké szintén 85.

Így a 0-s jelentkező 256-ból 86-szor, vagyis nagyjából 33,6%-ban jön ki, míg az 1-es és 2-es 85-ször, azaz nagyjából 33,2%-ban. A különbség kicsi, de valós, és nő, ahogy a jelentkezők száma a forrás tartományához képest nagyra nő.

A megoldás az elutasításos mintavétel (rejection sampling). Húzz egy értéket, és ha az egyenetlen maradék részbe esik, húzz újra. A bájtos példában a 255-öt elutasítod, és csak a 0–254 közötti értékeket fogadod el, amelyek hárommal maradék nélkül oszthatók. 32 bites véletlen számnál az egyenetlen maradék nagyjából négymilliárd értékből egy, így a torzítás egy nyereményjátéknál elhanyagolható. Egy gondos sorsoló mégis kezeli, mert ugyanez a hiba a tartomány zsugorodásával egyre rosszabb lesz.

Sorsolás ismétlés nélkül

Ha több nyertesre van szükséged, a véletlen index háromszori húzása ugyanazt a jelentkezőt kétszer is kiválaszthatja. Két tiszta módszer kerüli el ezt:

  1. Minden nyertest vegyél ki a listából, majd a maradékból húzz újra.
  2. Keverd meg egyszer az egész listát a Fisher–Yates-módszerrel, majd a nyerteseket vedd a lista elejéről.

A Fisher–Yates a listán a végétől halad, minden pozíciót felcserél egy véletlenszerűen választott, nála nem későbbi pozícióval, és ha a véletlen választások tisztességesek, minden sorrend egyforma valószínűséggel jön létre. Rövid, jól ismert, és a résztvevőknek könnyű elmagyarázni. A választó Nyertesek eltávolítása és Ismétlés nélkül beállítása mindkét módszert lefedi.

Tedd ellenőrizhetővé a sorsolást

A tisztességes sorsolást bárki ellenőrizheti. Sorsolás előtt:

  • Tedd közzé a jelentkezőket számozott listaként, a jogosultsági feltételekkel együtt.
  • Tedd közzé a lista SHA-256 ujjlenyomatát. Bármely SHA-256 eszközzel elő lehet állítani, például a hash-generátorral. Az ujjlenyomat teljesen megváltozik, ha egyetlen bejegyzés is módosul, így a listát utólag nem lehet csendben átírni. Ugyanez az ellenőrzés letöltéseknél is működik; a letöltött fájl SHA-256 ellenőrző összegének ellenőrzése lépéseit bemutatja.

A sorsolás alatt és után:

  • Rögzítsd a képernyőt attól a pillanattól kezdve, hogy elindítod a választót, az eredmény megjelenéséig.
  • Tedd közzé a végleges listát a nyertes számmal, hogy mindenki újraszámolhassa az ujjlenyomatot, és megerősíthesse, hogy semmi nem változott.
  • Írd le, hogyan választottad ki a nyertest, például: „böngészőalapú választóval, amely az operációs rendszer kriptográfiai véletlenforrását használja”.

A nyereményjátékok szabályai platformonként eltérnek, és a nyereményjátékokra vonatkozó jogi előírások attól függenek, hol élsz. Mielőtt lebonyolítasz egyet, nézd meg a platform promóciós szabályait és a helyi jogszabályokat. Ez általános útmutató, nem jogi tanács. Ha készen állsz, válassz nyertest a véletlen választóval.

Hogyan csináld a fixmintben

  1. Válaszd a Nevek lehetőséget, majd illeszd be a jelentkezőket a Nevek, soronként egy mezőbe.
  2. Állítsd a Nyertesek számát a nyeremények számára. Pipáld be a Nyertesek eltávolítása a listából opciót, hogy senki ne nyerhessen kétszer.
  3. Számozott sorsoláshoz válaszd a Szám lehetőséget, állítsd be a Legkisebb és Legnagyobb értéket, és pipáld be az Ismétlés nélkül opciót, ha minden szám csak egyszer nyerhet.
  4. Nyomd meg a Nyertesek sorsolása gombot úgy, hogy a képernyőfelvétel már az elejétől fut.
  5. Tedd közzé a számozott jelentkezőket, a SHA-256 ujjlenyomatot, a nyertes bejegyzést és azt, hogyan használtad a választót.

Gyors válaszok

Megfelel a Math.random() egy nyereményjátékhoz?

Játékokhoz és keverésekhez igen, de olyan sorsoláshoz nem, amelyet az emberek ellenőrizni fognak, mert a kimenete megjósolható. Kriptográfiai forrást használj.

Miért nem jó egyszerűen a véletlen szám modulo a jelentkezők száma?

Ha a tartomány nem osztható el maradék nélkül, a maradék egyenetlen lesz, így egyes jelentkezők valamivel nagyobb eséllyel nyernek. Az elutasításos mintavétel megszünteti ezt a torzítást.

Választhatok több nyertest egy sorsolásból?

Igen. Minden nyertest vedd ki a listából a következő húzás előtt, vagy keverd meg egyszer a listát, és vedd a legfelső bejegyzéseket. Mindkét esetben egy jelentkező sem nyerhet kétszer.

A Angol eredeti alapján, MI segítségével fordítva.

Hozzászólások

    Még nincs hozzászólás. Legyél te az első.

    Az értékelésed (nem kötelező)

    Az e-mail-címed sosem jelenik meg, és nem tároljuk.

    The Paperoom Game Night Kit borítójaThe Paperoom Game Night Kit

    52 oldalas, nyomtatható társasjátékest: buliboldalas bingó, rejtvények, társasjátékok és papír-ceruzás csaták, plusz tervező és eredménytábla.

    $7.00Megvásárlás a GumroadonAngolul