Een snapshot legt de gegevens van een blockchain vast op precies één blok in plaats van op een kloktijd, waardoor een voortdurend veranderend grootboek verandert in een vast, controleerbaar record. Omdat elke full node een identieke kopie van de chain bezit, kan iedereen onafhankelijk verifiëren welke adressen op dat exacte blok welke saldi hadden. Dat geeft een project een manipulatiebestendige lijst om te belonen of te autoriseren, zonder dat gebruikers iets hoeven aan te leveren.
Er wordt gewerkt met blockhoogte in plaats van een kloktijd, omdat de intervallen tussen blokken licht variëren, terwijl een blocknummer permanent, opeenvolgend en identiek is op elke node. Zodra het doelblok is gepasseerd, heeft het verplaatsen, verkopen of staken van de tokens daarna geen invloed meer op de geschiktheid: alleen de status op dat bevroren moment telt. Dit voorkomt dat iemand vlak voor het sluiten van een stemming tokens koopt om de uitslag te beïnvloeden en ze daarna meteen weer verkoopt.
Snapshots worden voor meerdere doeleinden gebruikt:
- Bepalen wie in aanmerking komt voor een airdrop, op basis van een minimaal tokensaldo of protocolgebruik vóór het afsluitblok
- Vastleggen van governance-stemgewicht, het meest zichtbaar op het off-chain platform Snapshot, waar houders gasloos kunnen stemmen, gewogen naar hun saldo op een aangewezen Ethereum-blok
- Het splitsen van de geschiedenis van een chain tijdens een hard fork, zodat houders van de oorspronkelijke coin automatisch een overeenkomstig saldo van het nieuwe asset ontvangen
Een veelvoorkomende valkuil betreft saldi bij exchanges en bewaarpartijen: tokens die op het moment van de snapshot op een gecentraliseerd platform staan, worden meestal bijgeschreven op de eigen wallet van de exchange en niet op die van de individuele klant. Of een gebruiker de beloning daadwerkelijk ontvangt, hangt dan af van het eigen distributiebeleid van die exchange en niet van de blockchain zelf.