Bitcoin 2 – Blockchain

Nachdem wir im ersten Teil über meinen bescheidenen Anfang mit dem kleinen blauen USB-Stick und dem Raspberry Pi gesprochen haben, muss ich gestehen: Die technische Faszination hatte mich schneller gepackt, als mein kleiner „Block Erupter“ Hashes produzieren konnte. Es kam, wie es kommen musste – das Wettrüsten im Arbeitszimmer begann.

Aus den ersten, mühsam geschürften Erlösen des USB-Sticks wurde direkt reinvestiert (ein klassischer Fall von technischer Eskalation). Ein AntMiner U3 zog ein. Mit seinen 63 GH/s lieferte dieses kleine Biest fast die 200-fache Leistung meines alten Setups. Doch während der USB-Miner noch diskret und lautlos vor sich hin glühte, lehrte mich der U3 eine wichtige Lektion über die physischen Grenzen der digitalen Revolution. Das Gerät war nicht nur deutlich hungriger, was den Stromverbrauch anging, sondern entwickelte eine Geräuschkulisse, die einer alten, kaputten Klimaanlage in der Sahara in nichts nachstand.
Doch warum nimmt man diesen Lärm und die Hitze eigentlich auf sich? Nicht für die Hardware an sich, sondern für das, was sie im Hintergrund unermüdlich tut: Sie sichert das dezentrale Kassenbuch der Menschheit. In diesem zweiten Teil unserer Reise lassen wir den Lärm der Lüfter hinter uns und tauchen tief in den „Maschinenraum“ der Daten ein. Wir schauen uns an, wie dieser mathematische Superkleber – die Blockchain – eigentlich funktioniert und wie eine Transaktion von der ersten digitalen Signatur bis zur ewigen Speicherung im Netzwerk wandert.

Wir klären heute, warum man kein Vertrauen braucht, wenn man Hashes hat, was es mit dem digitalen Briefkasten-System aus Public und Private Keys auf sich hat und warum dein Bitcoin-Wallet technisch gesehen eigentlich gar keine Bitcoins enthält.

2.1 Das Konzept der Blockchain

Willkommen im Maschinenraum von Bitcoin, wo wir die philosophischen Wolkenschlösser verlassen und uns die ölverschmierten Zahnräder ansehen: die Blockchain. Vergiss das Bild einer glänzenden Kette aus Goldmünzen; technisch gesehen ist die Blockchain nichts anderes als ein dezentrales Journal oder Kassenbuch, das auf tausenden Rechnern weltweit gleichzeitig liegt. Das Besondere ist nicht, dass dort Transaktionen drinstehen – das macht deine Bank auch –, sondern wie diese Daten so miteinander „verklebt“ werden, dass kein digitaler Radiergummi der Welt sie wieder entfernen kann.

Das Geheimrezept für diesen Superkleber sind die Hash-Funktionen. Stell dir eine Hash-Funktion wie einen extrem pingeligen, digitalen Fleischwolf vor: Du wirfst oben irgendetwas hinein – einen einzelnen Buchstaben, deine gesamte Steuererklärung oder das ganze Bitcoin-Whitepaper – und unten kommt immer ein „digitaler Fingerabdruck“ mit einer exakt festgeschriebenen Länge heraus. Bei Bitcoin verwenden wir den Algorithmus SHA-256, was bedeutet, dass das Ergebnis immer eine Kette aus 256 Bits (oder 64 Zeichen in Hexadezimal-Schreibweise) ist.

Die erste eiserne Regel der Hash-Funktion ist der Determinismus: Wenn du das Wort „Satoshi“ oben einwirfst, kommt heute, morgen und in hundert Jahren exakt derselbe Hashwert heraus. Aber – und hier kommt die technische Magie ins Spiel – wehe, du änderst auch nur ein winziges Detail, etwa ein Komma oder ein Leerzeichen. Durch den sogenannten Lawineneffekt ändert sich der gesamte Output sofort und sieht völlig willkürlich anders aus. Das ist so, als ob man beim Backen eines Kuchens eine einzige Rosine weglässt und der Ofen stattdessen plötzlich ein komplettes Auto ausspuckt.

Zusätzlich ist dieser Prozess eine Einbahnstraße: Es ist für einen Computer kinderleicht, den Hash aus den Daten zu berechnen, aber es ist mathematisch absolut unmöglich, aus dem Hashwert wieder auf die ursprünglichen Daten zu schließen. Ein Angreifer müsste Milliarden von Jahren lang Billionen von Kombinationen ausprobieren, um das Original zu erraten.

Wie verketten wir nun damit diese ominösen Blöcke?. Jeder Block in der Blockchain enthält in seinem „Header“ (dem Kopfbereich) nicht nur die neuen Transaktionen, sondern auch den Hashwert des gesamten vorherigen Blockheaders. Dadurch entsteht eine untrennbare chronologische Verbindung. Wenn ich jetzt versuche, in Block Nummer 100 eine Transaktion zu fälschen, um mir selbst ein paar Bitcoins mehr zuzuschieben, ändert sich sofort der Hashwert dieses Blocks. Da Block 101 aber genau diesen alten Hash als Referenz gespeichert hat, bricht die Kette sofort auseinander, und das gesamte Netzwerk erkennt den Betrug. Um das System zu überlisten, müsste ich nicht nur diesen einen Block, sondern auch alle darauffolgenden Blöcke mit einer gigantischen Rechenleistung neu berechnen, bevor der Rest des Netzwerks einen neuen, ehrlichen Block findet – ein hoffnungsloses Unterfangen.

Um das Ganze noch effizienter zu gestalten, nutzt Bitcoin sogenannte Merkle-Bäume. Anstatt alle Transaktionen eines Blocks einzeln zu prüfen, werden sie paarweise gehasht, bis nur noch ein einziger „Root-Hash“ (die Wurzel) übrig bleibt, der den gesamten Transaktionsinhalt des Blocks repräsentiert. Das spart Speicherplatz und sorgt dafür, dass man die Integrität eines Blocks beweisen kann, ohne jedes Mal die gesamten Gigabytes der Transaktionshistorie herunterladen zu müssen. Die Blockchain ist also kein mystisches Wunderwerk, sondern ein durch gnadenlose Mathematik gesichertes Journal, das so unveränderlich ist wie die Peinlichkeit deines allerersten Profilbildes im Internet.

2.2 Das Schlüssel-System: Public und Private Keys

Nachdem wir im letzten Abschnitt gelernt haben, wie die Blockchain mit dem mathematischen Superkleber der Hashes zusammengehalten wird, kommen wir nun zu dem Teil, der darüber entscheidet, ob du ein digitaler Millionär bist oder nur jemand, der traurig auf einen verschlüsselten Scherbenhaufen starrt: Das Schlüssel-System aus Private und Public Keys. In der Bitcoin-Welt gibt es keine Bankberater, die dich nach deinem Personalausweis fragen; hier ist dein mathematischer Besitznachweis dein einziges Gesetz.

Der Private Key: Dein göttliches Zepter (und dein Endgegner)

Stell dir den Private Key (privaten Schlüssel) als eine Art ultimatives Passwort vor, das so sicher ist, dass selbst ein Supercomputer aus einem Sci-Fi-Film Millionen von Jahren bräuchte, um es zu erraten. Technisch gesehen ist dieser Schlüssel nichts anderes als eine gigantische Zufallszahl aus einem Pool, der so groß ist wie die Anzahl der Atome im sichtbaren Universum. Bitcoin nutzt dafür das Elliptische-Kurven-Kryptosystem ECDSA in der Konfiguration secp256k1. Das klingt kompliziert, bedeutet aber für dich im Wesentlichen: Es ist eine mathematische Einbahnstraße.

Dein Private Key ist dein Beweis der Verfügungsgewalt; wer ihn hat, dem gehören die Bitcoins, Punkt. Er fungiert wie eine digitale Unterschrift unter einem Überweisungsträger. Wenn du eine Transaktion tätigst, signierst du diese mit deinem Private Key, ohne den Schlüssel selbst preiszugeben. Das ist die pure Magie der asymmetrischen Kryptographie: Du beweist, dass du den Schlüssel besitzt, indem du eine mathematische Signatur erzeugst, die jeder mit deinem öffentlichen Schlüssel prüfen kann, aber niemand kann aus der Signatur deinen privaten Schlüssel zurückrechnen. Falls du diesen Schlüssel verlierst, gibt es keine „Passwort vergessen“-Funktion und keinen Support-Chat; deine Bitcoins sind dann für immer im digitalen Nirvana gefangen.

Der Public Key und die Adresse: Dein digitaler Briefkasten

Aus deinem Private Key wird mittels einer mathematischen Operation dein Public Key (öffentlicher Schlüssel) berechnet. Wie bereits erwähnt, funktioniert das nur in eine Richtung – man kann den Public Key aus dem Private Key generieren, aber niemals umgekehrt. Eine wunderbare Analogie hierfür ist der digitale Briefkasten: Jeder kann deine Adresse sehen und dir Briefe (Bitcoins) einwerfen, aber nur du hast den physischen Schlüssel (Private Key), um den Kasten zu öffnen und den Inhalt wieder herauszunehmen.

Die Bitcoin-Adresse, die du deinen Freunden gibst, damit sie dir (hoffentlich) Bitcoins schicken, ist wiederum eine Kurzform oder ein „Fingerabdruck“ dieses Public Keys. Um eine solche Adresse zu erstellen, jagt die Software den Public Key durch mehrere Fleischwölfe: erst SHA-256 und dann RIPEMD-160. Das Ergebnis wird dann noch in Base58 kodiert, um Verwechslungen zwischen Zeichen wie „0“ (Null) und „O“ (Buchstabe) zu vermeiden. Es gibt heute verschiedene Adressformate, von den alten Legacy-Adressen (beginnend mit „1“) über SegWit-Adressen („bc1q“) bis hin zu den modernen Taproot-Adressen („bc1p“), die für mehr Privatsphäre sorgen.

Wallets: Der digitale Schlüsselbund

Ein weit verbreiteter Irrtum ist, dass Bitcoins „in“ einem Wallet gespeichert werden. In Wahrheit enthält dein Wallet keine einzige digitale Münze, sondern lediglich deine kryptographischen Schlüssel, mit denen du über deine Anteile am dezentralen Kassenbuch (der Blockchain) verfügen kannst. Ein Wallet ist also eher ein digitaler Schlüsselbund.

Hierbei unterscheiden wir zwischen zwei Philosophien des Schmerzes und der Sicherheit:

  • Hot Wallets: Diese sind mit dem Internet verbunden (z. B. auf deinem Handy oder im Browser). Sie sind bequem für tägliche Zahlungen, aber anfällig für Hacker und Malware.
  • Cold Wallets: Diese halten die Schlüssel strikt offline, meist auf spezieller Hardware (Hardware-Wallets) oder sogar auf Papier (Paper Wallets). Das ist der Goldstandard für die langfristige Aufbewahrung, da ein Hacker physisch in dein Wohnzimmer einbrechen müsste, statt nur dein WLAN zu knacken.

Moderne Wallets sind zudem meist deterministisch. Das bedeutet, du musst dir nicht hunderte einzelne Schlüssel sichern, sondern nur eine einzige geheime Phrase aus meist 12 oder 24 Wörtern, den sogenannten Seed. Aus diesem Seed kann der Algorithmus unendlich viele deiner Private Keys wiederherstellen. Wer diesen Seed hat, hat alles – bewahre ihn also besser nicht als Post-it an deinem Monitor auf. Das Mantra der Community ist hier gnadenlos: „Not your keys, not your coins“.

2.3 Anatomie einer Transaktion

Nachdem wir uns im letzten Abschnitt den digitalen Schlüsselbund und die kryptographische Briefkasten-Analogie um die Ohren geschlagen haben, stellt sich nun die praktische Frage: Wie schubst man diese virtuellen Werte eigentlich von A nach B? Eine Bitcoin-Transaktion zu tätigen, fühlt sich für dich als Nutzer vielleicht an wie eine normale Online-Überweisung, aber unter der Haube passiert etwas völlig anderes, als man es von der Hausbank gewohnt ist. Während deine Bank einfach nur eine Zahl in ihrer Datenbank korrigiert, ist eine Bitcoin-Transaktion eher ein kryptographisches Beweisstück, das öffentlich im Netzwerk herumgereicht wird.

Der Ablauf einer Transaktion beginnt damit, dass du in deinem Wallet die Adresse des Empfängers und den gewünschten Betrag eingibst. Doch statt eines „Überweisen“-Buttons, der ein Signal an einen Chef-Banker sendet, erstellt deine Software im Hintergrund ein Datenpaket, das mindestens einen Eingang (Input) und einen Ausgang (Output) enthält. Der Clou ist die digitale Signatur: Du nimmst deinen privaten Schlüssel und versiehst die Transaktion mit einem mathematischen Siegel. Damit beweist du dem Netzwerk, dass du wirklich der rechtmäßige Besitzer dieser Bitcoins bist und das Recht hast, sie auszugeben, ohne dass du dein Passwort (den Private Key) jemals offenlegen musst.

Sobald dieser digitale Wisch unterschrieben ist, wird er per Flooding-Algorithmus in das Peer-to-Peer-Netzwerk hinausgebrüllt. Deine Transaktion wandert von Node zu Node, wobei jeder einzelne Teilnehmer prüft, ob deine Signatur korrekt ist und ob du die Bitcoins nicht schon dreimal vorher ausgegeben hast. Schließlich landet deine Nachricht im sogenannten Mempool, einer Art digitalem Wartezimmer für unbestätigte Transaktionen. Dort hängen sie so lange ab, bis ein Miner kommt, sie in einen neuen Block packt und sie durch den rechenintensiven Mining-Prozess endgültig in die Blockchain einmeißelt [71, 140.2].

Jetzt müssen wir uns einen Moment Zeit nehmen, um eine der größten technischen Eigenheiten von Bitcoin zu verstehen, die viele Einsteiger (und auch so manchen Experten) erst einmal ratlos zurücklässt: Das UTXO-Modell (Unspent Transaction Outputs) [70, 140.1]. In deinem gewöhnlichen Bankleben hast du ein Konto, auf dem ein Saldo steht. Wenn du 100 Euro hast und 20 ausgibst, stehen danach 80 Euro da. Bitcoin ist da viel nostalgischer und funktioniert eher wie ein physischer Geldbeutel voller zerknitterter Geldscheine und Münzen.

Im Bitcoin-System gibt es technisch gesehen gar keine „Konten“ mit einem Guthaben. Alles, was existiert, sind Bruchstücke von früheren Transaktionen, die an dich gesendet wurden und die du noch nicht weiterverwendet hast – eben diese „nicht ausgegebenen Transaktionsausgänge“ (UTXOs) [70, 141.1]. Wenn dein Wallet dir anzeigt, dass du 0,5 Bitcoins besitzt, dann ist das nur eine freundliche Zusammenfassung: Die Software hat die gesamte Blockchain nach allen UTXOs durchsucht, auf die dein privater Schlüssel passt, und diese für dich zusammengezählt.

Das Ganze hat massive Auswirkungen darauf, wie eine Zahlung abläuft. Stell dir vor, du hast einen einzigen UTXO über 1,0 Bitcoin (deinen „1-Bitcoin-Schein“) und möchtest mir 0,2 Bitcoins für einen sehr teuren, digitalen Kaffee schicken. Du kannst diesen 1,0-Bitcoin-Schein nicht einfach in der Mitte durchreißen. Stattdessen sieht die Transaktion so aus: Du nimmst den kompletten 1,0er-Schein als Eingang (Input), erstellst einen Ausgang (Output) über 0,2 Bitcoins für meine Adresse und – ganz wichtig – einen zweiten Ausgang über 0,8 Bitcoins, der als „Wechselgeld“ (Change) zurück an eine Adresse in deinem eigenen Wallet geht.

Wenn dein Wallet dieses Wechselgeld-Prinzip vergessen würde, ginge der Restbetrag als gigantisches Trinkgeld an den Miner, was zwar für viel Freude beim Miner sorgen würde, bei dir aber für ein eher leeres Portemonnaie. Dieses Modell ist zwar für unser Gehirn, das an simple Datenbank-Salden gewöhnt ist, etwas sperrig, bietet aber enorme Vorteile für die Privatsphäre und die parallele Verarbeitung von Transaktionen. Es sorgt dafür, dass jede Transaktion bis zu ihrem Ursprung – ihrer Entstehung durch Mining – lückenlos zurückverfolgt werden kann, was Bitcoin fälschungssicher macht.

2.4 Der Weg durch das Netzwerk

Nachdem wir nun unser digitales Beweisstück – die signierte Transaktion – fertiggestellt haben, muss sie irgendwie in die Welt hinaus. Und da es bei Bitcoin keinen zentralen „Chef-Server“ gibt, der die Post verteilt, wird es jetzt ein bisschen wuselig. Willkommen in der Welt des digitalen Klatsches und Tratsch, auch bekannt als das Peer-to-Peer-Netzwerk.

Der Flooding-Algorithmus: Digitales Rumschreien

Sobald du in deinem Wallet auf „Senden“ drückst, passiert technisch gesehen etwas, das man als Flooding-Algorithmus bezeichnet. Dein Rechner oder dein Handy flüstert die Transaktion nicht diskret einem Empfänger zu, sondern er brüllt sie förmlich in das Netzwerk hinaus. Dein Bitcoin-Client unterhält in der Regel acht ausgehende Verbindungen zu anderen Teilnehmern. Diesen acht Nachbarn erzählst du: „Hey, ich habe hier eine neue Transaktion!“.

Diese Nachbarn prüfen kurz, ob die Signatur mathematisch korrekt ist, und wenn ja, erzählen sie es wiederum ihren acht Nachbarn. Innerhalb von Sekundenbruchteilen verbreitet sich deine Nachricht wie ein Lauffeuer über den gesamten Globus, bis theoretisch jeder einzelne Knotenpunkt (Node) im Netzwerk Bescheid weiß. Das System ist dabei erstaunlich robust: Es macht nichts, wenn ein paar Leitungen gekappt werden oder einige Rechner offline gehen, solange das Netzwerk insgesamt grob vermascht bleibt. Satoshi beschrieb das im Whitepaper ganz bescheiden als eine „minimale Struktur“, bei der Nachrichten nach dem Prinzip des „bestmöglichen Bemühens“ übertragen werden.

Die Full Nodes: Die misstrauischen Türsteher des Netzwerks

Jetzt wird es für die Technik-Enthusiasten unter uns interessant: Wer kontrolliert eigentlich diesen ganzen Datenstrom? Hier kommen die Full Nodes ins Spiel. Oft werden sie mit den Minern verwechselt, aber das ist ein fataler Irrtum. Während Miner neue Blöcke vorschlagen (dazu kommen wir im nächsten Teil), sind die Full Nodes die eigentlichen Polizisten oder „Türsteher“ des Systems.

Ein Full Node besitzt eine vollständige Kopie des gesamten Kassenbuchs (der Blockchain) seit dem allerersten Tag im Jahr 2009. Wenn deine Transaktion bei einem Full Node eintrudelt, wird sie einer gnadenlosen Prüfung unterzogen: Passt die Signatur? Versucht hier jemand, Geld auszugeben, das er gar nicht hat (Double-Spending)? Entspricht die Transaktion den heiligen Spielregeln des Protokolls?.

Das Schöne daran ist die pure Eigenverantwortung: Wenn du einen eigenen Full Node betreibst, musst du absolut niemandem mehr vertrauen. Du prüfst alles selbst. Wenn ein Miner versuchen würde, sich heimlich ein paar extra Bitcoins zuzuschustern, würde dein Node diesen Block einfach ignorieren und in den digitalen Mülleimer werfen. Das Mantra „Don’t trust, verify“ ist hier keine leere Phrase, sondern in C++ gegossener Alltag. Wenn du keinen eigenen Node betreibst, vertraust du zwangsläufig dem Node deines Wallet-Anbieters oder einer Börse – und wir wissen ja nun, was Satoshi von Vertrauen hielt.

Das Warten auf die Bestätigungen: Warum die Zahl Sechs magisch ist

Deine Transaktion ist nun im Netzwerk bekannt und wartet im Mempool (dem digitalen Wartezimmer) darauf, von einem Miner in einen Block gepackt zu werden. Sobald das passiert, hast du deine erste „Bestätigung“. In der Benutzeroberfläche deines Wallets taucht nun ein grüner Haken auf, aber in der Welt der Kryptographie ist man skeptisch.

Warum? Weil es theoretisch passieren kann, dass zwei Miner fast gleichzeitig einen gültigen Block finden. Dann spaltet sich die Blockchain kurzzeitig in zwei Zweige auf (ein sogenannter Fork). Das Netzwerk folgt in diesem Fall einer einfachen Regel: Die längste Kette (bzw. die Kette mit dem größten kumulierten Arbeitsnachweis) gewinnt immer. Der kürzere Zweig wird „verwaist“ und die darin enthaltenen Transaktionen müssen zurück in den Mempool, falls sie nicht auch im gewinnenden Zweig enthalten sind.

Um absolut sicherzugehen, dass deine Zahlung nicht durch so ein „Chain-Reorganization“-Event wieder verschwindet, hat sich die Faustregel von sechs Bestätigungen etabliert. Das bedeutet, dass nach deinem Block noch fünf weitere Blöcke oben drauf gemauert wurden. Da alle zehn Minuten ein neuer Block entsteht, dauert das etwa eine Stunde. Satoshi hat im Whitepaper sogar einen langen Abschnitt mit Wahrscheinlichkeitsberechnungen (Poisson-Verteilung) spendiert, um zu beweisen, dass die Chance eines Angreifers, eine Kette mit sechs Blöcken Vorsprung noch einzuholen, gegen Null geht, solange er nicht über 50 % der Rechenleistung verfügt. Wenn du also ein Haus gegen Bitcoins verkaufst, warte lieber die Stunde ab. Für einen digitalen Kaffee reicht meistens schon eine Bestätigung – oder man nutzt Layer-2-Lösungen wie Lightning, aber das ist eine Geschichte für einen anderen Tag.