Bezahlen mit Bitcoins – diese Technik steckt hinter der Kryptowährung

So funktioniert das Bitcoin-System...

Werbung
Wir werfen einen Blick hinter die Kulissen der bekannten Kryptowährung Bitcoin und zeigen, wie diese Art des digitalen Geldes genau funktioniert.
Wir werfen einen Blick hinter die Kulissen der bekannten Kryptowährung Bitcoin und zeigen, wie diese Art des digitalen Geldes genau funktioniert.

Jeder spricht von der digitalen Währung Bitcoin… aber mal ehrlich, wissen Sie, was sich hinter Begriffen wie Blockchain, Peer-to-Peer und Mining verbirgt?

Wir bringen Licht in die komplexen Abläufe der Kryptowährung Bitcoin und erklären ihre Funktionsweise technisch korrekt und in verständlichen Worten. Im Grunde verraten wir Ihnen in diesem Artikel also alles, was Sie über Bitcoins wissen müssen (und ein bisschen mehr)…

Herz und Gehirn: Die Blockchain

Die vitale Basis von Bitcoin ist sein kollektives Buchhaltungssystem, die Blockchain. In dieser riesigen, mit Stand Dezember 2017 über 145 GB großen Datenbank sind alle Transaktionen gespeichert, die jemals mit Bitcoins durchgeführt wurden und in Zukunft werden.

Die Blockchain erfüllt mehrere wichtige Aufgaben; vor allem gibt sie Auskunft über Ursprung und Verbleib jeder einzelnen Bitcoin und sorgt so dafür, dass niemand einen Geldbetrag mehrfach ausgeben oder gar fälschen kann.

Kryptografie, Transaktionen und Peer-to-Peer

Dabei macht sich die Kryptowährung einerseits die Grundsätze der Verschlüsselung zunutze, andererseits baut sie auf das Mehrheitsprinzip: Die Blockchain wird kollektiv von einer Gemeinschaft verwaltet. Manipulationen durch einzelne Personen oder Organisationen sind damit systembedingt ausgeschlossen.

Stellt sich die Frage, wo genau in der Datenbank nun die virtuellen Münzen und Geldscheine stecken. Die Antwort ist simpel und verwirrend zugleich: Nirgends. Die Blockchain enthält lediglich eine Liste aller Transaktionen zwischen Bitcoin-Adressen.

Jede Transaktion besteht aus einer digital signierten Nachricht, welche an alle Clients im Bitcoin-Netzwerk gesendet wird mit dem Wunsch, einen bestimmten Betrag von einer Adresse an eine andere zu transferieren.

Das Bitcoin-Netzwerk ist ein sogenanntes Peer-to-Peer-Netzwerk. Damit fehlen hierarchische Strukturen; vielmehr sind alle Nutzer miteinander verbunden und agieren, was die Verwaltung und Verarbeitung von Transaktionen betrifft, gleichberechtigt. Man spricht auch von einem dezentral organisierten Kollektiv.

Digitale Unterschriften stellen dabei einen wichtigen Mechanismus der Kryptowährung dar: Sie verifizieren eine Transaktion und stellen zugleich sicher, dass nur der richtige Empfänger über den erhaltenen Betrag verfügen kann.

Theoretisch wäre es allerdings denkbar, dass mehrere gleichlautende Zahlungsvorgänge auf den Weg gebracht werden. Ein in jede Transaktion integrierter Zeitstempel sorgt jedoch dafür, dass nur die erste Transaktion tatsächlich ausgeführt wird.

Was ist eine Bitcoin-Adresse?

Vereinfacht ausgedrückt handelt es sich bei einer Bitcoin-Adresse um die Kontonummer eines Nutzers. Wie im realen Leben auch, kann eine Person über beliebig viele Konten mit unterschiedlichen Salden verfügen.

Der größte Unterschied zum Girokonto: Bitcoin-Adressen können nur Guthaben aufweisen, niemals Verbindlichkeiten. Schulden anhäufen geht (glücklicherweise) nicht.

Zum Girokonto gehört natürlich eine PIN, welcher der Kontoinhaber für den geschützten Zugriff auf sein Guthaben nutzt. Im Fall von Bitcoin spricht man dabei von einem geheimen Schlüssel, der zur Signierung jeder Transaktion verwendet wird.

Zusammenfassung der Grundlagen

Die Blockchain besteht aus einer fälschungssicheren Liste aller Transaktionen zwischen Bitcoin-Adressen. Jede Transaktion wird vom Absender digital unterschrieben und muss von einer Mehrheit der Teilnehmer im Peer-to-Peer-Netzwerk bestätigt werden.

Bezahlen mit Bitcoins: Ein Real-World-Beispiel

Angenommen, Max möchte sich von Susi ein neues Auto kaufen und den Kaufpreis in Bitcoins bezahlen.

Damit das überhaupt möglich ist, benötigen beide jeweils ihre eigene Bitcoin-Adresse. Als erfolgreiche Autohändlerin besitzt Susi natürlich bereits eine solche.

1. Schritt: Bitcoin-Adresse generieren

Max legt sich eine neue Adresse an, indem er mit Hilfe des ECDSA-Algorithmus ein Schlüsselpaar aus einem öffentlichen und einem privaten Schlüssel generiert. Das macht er mit einem Mausklick in seiner Bitcoin-Wallet, einer digitalen Geldbörse, die Max‘ gesamte Adressen und dazugehörige Schlüsselpaare enthält.

ECDSA steht für „Elliptic Curve Digital Signature Algorithm“ und wendet Elliptische-Kurven-Kryptographie (ECC, elliptic curve cryptography) an.

Die Basis dieser Verschlüsselung findet beispielsweise auch in Webbrowsern Anwendung, ebenso nutzen viele Länder der Europäischen Union (einschließlich Deutschland) ECC zum Schutz der auf digitalen Pässen und Ausweisen gespeicherten Daten. ECC gilt bei korrekter Implementierung als hochgradig sicher.

Die Wallet – das digitale Portemonnaie

Wallets existieren für verschiedene Betriebssysteme und Plattformen: für Desktop-PCs, Notebooks und Smartphones. Es gibt sie auch als Web-Variante bei verschiedenen Dienstleistern. Gerade bei letzteren ist jedoch absolutes Vertrauen in den jeweiligen Anbieter vonnöten.

Empfehlenswert für die meisten Nutzer ist ein Bitcoin-Client auf dem eigenen PC oder Smartphone, der zudem mit einem Passwort vor dem Zugriff Dritter geschützt werden sollte.

Die Wallet hat übrigens mit einer echten Geldbörse noch eine Gemeinsamkeit: Geht sie verloren oder wird gestohlen, ist das Geld weg. Backups sind daher ein absolutes Muss – am besten auf einem separaten Speicherstick oder einer externen Festplatte.

Max‘ neue Bitcoin-Adresse ist ein Hashwert des öffentlichen Schlüssels, also eine längere alphanumerische Zeichenkette. Und mit dem dazugehörigen privaten Schlüssel unterschreibt Max jede Transaktion für diese Adresse. Der öffentliche Schlüssel wird dann zur Überprüfung der Transaktion benutzt.

Bitcoins sind nicht anonym

An dieser Stelle muss man erwähnen, dass Bitcoins kein vollständig anonymes Zahlungsmittel sind, denn mit etwas Mühe kann jeder die Transaktionen in der Blockchain ansehen und errechnen, wieviel Geld mit welcher Adresse verknüpft ist. Die Identität des Eigentümers lässt sich so allerdings nicht herausfinden.

Erst mit dem privaten Schlüssel kann man über das hinter einer Adresse stehende Guthaben tatsächlich verfügen; für das Senden eines Geldbetrags genügt es hingegen, die Adresse des Empfängers zu kennen.

2. Schritt: Bitcoins eintauschen

Damit Max seinen fahrbaren Untersatz überhaupt bezahlen kann, braucht er natürlich erst einmal genügend Bitcoins. Die kann er im Web auf verschiedenen Plattformen gegen Euro eintauschen. Er überweist dem Händler den gewünschten Betrag und dieser schickt den entsprechenden Gegenwert in Bitcoins an die von Max angegebene Adresse.

Daneben gibt es auch Handelsplattformen, die ähnlich wie Auktionshäuser (bzw. Tauschbörsen) aufgebaut sind. Jeder kann dort Angebote und Anfragen zum Kauf bzw. Verkauf von Bitcoins platzieren.

Alternativ könnte Max selbst Bitcoins generieren. Dafür müsste er sich als „Miner“ (englisch für „Schürfer“ oder „Bergarbeiter“) im Peer-to-Peer-Netzwerk engagieren. Doch das ist alles andere als einfach, denn das Erzeugen (Schürfen) neuer Bitcoins erfordert spezialisierte und stromhungrige Hardware. Für Max ist das also erst einmal keine Option.

Max hat sich von einem Händler 2 BTC gekauft. BTC ist übrigens das offizielle Währungskürzel für Bitcoin. Das dazu passende Unicode-Zeichen „₿“ steht an Position 20BF.

Abhängig von den darzustellenden Beträgen sind weitere Unterteilungen möglich: 1 BTC = 0,1 dBTC (deci-bitcoin) = 0,01 cBTC (centi-bitcoin) = 0,001 mBTC (milli-bitcoin) = 0,000001 μBTC (micro-bitcoin). Die kleinste Einheit heißt „Satoshi“ und entspricht 0,00000001 BTC.

3. Schritt: Eine Transaktion durchführen

Max‘ Traumauto kostet umgerechnet 1,5 ₿. Für diesen Betrag generiert Max in seiner Wallet eine Transaktion. Der Betrag in Höhe von 2 ₿ vom Händler wird dort als Input (Eingang) vermerkt. Der Kaufpreis für das Auto, also die Summe von 1,5 ₿, wird als erster Output (Ausgang) aufgeführt. Der zweite Output enthält 0,5 ₿ und sendet den Restbetrag wieder an Max‘ Adresse zurück.

Diese Vorgehensweise ist wichtig, denn jeder Output darf nur einmal als Input für eine Folgetransaktion verwendet werden; der Restbetrag muss also als Output wieder an den Besitzer der Bitcoin-Adresse zurückkommen. In Buchhalter-Deutsch: Die Salden zwischen Eingang und Ausgang müssen sich gegenseitig aufheben.

Eine vorhandene Differenz zwischen den eingehenden und ausgehenden Beträgen erhält der Miner als Transaktionsgebühr: Je höher der Differenzbetrag, umso schneller wird eine Buchung im Netzwerk verarbeitet, da dies natürlich einen Anreiz für Miner darstellt, sich mit einer Transaktion zu beschäftigen.

Max unterschreibt nun die korrekt erstellte Transaktion mit seinem geheimen Schlüssel und sendet sie an das Peer-to-Peer-Netzwerk zur Verarbeitung. Dieser Prozess wird vom Bitcoin-Netzwerk gesteuert. Susi öffnet die bestätigte Transaktion in ihrer Wallet mit Max‘ öffentlichen Schlüssel. Der Bezahlvorgang ist abgeschlossen und kann nicht mehr storniert werden. Und schon darf sich Max auf sein neues Auto freuen.

Mining – mehr als Goldgräberstimmung

Es wurde vorhin bereits angedeutet, dass Max im Grunde auch selbst Bitcoins hätte erzeugen können. Diesen Prozess nennt man „Mining“.

Daran teilnehmen kann jeder, der die dafür erforderliche potente Hardware besitzt – oder der mit anderen in einem Mining-Pool zusammenarbeitet und so von der gemeinsamen Rechenleistung vieler profitiert.

Die Aufgaben der Miner

Aber beim Mining geschieht mehr als nur das Generieren neuer Bitcoins. Die wichtigste Aufgabe ist vielmehr das Kontrollieren und Verbuchen der an das Peer-to-Peer-Netzwerk gesendeten Transaktionen.

Erhält ein Miner eine neue Transaktion über das System, so wird diese zuerst auf Gültigkeit geprüft (Signaturen, Input/Output, etc.). Gültige Transaktionen packt der Miner in einen Block, also sozusagen in eine Liste von offenen Buchungen. Versehen wird der so erzeugte Block noch mit einem Zeitstempel, dem Hash des vorangegangenen gültigen Blocks aus der Blockchain sowie einer Zahl, der sogenannten „Nonce“ (englisch für „vorübergehend“, „vorläufig“).

Von diesem Paket erzeugt der Miner nun einen Hashwert, indem zweimal der SHA-256-Algorithmus angewendet wird. Dieser Hash muss kleiner sein, als ein vom Bitcoin-System vorgegebener Wert. Genau das macht es so schwierig und erfordert eine hohe Rechenleistung:

Kryptographische Hash-Funktionen sind nicht umkehrbar. Das bedeutet, man kann vom Hash-Wert nicht auf den als Basis verwendeten Datenstrom schließen. Bereits kleinste Änderungen am Datenstrom erzeugen dabei ein völlig abweichendes Ergebnis.

Beispiel einer einfachen Hashfunktion (MD5):

14All – das digitale Technik-Magazin für IT & Wissen! -> 6a1193c5b8e0323c2ec7ab3f2ec48aa1
14All – das digitale Technik-Magazin für IT + Wissen! -> 0dd9aaf61b7773fe597c52c0756f67ba

Die Berechnung des MD5-Hashwerts hat nur einen Wimpernschlag gedauert; den ursprünglichen Text wiederherzustellen ist selbst bei einer inzwischen als veraltet eingestuften Hashfunktion wie MD5 unmöglich.

Von Noncen, Nullen und Schwierigkeitsgraden

Bei der Nonce handelt es sich um einen 4-Byte großen Wert, der so ausgewählt wird, dass der erzeugte Hash eine Reihe führender Nullen enthält. Da jede Änderung am Datenblock – einschließlich der Nonce – einen anderen Hash erzeugt, wird die Nonce vom Miner immer wieder verändert. Und zwar solange, bis der Hash die erforderliche Anzahl von Nullen besitzt.

Die notwendige Zahl von Nullen wird durch die Schwierigkeit festgelegt, welche die Geschwindigkeit der Erzeugung neuer Blöcke steuert. Dieser Wert hängt von der Rechenleistung des Bitcoin-Netzwerks ab und wird nach der Generierung von 2016 Blöcken (ca. alle 14 Tage) neu ausgehandelt. Als Zielvorgabe ist gesetzt, dass die Erzeugung eines Blocks ungefähr zehn Minuten dauern soll.

Warum dieser Aufwand? Hinter jeder Währung stecken wertbestimmende Faktoren. Das können Gold- und Devisenreserven sein, aber auch die Wirtschaftsleistung des Landes, welche die Währung herausgibt. Im Fall von Bitcoin handelt es sich um die von den Minern zur Verfügung gestellte Rechenleistung.

Um darüber einen Nachweis erbringen zu können, muss eben jener Hash berechnet werden: Der Miner oder die Gruppe an kollaborierenden Minern, welche als erste erfolgreich einen validen Block erzeugen (also einen Block mit der passenden Zahl von Nullen im Hash), erhalten zur Belohnung eine bestimmte Anzahl Bitcoins sowie die Transaktionsgebühren.

Ab in die Blockchain…

Ein valider Block wird an die Blockchain angehängt. Da jeder Block den Hashwert des vorangegangenen Blocks enthält, entsteht mit zunehmender Kettenlänge eine manipulationssichere Liste aller Transaktionen.

Wie schon erwähnt kann man die Blockchain als eine Art kollektiv geführtes Buchhaltungssystem betrachten. Nur Transaktionen, die darin aufgeführt sind und durch immer neue Kettenglieder wieder und wieder bestätigt werden, bleiben gültig.

Das rechenintensive Mining schützt vor Manipulation: Denn um einen Block aus der Mitte der Kette in böswilliger Absicht zu verändern, müsste ein Miner auch alle nachfolgenden Blöcke modifizieren.

Solche Angriffe sind natürlich denkbar (und kommen immer wieder vor). Doch das Bitcoin-Netzwerk erkennt nur das längste Kettenglied als valide an, alle anderen Zweige werden verworfen. Um erfolgreich zu sein, müsste ein Angreifer also mehr Rechenleistung erbringen als alle ehrlichen Miner zusammen. Ein aussichtsloses Unterfangen.

Stichwort Inflation

Das zugrundeliegende Protokoll begrenzt die Geldmenge auf 21 Millionen Bitcoins. Damit ist eine Inflation systembedingt ausgeschlossen, ein großer Vorteil im Vergleich zu realen Währungen, bei welchen relativ einfach „die Notenpressen angeworfen“ werden könnte.

Mit Stand 9. Dezember 2017 liegt die vorhandene Geldmenge bei 16,523 Millionen Bitcoins.

Nach aktuellen Schätzungen wird es noch ein ganzes Weilchen dauern, bis alle Bitcoins geschürft wurden – im Jahr 2140 soll es so weit sein. Doch auch danach sind die Miner gefragt: Nämlich zum Bestätigen und Verbuchen der Transaktionen.

Die Zukunft der Bitcoins

Sind alle Bitcoins geschürft, verdienen die Miner also nur an den Transaktionsgebühren. Auch das wird sich lohnen, denn die derzeit größte Herausforderung liegt nämlich in der Bewältigung der großen Zahl zu verbuchender Transaktionen.

Da das Bitcoin-Protokoll nicht in Stein gemeißelt wurde, sondern ebenfalls durch die Mehrheit der Miner festgelegt wird, müssen früher oder später neue Wege und Methoden entwickelt werden, der steigenden Flut von Transaktionen und ihren Folgen (z.B. der ständig wachsenden Blockchain) beizukommen.

In der jüngeren Vergangenheit wurden bereits einige Maßnahmen getroffen, welche unter Minern kontrovers diskutiert wurden und schlußendlich zur Abspaltung zweier neuer Kryptowährungen führten: BitcoinCash (abgekürzt BCC oder BCH) und Bitcoin Gold (BTG).

Doch um tiefgreifende Änderungen wird man in der Community der Miner nicht umhin kommen, insbesondere dann, wenn Bitcoins Einzug in den Alltag halten sollen. Derzeit sind sie mehr Anlageobjekt als Zahlungsmittel mit wenigen offiziellen Akzeptanzstellen.

Besonders bei einem Vergleich wird die niedrige Performance deutlich: Der Kreditkartenanbieter VISA verarbeitet durchschnittlich 24.000 Transaktionen pro Sekunde, das Bitcoin-Protokoll limitiert diese auf derzeit 7 Transaktionen im selben Zeitraum.

Wenn Bitcoins langfristig zukunftssicher werden möchten, sind neben Änderungen im Protokoll auch ein Wandel der Mining-Kultur notwendig. Wahrscheinlich ist die Entstehung von Zahlungsdienstleistern, die in Serverfarmen Transaktionen gegen feste Gebührensätze verarbeiten. Eine Skalierung auf die Performance alternativer Zahlungsanbieter ist zumindest technisch kein Problem.


Autor: Tobias Eichner | Datum der Veröffentlichung: Dezember 2017
Wichtig: Bitte beachten Sie die Nutzungsbedingungen und rechtlichen Hinweise für diesen Beitrag!