Dezentrales Geldsystem – Bitcoin für Anfänger


Was wäre, wenn es eine Währung gebe, die nicht von Staaten oder Banken kontrolliert wird? Eine Währung bei der Hyperinflation nicht möglich ist. Eine Währung, die fälschungssicher ist. Ein Geldsystem bei dem Überweisungen — egal wohin — nur Minuten bis Stunden dauern, anstatt Tagen oder gar Wochen. Eine Währung, der man vertrauen kann. Nicht, weil sie auf besonderem Papier gedruckt ist, sondern weil das System selbst vertrauenswürdig ist.

Würdet ihr eine solche Währung benutzen wollen?
Was, wenn ich euch sage, dass solch eine Währung bereits existiert?

Die Rede ist von Bitcoin: Digitalgeld. Die Idee eines digitalen Geldes klingt zuerst nicht besonders vertrauenswürdig. Schließlich können wir Bilder und Musik nach Belieben vervielfältigen und verändern. Doch Bitcoin ist anders. Warum erfährt ihr hier.

 

Was ist Geld?

Geld ist ein Tauschgut bzw. ein Token, den wir gegen Waren und Dienstleistungen eintauschen können. Der Wert des Geldes liegt einzig und allein in dessen Akzeptanz. Wir akzeptieren Gehaltsauszahlungen in EURO, weil wir denken, wir können mit diesem EURO einkaufen und er wird akzeptiert.

Erste Geldsysteme bestanden noch aus Edelmetallen. Der Wert solcher Währungen berief sich dabei auf den Materialwert. Doch diese Zeit ist lange vorbei. Wir handeln heute sogenanntem Fiatgeld ohne inneren Wert. und vertrauen dabei Institutionen wie der Europäischen Zentralbank (EZB) oder der FED.

Doch auch rein digitalem Geld verwenden wir bereits, z.B. in Form von Amazonpoints, Bonusmeilen, Gutscheinkarten. Wir bekommen mit einer McDonalds Gutscheinkarte bei McDonalds Pommes. Diesem Tauschgut, das noch nicht einmal ein Staat oder eine Bank, sondern private Unternehmen verwalten, vertrauen wir ebenso gedankenlos.

Wie schaffe ich ein fälschungssicheres Geldsystem?

Wie vermeide ich, gefälschtes Geld zu akzeptieren? Die Lösung ist viel simpler als dutzende Sicherheitsmerkmale aufzudrucken. (Mal ehrlich, wie oft kontrolliert ihr den Sicherheitsfaden eines 50ers oder prüft ihn unter UV-Licht?)

Stelle dir vor, jeden EURO, den ich dir gebe, könntest du lückenlos in einer Kette von Transaktionen zurückverfolgen bis zu dem Zeitpunkt, an dem er in der Zentralbank entstanden ist. Diesen Euro mit der Nummer 423, mit dem ich dir gerade eine Kugel Eis abkaufe, habe ich als Gehalt bekommen. Du kannst meinen Chef fragen und er wird es dir bestätigen. Du kannst auch ihn fragen woher er diesen Euro hat. Er hat ihn durch den Verkauf eines Kugelschreibers verdient. Der Kunde bestätigt das ebenso und kann dir auch sagen woher dieser Euro kommt, den jetzt du hast.

Nun wirst du vielleicht sagen: Und wenn ich den EURO mit der Nummer 423 dreimal kopiert habe, würde trotzdem jeder, der die Kette zurückverfolgt, bei dessen Entstehung landen und nicht feststellen können, ob er den Echten oder eine der drei Kopien besitzt. Außerdem ist es doch ziemlich unpraktisch jeden EURO bis zu seiner Entstehung zurückzuverfolgen.

Du hast recht. Die Lösung für dieses Problem ist eine Buchführung: ein öffentliches Buch, in dem alle gültigen Transaktionen, die je getätigt wurden aufscheinen. Wer an wen wie viel bezahlt hat. Du kennst meinen Kontostand und kannst verifizieren, ob ich diesen einen EURO mit der Nummer 423 auch wirklich besitze, oder ich ihn vielleicht bereits wo anders ausgegeben habe.

Wer ist der Buchhalter?

Und warum kann man ihm vertrauen?

Dieser Buchhalter bist du selbst. Und auch ich. Sowie jeder in diesem Geldsystem. Es handelt sich um ein dezentrales oder Peer-to-Peer Netzwerk. Jeder im Netzwerk ist mit fünf oder mehr Computern in Kontakt und jeder dieser fünf mit fünf weiteren, usw. Du berichtest jede Änderung deinen fünf Kontakten (den sogenannten „nodes“) und diese leiten sie an ihre fünf Kontakte weiter. Nach und nach spricht sich deine Transaktion herum bis sie jeder kennt.

Im Gegensatz dazu steht das Server-Client Netzwerk von üblichen Zahlungsinstituten. Dabei verbindest du deinen Computer mit einem Bankserver wie z.B. dem von PayPal oder der „Ersten Bank“. Jede Änderung wird hier dem Bankserver mitgeteilt, der sie in seine Buchführung aufnimmt.

Jeder im Netzwerk besitzt eine lokale Kopie dieses kompletten Buchs. Du kannst dir nicht einfach in deiner lokalen Kopie 1.000.000 € Gutschreiben. Jeder andere im Netzwerk würde wissen dass das nicht stimmt. Du müsstest über 50% der Buchführer überzeugen der Besitzer dieser 1.000.000 € zu sein.

Dann kennt also jeder den Kontostand eines jeden Andren?

Naja, jeder kennt den Kontostand einer bestimmten Kontonummer, ja. Doch diese Kontonummer ist keiner bestimmten Personen zugewiesen. Außerdem kann jeder beliebig viele dieser Konten erzeugen und sein Vermögen darauf verteilen und somit sein Gesamtvermögen verschleiern.

Warum ist dabei keine Hyperinflation möglich?

Hyperinflation entsteht durch einen Überfluss an Geld im System. Eine niedrige Inflation ist notwendig für das Wirtschaftswachstum. Hyperinflation, bei der das Geld rapide an Wert verliert, gilt es zu verhindern. Dafür müssen wir mögliche Totalvolumen beschränken. Dazu wenden wir bei unserem digitalen EURO diese beiden Regeln an:

  1. Neues Geld wird absolut regelmäßig und unabhängig von der politischen Lage ausgeschüttet.
  2. Die Menge des neu ausgeschütteten Geldes halbiert sich in regelmäßigen Abständen.

Durch die regelmäßige Halbierung entsteht eine logarithmische Kurve, die immer flacher wird, aber die Höchstmenge nie erreicht.

mtiymzayntu1mtayntq0ndg2

Im falle von Bitcoin werden maximal 21 Millionen Bitcoin ausgegeben. Zur zeit pro Block 25BTC. Diese Zahl halbiert sich alle 4 Jahre

Wie funktioniert so eine Transaktion?

Wie schon erwähnt lässt sich jede Transaktion bis zu ihrem Ursprung zurückverfolgen. Möglich wird das durch den Aufbau der Transaktion selbst. Diese benötigt immer einen Input und einen Output. Als Input verwende ich dabei eine frühere Transaktion die an mich gegangen ist. Für unseren hypothetischen digitalen EURO würde das bedeuten, ich gebe dir keine Münze, sondern einen Zahlungsbeleg der beweist das ich das Geld besitze. Jeder Zahlungsbeleg verweist auf den vorherigen und der vorherige wird dadurch ungültig. Ist diese Kette nicht lückenlos solltest du die Transaktion ablehnen.

transaction_history

Jede Transaktion baut auf vorhergehende Transaktionen auf

Woher weiß ich das die Transaktion von dir ist?

Wenn ich an deiner Eisdiele stehe und dir einen Euro gebe, wirst du keine Zweifel haben, dass dieser Euro von mir kommt. Aber wer dir digital gegenübersitzt, weißt du nicht.

Warum kann hier nicht einfach jemand die Nachricht im Netz verteilen, ich hätte dir 10 Euro gegeben? Weil jede Transaktion signiert werden muss. Digitale Signatur ist ein eigenes, sehr komplexes Thema. Wissen musst du nur: Ich kann mit dieser Signatur beweisen, dass ich selbst der Absender bin und jeder im Netzwerk kann dies überprüfen. Weiter unten werde ich noch etwas näher darauf eingehen.

Wie verhindere ich dass du den Input mehrmals verwendest?

Gute Frage. Da unser Netzwerk den gesamten Globus umspannt und jeder Teilnehmer nur mit ein paar Nodes, niemals aber mit allen anderen Teilnehmern spricht, besteht die Möglichkeit das ich schnell hintereinander zwei Transaktionen mit dem selben Input starten kann. Ich teile Transaktion Nummer 1, in der ich eine Kugel Eis von dir kaufe der einen Hälfte meiner Nodes mit, und Transaktion 2,  bei der ich mir beim Billa eine Leberkäsesemmel kaufe der anderen Hälfte meiner Nodes. Jeder teilt diese Transaktion seinen Nodes mit bis die eine Hälfte aller Teilnehmer im Netzwerk glaubt ich habe dir ein Eis abgekauft, und die andere Hälfte glaubt ich habe mir eine Leberkäsesemmel gekauft. Wie stellen wir jetzt fest welche Transaktion gültig ist? Den Zeitstempel kann ich einfach fälschen. Und  durch die unterschiedlich vielen Glieder in der Kette von Nodes kann auch aufgrund des Zeitpunkts des Eintreffens einer Transaktion keine favorisiert werden. Wir müssen eine verlässliche Quelle für die Reihenfolge festlegen, der wir alle vertrauen. Diese Quelle, ist die Blockchain. Um bei unserer Buchhaltungsanalogie zu bleiben: Die Blockchain ist das Buch. Ein Block ist eine Seite. Auf jeder Seite steht am Anfang ein Verweis auf die vorherige Seite, um zu verhindern dass jemand eine Seite herausreißt. Alle 10 Minuten wird umgeblättert und eine neue Seite angefangen. Alte Seiten sind für immer unveränderlich.

Wenn jetzt innerhalb dieser 10 Minuten 2 Transaktionen mit dem selben Input reinkommen kann natürlich nur eine davon in unsere Seite aufgenommen werden. Gehen wir davon aus dass jeder Buchhalter immer die Transaktion bevorzugt die er als erstes bekommen hat. Buchhalter A trägt also Transaktion A in seine Seite ein, Buchhalter B entscheidet sich für Transaktion B. Solange keiner der beiden eine neue Seite anfängt ist alles offen. Hier wird es spannend. Um die Seite abzuschließen und eine neue Seite aufzuschlagen muss der Buchhalter nämlich ein mathematisches Rätsel lösen. Wer von den beiden das als erstes Schafft, hat die Transaktion bestätigt und für immer in der  Blockchain eingebrannt.

Verlassen wir hier unser Beispiel des digitalen EURO und wenden uns dem Konzept einer Kryptowährung selbst zu. Den jetzt gehen mir die Analogien aus. Wichtig ist: meine weiteren Erläuterungen sind nicht 100%ig vollständig und stark vereinfacht. Ich beschreibe nicht das konkrete Bitcoin-Protokoll sondern nur die grundlegenden Funktionen davon oder auch anderer Kryptowährungen.

Jetzt wird es kompliziert. Solltet ihr bis hierher alles verstanden haben, habt ihr aber schon einen guten Überblick wie Bitcoin funktioniert. Ihr könnt euch mit diesem Wissen zufriedengeben oder weiterlesen. Es lohnt sich.

Was ist die Blockchain?

Der Kern von Bitcoin. Die Blockchain ist die oben genannte Buchhaltung, untergliedert ins sogenannte Blöcke. Diese Einteilung in Blöcke passiert nicht willkürlich oder nach einer bestimmten Anzahl an Transaktionen, sondern ist ein mathematisches Rätsel. Um dieses Rätsel zu lösen braucht das gesamte Netzwerk im Durchschnitt 10 Minuten. Diese Zeitspanne justiert sich immer wieder selbst indem es den Schwierigkeitsgrad des Rätsels verändert um das Wachstum an Rechenleistung auszugleichen. Alle ab dem letzen Block bis zum Lösen dieses Rätsels eingegangenen Transaktionen werden in diesen Block integriert.

Erst wenn ein Block gelöst und damit abgeschlossen ist, sind die darin enthaltenen Transaktionen bestätigt. Das lösen dieser Rätsel wird bei Kryptowährungen „Mining“ also Schürfen genannt. Schürfen wie beim Suchen nach Gold. Denn derjenige, der das Rätsel löst, erhält dafür eine Belohnung (die unter „Warum ist dabei keine Hyperinflation möglich?“ beschriebene Ausschüttung).

Sollten, wie oben, die Hälfte aller Miner Transaktion 1 im Speicher haben, und die andere Hälfte die Transaktion 2, so gilt die Transaktion, die zuerst in einem Block integriert wird, als bestätigt und die andere als ungültig. Sobald ein Miner den Block geschlossen hat, teilt er allen anderen im Netzwerk diesen mit und alle wechseln sofort dazu über den nächsten Block zu lösen.

Wie auch schon beim Verbreiten der Transaktion im Netzwerk gibt es auch beim Verbreiten des Blocks aufgrund der Struktur eines Peer-2-Peer Netzwerks Verzögerungen bis alle auf dem gleichen Stand sind. Während dieser Verzögerung ist es möglich das die 2. Hälfte auch das Rätsel gelöst hat und damit Transaktion Nummer 2 anstatt Nummer 1 in den Block integriert hat. Sollte dies passieren spricht man von Forking, einer Gabelung. Die Kette von Blocks hat nun zwei Enden und wir stehen wieder vor demselben Problem: Welcher Block — und damit welche Transaktion — ist nun gültig?

Ich hatte in der Einleitung erwähnt, dass eine Bitcoin-Transaktion nur Minuten oder Stunden, anstatt Tagen dauert. Genau das ist der Grund. Man sagt für kleine Beträge reicht es den ersten Block abzuwarten und für Größere bis zu 6 Blöcke. Dann gilt eine Transaktion als sicher.

Passiert ein Forking, dann geschieht erstmal gar nichts. Jeder Miner arbeitet weiter an seiner Seite der Gabel. Sobald der nächste Block gelöst ist, teilt er das wieder dem Netzwerk mit, und wenn das andere Ende der Gabel noch nicht so weit ist, wechseln alle auf das längere Ende der Gabel und machen dort weiter. Es beginnt also ein Wettrennen der Miner, wer den Längsten hat.

blockchain-fork

Sollten 2 Blocks gleichzeitig gelöst werden gabelt sich die Blockchain. Sobald an einem Ende ein weiterer Block gelöst wird wechseln alle im Netzwerk zu dem längeren Ende

Wichtig ist: Von jedem Block wird eine Art Fingerabdruck — ein Hashwert — erstellt. Jeder Block enthält auch immer den Hashwert des Letzten. Somit wird es unmöglich einen einzelnen alten Block zu verändern, denn dieser würde einen anderen Hashwert haben,  der nicht mit dem im Folgeblock enthaltenen übereinstimmt.

blockchain

Welches Rätsel müssen die Miner nun lösen?

Ein Block enthält immer alle Transaktionen, die seit dem Lösen des letzten Blocks getätigt wurden. Dazu den Hashwert des vorherigen Blocks UND — und jetzt kommt das Rätsel — einen zufälligen Wert. Ziel ist es nämlich aus all diesen Daten einen Hash zu generieren, der unterhalb eines bestimmten Wertes liegt. Ein Hash ist eine hexadezimale Zahl. Zahlen können größer oder kleiner als andere Zahlen sein. Dieser Schwellwert den der Hash unterschreiten muss sinkt mit der Zeit um es schwieriger zu machen ihn zu erraten. Hashes haben die Eigenheit, dass kleine Änderungen im Input zu einer großen und nicht vorhersagbaren Veränderung im Output führen. Der Miner kann nur raten und nicht berechnen, welche Zufallszahl den richtigen Hash generieren wird. Er probiert also abertausende Zufallszahlen durch bis er einen Hash erhält, der unterhalb des Zielwerts liegt.

Was ist ein Wallet?

Das Wallet im engeren Sinne ist ein Public/Private-Key Paar, das als Adresse oder Kontonummer fungiert. Im erweiterten Sinne ist es das Programm, welches den Zahlungsverkehr abwickelt. Diese Programm spielt dabei mehrere Rollen:

  • Es erstellt Public/Private-Keys.
  • Es zeigt den aktuellen Kontostand an.
  • Es hält die lokale Kopie der Blockchain aktuell.
  • Es teilt Transaktionen seinen verbundenen Nodes mit.

Ein Wallet kann aber auch ein auf Papier ausgedruckter Public und Private Key sein (ein sogenanntes Paper-Wallet) oder ein kleines Gerät, das die Adressen für euch verwaltet (Hardware-Wallet).

Wie funktioniert das mit den Bitcoin-Adressen?

Die sogenannte asynchrone Verschlüsselung mit Public/Private-Schlüsseln unterscheidet sich von synchroner Verschlüsselung dadurch, dass zum Ver- und Entschlüsseln unterschiedliche Schlüssel benötigt werden, wogegen bei der synchronen Verschlüsselung der Schlüssel in beide Richtungen derselbe ist. Diese Art der Verschlüsselung macht sicheren Internetverkehr erst möglich und zahlreiche Protokolle basieren darauf. Mit dem Public-Key, den ich öffentlich mache, können andere Nachrichten verschlüsseln, die nur ich mit meinem Private-Key entschlüsseln kann.

Der Public Key ist bei Bitcoin die Empfänger-Adresse (zB: 1P6A KQKT MoBe mZoo 27Nm AiFM hC8v HFc3 Lh) und nur mit dem Private-Key kann ich Zahlungen in Auftrag geben (digitale Signatur).

Diese Schlüsselpaare erstellt eure Walletsoftware für euch oder ihr erstellt sie euch selbst, zB mit bitaddress.org

Wie kann ich nun Bitcoins verwenden?

Zum Start braucht ihr ein Wallet. Je nach Platform gibt es viele verschiedene. Empfehlenswert sind aber immer die lokalen Varianten, z.B. „Bitcoin Core“ für den PC oder „Bitcoin Wallet“ für Android, da Online Wallets immer wieder Ziel von Hackerangriffen werden. (Backup nicht vergessen!) Weiters müsst ihr euch natürlich Bitcoins besorgen. Hier empfehle Bitcon.de.

Wo kann ich mit Bitcoins bezahlen?

Es gibt mehr Akzeptanzstellen als man denkt. Eine Liste von Akzeptanzstellen findet ihr z.B. hier.

Ich habe z.B. schon Pizza bei Lieferservice.at bezahlt, sowie Spiele bei Steam. Auch Expedia, Microsoft, Rakuten, Alienware und Dell bieten die Bezahlung mit Bitcoins an. Tesla bietet Bitcoin-Bezahlung sogar für seine Fahrzeuge an. Und natürlich nehme auch ich gerne ein paar mBTC zur Unterstützung an (1P6A KQKT MoBe mZoo 27Nm AiFM hC8v HFc3 Lh). 😉

Wie funktioniert das Bezahlen?

Der Händler wird dir in der Regel einen QR code anzeigen in dem schon alle Informationen, wie die Empfänger ID und der Betrag, gespeichert sind. Diesen scannst du mit deiner Bitcoin-App und bestätigst den Zahlvorgang. Benutzt du einen Desktopclient kopierst du die Empfängeradresse in das entsprechende Feld im Überweisungsdialog deiner Software und gibst den Betrag manuell ein.

Was kostet eine Bitcoin Transaktion?

Einen fixen Betrag gibt es dafür nicht. Du kannst den Betrag je nach Anwendungsfall selbst bestimmen. Die Regel ist: Je höher die Transaktionsgebühr ist, desto schneller wird deine Transaktion in einen Block integriert werden. Diese Gebühr erhalten nämlich die auch Miner. Diese Transaktionsgebühr wird dir auch von deinem Wallet vorgeschlagen und liegt meist zw. 0.1 und 0.2 mBTC (milliBitcoin) was zur zeit 0.07-0.14€ entspricht. In Restaurants wirst du die Transaktionsgebühr erhöhen damit der Wirt das Geld gleich bekommt. Wogegen du für eine Überweisung von deinem Smartphone zu deinem PC gerne auch etwas länger dauern darf.

 

Hinterlasse einen Kommentar