A blokklánc egy elosztott hálózaton tárolt főkönyv.
Ez a legkönnyebben úgy képzelhető el, mint egy Excel tábla aminek az adatai pénzügyi tranzakciók, több „fülön” tárolva.
Ennek a konstrukciónak a működése, hogy van egy aktuális „fül” ahova beírjuk a tranzakciókat. Egy adott idő, például 10 perc után lezárjuk ezt a fület, elmentjük és nyitunk egy új fület az újabb tranzakcióknak. Egy-egy ilyen fül tekinthető a blokklánc blokkjainak és mivel determinisztikusan egymást követik időrendi sorrendben, így egy láncot képeznek.
A blokklánc a tranzakciókon felül tárol minden blokkban egy egyedi azonosítót, az úgynevezett Hash-t. A Hash egy kiemelkedő tulajdonsága -azon felül, hogy minden blokk számára teljesen egyedi, hasonlóan, mint egy ember ujjlenyomata- , hogy a blokk tartalma alapján generálódik. Így, ha a blokk tartalma megváltozik a hozzá tartozó Hash értéke is megváltozik.
A blokklánc egyes blokkjai nem csak a saját Hash-üket tartalmazzák, hanem az előző blokkét is, így a blokkok egymásra mutatnak és kialakul egy lánc.
Ha egy blokk tartalmát módosítják, például Flóra átírja az Aladártól hozzá érkező összeget 36-ról 150-re, akkor a blokk tartalmi változása miatt a blokkhoz tartozó Hash is megváltozik. Az ezt a blokkot követő blokk viszont így már nem fog tudni a Flóra által módosított blokkra mutatni, így a lánc megszakad.
Ez a mechanizmus garantálni tudja, hogy a blokkláncon lévő adatok, ha egyszer felkerültek nem módosíthatóak vagy törölhetőek, hisz akkor megszakadna a lánc és ezt mindenki azonnal észlelné.
Egy másik, szintén a Hash-ekhez kapcsolódó mechanizmus amit érdemes megemlíteni, a bányászat.
A bányászat célja, hogy a blokklánchoz új blokkot adjunk hozzá és ezt cserébe jutalmat kapjunk. Ehhez az első lépés ellenőrizni az erre dedikált software segítségével az új blokkban lévő tranzakciók érvényességét. A második, hogy ezek alapján legeneráljuk a blokkhoz tartozó Hash-t. Pusztán a Hash legenerálása csupán pár pillanat lenne a számítógépnek, így a blokkok túl gyorsan követnék egymást. A Botcoin protokolljában például előírás, hogy 10 percenként jelenjen meg egy blokk. Ezt úgy lehet elérni, hogy a generált Hash értékéhez szabályokat veszünk fel. Például, hogy csak olyan Hash-t fogadjon el a rendszer, aminek az első 6 karaktere „0” értéketvesz fel. Mivel a blokkban szereplő tranzakciókat nem lehet módosítani, így hozzá kellett adni még egy adatot minden blokkhoz, az úgynevezett nonce-t. A bányászat lényege, hogy a rendszerhez csatlakozó számítógépek az érvényes tranzakciókkal teli blokkhoz tartozó nonce-t próbálják úgy módosítani, hogy az ez alapján kapott Hash megfeleljen a protokollban előírt szabálynak. Aki ezt először megteszi, jutalmat kap az adott kriptopénzben, amiért segített üzemeltetni a blokkláncot.