Website-Icon BitcoinBlog.de – das Blog für Bitcoin und andere virtuelle Währungen

BitVM ermöglicht frei programmierbare Bitcoin-Transaktionen

Ein Schaltkreis. Bild von bittbox via flickr.com. Lizenz: Creative Commons

Derzeit begeistert das Konzept einer „BitVM“ die Bitcoin-Community. Die Idee ist nicht frei von Problemen – kann aber einen epochalen Fortschritt für Bitcoin einleiten. Und das ist durchaus wörtlich zu verstehen.

Seit Satoshi mit seinem Whitepaper auf nur neun Seiten die Welt des Geldes aus den Angeln hob, gehört Kürze zum guten Ton in der Krypto-Welt. Das Paper „BitVM: Compute Anyting“ von Robin Linus bleibt mit acht Seiten dieser Regel treu – und das, was darin steht, könnte für Bitcoin zu einem beispiellosen Meilenstein werden.

Schach und Go auf Bitcoin

BitVM „ist ein Computing-Paradigma, um Turing-vollständige Bitcoin-Verträge auszudrücken“. Es erlaubt es, jede beliebige Rechenoperation in eine Bitcoin-Transaktion zu integrieren.

Man kann, schreibt Robin, „Spiele wie Schach, Go oder Poker“ in Bitcoin-Verträgen unterbringen, Bitcoin mit anderen Blockchains verbinden, Prediction-Markets bilden oder neue Opcodes emulieren. Und, vielleicht am besten: ganz ohne die Konsensregeln von Bitcoin zu verändern.

Das klingt zu phantastisch, um wahr zu sein. Wie ist es also möglich? Die Antwort ist, ihr ahnt es, etwas kompliziert.

Die einfache Erklärung

Zuerst die einfache Version: Seit dem Taproot-Upgrade ist in einer Bitcoin-Adresse die Essenz einer Datenstruktur, die man Merkle-Tree oder Hashbaum nennt. Diese Datenstruktur erlaubt es, Daten oder andere Transaktionsbedingungen einzupflegen.

Ordinals Inscription nutzen Taproot, um Bilder einzuspeichern, BRC-20, um die Logik von Token zu integrieren. BitVM geht radikal weiter: Es bildet in den Hashbäumen eine virtuelle Maschine ab, die beliebige Rechenoperationen erlaubt.

Wem dieser Erklärung reicht, der kann die folgenden Abschnitte überspringen. Für diejenigen, die es genauer wissen wollen, kommt nun die gründlichere Erklärung. Bei ihr werde ich mich streckenweise auf dünnes Eis begeben müssen.

Boolesche Schaltkreise

BitVM simuliert Datenverarbeitung auf einer sehr grundlegenden Ebene. Die genaue Erklärung ist daher etwas anspruchsvoll. Wir stellen im Folgenden die vier wichtigsten Bausteine vor.

Erstens, die „Booleschen Schaltkreise“: BitVM simuliert diese im Hashbaum. Boolesche Schaltkreise sind „digitale Schaltungen“: In einer physischen Schaltung fließt entweder Strom oder kein Strom, während eine digitale Schaltung entweder Null oder Eins ausgibt. Das ist ein Bit.

Mit solchen Bits werden Programme und Datensätze aufgebaut. Die Informationen fließen dabei durch sogenannte Gatter, die einen oder mehrere Bits als Inputs nehmen, mit einer simplen Logik verarbeiten und einen Output ausgeben, der entweder Null oder Eins lautet. BitVM verwendet das NAND-Gatter, das prinzipiell jede logische Verknüpfung erlaubt.

Hashbäume

Zweitens, der Hashbaum: Dieses kryptographische Konzept nimmt eine Schlüsselrolle bei Bitcoin ein. Ein Hashbaum besteht aus vielen „Blättern“ genannten Hashes, die solange kombiniert, gehasht, kombiniert und gehasht werden, bis nur noch ein Hash übrig bleibt. Das ist die Wurzel oder „Top Hash2. Man kann sich das wie eine Pyramide vorstellen. Ein Hashbaum erlaubt es, allein anhand der Wurzel die Validität einer irrsinnig großen Menge an Daten zu prüfen.

Dieser Hashbaum sieht wie ein umgedrehter Baum aus: Die Krone ist unten, die Wurzel oben. Bild von wikipedia.org.

Im Header eines Bitcoin-Blocks steckt über die Wurzel des Hashbaums auch ein Beweis für die Gültigkeit jeder einzelnen Transaktion darin. Taproot geht noch einen Schritt weiter: Es macht die Wurzel eines Hashbaums zum Bestandteil einer Adresse macht. So kann man nicht nur einzelne Daten, sondern ganze Strukturen in die Transaktionslogik von Bitcoin integrieren.

NAND-Schaltungen

Drittens nutzt BitVM nun die Blätter des Hashbaumes, um Bits zu simulieren. Dazu stellt BitVM jedes Bit durch zwei Hashes dar, hash0 und hash1. Wenn man das Preimages eines der Hashes enthüllt, also die ihm vorhergehenden Daten, wird das Bit zu einer 0 oder 1. Diese werden durch die NAND-Schaltungen verarbeitet.

BitVM bildet also einen digitalen Schaltkreis im Hashbaum ab. So kann man unendlich komplexe Bedingungen zu formulieren, wann die Wurzel des Hashbaums und damit eine Transaktion gültig ist. Das könnte der Sieg einer Partie Schach sein, die korrekten Namen und Geburtsdaten von einhundert Personen, eine summa cum laude bestandene Prüfung in theoretischer Quantenphysik oder was auch immer man sich vorstellen mag.

Prover und Verifier

Viertens jedoch ist noch ein Problem zu lösen: Wie schützt man sich vor Betrug? Was hindert eine Partei daran, das Programm nicht korrekt zu durchlaufen? Wenn man über die BitVM Geld empfängt – woher weiß man, dass der Sender die Adresse tatsächlich korrekt gebildet hat?

Dieser Baustein ist notwendig, aber etwas langweilig. BitVM definiert dazu zwei Rollen, Prover und Verifier: einer erhebt einen Anspruch, der andere prüft diesen. Dazu vereinbaren die beiden eine Sequenz von Fragen und Antworten (Challenges und Responses). Wenn der Prover eine Antwort verweigert, verliert er.

Diese Sequenz wird als vorsignierte Kette an Onchain-Transaktionen von beiden Parteien gespeichert. Kommt es zu einem Betrug, kann der Verifier diese Transaktionen onchain einlösen und sich die Guthaben auf der Adresse sichern. Ohne einen solchen Sicherheitsmechanismus würde die BitVM nicht funktionieren. Im Normalbetrieb kommt er aber nicht zum Einsatz. Er ist da, um nicht gebraucht zu werden.

Kein Altcoin-Killer

Wie soll man BitVM nun einschätzen? Ist sie, wie sich manche Bitcoiner wünschen, das Ende von Altcoins, DeFi und Krypto, weil man ja alles, was diese können, in die BitVM schreiben können?

Das gewiss nicht. BitVM ist bisher nur ein reines Konzept, von dem selbst Erfinder Robin Linus schreibt, dass es ineffizient und bisher auf zwei Parteien beschränkt sei. Zudem führt es eine gewaltige Komplexität für Wallets und User ein. Einen Altcoin in die BitVM zu stecken, ist etwa so, als würde man eine Dos-Box in einem Windows-Emulator auf Fedora Linux laufen lassen.

BitVM wird sicher nicht an der Existenz von Krypto und Altcoins rütteln. Aber das bedeutet nicht, dass das Konzept nicht fantastisch ist. Es hat das Zeug, Bitcoin um so vieles besser zu machen, dass einem schwindelig wird, wenn man ernsthaft darüber nachdenkt.

Proteine falten anstelle einer Signatur

Zunächst einmal erlaubt BitVM es, jede beliebige Transaktionslogik einzuführen. Man könnte Transaktionen an ein Schachspiel binden, an die Simulation der Proteinfaltung, die Durchführung von KI-Kalkulationen oder was immer man möchte.

Das ist äußerst faszinierend, wird aber in der Wirklichkeit an der enormen Ineffizienz leiden: Da jedes Bit durch ein Hash dargestellt wird, das aus 128 oder 256 Bits besteht, ist die Datenlast enorm. Für komplizierte Programme, die aus Milliarden von Bits und Gattern besteht, dürfte BitVM nur in absoluten Ausnahmefällen geeignet sein.

Backup-Strategien und Covenants

Realistischer sind neue Backup- oder Transaktionsstrategien. Grenzen setzt hierbei nur noch die Phantasie.

Man könnte ein Backup per Google-Authenticator machen, durch einen Verifizierungsdienstleister, durch Signaturen anderer Bitcoin-Adressen, PGP-Schlüssel, 10 Fragen, die man nur selbst beantworten kann, einen Tweet, ein Nostr-Post oder was auch immer einem einfällt. Mit BitVM kann Bitcoin viel bessere und intelligentere „Smart Wallet“ bekommen als alles, was man bei Ethereum derzeit mit „Account Abstractions“ feiert.

Man kann auch die „Covenants“ oder Whitelists einführen, für die vor einiger Zeit die BIP-119-Softfork verlangt (und abgelehnt) wurde, also dass Auszahlungen nur an bestimmte Adressen möglich sind. Mit BitVM kann man dazu noch viel umfangreichere White- oder auch Blacklists führen, als sie die Onchain-Covenants jemals ermöglicht hätten.

Man kann tägliche Ausgabengrenzen bestimmen (die beispielsweise durch eine Signatur eines Dienstleisters angehoben werden können), Transaktionen an einen Altersnachweis oder einen Proof-of-Human binden und so weiter.

Anonymität, Sidechains und mehr

Es wäre möglich, eine Transaktion durch eine andere Bitcoin-Transaktion zu triggern. Das könnte es erlauben, ohne dritte Partei die Kette der Transaktionen zu durchbrechen, also Anonymität herzustellen. Auch Ringsignaturen wie bei Monero wären denkbar.

Theoretisch wäre es auch möglich, eine minimalistische Wallet für andere Kryptowährungen oder Blockchains in den Hashbaum einzuflechten. Damit könnte Bitcoin endlich bei den anderen Coins zuhören. Man könnte dezentral Coins wechseln oder Sidechains bilden, die wie beim Drivechain-Konzept keinen Mittelsmann benötigen, dem man vertrauen muss.

Vielleicht könnte man BitVM auch ins Lightning-Netzwerk integrieren, um das Liquiditätsmanagement zu verbessern. Man könnte sie auch mit Ordinals Inscriptions, BRC-20-Token oder der dezentralen Twitter-Alternative Nostr verbinden. Und mit Sicherheit wird die Szene spannende Anwendungen finden, an die wir hier noch nicht mal denken.

Um diese Möglichkeiten zu erschließen wird allerdings noch sehr viel Arbeit nötig sein. Es gibt noch nicht mal einen Proof-of-Concept. Daher werden noch Jahre vergehen, bis wir BitVM in den Wallets sehen werden – falls Interesse und Durchhaltevermögen bis dahin nicht im Tagesgeschäft erlahmen. Das könnte passieren, wäre aber eine Tragödie. Denn theoretisch ist BitVM ein epochaler Meilenstein für Bitcoin.

Die mobile Version verlassen