Eine hitzige Debatte wird momentan in der Bitcoin-Welt über NFTs (sagen die einen) bzw. unnötigen Datenmüll (sagen die anderen) auf der Bitcoin-Blockchain geführt. Anlass zur Debatte hat ein von Casey Rodarmor entwickeltes System gegeben, das es ermöglicht mit Hilfe seines speziell dafür entwickelten Protokolls jedem Satoshi (Sat) eine einzigartige Folgenummer (Ordinal) zuzuweisen und somit nachverfolgbar zu machen. Dies erlaubt dann das Schreiben von Dateien direkt in die Witness Sektion eines Blocks, also direkt in die Blockchain, eine sogenannte Inscription. Das Thema erhitzt die Gemüter, jeder hat eine Meinung dazu und entweder ist man im Lager der Supporter oder der Gegner. Oder man hat schon beim Lesen dieser Einleitung nicht ein Wort verstanden. Für diese Gruppe soll diese Übersicht funktionieren, in der die Funktionsweise von Ordinals und Inscriptions erklärt wird und was die Pro- und Kontra-Argumente der jeweiligen Lager sind.
Daten in die Bitcoin-Blockchain zu schreiben, die nicht direkt etwas mit der Funktionsweise des Systems zu tun haben, ist nichts Neues. Es gibt seit jeher verschiedene Möglichkeiten Nachrichten, Dateien oder andere Informationen in Blocks zu packen. Sogar der Genesis Block enthält die Nachricht "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" in der Coinbase,
das Whitepaper von Satoshi Nakamoto wurde bereits 2013 in Block 230009 verewigt,
OP_Returns ermöglichen das Schreiben kurzer (80 Zeichen) Nachrichten,
und auch Protokolle, die auf Bitcoin laufen, wie z.B. Counterparty und u.a. den Handel mit Rare Pepes ermöglichen, existieren bereits seit 2014. Dennoch scheint etwas an der neuen, von Casey Rodarmor vorgestellten Methode anders zu sein, dass es die Gemüter so sehr erhitzt. Das Konzept ist ein zweigeteiltes, zunächst wird eine Theorie, oder Konvention, beschlossen, der zufolge jeder Sat in der Blockchain einzigartig und nachverfolgbar wird. Damit werden die einzelnen Sats im weitesten Sinne schon zu NFTs. Darüber hinaus ermöglicht diese Konvention das Verschmelzen dieser einzigartigen Sats mit hochgeladenen Daten. Denn - um beim obigen Beispiel des Whitepapers zu bleiben - ist die hochgeladene PDF Datei für immer in Block 230009 festgeschrieben, aber sie gehört niemandem, denn ein Block gehört niemandem per se, ein Block ist ein öffentliches Register aller stattgefundenen Transaktionen zu dieser Blockzeit. Indem man Dateien mit Sats verbindet, lassen sich diese verschicken und handeln, denn Sats haben (der Ordinal Theory zufolge) immer eine/n Besitzer//in.
Doch um besser verstehen zu können, wie dieses neue Protokoll funktioniert, muss man sich wie immer ein paar verschiedene Konzepte annehmen. Wir brechen diese erstmal der Reihe nach auf.
SegWit (Segregated Witness)
Bevor wir uns mit Ordinals und Inscriptions beschäftigen machen wir einen kurzen historischen und technischen Ausflug, denn Inscriptions wären ohne SegWit nicht möglich. Deshalb lohnt es sich besser zu verstehen, was man unter diesem Transaktionsformat versteht.
SegWit wurde 2017 erdacht, um in erster Linie zwei existierende Probleme zu lösen: 1) Transaction Malleability und 2) die Effizienz von Blöcken zu erhöhen. Bis dato hatten Blöcke eine effektive maximal Größe von 1MB und bestanden aus dem sogenannten Header (Basisdaten: Signaturen und Skripte) und den Transaktionsdaten (Inputs und Outputs). Diese Headerdaten (auch Witness-Daten genannt) nahmen einen Großteil der zur Verfügung stehenden Größe ein, was zu ineffizienten und oftmals mit hohen Transaktionsgebühren versehenen Blöcken führte. Mit Hilfe des SegWit Protokolls konnte eine Skalierung von Bitcoin erreicht werden, ohne die offizielle in den Code geschriebene Blockgröße von 1MB zu verändern. Dazu kommt, dass diese Lösung keinen Hard-Fork benötigte und ganz nebenbei (aber offiziell in erster Linie) auch das Problem der Malleability löste. Ohne auf die Details von Hard- und Soft-Forks einzugehen, ist dies ein wichtiges Detail, denn 2017 tobten die sogenannten Blocksize-Wars und führten schließlich zur Abspaltung von Bitcoin Cash und seinen 8MB-Blöcken.
SegWit wurde im Juli 2017 mit Block 477120 aktiviert. Wie der Name Segregated Witness schon impliziert, werden die Witness-Daten (Signaturen und Skripte) getrennt und in einer separate Datenstruktur (Witness Merkle Tree) geführt, sodass der Hauptteil des Blocks weniger Basisinformationen enthält und somit mehr Platz für Transaktionsinformationen lässt, Blöcke also effizienter macht und damit Gebühren niedriger hält. Der Zaubertrick dabei ist, dass es immer noch derselbe Block ist, allerdings mit zwei Sätzen von Datenstrukturen (Transaktionsabschnitt und Basisinformationsabschnitt), und somit den Protokollregeln entspricht und eine Blockgröße von 1MB eigentlich nicht überschreitet. Dieser mathematische Kniff führt dazu, dass für die Einführung kein Hard-Fork benötigt wurde (nur einen Soft-Fork), was eine Abwärtskompatibilität gewährleistet und somit auch Adressen und Wallets, die unter dem Legacy-System arbeiten ohne Probleme funktionieren. Der mathematische Kniff hat allerdings eine seltsame Neuerung zur Folge, denn Blöcke werden seitdem in Gewicht statt Größe gemessen.
Bitcoin hat nun also eine sogenannte Blockgrößengrenze (1MB) und eine Blockgewichtsgrenze (4 Millionen Gewichtseinheiten (WU), was ca. 4MB entspricht). Darüber hinaus wurden mit dem SegWit-Soft-Fork die heute gängigen bc1-Adressen (im Gegensatz zu den alten 1- und 3-Adressen) eingeführt.
Ein weiterer Nebeneffekt, neben der Reduzierung der Gebühren durch Kapazitätsverbesserung und Lösung der Transaktionsformbarkeit (Malleability), ist dass Layer-2-Lösungen, wie unter anderem Lightning, ermöglicht wurden, da Zahlungskanäle davon abhängen, dass unverformbare Transaktionen bestehen. Für die Skalierbarkeit und Dezentralisierung von Bitcoin hat die relativ kleine Blockgröße den Vorteil, dass der Betrieb von privaten Nodes erleichtert wird.
Taproot
Mit dem Wissen über SegWit müssen wir uns auch kurz mit Taproot beschäftigen, einem weiteren Soft-Fork, das mit Block 709632 im November 2021 aktiviert wurde. Taproot hat viele Neuerungen mit sich gebracht, die es hier zu besprechen den Rahmen sprengen würde, doch wichtig ist, dass Ordinals das Input-Feld von Taproot-Transaktionen nutzen, das seit dem SegWit Update getrennt wurde. Auch wichtig ist, dass es seit Taproot keine Regel gibt, die die Größe von Inputs begrenzt und damit Daten beliebig viel Platz (bis zur Blockgrößenbegrenzung von 4MB) beanspruchen können. Dies ermöglicht im Endeffekt die Öffnung des Protokolls zur Verwendung von Skripten, wie bei Ordinals geschehen und somit das Hochladen von großen Dateien, die die volle Blockgröße einnehmen können.
Ordinals
Das Protokoll besteht aus zwei Konzepten. Auf der einen Seite Ordinals (engl. Ordnungszahlen) und auf der anderen Seite Inscriptions (engl. Inschriften). Ordinals an sich funktionieren losgelöst von Inscriptions, Inscriptions benötigen aber Ordinals, um zu funktionieren. Man könnte also von einer Pfadabhängigkeit bei Inscriptions sprechen.
Ordinals können also unabhängig von Inscriptions verstanden werden. Es handelt sich dabei um eine vom Programmierer erfundene Konvention, einzelne Sats durchzumummerieren.
“Satoshis are numbered in the order in which they’re mined, and transferred from transaction inputs to transaction outputs in first-in-first-out order.” - Casey Rodarmor
Das Prinzip ist dabei recht einfach: Es wird angenommen, dass jeder bitcoin aus 100.000.000 Sats besteht und damit Sats durchgezählt werden können. Die Sats werden mit dem Genesis Block (Block 0) beginnend in der Reihenfolge, in der sie produziert wurden, nach dem FIFO-Prinzip (First in first out) durchgezählt und markiert. Der erste jemals produzierte Block (Genesis Block) enthielt 50 bitcoins und damit 5.000.000.000 Sats. So lassen sich die Sats durchzählen: der erste Sat ist #0, der zweite hat die Ordnungszahl #1 und der letzte Sat dieses ersten Blocks hat die Ordnungszahl 4.999.999.999.
Um dies umzusetzen wurde ein spezieller Block Explorer geschrieben, der dieser Konvention folgt und den jeweiligen Sats einen "Namen" zuweist, um diese leichter nachverfolgen zu können. So lässt sich so tun (!), als ob sich einzelne Sats von UTXO zu UTXO bewegen würden. Um UTXOs besser verstehen zu können, empfehle ich diesen vorherigen Artikel:
Die Konvention täuscht also vor, dass Sats nicht ausgegeben oder verbrannt werden, sondern, dass diese in einer Art Kette von Bitcoin-Atomen existieren und diese Kette beim Versenden von Transaktionen nur aufgebrochen und die einzelnen Atomversatzstücke andernorts wieder auftauchen und nicht, wie eigentlich der Fall, eingeschmolzen / verbrannt werden.
Umgesetzt wird das alles durch ein Open-Source-Protokoll namens ord, das auf dem Bitcoin Core Protokoll läuft. Dies bedeutet, dass keine Veränderungen am Bitcoin Protokoll selbst vorgenommen werden, sondern eine Programm entwickelt wurde, das die Daten in der Blockchain benutzt, um eine andere Sicht zu erzeugen, die es ermöglicht, einzelne Sats zu benennen und nachzuverfolgen und somit jeden einzelnen Sat "einzigartig" aussehen zu lassen. Es ist also völlig freiwillig, sich auf diese Konvention und die Namensgebung einzulassen.
Folgt man jedoch dieser Konvention, so ergeben sich natürlich Spielereien, wie z.B. Seltenheit einzelner Sats beruhend auf dem Block, in dem sie enthalten waren oder sind, welche laufende Nummer sie haben, etc. Es ist in etwa so, als hätte ich eine Million kleiner Kieselsteine in meiner Einfahrt. Für jeden, der einfach vorbeigeht, ist jeder Kieselstein einfach nur eines von vielen Steinchen. Ich habe aber ein System gefunden, um jeden einzelnen Stein einzeln zu benennen, und damit ergeben sich "besondere" Steine, z.B. Stein #1 oder Stein #69. Nur wer meinem System der Nummerierung folgt, sieht, dass dies besondere Steine sind, jeder andere sieht einfach nur Steine.
Inscriptions
Bei Inscriptions handelt es sich um eine von Ordinals zunächst losgelöste separate Funktion. Hierbei wird die eigentliche Datei in die Blockchain geschrieben, allerdings im Einklang mit Ordinals wird dieser Datei ein einzigartiger Sat zugeschrieben. Dies funktioniert auch wieder nur, wenn man der willkürlichen Konvention des Protokolls Folge leistet, denn beim Schreiben der Datei in die Blockchain wird natürlich eine Transaktion erstellt. Diese Transaktion enthält (mindestens) einen UTXO, der/die aus mehreren Sats bestehen und deshalb legt das Protokoll fest, dass eine Inscription beim Mining mit dem ersten Sat des ersten UTXO der Transaktion verschmolzen wird. Damit wird die Inscription (also die Datei) dauerhaft und auf ewig markiert und kann somit von anderen Sats unterschieden wird.
Unter Verwendung dieser Konvention (und der dazu nötigen Wallets) können UTXOs, die ein Sat-Inscription-Paar enthalten, gefunden und ihre Bewegungen und ihr Eigentum über Transaktionen hinweg verfolgt werden. Dies führt dazu, dass diese Sats, bzw. die Inscriptions, gehandelt, verschenkt, gekauft und verkauft werden können. Dabei entstehen also digitale Artefakte, oder anders genannt NFTs.
Inscriptions sind naturgemäß größere Dateien und nehmen daher mehr vom begrenzten Platz in jedem Block ein (daher die langen Erklärungen zu SegWit und Taproot). Die Benutzer//innen, die Inscriptions erstellen bzw. hochladen, müssen die dazu erforderlichen (höheren) Gebühren zahlen. Dieser Punkt ist für die folgende Diskussion wichtig.
Diskussion
Okay, soweit so gut, soweit so scheiße.
Kurzum: Es gibt ein System, das das Benennen einzelner Sats ermöglicht (wenn man daran glaubt) - Ordinals. Es besteht die Möglichkeit, Dateien in Blöcke zu schreiben und diese mit den benannten Sats zu verknüpfen - Inscriptions. Die beiden Theorien oder Konventionen sind nicht gleich, brauchen aber einander.
Ordinals alleine schaden nicht. Es ist das Hinzufügen digitaler Artefakte in Transaktionen, das die größere Debatte entflammt. Denn Inscriptions verlagern ein Risiko direkt in die Blockchain. Ein OP_Return z.B. kann 40KB (also 80 Zeichen) beinhalten und somit z.B. einen Link zu einer Datei darstellen (einen Pointer). Eine Datei mit fragwürdigem oder kriminellem Inhalt, würde also immer auf einer externen Website liegen und somit würde auch das Risiko vom Betreiber getragen werden. Inscriptions öffnen die Tür, Dateien, die bis zu 3MB pro Block groß sind, direkt in die Blockchain zu schreiben. Hier eröffnen sich Korridore für Reputationsangriffe auf Bitcoin.
Ordinals (ich fasse jetzt Ordinals und Inscriptions mal zusammen) eröffnen neue Wege, mit Bitcoin zu interagieren. Es bietet "Spaß" mit Bitcoin und fügt eine neue Schicht hinzu, Bitcoin mit Kunst und Kultur zusammenzubringen ist. Es könnte außerdem die Akzeptanz erhöhen und neue Interessenten für Bitcoin begeistern, die für die Bildchen kommen, aber wegen der bahnbrechenden Technologie und den fundamentalen Mehrwerten von Bitcoin bleiben.
Diskussion
Die Hauptargumente gegen Ordinals berufen sich auf die größeren Datenmengen, die von Nodes validiert werden müssen und darauf, dass Blöcke mit "unnötigem Müll" gefüllt werden und damit wichtige und relevante Transaktionen nicht schnell genug verarbeitet werden. Allerdings muss man dazu sagen, dass Ordinals nicht die Blockgröße erhöhen, sondern im schlimmsten Fall dafür sorgen, dass das Blocklimit öfter erreicht wird. Ein normaler Block sieht meist so aus:
Man sieht, dass das Gewicht von 4 MWU nicht ganz erreicht wurde und 2.675 Transaktionen einen Platz gefunden haben.
Im Vergleich dazu wurden im folgenden Block lediglich 648 Transaktionen untergebracht, die pro Transaktion viel größer sind (schaut man sich die jeweiligen Transaktionen an, stellt man fest, dass so gut wie jeder dieser großen Blöcke den gleichen Betrag von 0.0001 BTC aufweist, was darauf schließen lässt, dass die Ordinals-Transaktionen sind).
Fürsprecher von Ordinals argumentieren oft damit, dass diese "nutzlosen" Transaktionen auch bezahlt werden müssen, um andere "wertigere" Transaktionen zu verdrängen, da Miner diese sonst nicht dem Block hinzufügen würden. Hier muss man aber sagen, dass diese Transaktionen relativ geringe Transaktionsgebühren von 4 Sat/vB bezahlt haben. Da wir wissen, dass Transaktionsgebühren basierend auf der Größe der Transaktion berechnet werden und nicht auf dem Wert der Transaktion in Bitcoin, werden für diese 0.0001 BTC Transaktionen dennoch Gebühren im Bereich von 150.000 bis 250.000 Sats (ca. $50 bei aktuellem Kurs) fällig (es sei denn man hat Nick Luxor als Freund).
Die Marktkräfte innerhalb des Bitcoin-Netzwerks werden also zeigen, wie lange diese Art von Transaktionen einen Großteil des vorhandenen Platzes einnehmen werden. Die Debatte um Transaktionsgebühren ist eine sehr wichtige, denn gibt es immer wieder Theorien darüber, wie Miner zukünftig profitabel sein können, wenn die Subsidies immer irrelevanter werden und auch das Sicherheitsbudget von Bitcoin gewährleistet werden muss. Befürworter von Ordinals bringen dies als ein weiteres Pro-Argument für einen weiteren Use-Case und gesteigertes Interesse an On-Chain Transaktionen an.
Natürlich erleben Ordinals gerade einen Hype und so ist es nicht verwunderlich, dass vor zwei Tagen über 50% des vorhandenen Platzes von Ordinals-Transaktionen eingenommen wurde. Diese Zahl ist heute schon auf unter 25% gesunken, was einen klaren Hype und keine Regel aufweist.
Unabhängig davon, ob Inscriptions als „wertvolle“ Verwendung von Bitcoin angesehen wird oder nicht, wird der Markt über die angemessene Gebührengestaltung darüber entscheiden, ob Nutzer//innen weiterhin das System für diese Art von Spielerei nutzen wollen. Sollten sich Inscriptions als langlebig erweisen, werden Transaktionsgebühren unweigerlich steigen und somit mehr Absender kleinerer Bitcoin-Transaktionen auf Layer-2-Protokolle wie Lightning ausweichen.
Puristen sind gegen Inscriptions, da sie argumentieren, dass das Speichern großer Daten auf dem Bitcoin Ledger den Blockplatz für keinen wirklichen Zweck verschwendet und nur Stress für Nodebetreiber verursacht. Blocks, wie der folgende, führen dazu, dass sich ihnen die Nackenhaare aufstellen und neben der Verschwendung von Platz wird häufig das Reputationsrisiko als Kritik angebracht.
Denn Inscriptions, die einmal in die Blockchain geschrieben wurden, lassen sich nicht mehr entfernen und damit auch nicht der Inhalt der hochgeladenen Dateien. Unmoralische und kriminelle Inhalte eröffnen so einen Korridor für Zensur, allerdings sollte auch beachtet werden, dass es auch einen speziellen Block Explorer benötigt, der Inscriptions darstellt, und diese Explorer haben natürlich die Möglichkeit Bilder mit moralisch und rechtlich fragwürdigen Inhalten zu zensieren, bzw. nicht darzustellen (wie in Inscription #668 passiert).
Um das Hochladen dieser "schlechten" Inhalte zu vermeiden, müssten die Bitcoin-Konsensregeln geändert werden. Und wenn diese verändert werden können, um Menschen davon abzuhalten, Bilder in das Bitcoin-Netzwerk zu laden, können die Regeln auch verändert werden, um z.B. Nutzer//innen mit politischen Interessen oder kritischen Meinungen davon abzuhalten, Bitcoin zu nutzen, wie sie es für richtig erachten. Denn am Ende ist Bitcoin ein System von Regeln, nicht von Vorurteilen oder Gefühlen und Meinungen, und der Schiedsrichter darüber, was darf und was nicht darf, bleibt der Code.
Im besten Fall können Inscriptions den Nicht-Bitcoin-NFT-Markt aushebeln und NFT-Fans den Spiegel vorhalten, dass ihre teuren Bildchen und die zugrunde liegende Technologie fast wertlos sind.
Welchem Camp man auch angehören mag, es bleibt festzuhalten, dass die ganze Ordinals-Theorie auf einer willkürlichen Annahme beruht und nur funktioniert, wenn man der Theorie folgt, dass Sats (ähnlich wie Atome bei Gold oder Nukleotide bei DNS) feste Bestandteile darstellen, die sich einzeln nachverfolgen lassen und nicht - wie ich denke - eine Maßeinheit darstellen. Zu sagen, ein UTXO besteht aus n-Menge Sats und jeder Sat ist einzigartig, ist genauso sinnvoll, wie zu sagen, dass man einen Eimer Wasser hat und sich jedes Milliliter Wasser einzeln nachvollziehen lässt. Liter ist eine Maßeinheit und nicht die Grundform, aus der Wasser besteht.
Sven Steiger
Sven is author of Genexy.org an independent #Bitcoin publication launched in 2022 // Block 736100 Nostr: npub102mehs854zw704xr6s3krzwesmy7r8fa5vxar6yeu3zpmyu94kvs2nasul
follow me :
Related Posts
Rudarska moč + filmski utrinki na sončni strani Alp
Oct 08, 2024
TANULJ a Bitcoinról!
Sep 26, 2024
A SHORT REBUTTAL OF A RECENT BITCOIN CRITIQUE
Sep 14, 2024