Bizonyos blokkláncok, mint például az Ethereum nem csupán a „Mi a Blokklánc” cikkben említett adatokat képes tárolni -úgy mint a tranzakciók, hash és nonce-, de programkódokat is. Ezek a programkódok az úgynevezett „okosszerződések”.
A programkódokat nem elegendő tárolni, ezeket le is kell futtatni. Erre a célra hozták létre az úgynevezett Ethereum Virtual Machine-t (EVM-et). Ez egy virtuális számítógép, amely képes futtatni a blokkláncon tárolt kódokat.
A virtuális számítógépek működésének lényege, hogy ez nem 1 darab különösen erős számítógép, ami valahol létezik fizikailag, hanem sok átlagos számítógép együttműködésének összessége. Ha van például 100 felhasználó, akik össze vannak kötve az interneten és beleegyeznek, hogy a számítógépeik kapacitásának a felét egy virtuális számítógép használja fel, eredményül kapunke egy olyan virtuális számítógépet, ami olyan erős, mint 50 számítógép. Ezzel a módszerrel megspórolható egy szuperszámítógép megvásárlása és felhasználása. Az Ethereum virtuális számítógépe, az EVM is ezen logika alapján működik.
A működtetéséért azonban fizetni kell. A blokklánchálózat tagjai dönthetnek úgy, hogy számítási kapacitásukat nem bányászatra fordítják, hanem ennek a virtuális számítógépnek a működtetésére. Ezt a kapacitást kell kifizetni, amikor valaki az EVM-et használná.
Fizetni kell, ha új programkódot szeretnénk feltölteni a blokkláncra, vagy, ha ezt a programkódot futtatnánk. Ilyen futtatás lehet például, ha rögzítjük egy termék szériaszámát. A felvitt adatok olvasása azonban ingyenes.