När Bitcoin började användas för gambling uppfanns också konceptet ”provably fair gaming”, ett sätt för spelaren att själv kunna verifiera att ett onlinekasino inte fuskar med tärningsslagen, kortlekarna etc. Med tanke på hur många som ansluter sig till konspirationsteorin(?) att kasinon beter sig oärligt och att man förlorar mer/oftare än man borde så är det förvånande att idén inte fått större genomslag.
Verifierbar gambling har egentligen ingenting med Bitcoin att göra men den kultur som innebär att man inte ska behöva lita på någon tredje part gjorde förmodligen att detta blev en stor grej just i Bitcoincommunityn.
Såhär funkar det
Ett traditionellt onlinekasino har en slumpgenerator, ofta mjukvara kombinerad med någon specifik hårdvara för att se till att talen som genereras verkligen är slumpmässiga och inte på något sätt kan förutses av spelaren. För den som är intresserad av hur fel det kan bli rekommenderas den här artikeln om ett av de första pokerrummen, som misslyckades med sin slumpgenerator på inte mindre än fyra olika sätt, vilket gjorde att hackers kunde förutse vilka kort som skulle komma.
Så det är alltså mycket viktigt att servern kan generera ett verkligt slumpmässigt tal. Detta utesluter dock inte att även spelaren kan få en del i processen. Nedan är ett exempel på hur verifierbart schysst slumpgenerering kan gå till. Låt oss anta att det här är ett enkelt tärningsspel.
- Kasinot genererar ett slumpmässigt tal T.
- Kasinot gör hash(T) och skickar dig resultatet innan spelet börjar (läs mer om hashfunktioner här).
- Du skapar ett eget tal, S, och skickar detta till kasinot.
- Du gör din satsning (t.ex. 1000 kronor på att tärningen kommer att visa 5).
- Resultatet av tärningsslaget räknas ut genom att göra hash(T, S), vilket sedan omvandlas till ett tal mellan 1 och 6 (m.h.a. modulus)
- Efter att ditt spel är klart så skickar servern talet T till dig. Du kontrollerar att hash(T) stämmer med vad kasinot skickade dig i steg 2.
Detta innebär alltså följande:
- Kasinot kan inte modifiera dina chanser att vinna efter att du satsat. Rättare sagt, om de gör det så kan du verifiera att de fuskat genom att själv i steg 6 räkna ut hash(T, S) och se att resultatet blir ett annat.
- Du kan inte i förväg räkna ut resultatet eftersom du bara har tillgång till hash(T), inte T.
- Kasinot kan inte ge just dig specifika resultat, alltså om de t.ex. vet att du gillar talet 5 så kan de inte se till att talet 5 kommer mer sällan, eftersom resultatet av slumpgenereringen är beroende av talet S, som du själv väljer.
Det här är en lite förenklad variant av de algoritmer som brukar användas så om du vill ha tekniska detaljer kan du läsa mer här.
Spel på blockkedjan eller Lightning network
Ett av de första verifierbart schyssta Bitcoinspelen var Satoshi Dice, som blev så otroligt populärt att det under en period stod för mer än hälften av alla bitcointransaktioner. Det var ett nytt sätt att spela på, som inte krävde tillgång till någon hemsida, inloggning etc. utan kunde spelas endast genom att man skickade en betalning till en viss Bitcoinadress, som hade en förutbestämd vinstchans och vinststorlek. Vinsten kom tillbaka nästan omedelbart till den adress man skickat från. Fiffigt, men innebar en stor belastning på blockkedjan.
Med dagens storlek på transaktionsavgifter har spelet som väntat minskat i popularitet men nu har liknande spel börjat dyka upp på Lightning Network. Hos Lightning Spin snurras ett hjul när du skickar en Lightningbetalning. Med tanke på att Lightningbetalningar inte belastar blockkedjan så är det här extremt mycket mer skalbart än Satoshi Dice, men med liknande egenskaper.
OK, en liten disclaimer då. Precis som alla kasinospel så kommer du att gå back i längden om du sätter dig och spelar det här. Jag uppmuntrar ingen att spela bort sina bitcoins på detta utan vill bara visa upp det som ännu ett proof-of-concept för Lightning Network.