Turing complete beschrijft een computersysteem dat elke berekening kan uitvoeren die als algoritme te formuleren is, mits er genoeg tijd en geheugen beschikbaar is. Het idee gaat terug op het werk van Alan Turing uit 1936 over de theoretische Turing-machine, waarmee hij formaliseerde wat het betekent voor een systeem om te "rekenen". Een taal of machine verdient dit label door voorwaardelijke vertakkingen (if/else-logica) te combineren met de mogelijkheid om stappen onbeperkt te herhalen, meestal via loops of recursie, in plaats van beperkt te zijn tot een vaste, lineaire reeks instructies.
In blockchain bepaalt Turing-compleetheid hoe flexibel de programmeerbare logica van een platform kan zijn. Ethereum, gelanceerd in 2015, was de eerste grote blockchain die op deze manier werd gebouwd: de Ethereum Virtual Machine voert bytecode uit die gecompileerd is uit talen zoals Solidity, waardoor ontwikkelaars smart contracts kunnen schrijven met willekeurige loops, veranderende state en onderling verweven voorwaarden. Die flexibiliteit maakt complexe decentralized applications, DeFi-protocollen en DAO's mogelijk, in plaats van alleen simpele waardeoverdrachten.
Onbeperkte berekeningen brengen wel een risico met zich mee: een oneindige loop zou elke node die een transactie probeert te valideren kunnen vastzetten, een variant van het onoplosbare "halting problem". Ethereum lost dit op met gas, een vergoeding per rekenstap. Uitvoering stopt automatisch zodra het gas van een transactie op is, waardoor open-einde berekeningen begrensd en economisch afgedekt worden.
Bitcoin koos bewust voor de tegenovergestelde aanpak. De scripttaal ondersteunt voorwaarden, maar laat loops opzettelijk weg, zodat elk script gegarandeerd eindigt. Dat betekent minder ruwe programmeerbaarheid, maar meer voorspelbaarheid en weerstand tegen denial-of-service-risico's.