01 / 691BTC

Bitcoin

Ein offenes Geldnetzwerk: was es bedeutet, Bitcoin zu halten, wie eine Zahlung entsteht und warum Knoten ihre Aufnahme prüfen.

Bitcoin ist ein offenes System zur Übertragung von Geldwert ohne zwingend vorgeschriebene zentrale Verwaltung. Der Name bezeichnet das Protokoll, das Teilnehmernetzwerk und dessen Geldeinheit. Ihr Kürzel ist BTC; ein BTC besteht aus 100 000 000 Satoshi. Zum Verständnis hilft es, einer Zahlung zu folgen: Wer kann über den Wert verfügen, wie überträgt er diese Befugnis an einen Empfänger und wie prüfen andere die Aufnahme in eine gemeinsame Historie?

Ein Bankguthaben stellt eine Verpflichtung der Bank gegenüber dem Kunden dar. Bei selbst verwahrtem Bitcoin besitzen wir die Mittel, um die Ausgabebedingungen bestimmter Einträge im Netzwerk zu erfüllen. Das Protokoll erfasst Beträge und Bedingungen, keine bürgerlichen Eigentümernamen. Die Wallet fasst diese Einträge zum angezeigten Guthaben zusammen; die Coins sind keine Dateien auf dem Telefon. Ein Guthaben bei einem Verwahrer oder einer Börse bedeutet etwas anderes: meist einen Anspruch gegen den Dienst, der die Schlüssel kontrolliert. Die technische Fähigkeit, eine Zahlung zu signieren, entscheidet allein nicht über rechtliches Eigentum. [Bitcoin Developer Guide — Transactions] [Bitcoin.org — Securing your wallet]

Der Empfänger übermittelt eine von seiner Wallet erzeugte Adresse. Sie beschreibt, wie ein Output mit bestimmten Ausgabebedingungen anzulegen ist; sie ist weder Münzbriefkasten noch geheimes Passwort. Im üblichen Fall autorisiert eine mit einem privaten Schlüssel erzeugte digitale Signatur die nächste Ausgabe. Ihre Prüfung erfordert keine Offenlegung des Schlüssels. Bedingungen können auch mehrere Signaturen oder Wartezeiten verlangen. Die Adresse zu kennen reicht zum Ausgeben nicht. Wer die nötigen Geheimnisse erlangt, kann jedoch eine gültige Ausgabe erzeugen; das Netzwerk unterscheidet Schlüsseldiebstahl nicht von der Zustimmung des Inhabers. [Bitcoin Developer Guide — Transactions]

Ein noch nicht ausgegebener Output einer früheren Transaktion heißt UTXO. Eine gewöhnliche Transaktion verweist mit ihren Inputs auf ausgewählte UTXOs, verbraucht sie vollständig und erzeugt neue Outputs. Aus einem geeigneten Output über 100 000 sat können 60 000 sat an den Empfänger und 39 000 sat zurück unter eigene Kontrolle gehen. Die übrigen 1 000 sat sind die Gebühr, keine empfohlene Gebührensatzangabe. Der ursprüngliche Output kann in derselben Historie nicht erneut ausgegeben werden. Die Wechselgeldadresse muss nicht die ursprüngliche Adresse sein. Vor dem Signieren werden Empfänger, Betrag und Gebühr geprüft. [Bitcoin Developer Guide — Transactions]

Die Wallet erstellt und signiert die Zahlung; ein Full Node prüft Daten anhand der Konsensregeln. Er kontrolliert etwa, ob Inputs existieren und unverbraucht sind, die Ausgabebedingungen erfüllt werden und eine gewöhnliche Transaktion keinen zusätzlichen Wert erzeugt. Eine gültige unbestätigte Transaktion kann er in seinen lokalen Warteraum, den Mempool, aufnehmen und weiterleiten. Jeder Knoten besitzt einen eigenen Warteraum und eigene Weiterleitungsregeln; eine abgelehnte Weiterleitung bedeutet nicht stets Ungültigkeit im Block. Eine Wallet kann einen eigenen Knoten oder einen fremden Informationsserver nutzen. Auch ein eigener Knoten schützt keinen gestohlenen Signierschlüssel. [Bitcoin Developer Guide — Transactions] [Bitcoin Developer Guide — Operating Modes]

Ein berechtigter Schlüsselinhaber kann zwei unterschiedliche Transaktionen signieren, die dasselbe UTXO ausgeben. Beide Signaturen können stimmen, und Teilnehmer können zunächst unterschiedliche Zahlungen sehen. Neben der Berechtigung brauchen wir deshalb eine gemeinsame Reihenfolge. Doppelte Ausgabe bedeutet nicht, eine Münzdatei zu kopieren, sondern zwei widersprüchliche Verwendungen desselben Outputs durchzusetzen. Höchstens eine davon darf zu einer gültigen Historie gehören. Weder Empfangszeitpunkt noch Anzahl verbundener Knoten oder eine Wallet-Aussage lösen diesen Konflikt für sich genommen global. [Bitcoin: A Peer-to-Peer Electronic Cash System]

Miner stellen Blockkandidaten zusammen und berechnen wiederholt Hashes, um einen Proof of Work zu finden, der das Schwierigkeitsziel erfüllt. Ein Block verweist auf seinen Vorgänger; eine Änderung älterer Historie verlangt die Neuberechnung nachfolgender Arbeit. Der Knoten prüft zuerst die Regeln und wählt unter gültigen Zweigen den mit der größten kumulierten Arbeit, nicht unbedingt den meisten Blöcken. Mining hilft somit bei der Reihenfolge, ermächtigt aber nicht zur Ausgabe fremder Outputs. Auch eine Mehrheit der Rechenleistung zwingt einen unveränderten Knoten nicht zur Annahme ungültiger Blöcke; sie kann jedoch Reihenfolge und Verfügbarkeit von Bestätigungen stören. [Bitcoin Developer Guide — Block Chain]

Die Aufnahme in einen akzeptierten Block liefert die erste Bestätigung. Weitere Blöcke erhöhen gewöhnlich die Kosten einer Ersetzung dieser Historie. Blockabstände sind kein Fahrplan: Zehn Minuten sind ein langfristiges Ziel, keine zugesagte Zahlungsdauer. Eine Reorganisation kann einen zuvor akzeptierten Block entfernen, eine Transaktion wieder unbestätigt machen oder durch eine widersprüchliche Ausgabe ersetzen. Die erforderliche Bestätigungszahl hängt daher von Wert und Risiko ab; absolute Sicherheit bietet sie nicht. Das Protokoll hat keinen Stornoverwalter. Eine freiwillige Rückzahlung ist eine neue Zahlung, deren Gebühr erneut berücksichtigt werden muss. [Bitcoin: A Peer-to-Peer Electronic Cash System] [Bitcoin Developer Guide — Block Chain]

Die erste Transaktion eines Blocks, die Coinbase Transaction, darf dem Miner die Blocksubvention und Gebühren enthaltener Transaktionen zuweisen. Nur die Subvention schafft neue Einheiten; Gebühren übertragen vorhandenen Wert. Die maximale Subvention begann bei 50 BTC und halbiert sich alle 210 000 Blöcke. Dieses Halving betrifft die Gebühren nicht. Durch Rundung auf ganze Satoshi bleibt die Summe erlaubter Subventionen unter 21 Millionen BTC. Knoten lehnen überhöhte Belohnungen ab. Verlorene Schlüssel erhöhen die künftige Ausgabe nicht, und die begrenzte Einheitenzahl bestimmt allein keine Kaufkraft. [Bitcoin Developer Guide — Block Chain]

Der Quellcode lässt sich untersuchen; Änderungen können öffentlich vorgeschlagen werden. Entwickler veröffentlichen Software, Knotenbetreiber wählen ihre Prüfregeln, und Miner bestimmen den Inhalt eines Blockkandidaten. Keine Rolle entscheidet allein für alle; unvereinbare Änderungen können das Netzwerk spalten. Der wirtschaftliche Einfluss der Beteiligten ist dennoch unterschiedlich. Begrenzter Blockplatz beschränkt Anforderungen an Datenprüfung und Weiterleitung, führt bei hoher Nachfrage aber zu Wettbewerb um Aufnahme. Gebühren hängen deshalb von Transaktionsgröße und Aufnahmenachfrage ab, nicht einfach vom übertragenen Betrag. [Bitcoin Developer Guide — Block Chain] [Bitcoin Developer Guide — Transactions]

Die öffentliche Historie ermöglicht Prüfung, aber auch die Verknüpfung von Zahlungen mit Identitäten, etwa anhand von Börsendaten. Pseudonymität ist keine Anonymität. Selbstverwahrung beseitigt die Notwendigkeit, einen Verwahrer um eine Signatur zu bitten, überträgt aber Verantwortung für Sicherungskopien, Gerätesicherheit und Empfängerprüfung auf den Inhaber. Eine Sicherung muss nötige Schlüssel und Konfiguration wiederherstellen; bloße Wallet-Wiederherstellung macht ein offengelegtes Geheimnis nicht wieder geheim. Der eigene Knoten hilft bei der Historienprüfung, garantiert jedoch weder Preis noch Privatsphäre oder sicheres Signieren. Eigenständige Prüfung bedeutet zu wissen, welche dieser Fragen gerade geprüft wird. [Bitcoin.org — Protect your privacy] [Bitcoin.org — Securing your wallet]

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Satoshi Nakamoto, Bitcoin Whitepaper, Genesis Block, Proof of Work, Full Node, 21 Millionen. Auf diesen Eintrag verweisen außerdem Satoshi Nakamoto, Bitcoin Whitepaper, Genesis Block, Full Node.

DOC · 001Bitcoin: A Peer-to-Peer Electronic Cash SystemPrimärquelleDOC · 002Bitcoin Core source codePrimärquelleDOC · 003Bitcoin Core documentationDokumentationDOC · 004Bitcoin Developer Guide — Block ChainDokumentationDOC · 005Bitcoin Developer Guide — TransactionsDokumentationDOC · 006Bitcoin.org — Protect your privacyDokumentationDOC · 007Bitcoin.org — Securing your walletDokumentationDOC · 008Bitcoin Developer Guide — Operating ModesDokumentation
Quellenbasiert · Keine Anlageberatung