Belangrijkste punten
  • Het casino verbindt zich vóór je inzet aan een verborgen serverseed door je de SHA-256-hash te tonen. Het kan de seed later niet verwisselen zonder dat de hashcontrole faalt.
  • Elk resultaat wordt berekend uit de serverseed, jouw clientseed en een weddenschapsteller die de nonce heet, meestal met HMAC-SHA256.
  • Verificatie bestaat uit twee controles: de onthulde seed levert de hash op die je is getoond, en het opnieuw berekenen van het resultaat geeft de uitkomst die je kreeg.
  • Provably fair bewijst dat uitkomsten niet zijn aangepast. Het bewijst niet dat het huisvoordeel eerlijk is, dat de exploitant degelijk is of dat opnames worden betaald.
  • Spellen van derden gebruiken in plaats daarvan door labs gecertificeerde RNG’s. Beide benaderingen zijn nuttig; geen van beide vervangt de ander.

Het probleem dat provably fair oplost

Bij een traditioneel online casino vertrouw je erop dat de willekeurige-getallengenerator eerlijk is, meestal omdat een onafhankelijk testlab hem voor een toezichthouder heeft gecertificeerd. Dat is een degelijk systeem, maar je kunt geen enkele afzonderlijke uitkomst zelf controleren. Je vertrouwt het lab, de toezichthouder en de integratie van het spel door het casino.

Provably fair voegt een controle aan spelerszijde toe. Het casino legt zijn deel van de willekeurige invoer vast voordat je inzet en toont je daarvan een vingerafdruk. Nadat je hebt gespeeld, maakt het de invoer bekend. Dan kun je bevestigen dat die overeenkomt met de vingerafdruk en precies de uitkomst oplevert die je kreeg. Had het casino na het zien van je inzet iets veranderd, dan zou de rekensom niet kloppen.

Het idee ontstond met Bitcoin-dobbelsites in de vroege jaren 2010, toen spelers geen toezichthouder hadden om op te vertrouwen, en het is nu standaard voor casino-originals bij cryptocasino's. Onze uitleg over hoe Bitcoin-casino's werken behandelt de bredere opzet.

De bouwstenen: hashes, HMAC, seeds en nonces

SHA-256: een vingerafdruk in één richting

SHA-256 is een hashfunctie die gestandaardiseerd is door het Amerikaanse National Institute of Standards and Technology. Het zet elke invoer om in een hexadecimale reeks van 64 tekens. Dezelfde invoer geeft altijd dezelfde uitvoer, een piepkleine wijziging in de invoer geeft een compleet andere uitvoer, en het is rekenkundig onhaalbaar om vanuit de uitvoer terug te rekenen of een tweede invoer met dezelfde hash te vinden. Dat maakt het een veilige vastlegging: het publiceren van de hash onthult niets over de seed, maar bindt het casino eraan.

HMAC-SHA256: een hash met sleutel

HMAC is een standaardmanier om een geheime sleutel met een bericht te combineren tot een hash, vastgelegd in RFC 2104 in 1997. Provably fair casino's gebruiken meestal de serverseed als sleutel en een bericht opgebouwd uit je clientseed en de nonce. De uitvoer is 32 bytes, oftewel 64 hextekens, die willekeurig lijken maar volledig door die invoer worden bepaald.

De drie invoerwaarden

  • Server seed: een geheime willekeurige waarde die het casino genereert. Voordat je speelt zie je alleen de SHA-256-hash ervan.
  • Client seed: een waarde die jij beheert. Je kunt de standaardwaarde houden of je eigen invoeren. Omdat het casino zich aan zijn seed bindt voordat het de jouwe kent, kan geen van beide partijen de uitkomst alleen sturen.
  • Nonce: een teller die bij de meeste casino's op 0 begint (sommige beginnen op 1) en bij elke inzet op hetzelfde seedpaar met één oploopt, zodat elke inzet een nieuw resultaat krijgt.

Sommige spellen hebben meer willekeurige getallen nodig dan een output van 32 bytes levert, bijvoorbeeld een plinkobal die 16 links-of-rechts-beslissingen neemt. Casino’s lossen dat op met een extra teller, vaak cursor of round genoemd, die aan het bericht wordt toegevoegd om extra blokken te maken.

De commit-reveal-cyclus, stap voor stap

  1. Het casino genereert een serverseed en toont je de SHA-256-hash. Het toont ook de hash van de volgende serverseed die het zal gebruiken, zodat ook de volgende cyclus vastligt.
  2. Je stelt je clientseed in. Het beste typ je iets nieuws in plaats van de standaardwaarde te accepteren.
  3. Je speelt. Elke weddenschap gebruikt nonce 0, 1, 2 enzovoort met hetzelfde seedpaar.
  4. Als je wilt verifiëren, roteer je het seedpaar. Het casino onthult de oude server-seed en gaat over naar de volgende waaraan het zich al had gecommitteerd.
  5. Je hasht de onthulde seed en vergelijkt die met de hash die voor je speelde werd getoond.
  6. Je berekent elke weddenschap uit die cyclus opnieuw met de seed, je clientseed en de nonce van de weddenschap, en vergelijkt het met je weddenschapsgeschiedenis.

De volgorde is belangrijk. Als een casino je eerst je client seed liet instellen en pas daarna een server seed genereerde, zou het in principe een server seed kunnen kiezen die in zijn eigen voordeel werkt tegen jouw bekende client seed. Dat je de hash van de server seed ziet voordat je je client seed instelt, voorkomt dat.

Rekenvoorbeeld: een dice-worp verifiëren met HMAC-SHA256

Het voorbeeld hieronder gebruikt een eenvoudig schema van het soort dat veel cryptocasino's publiceren: HMAC-SHA256 met de server seed als sleutel en het bericht “clientSeed:nonce:0”, de eerste vier bytes omgezet in een getal tussen 0 en 1, en dat getal geschaald naar een dobbelsteenworp tussen 0,00 en 100,00. De seeds zijn bewust leesbaar zodat je elk getal kunt reproduceren. Echte server seeds zijn lange willekeurige tekenreeksen, en de exacte formule van elk casino staat op de fairnesspagina.

Reproduceerbaar voorbeeld

Serverseed: bgb-example-server-seed-2026. Clientseed: my-own-client-seed. Vóór het spelen toont het casino de SHA-256 van de serverseed: 8549a6e339607e8972ebb83c975ddf5fe39858ec8d4b6784917dda6bcc538070. Voor nonce 0 is het bericht my-own-client-seed:0:0, en HMAC-SHA256 geeft een hexstring die begint met 929c51ca. Die eerste vier bytes zijn 0x92 = 146, 0x9c = 156, 0x51 = 81 en 0xca = 202. De float is 146/256 + 156/256² + 81/256³ + 202/256⁴ = 0,5703125 + 0,0023804 + 0,0000048 + 0,00000005 ≈ 0,5726977. Vermenigvuldig met 10.001 om 5.727,55 te krijgen, rond af naar beneden op 5.727 en deel door 100: de worp is 57,27. Herhalen met nonce 7 geeft een hexstring die begint met 13ca30f5, een float van ongeveer 0,0773039 en een worp van 7,73.

Om te verifiëren doe je twee dingen. Eerst hash je de onthulde serverseed en controleer je of je precies 8549a6e3… krijgt. Daarna bereken je de worp voor de nonce van een inzet uit je geschiedenis opnieuw en controleer je of die klopt. Als beide kloppen, stond de uitkomst van die inzet vast voordat je hem plaatste.

Waarom 10.001 en niet 10.000? De schaal geeft 10.001 even waarschijnlijke uitkomsten van 0,00 tot en met 100,00. Sommige casino’s gebruiken een andere schaal of een ander aantal bytes, wat de getallen verandert maar niet het principe. Daarom moet je altijd de formule gebruiken die het casino voor het specifieke spel publiceert.

Zelf controleren in één regel

Als je Node.js hebt geïnstalleerd, reproduceert dit commando de worp voor nonce 7 zonder enig casinotool. Vervang de seeds en de nonce door je eigen:

  • node -e "const c=require('crypto');const h=c.createHmac('sha256','bgb-example-server-seed-2026').update('my-own-client-seed:7:0').digest();let f=0;for(let i=0;i<4;i++)f+=h[i]/Math.pow(256,i+1);console.log(Math.floor(f*10001)/100)"
  • Om de commitment te controleren: node -e "console.log(require('crypto').createHash('sha256').update('bgb-example-server-seed-2026').digest('hex'))"

De ingebouwde modules hmac en hashlib van Python kunnen hetzelfde in een paar regels. Het punt is niet dat je moet programmeren. Het punt is dat de berekening openbare, standaardfuncties gebruikt, zodat iedereen het kan controleren.

Hoe spellen de hash omzetten in een uitkomst

SpelTypisch gebruik van de willekeurige uitkomstWat je moet controleren
DiceEén float geschaald naar een worp, bijv. 0,00 tot 100,00Worpen komen overeen; winkans en uitbetaling komen overeen met het vermelde voordeel
LimboEén float omgezet naar een multiplier met het voordeel ingebouwdMultiplier komt overeen met de formule
PlinkoEén float of bit per rij bepaalt links of rechtsPad en landingsvak komen overeen; de uitbetalingstabel voor jouw risiconiveau
MinesFloats die worden gebruikt om de tegelposities te schuddenMijnposities komen overeen met het onthulde bord
Kaarten (blackjack, baccarat, hilo)Floats die worden gebruikt om kaarten te trekken of te schuddenElke kaart komt in volgorde overeen
CrashEen vooraf gegenereerde hashketen, vaak met een openbare saltCrashpunt komt overeen en de hash verwijst naar de vorige ronde

Een betrouwbaar casino publiceert de exacte formule voor elk eigen spel, inclusief hoeveel bytes het per getal gebruikt en hoe het die schaalt. Als een casino provably fair-spellen adverteert maar niet uitlegt hoe uitvoer resultaten wordt, kun je controleren dat de seed niet is verwisseld, maar niet dat jouw resultaat correct is berekend.

Dezelfde float, ander spel: een limbo-voorbeeld

Hetzelfde willekeurige getal kan een ander spel aansturen. Limbo zet het kommagetal bijvoorbeeld vaak om in een vermenigvuldiger waarin het huisvoordeel is ingebouwd. Een gangbare vorm is vermenigvuldiger = 0,99 ÷ getal, naar beneden afgerond op twee decimalen. Omdat het getal gelijkmatig verdeeld is tussen 0 en 1, is de kans op een vermenigvuldiger van minstens M gelijk aan 0,99 ÷ M, dezelfde curve die de meeste crashspellen gebruiken.

Rekenvoorbeeld: limbo vanuit dezelfde seeds

Met de floats uit het dobbelsteenvoorbeeld: nonce 0 gaf 0,5726977, dus 0,99 ÷ 0,5726977 = 1,7287, naar beneden afgerond op 1,72x. Nonce 7 gaf 0,0773039, dus 0,99 ÷ 0,0773039 = 12,807, naar beneden afgerond op 12,80x. Had je een doel van 2x ingesteld, dan verliest de eerste inzet en wint de tweede. Over veel inzetten wint een doel van 2x in 0,99 ÷ 2 = 49,5 % van de gevallen, wat bij een uitbetaling van 2x 99 % teruggeeft.

Dit is ter illustratie. Casino’s verschillen in hoeveel bytes ze lezen, hoe ze de maximale multiplier begrenzen en hoe ze afronden, dus controleer de formule op de fairnesspagina van het spel voordat je op je eigen berekening vertrouwt.

Provably fair bij Telegram- en on-chain-casino’s

Provably fair is niet beperkt tot browsercasino’s. Veel Telegram-casino’s gebruiken hetzelfde seedsysteem in een bot of mini-app, en de controles zijn identiek: je moet de server-seed-hash zien vóór je inzet, een client seed kunnen instellen en de oude server seed krijgen wanneer je roteert. Toont een bot uitkomsten zonder dat je de seeds kunt zien of exporteren, dan valt er niets te controleren.

Een kleinere groep spellen wordt afgehandeld op een blockchain. In plaats van een server seed die het casino beheert, kan de willekeur uit een on-chain-willekeurdienst of een smart contract komen, en het resultaat wordt vastgelegd in een transactie die iedereen kan inzien. Dat maakt vertrouwen in de database van het casino overbodig, maar verschuift het vertrouwen naar de contractcode en de willekeurbron, die de meeste spelers niet kunnen controleren. On-chain betekent niet automatisch eerlijk, en zegt ook niets over het huisvoordeel.

Welke vorm het ook aanneemt, dezelfde vragen gelden. Kun je zien waaraan het casino zich committeerde voordat je wedde? Kun je het resultaat reproduceren met openbare tools? Geeft de uitbetalingstabel een redelijk rendement? Als het antwoord op een van deze vragen nee is, is het label alleen niet veel waard. Onze gids over stortingen en opnames behandelt de andere helft van het vertrouwen in een cryptocasino: je geld eruit krijgen.

Crash en andere gedeelde rondes: hashketens en salts

Multiplayerspellen zoals crash werken anders, omdat iedereen dezelfde ronde deelt en er geen individuele client seed per inzet is. De gebruikelijke oplossing is een hashketen. Het casino genereert vooraf een lange keten van hashes, waarbij de hash van elke ronde de SHA-256 van de volgende is, en publiceert de laatste hash voordat het spel begint. De rondes worden dan van het einde van de keten naar achteren gespeeld, zodat de hash van elke nieuwe ronde, zodra die bekend is, gehasht kan worden om de hash van de vorige ronde te krijgen. Het casino kan een toekomstige ronde niet wijzigen zonder de keten te verbreken.

Om te voorkomen dat het casino de uitkomsten vooraf kent, mengen veel spellen een openbare salt erdoor die niet bestond toen de keten werd vastgelegd, meestal de hash van een toekomstig Bitcoin-blok. De al lang bestaande crashsite bustabit gebruikte precies deze aanpak bij haar vierde seeding-event in september 2025: ze hield haar bestaande keten van 100 miljoen hashes en kondigde aan dat de salt de hash van Bitcoin-blok 917.000 zou zijn, dat nog niet was gemined toen de aankondiging werd geplaatst. De gepubliceerde code berekent een HMAC-SHA256 van de rondehash met die salt, neemt de eerste 52 bits en zet ze om in een crashpunt met 1% voordeel.

Sommige crashspellen van derden gebruiken een hybride aanpak. Aviator van Spribe wordt bijvoorbeeld breed beschreven als een combinatie van een serverseed met clientseeds van de eerste drie spelers die in elke ronde inzetten, en laat je die invoer inzien in de rondegeschiedenis. Crashachtige spellen van andere studio’s vertrouwen op door laboratoria gecertificeerde RNG’s en zijn helemaal niet provably fair. Onze crashgokgids behandelt de wiskunde van het spel zelf.

Wat provably fair niet bewijst

  • Het huisvoordeel. Het voordeel zit in de uitbetalingstabel, niet in het toeval. Een dice-inzet met 49,5% kans die 2x uitbetaalt geeft op de lange termijn 99% terug; dezelfde worp met 1,9x uitbetaling geeft 94,05% terug. Beide zijn provably fair. Onze RTP-gids legt uit hoe je ze vergelijkt.
  • Dat de formule degene is die echt voor uitbetalingen wordt gebruikt. Je kunt de uitslag herberekenen, maar moet ook controleren of het bijgeschreven bedrag overeenkomt met de uitbetalingstabel voor die uitslag.
  • Alles van spellen van derden. Slots, live dealer en de meeste tafelspellen van studio's zijn niet provably fair; ze vertrouwen op gecertificeerde RNG's.
  • Dat de aanbieder solvabel of vergund is. Een volkomen eerlijk dice-spel helpt niet als het casino niet uitbetaalt. Onze vergunningsgids behandelt die kant.
  • Dat je in geschillen eerlijk wordt behandeld. Bonusvoorwaarden, accountsluitingen en opnamelimieten vallen buiten de cryptografie.
  • Dat uitslagen die je niet kunt verifiëren eerlijk zijn. Als het casino nooit een server seed onthult omdat je nooit roteert, of je geschiedenis reset, heb je niets om te controleren.
Eerlijk is niet hetzelfde als winstgevend

Provably fair maakt vals spelen achteraf detecteerbaar. Het maakt het spel niet gunstig. Elke casino-original heeft een ingebouwd voordeel, dus hoe meer je speelt, hoe dichter je resultaten naar het verwachte verlies toe drijven. Zie het als betaald vermaak en stel een limiet in voordat je begint.

Rode vlaggen in een provably fair-systeem

  • Je kunt je client seed niet wijzigen, of het casino stelt die voor je in zonder optie om te bewerken.
  • De hash van de server seed wordt pas getoond nadat je hebt ingezet.
  • Het wisselen van je seed onthult de vorige serverseed niet.
  • De fairnesspagina geeft geen formule, of een formule die de resultaten in je gokgeschiedenis niet reproduceert.
  • De enige verifier staat op de site van het casino zelf en accepteert elke invoer zonder tussenstappen te tonen.
  • ‘Provably fair’ wordt geclaimd voor slots of livespellen van derden waarbij geen seeds worden getoond.

Niets hiervan bewijst valsspelen, maar elk punt haalt een deel weg van wat het systeem controleerbaar maakt. Een casino dat vertrouwen heeft in zijn implementatie heeft geen reden om de invoer te verbergen.

RNG-certificering door derden: eCOGRA, iTech Labs en GLI

De meeste spellen bij elk casino, crypto of niet, komen van externe studio's. Die spellen worden door onafhankelijke laboratoria getest voordat toezichthouders ze live laten gaan. De labs onderzoeken de willekeurige-getallengenerator, hoe de uitvoer wordt geschaald naar spelresultaten en of het rendement op lange termijn overeenkomt met de vermelde RTP over zeer grote aantallen gesimuleerde rondes.

Belangrijke testlabs die je ziet in casinofooters en op spelinfopagina’s
LabAchtergrondWat het test
eCOGRATestlab met hoofdkantoor in het VK, opgericht in 2003; zegt geaccrediteerd te zijn in 47 rechtsgebiedenRNG, RTP, spelengines, platforms en live-dealersystemen; biedt ook alternatieve geschillenbeslechting
iTech LabsOnafhankelijk testlab voor gereguleerde marktenRNG-certificering, wiskunde- en uitbetalingstests, RTP-audits op basis van serverlogs
GLI (Gaming Laboratories International)Publiceert de technische GLI-standaarden die veel toezichthouders gebruikenTesten volgens standaarden als GLI-11 (speelapparaten) en GLI-19 (interactieve gamingsystemen)
BMM TestlabsGevestigd lab dat met veel toezichthouders werktRNG- en speltests voor fysieke en online spellen

Een laboratoriumcertificaat vertelt je dat het spel is getest in een bepaalde versie, voor een bepaalde jurisdictie, met een bepaalde RTP-instelling. Het vertelt niet welke RTP-versie jouw casino draait, omdat veel studio’s er meerdere aanbieden. Controleer het infoscherm van het spel zelf voor de RTP en zoek het certificaat waar mogelijk op de website van het lab op in plaats van een logo in de casinofooter te vertrouwen. Voor meer over hoe RTP-instellingen tussen casino’s verschillen, zie onze RTP-gids.

Provably fair versus gecertificeerde RNG

KenmerkProvably fairGecertificeerde RNG
Gebruikt voorCasino-originals: dice, crash, limbo, plinko, minesGokkasten, tafelspellen en live casino van derden
Wie controleertJij, inzet voor inzetOnafhankelijke labs, voor toezichthouders
Wat het laat zienDat een specifiek resultaat na de inzet niet is aangepastDat het systeem en de uitbetalingspercentages zich over miljoenen rondes gedragen zoals vermeld
WanneerNa elke seedrotatieVóór release en bij updates
ZwakteZegt niets over het voordeel, de uitbetalingen of de aanbiederJe kunt een individuele uitkomst niet zelf controleren

De twee benaderingen streven hetzelfde doel na vanuit verschillende richtingen. Een casino met door labs gecertificeerde spellen van derden en provably fair originals met gepubliceerde formules geeft je beide soorten zekerheid.

Provably fair gebruiken bij het kiezen van een casino

Een casino dat provably fair-originals aanbiedt, zijn formules publiceert, de hash van de volgende serverseed vooraf toont en je je eigen clientseed laat instellen, is open over hoe uitkomsten tot stand komen. Grote aanbieders met eigen originals, zoals Stake, BC.Game, Roobet en Shuffle, brengen hun originals op de markt als provably fair, net als nieuwere merken die op originals leunen, zoals Duel. Controleer de eerlijkheidspagina van elk spel zelf, want formules en voordelen verschillen per titel, zelfs binnen hetzelfde casino.

Zie provably fair als één vertrouwenssignaal naast de licentie (zie onze casinoreviews voor de licentie van elke aanbieder), duidelijke opnamevoorwaarden en hulpmiddelen voor verantwoord gokken, niet als garantie op zichzelf. Onze cryptocasino-ranglijsten markeren aanbieders met provably fair-hulpmiddelen, en onze gids met Stake-alternatieven vergelijkt casino's die zich op originals richten.

Een praktische routine

Je hoeft niet elke weddenschap te verifiëren. Stel je eigen client seed in, speel, roteer het seedpaar en controleer steekproefsgewijs een handvol weddenschappen uit elke cyclus, waaronder minstens één winst en één verlies. Dat af en toe doen is genoeg om te bevestigen dat het systeem werkt zoals beschreven.

Als je merkt dat je resultaten controleert om te bewijzen dat het spel “aan de beurt” is om uit te betalen, is dat een teken om pauze te nemen. Elke ronde staat op zichzelf. Onze gids voor verantwoord gokken noemt de limieten en beschikbare ondersteuning, en ons overzicht veilig spelen verwijst naar gratis hulpdiensten.

Bronnen

Alleen 18+. Gokken brengt risico's met zich mee en moet worden gezien als betaalde entertainment, nooit als inkomen. Controleer of online gokken legaal is waar je woont voordat je speelt. Hulp zoeken en limieten instellen →