Turing-Vollständigkeit: Was sie bedeutet, warum Ethereum sie benötigte und warum Bitcoin sie vermieden hat.
Ein Freund, der im traditionellen Finanzwesen arbeitet, fragte mich einmal, warum Ethereum ganze Finanzanwendungen auf seiner Blockchain ausführen kann, während Bitcoin im Grunde nur Geld von einer Adresse zur anderen senden kann. „Es sind beides Blockchains“, sagte er. „Worin besteht der tatsächliche Unterschied?“
Ich versuchte, ihm die Turing-Vollständigkeit zu erklären, doch er verlor nur den Verstand. Also versuchte ich es erneut mit einer Analogie. Bitcoin ist wie ein Warenautomat. Man wirft Geld ein, drückt einen Knopf und bekommt einen bestimmten Artikel. Er tut genau das, wofür er gebaut wurde, und nichts anderes. Ethereum hingegen ist wie eine Küche mit einem Koch. Man gibt dem Koch ein beliebiges Rezept und genügend Zutaten, und er kann alles zubereiten. Schleifen („Rühren, bis die Masse dickflüssig ist“), Entscheidungen („Wenn es zu salzig ist, Wasser hinzufügen“), Kreativität („Aus den Resten ein Dessert improvisieren“). Der Koch kann jede Anweisung befolgen. Der Warenautomat nicht.
Diese Analogie ist nicht perfekt. Ein Informatiker würde auf einige meiner Vereinfachungen hinweisen. Aber sie brachte meinen Freund dazu, die richtige Frage zu stellen: „Warum sollte sich jemand entscheiden, ein Verkaufsautomat zu sein?“
Diese Frage ist der Kern der Turing-Vollständigkeitsdebatte im Kryptobereich. Sicherheit versus Flexibilität. Vorhersagbarkeit versus Leistungsfähigkeit. Bitcoin versus Ethereum. Und die Antwort lautet, ärgerlicherweise: Beide Seiten haben Recht.
Woher diese Idee stammt und warum eine mathematische Arbeit aus dem Jahr 1936 immer noch relevant ist
Alan Turing veröffentlichte 1936, im Alter von 23 Jahren, eine Arbeit mit dem Titel „Über berechenbare Zahlen“. Darin beschrieb er eine so einfache Maschine, dass sie wie ein Spielzeug klingt: Ein in Zellen unterteilter Streifen aus Klebeband. Ein Lesekopf, der Symbole liest und schreibt. Regeln, die dem Lesekopf Anweisungen geben, was er basierend auf den gelesenen Symbolen tun soll. Klebeband, Lesekopf, Regeln – das ist die gesamte Maschine.
Und hier kommt der Teil, der mir immer noch Gänsehaut bereitet. Turing bewies, dass diese unglaublich einfache Maschine alles berechnen kann, was ein Computer jemals berechnen wird. Nicht nur einiges. Wirklich alles. Ihr Handy führt gerade jetzt Band- und Kopfoperationen durch. Genauso wie der Server, auf dem ChatGPT läuft. Und auch der Chip in Ihrem Auto. Er bewies all das 1936, noch bevor es einen einzigen elektronischen Computer auf der Welt gab. Die Veröffentlichung ist fast 90 Jahre alt, und sie wird noch immer in jedem Informatik-Studiengang weltweit im ersten Semester behandelt.
Wenn jemand sagt, ein System sei „Turing-vollständig“, meint er, es könne Turings Bandmaschine simulieren. Es kann Schleifen ausführen, datenbasierte Entscheidungen treffen, Daten im Speicher ablegen und beliebige Algorithmen ausführen. Ihr Laptop ist Turing-vollständig. Ein Taschenrechner hingegen nicht. Und hier ist eine interessante Tatsache, die ich gerne erzähle: Die Redstone-Schaltungen in Minecraft sind technisch gesehen Turing-vollständig. Spieler haben im Spiel funktionierende Computer gebaut. Keine nützlichen Computer, aber funktionierende.

Wie sich das bei Bitcoin auswirkt: Warum Satoshi sich für die Beschränkung entschieden hat
Satoshi entwickelte Bitcoin mit einer Programmiersprache namens Bitcoin Script, die bewusst einfach gehalten ist. Absichtlich. Sie verifiziert Signaturen, verwaltet Multi-Signatur-Wallets, sperrt Guthaben zeitlich begrenzt – und das war’s im Wesentlichen. Keine Schleifen. Keine komplexen Verzweigungen. Kein Zustand, der zwischen Transaktionen übertragen wird.
Als ich zum ersten Mal verstand, warum das so wichtig ist, las ich über den DAO-Hack auf Ethereum (darauf komme ich noch zurück). Ein rekursiver Funktionsaufruf kostete einen Smart Contract 150 Millionen Dollar, weil sich der Code in einer Endlosschleife selbst aufrufen konnte, was die Entwickler nicht vorhergesehen hatten. Bei Bitcoin ist ein solcher Hack unmöglich. Nicht unwahrscheinlich. Unmöglich. Bitcoin Script kann sich nicht selbst aufrufen. Es kann keine Schleifen bilden. Es kann keine Rekursion durchführen. Die Sprache ist zu eingeschränkt, um die Art von Fehler auszudrücken, die Ethereum 150 Millionen Dollar gekostet hat.
Diese Einschränkung ist gleichzeitig die Stärke. Jedes Bitcoin-Skript terminiert vorhersehbar. Man kann es lesen und weiß genau, was es tun wird. Keine Überraschungen. Kein unerwartetes Verhalten. Wenn es um die Sicherung eines Netzwerks im Wert von über einer Billion Dollar geht, ist „langweilig und vorhersehbar“ keine Schwäche, sondern eine bewusste Designentscheidung.
Was Vitalik gebaut hat und warum es alles verändert hat
Vitalik Buterin war 19 Jahre alt, als er 2013 das Ethereum-Whitepaper veröffentlichte. Seine Frage war einfach und radikal: Was wäre, wenn die Blockchain selbst jedes beliebige Programm ausführen könnte? Nicht nur „Münzen von A nach B senden“, sondern alles, was ein Computer tun kann?
Ich war im Studium, als das Ethereum-Whitepaper veröffentlicht wurde. Ich las es in einem PDF, das jemand in einem Bitcoin-Forum geteilt hatte. Die Hälfte der Kommentare bezeichnete Vitalik als Genie. Die andere Hälfte meinte, er baue ein System, das sofort gehackt werden würde. Beide Seiten hatten Recht.
Ethereum wurde 2015 mit zwei Komponenten veröffentlicht, die es Turing-vollständig machten. Solidity ist die Programmiersprache zum Schreiben von Smart Contracts. Sie bietet Schleifen, Bedingungen, Zustandsverwaltung und Funktionsaufrufe – alles, was man braucht. Die Ethereum Virtual Machine führt diese Verträge gleichzeitig auf jedem Knoten im Netzwerk aus. Zusammen ermöglichen sie Entwicklern, jeden beliebigen Code bereitzustellen.
Diese eine Entscheidung ist der Grund für die Existenz von DeFi, NFTs und DAOs. Sie erklärt, warum Milliarden von Dollar durch Programme fließen, die von keinem einzelnen Unternehmen kontrolliert werden. Jede interessante Krypto-Anwendung, von Uniswap über Aave bis hin zu OpenSea, ist nur möglich, weil Ethereum beliebigen Code ausführen kann.
Doch Vitalik ging eine Wette ein. Er setzte darauf, dass die Vorteile der Flexibilität das Risiko der Komplexität überwiegen würden. Der DAO-Hack 2016 stellte diese Wette auf die Probe. DeFi-Exploits, die jährlich Milliardenverluste verursachen, stellen sie immer wieder auf die Probe. Und die Bitcoin-Community verweist weiterhin auf diese Verluste und sagt: „Deshalb haben wir es einfach gehalten.“ Beide Seiten haben ihre Berechtigung.
Das Halteproblem und warum es Gasgebühren gibt
Das ist der Teil, der mich nachts wachgehalten hat, als ich ihn zum ersten Mal verstand.
Turing bewies in derselben Arbeit von 1936 etwas Unbequemes: Kein Algorithmus kann anhand eines beliebigen Programms zuverlässig bestimmen, ob es zu Ende läuft oder in einer Endlosschleife gefangen ist. Dies ist kein ungelöstes technisches Problem, sondern eine mathematische Unmöglichkeit. Bewiesen. Aus. Kein Computer, egal wie fortschrittlich, kann das Halteproblem für alle Programme lösen.
Auf meinem Laptop ist eine Endlosschleife nervig. Ich drücke Strg+C. Alles geht weiter. Auf einer Blockchain ist eine Endlosschleife katastrophal. Jeder Knoten führt jeden Smart Contract aus. Wenn ein Contract nie beendet wird, friert jeder Knoten auf der gesamten Blockchain ein. Das Netzwerk ist tot.
Ethereums Lösung ist zwar einfach, aber effektiv: Gas. Jede Berechnung kostet Gas. Sie binden Gas an Ihre Transaktion. Sobald das Gas aufgebraucht ist, stoppt der Code. Dabei spielt es keine Rolle, ob die Transaktion bereits abgeschlossen war oder ob sie gerade mitten in der Geldüberweisung steckte. Sobald das Gas aufgebraucht ist, ist die Ausführung beendet. Deshalb variieren die Gasgebühren bei Ethereum. Eine einfache Überweisung: 21.000 Gas. Ein komplexer DeFi-Swap: 200.000. Die Erstellung eines NFTs mit On-Chain-Grafik: eine halbe Million. Sie bezahlen also für den Rechenaufwand, den jeder Knotenpunkt leisten muss.
Bitcoin hat sich mit diesem Problem auseinandergesetzt und gesagt: „Nein.“ Man kann keine Endlosschleife schreiben, man kann sich nicht in einer verfangen. Jedes Skript wird beendet. Es wird kein Gasmechanismus benötigt. Die Sprache ist zu begrenzt, um „für immer“ auszudrücken.
Juni 2016: Als aus der Theorie in der Realität 150 Millionen Dollar wurden
Jede Diskussion über Turing-Vollständigkeit in der Kryptographie läuft irgendwann auf diesen Punkt hinaus.
Die DAO war ein 150-Millionen-Dollar-Investitionsfonds auf der Ethereum-Blockchain. Smart Contracts und Community-Governance spielten eine Rolle. Geld wurde eingezahlt, und per Abstimmung wurde die Verwendung der Mittel bestimmt. Der Code war komplex und enthielt Schleifen, Bedingungen, vertragsübergreifende Aufrufe und einen Zustand, der sich während der Ausführung änderte. Alles, was die Turing-Vollständigkeit erlaubt.
Jemand hat eine Sicherheitslücke entdeckt. Die Auszahlungsfunktion überwies zuerst ETH und aktualisierte erst danach den Kontostand. Der Angreifer rief die Auszahlungsfunktion auf, erhielt die Zahlung, und bevor der Kontostand aktualisiert wurde, rief sich die Funktion selbst erneut auf. Und wieder. Und wieder. Eine Endlosschleife, die die Entwickler nie beabsichtigt hatten und die mit jedem Durchlauf Geld abzieht.
Könnte das bei Bitcoin passieren? Nein. Bitcoin Script kann sich nicht selbst aufrufen. Es kann keine anderen Skripte aufrufen. Es kann keine Schleife erzeugen. Das, was Bitcoin so langweilig macht, ist gleichzeitig das, was diesen speziellen Angriff unmöglich macht.
Die Ethereum-Community stimmte für eine Hard Fork der Blockchain, um den Diebstahl rückgängig zu machen. Aus dieser Abspaltung entstand Ethereum Classic. Die Entwickler lernten daraus. Reentrancy-Schutzmechanismen wurden zum Standard. Das „Checks-Effects-Interactions“-Muster wurde zum unumstößlichen Prinzip. Doch die grundlegende Wahrheit blieb bestehen: Turing-vollständiger Code kann immer Fehler enthalten, die seine Entwickler nicht vorhergesehen haben. Das ist kein Fehler in Ethereum, sondern eine Folge der mathematischen Gesetze.

Bitcoin wird weniger eingeschränkt: Taproot und BitVM
Die Trennlinie zwischen Turing-vollständig und Turing-unvollständig ist bei Bitcoin nicht mehr so scharf wie früher.
Taproot wurde im November 2021 veröffentlicht und erweiterte die Möglichkeiten von Bitcoin Script. Komplexere bedingte Ausgaben, verbesserte Privatsphäre durch Schnorr-Signaturen und Merkel-basierte abstrakte Syntaxbäume, die die Bedingungen einer Transaktion bis zu ihrer Ausführung verbergen, sind nun möglich. Zwar ist Bitcoin Script noch nicht Turing-vollständig, aber ausdrucksstärker als zuvor.
BitVM, das 2023 vorgeschlagen wurde, geht noch einen Schritt weiter. Es beschreibt ein System, das beliebige Berechnungen außerhalb der Blockchain durchführt und das Ergebnis anschließend auf Bitcoin verifiziert. Man kann es sich so vorstellen: Die eigentliche Berechnung findet außerhalb der Blockchain statt, und Bitcoin greift nur ein, wenn das Ergebnis angefochten wird. Theoretisch ist Bitcoin dadurch für bestimmte Anwendungsfälle praktisch Turing-vollständig, ohne dass die Skriptsprache selbst geändert werden muss.
Ich habe mit Bitcoin-Entwicklern über BitVM gesprochen, und ihre Reaktionen sind interessant. Sie sind begeistert von den Möglichkeiten, aber gleichzeitig besorgt über die Risiken. Einer von ihnen sagte mir: „Wir werden nichts überstürzen. Hier sind Billionen von Dollar angelegt. Wenn wir es durch zu komplizierte Lösungen kaputtmachen, wird uns das niemand verzeihen.“ Diese Vorsicht ist frustrierend, wenn man Bitcoin DeFi schon morgen nutzen möchte. Sie ist beruhigend, wenn man selbst eine Billion Dollar im System investiert hat.
Die Richtung geht in jedem Fall hin zu mehr Ausdruckskraft. Taproot hat die Möglichkeiten bereits erweitert. BitVM wird sie weiter ausbauen. Erwarten Sie aber nicht, dass Bitcoin zu Ethereum wird. Die Kulturen sind dafür zu unterschiedlich.
Warum wählt jede neue Blockchain überhaupt Turing-Vollständigkeit?
Folgendes hat die Debatte in der Praxis entschieden: Niemand entwickelt mehr Turing-unvollständige Blockchains. Solana, Cardano, Polkadot, Avalanche, BNB Chain – alle Turing-vollständig. Alle können beliebige Programme ausführen. Der Markt hat entschieden, dass Programmierbarkeit den Ausschlag gibt, und die einzige Frage ist nun, wie Turing-vollständige Systeme schneller, kostengünstiger und sicherer gemacht werden können.
Jede Blockchain traf unterschiedliche Kompromisse. Ethereum entschied sich für die EVM und Solidity (größtes Ökosystem, höchste Gebühren auf Layer 1). Solana entwickelte Sealevel für parallele Ausführung mit Rust (schnell, aber schwieriger zu entwickeln). Cardano wählte Haskell und formale Verifikation (mathematisch rigoros, langsamere Akzeptanz). Doch alle stimmten der Turing-Vollständigkeit zu, da sie Smart Contracts, DeFi, NFTs, DAOs und alles andere, was benutzerdefinierte Logik erfordert, ausführen wollten.
Die Sicherheitsprobleme sind real. DeFi-Angriffe verursachen jährlich Schäden in Milliardenhöhe. Der DAO-Hack war erst der Anfang. Doch die Branche kam zu dem Schluss, dass die Vorteile der Programmierbarkeit die Risiken überwiegen. Selbst Bitcoin, die ursprünglich bewusst beschränkte Blockchain, entwickelt sich mit Taproot und BitVM in Richtung mehr Ausdrucksstärke.
Ich beschäftige mich schon lange genug mit Kryptowährungen, um beide Blockchain-Typen ausgiebig genutzt zu haben. Meine Bitcoin-Transaktionen wurden jedes Mal wie erwartet bestätigt. Ich habe auch Ethereum-Smart-Contracts eingesetzt, die unerwartete Dinge bewirkten, da man mit Solidity so komplexen Code schreiben kann, dass man sich selbst überrascht. Beide Erfahrungen haben meine Sichtweise geprägt.
Die Debatte dreht sich weniger darum, ob Turing-Vollständigkeit gut oder schlecht ist, sondern vielmehr darum, was man benötigt. Wer ein maximal sicheres und vorhersehbares digitales Zahlungssystem wünscht, für den ist das Design von Bitcoin sinnvoll. Wer hingegen Finanzanwendungen, Spiele, Identitätssysteme oder alles, was individuelle Logik erfordert, entwickeln möchte, braucht Turing-Vollständigkeit. Das meiste, was Kryptowährungen heute so interessant macht, wurde erst möglich, als ein 19-Jähriger beschloss, das Risiko einzugehen.
Ich denke jedes Mal darüber nach, wenn ich Uniswap, Aave oder ein anderes DeFi-Protokoll nutze. Jeder Tausch, den ich durchführe, ist Code, der auf einer Turing-vollständigen virtuellen Maschine ausgeführt wird. Jede Transaktion birgt das theoretische Risiko, dass ein unvorhergesehener Fehler den gesamten Vertrag zunichtemachen könnte. Ich nutze diese Protokolle trotzdem, weil mir der Nutzen das Risiko wert ist. Aber ich vergesse nie, dass dieses Risiko besteht. Und ich vergesse nie, dass Bitcoin einen anderen Weg gewählt hat, und dieser Weg birgt seine eigene Weisheit. Der Verkaufsautomat stiehlt niemals dein Geld. Der Koch kann die Küche niederbrennen.