Wat is Turing Complete?
Turing Complete betekent dat een computersysteem elk algoritme kan uitvoeren als je voldoende tijd en geheugen hebt. In crypto beschrijft het ketens die ingewikkelde logica kunnen draaien, niet alleen tokens van A naar B sturen. Zie het als een keuken die elk recept kan bereiden zolang je de ingrediënten en geduld meebrengt.
Turing Complete betekent dat iets in elk geval beter is. Niet helemaal. Het biedt flexibiliteit, maar kan ook bugs, extra kosten en nieuwe aanvalspaden brengen als je niet voorzichtig bent.
Hoe Turing Complete werkt
Op een keten met volledige programmeerbaarheid schrijf en zet je smart contracts in die kunnen vertakken, lussen en gegevens opslaan. Hieronder een korte uitleg:
- Stap 1: Een gebruiker verstuurt een transactie die een contractfunctie aanroept.
- Stap 2: Het contract leest inputs en staat, en voert daarna logica uit zoals voorwaardelijke instructies, lussen of berekeningen.
- Stap 3: Het resultaat werkt saldi of variabelen bij en kan events uitzenden zodat apps kunnen volgen wat er gebeurt.
- Stap 4: Gasmeting houdt doorgeschoten code onder controle zodat oneindige lussen de keten niet blokkeren.
- Stap 5: Optionele extra's zoals orakels kunnen data leveren zodat de logica reageert op prijzen of tijdstempels.
Dat is het proces. Helder en verrassend krachtig.
Waarom Turing Complete belangrijk is
Het speelt een rol omdat het een blockchain verandert in een algemene rekenlaag voor financiën, spellen en meer.
- Voordeel: Je kunt afspraken automatiseren, complexe uitbetalingen programmeren en functies uitrollen zonder een poortwachter te hoeven vragen.
- Aandachtspunt: Meer expressieve code kan duurder zijn om te draaien en kan de netwerkcongestie vergroten wanneer activiteit piekt.
- Toepassing: Je ziet dit in DeFi, NFT's, DAO's en alles wat logica op de keten nodig heeft.
Als iemand zegt dat een keten Turing Complete is, vraag naar veiligheidsmaatregelen: gaslimieten, auditcultuur en of de code upgradebaar is. Die details vertellen je hoe veilig het voelt om te bouwen of geld te storten.
Belangrijke kenmerken van Turing Complete
Denk aan bouwstenen, niet aan modewoorden:
- Open: Iedereen op een gedecentraliseerd netwerk kan code uitrollen die anderen kunnen aanroepen.
- Vertakkingen: Voorwaardelijke instructies laten contracten verschillende paden kiezen op basis van inputs of staat.
- Lussen: Herhaalde stappen maken termijnen, veilingen of rente-opbouw mogelijk.
- Geheugen: Blijvende opslag laat code eerdere acties en saldi onthouden.
- Stopmechanisme: Gasmeting en limieten voorkomen dat eindeloze uitvoering blokken verstoppen.
Varianten
Niet elke keten behandelt programmeerbaarheid hetzelfde. Dit zijn de algemene typen:
- Beperkt: Scripting is beperkt, geschikt voor eenvoudige overdrachten en controles met een kleine aanvalsoppervlakte.
- Volledig: Algemene rekenkracht met rijke taalfeatures voor complexe apps en protocollen.
- Begrensd: Algemene rekenkracht maar met strikte resourcelimieten om kosten voorspelbaar te houden.
Turing Complete gaat over uitdrukkingskracht, niet over snelheid of lage kosten. Een eenvoudig systeem kan sneller zijn, terwijl een meer expressieve optie meer functies biedt maar mogelijk meer kost om te draaien.
Voorbeeld
Een leenapp binnen gedecentraliseerde applicaties (dApps) kan rente berekenen, liquidaties plannen en terugbetalingen routeren omdat de keten Turing Complete is.
Leuk weetje
De term verwijst naar Alan Turing en zijn denkbeeldige machine die elke berekening kon modelleren. Ethereum maakte het idee voor blockchains bekend en voegde gas toe om te voorkomen dat oneindige lussen het netwerk voorgoed zouden uitputten.
Samenvatting
Kort: Turing Complete verandert een blockchain in een computer voor algemene doeleinden die je kunt programmeren met geld als ingebouwde functie.
