Documenten

FAIRDRUM-documentatie

Hier staat alles over hoe de site in elkaar zit: waar je begint, hoe een ronde wordt berekend, waar je SOL staan en wat er is gedaan om dit allemaal te laten werken. Elk onderdeel is een aparte pagina met details.

Voor de speler: waar je begint

Hoe het spel in elkaar zit

Je SOL en bescherming

Waaruit het project bestaat

  • Smart contract op het Solana-netwerk. Neemt inzetten aan, bewaart spelsaldi en potten, berekent de uitkomst van de ronde en de uitbetalingen. De site berekent de uitbetalingen niet en kan ze niet wijzigen.
  • Site: statische pagina's zonder server met een database van spelers. De site leest het contract en bereidt transacties voor die je wallet ondertekent.
  • Dienstdoende service van het platform: een programma op een aparte server. Onthult het rondegeheim zodat het contract de ronde kan afrekenen, schrijft overboekingen vanaf persoonlijke stortingsadressen bij en bewaakt dat er in de kluis niet minder staat dan de verplichtingen aan spelers.

Wat er is gedaan om de site in deze staat te krijgen

De getallen hieronder zijn geteld op basis van de broncode en de controlelogboeken per 13-11-2026.

Contract

Ongeveer 2100 regels Rust, 27 commando's. 37 automatische tests van berekeningen en boekhouding.

Site

16 spellen, 37 pagina's in 14 talen: in totaal 519 kant-en-klare pagina's. Ongeveer 10000 regels code en ongeveer 1600 zinnen per taal.

Codecontroles

7 interne codecontroles waarbij het gevondene is hersteld en 83 automatische tests van de site. Een onafhankelijke externe audit is er nog niet geweest.

Repetities op een kopie van het netwerk

Op een lokale kopie van het Solana-netwerk: 117 rondecontroles (vervalsing van het geheim, teruggave van de inzet, wisseling van de wortel van de geheimen) en 28 controles van de dienstdoende service (uitval, twee kopieën, een vreemd geheimenbestand).

Elk spel live

Alle 16 spellen zijn in de browser op het echte contract gespeeld: na elke ronde is het saldo op de site vergeleken met het saldo in het contract. Beide manieren van inloggen, storten vanaf een exchange en opnemen zijn gecontroleerd.

Elke pagina

Alle pagina's in alle talen zijn op een telefoon en op een computer geopend, 1008 keer in totaal: zonder fouten, lege plekken of horizontaal scrollen.

Beslissingen die het project hebben veranderd

  • Een eigen eerlijke loting in plaats van een extern orakel. Uit een meting bleek dat het orakel op het testnetwerk en op het hoofdnetwerk hetzelfde getal teruggaf, zodat het getal van de ronde vooraf te achterhalen was. Het orakel is verwijderd; het getal van de ronde wordt nu samengesteld uit een geheim dat vóór de inzet is vastgelegd en de hash van het inzetblok.
  • Teruggave van de inzet in plaats van een vastgelopen ronde. Als het platform de ronde niet op tijd afrekent, geeft het contract de inzet volledig terug en komt de teruggave in een openbare teller.
  • Persoonlijk stortingsadres. Elke speler heeft een eigen adres in het contract: SOL kun je vanaf een exchange sturen zonder handtekening in de wallet.
  • Inloggen zonder eigen wallet. De site maakt een wallet aan in de browser van de speler; de sleutel wordt niet aan de site en niet aan het platform doorgegeven.
  • Geen sleutels op de server van de site. De sleutels van het platform staan alleen op de aparte server van het contract.

Wat nog niet gedaan is

Er is geen onafhankelijke externe audit van het contract uitgevoerd. Het updaterecht van het programma ligt voorlopig bij één sleutel van het platform en niet bij een multisig. De vertalingen van de pagina's zijn niet nagelezen door moedertaalsprekers. Meer over de beperkingen staat op de pagina's ‘Eerlijke loting’ en ‘Spelersbescherming’.