Newsticker

Die Rückkehr der Konkatenation zu Bitcoin

Wizard Haldey. Bild von Chase Elliot Clark via flickr.com. Lizenz: Creative Commons

Die Bitcoin-Protokoll-Entwicklung ist mal wieder spannend: Ein BIP mit der angeblichen Nummer 420 soll den deaktivierten Skriptbefehl OP_CAT wieder einführen. Das würde einige interessante Funktionen freischalten. Noch aufregender ist aber das soziale Prozedere darum – und dass BIP-420 gar keine offizielle Nummer hat.

Die Tabroot-Wizards um Udi Wertheimer und Eric Wall sind dafür bekannt, die Bitcoin-Kultur mit einer etwas trolligen Leichtigkeit zu bereichern.

Derzeit trommeln sie für ein Bitcoin Improvement Proposal (BIP), um den deaktivierten Opcode OP_CAT wieder zu aktivieren. Das BIP, tönt Udi, habe bereits eine Nummer, nämlich die 420, und die habe es auf dezentrale Weise erhalten.

Das stimmt zwar nicht – Udi trollt, wie so oft – enthält aber doch viel Wahres. Das Proposal hat keine Nummer, aber es gibt es wirklich. Die Einführung von OP_CAT ist technisch möglich und interessant, und es gibt tatsächlich zarte Bemühungen, den BIP-Prozess aus seiner bisherigen, zentralisierten und starren Form herauszulösen.

Indem Udi also eine BIP-Nummer erfindet, bläht er eine wahre Geschichte auf, und erreicht das höchste, was man als Troll erreichen kann: Er schafft Aufmerksamkeit für ein relevantes Thema.

Damit haben wir eine Geschichte, in der sowohl technisch als auch sozial Gold liegt. Um das zu heben, müssen wir ein Stückchen ausholen und die jeweiligen Aspekte erklären. Wir beginnen mit der Technik.

Bitcoins Skriptsystem

In Bitcoin, müsst ihr wissen, steckt ein eigenes, von Satoshi selbst programmiertes Scripting-System. Wenn in einer Transaktion geprüft wird, ob sie auch tatsächlich durch den zugehörigen Schlüssel unterzeichnet wurde, findet eine Abfolge von Operationen statt, durch die Daten kumuliert, gehasht und verifiziert werden.

Dieses Scripting-System ist nach dem Beispiel einer alten, schlichten Programmiersprache für Geräte aufgebaut, Forth, und operiert, indem Befehle auf einem sogenannten Stack abgelegt und von diesem aus aufgerufen werden.

Ihr müsst diese Details nicht verstehen, noch nicht mal im Ansatz. Worum es geht ist vielmehr das Folgende: So wie ein Taschenrechner hat die Bitcoin-Software verschiedene Befehle, die sogenannten Opcodes. Diese Befehle sind nicht wie in einer herkömmlichen Programmiersprache Turing-vollständig, erlauben es aber, in Kombinationen verschiedenartige Operationen auszuführen, die weit über Standard-Transaktionen hinausgehen.

Zahlreiche dieser Befehle, die am Anfang noch in Bitcoin enthalten waren, wurden später deaktiviert. Satoshi befürchtete, dass sie missbraucht werden könnten, etwa um Überlastungsangriffe zu fahren, während sie für die gewöhnlichen Transaktionen, um die es ihm zumindest in der Frühzeit von Bitcoin ging, nicht notwendig waren.

Die Rückkehr von OP_CAT

Einer dieser deaktivierten Codes ist OP_CAT. Das „CAT“ steht für Konkatenation und bedeutet in der Informatik, Elemente in listenartigen Datenstrukturen zu verketten, ohne ihre Reihenfolge zu ändern. Wenn man 1 und 2 mit einer Konkatenation verbindet, wird daraus nicht wie bei einer Addition 3, sondern 12.

OP_CAT steht bei vielen Entwicklern seit langem auf der Wunschliste der Opcodes, die zu reaktivieren sind. Das angebliche BIP 420 erklärt recht schön, warum: Man könnte mit OP_CAT zahlreiche Operationen auf der Blockchain abbilden, die bisher nicht möglich sind, darunter:

  • Man kann Vaults bilden. Das ist eine Art, Bitcoins so zu speichern, dass sie selbst mit Kenntnis des privaten Schlüssels nicht gestohlen werden können. Vaults oder Covenants sollten mit BIP-119 eingeführt werden, was aber scheiterte. OP_CAT wäre hinreichend, um auch ohne dieses Vaults zu bilden.
  • Man kann quantensichere Lampert-Signaturen einführen (auch wenn nicht ganz klar ist, ob sie in diesem Rahmen wirklich quantensicher wären)
  • man kann mit dem Bitstream-Protokoll Schlüssel dezentral austauschen, was unter anderem ein dezentrales Filehosting ermöglichen würde
  • Man kann mit Tree Signaturen auch große Multisig-Konstruktionen extrem datensparsam aufbauen
  • Mit OP_CAT könnte man Payment Channels auf eine gewisse Weise verbessern.

OP_Cat erlaubt eine ganz neue Klasse von Operationen. Wie bei Taproot ist davon auszugehen, dass die genannten Beispiele nur einen kleinen Teil von dem abdecken, was möglich sein wird, vermutlich noch nicht mal den interessantesten.

Dank Taproot sicher möglich

Das Problem mit OP_CAT ist, dass es mit dem Opcode möglich war, Operationen in eine Transaktion hineinzuschmuggeln, deren Ausführung exponentiell komplexer wäre als die Daten selbst. Damit hätte man den Arbeitsspeicher sämtlicher Nodes überlasten können.

BIP 420 umgeht dieses Problem, indem es OP_CAT als Tapscript einführt. Tapscript ist die Skriptsprache in Taproot-Signaturen. Sie ist bis auf wenige Ausnahmen identisch mit der herkömmlichen Skriptsprache von Bitcoin. Ein Unterschied ist aber, dass jedes Stackelement auf 520 Byte begrenzt wird, was den Angriff effektiv entschärft.

Das BIP – ohne die Nummer 420 – existiert bereits. Der Blockchain-Forscher und Bitcoin-Entwickler Ethan Heilman hat es im Dezember 2023 zur Diskussion eingereicht. In der Entwickler-Community kam es gut an, es gibt derzeit keine validen Einwände. Doch trotz wiederholter Nachfrage erhielt Ethan dafür keine offizielle Nummer.

Damit wären wir bei der sozialen Komponente dieser Geschichte angelangt, die vielleicht wichtiger ist als die technische.

Der Hüter der heiligen Nummern

Der BIP-Prozess ist ein Verfahren, um Vorschläge für die technische Verbesserung von Bitcoin in eine standardisierte Form zu bringen und zu diskutieren. Das Verfahren hat sich bewährt, um in einer dezentralen Entwickler-Community einen Konsens zu finden, und wurde auch von anderen Kryptowährungen, etwa Ethereum, übernommen.

Als ein Meilenstein in der Geschichte eines BIPs gilt die Zuschreibung einer Nummer. Sie macht es einfacher, über einen Vorschlag zu diskutieren und verleiht ihm eine offiziöse Glaubwürdigkeit. Ein Name ist eine Idee – eine Nummer ein Projekt in der Pipeline.

Um eine solche Nummer zu bekommen, muss das BIP aber durch einen Flaschenhals gehen. Der Hüter der BIP-Nummern ist Luke Dashjr, einer der frühesten, heute noch aktiven Bitcoin-Entwickler.

Luke steht im Ruf, technisch brillant zu sein. Auf ihn geht SegWit als Softfork zurück, er hat das bis heute verwendete P2SH-Format entworfen. Doch Luke gilt auch als extremistisch und fanatisch, etwa was die Skalierbarkeit von Bitcoin angeht. Der fundamentalistische Katholik (der den Papst ablehnt) ist auch dafür bekannt, bis zur Schrulligkeit eigenwillig zu sein, und einige Sicherheitsvorfälle trüben den Eindruck seiner technischen Brillanz.

Dass eine Persönlichkeit wie Luke zum Hüter der Upgrades und Verbesserungen einer Software wurde, die ein Ein-Billionen-Dollar-Netzwerk antreibt, ist eine der merkwürdigen, ironischen Treppenwitze der Bitcoin-Geschichte. Für Leute wie Ethan Heilman und andere, die OP_CAT lieber heute als morgen reaktiviert sehen würden, ist Luke aber vor allem ein Ärgernis. Denn er weigert sich bisher, dem BIP für OP_CAT eine Nummer zu geben, ohne dafür inhaltliche Gründe zu nennen.

Trollen mit feinem Humor

Wenn Udi nun behauptet, dass das BIP für OP_CAT die Nummer 420 erhalten habe, trollt er vor allem Luke und das soziale System der Bitcoin-Entwicklung.

Auf Twitter erklärt er: „BIP-Nummern werden durch die Bitcoin-Community vergeben, in einem dezentralen Prozess eines groben Konsens, ähnlich wie die Regeln von Bitcoin selbst. Keine einzelne Person kontrolliert die Regeln von Bitcoin, und keine spezifische Person kontrolliert die BIP-Nummern.“

Der Witz ist feiner, als man auf den ersten Blick erkennt. Udi tut nicht nur so, als würde es nicht Luke obliegen, die BIP-Nummern zu vergeben. Vielmehr parodiert er ihn, indem er die Rolle für sich beansprucht, die Luke gerne behauptet – eine zentrale Partei zu sein, die den Konsens der Community auf fast schon magische Weise channelt, nicht viel anders als ein Priester, der die Gnade Gottes, oder ein Populist, der den Willen des Volkes kanalisiert.

Die Aktion von Udi mag vor allem humoristisch sein und darauf abzielen, dem Vorschlag Aufmerksamkeit zu verschaffen. Tatsächlich könnte sie aber zum Anfang dafür werden, das starre System der BIPs umzustoßen und möglicherweise Luke aus der Rolle als deren Hüter zu drängen.

Es dürfte nicht ganz zufällig sein, dass Bryan Bishop, ebenfalls ein langjähriger Bitcoin-Entwickler, halb im Scherz und halb im Ernst angeboten hat, Luke als BIP-Editor zu ersetzen, und nicht ganz zufällig haben einige prominente Persönlichkeiten aus dem Umfeld der Bitcoin-Entwicklung dies halb im Scherz und halb im Ernst begrüßt.

Ob es tatsächlich so weit kommt, ob sich die mittlerweile sichtbaren Widerstände gegen das etwas verkrustete Korsett, welches die Bitcoin-Entwicklung in den letzten zehn Jahren beherrscht hat, durchsetzen wird, oder ob es überhaupt den ernsthaften Versuch gibt, einen Wandel herbeizuführen – das ist derzeit nicht zu sagen.

In jedem Fall könnte es Udi aber bereits gelungen sein, Luke die Herrschaft über die BIP-Nummern zu entreißen. Denn die Einführung von OP_CAT wird schon jetzt als BIP-420 gehandelt – und dies geschah tatsächlich durch einen dezentralen Konsens der Community anstatt einen zentralen Gatekeeper.

Update: Gestern Nacht, nicht lange nach Erscheinen des Artikels, wurden tatsächlich Bryan “Kanzure” Bishop, Jon Atack, Mark “Murch” Erhardt, Olaoluwa “Roasbeef” Osuntokun und Ruben Somsen zu BIP-Editoren ernannt. In einer der ersten Amtshandlungen hat Olaoluwa Osuntokun dem OP_CAT-BIP die Nummer 347 verliehen.

Über Christoph Bergmann (2807 Artikel)
Das Bitcoinblog wird von Bitcoin.de gesponsort, ist inhaltlich aber unabhängig und gibt die Meinung des Redakteurs Christoph Bergmann wieder ---

2 Kommentare zu Die Rückkehr der Konkatenation zu Bitcoin

  1. Dass BIPs – als Schutz vorm Filibustern und DOSsen – eine Moderation brauchen, finde ich erstmal einleuchtend. Die sollte aber sicher nicht genutzt werden, um nur Politik in eine bestimmte Richtung durchzudrücken. Daher ist die Ausweitung auf eine kleine Gruppe von mehreren Moderatoren sicher eine gute Entscheidung.

  2. Sehr guter, inhaltsreicher Artikel, – ein guter Einblick in den „Maschinenraum“ von Bitcoin, in dem es auch nur ganz menschlich zugeht.

Kommentar verfassen

Entdecke mehr von BitcoinBlog.de - das Blog für Bitcoin und andere virtuelle Währungen

Jetzt abonnieren, um weiterzulesen und auf das gesamte Archiv zuzugreifen.

Weiterlesen