Bitcoin easy

image_pdfimage_print

helicopter money teaser_4Es gibt natürlich Leute, die haben Bitcoin für 1000 gekauft und für 10.000 verkauft. Oder für 20.000 gekauft und für 7.000 verkauft. Andere wollen erstmal wissen, was ist das überhaupt? Nicht jeder steckt in der Materie so drin, dass ihm die Erklärung in wiki was sagt. Hier also die Bitcoin-Erklärung in der easy-Version.

Was richtiges Geld kann (siehe Bild), kann elektronisches Geld noch lange nicht. Deshalb gibt es Vorbehalte. Jetzt soll aber nicht diskutiert werden, wozu Bitcoin nutzt oder nicht nutzt, sondern wie Bitcoin funktioniert. Wer das liest, hat selber eine gute Grundlage zur Entscheidung, ob ihm das gefällt oder nicht.

Blockchain

Also, erstmal funktioniert das Ganze ohne eine Bank. Vielmehr tun sich einige Leute zusammen, die Anbieter, die alle dieselben Daten auf ihrem Computer haben, und die über Internet automatisch miteinander kommunizieren.

Die Daten sind die Kontobewegungen ihrer Kunden von Anfang an. Wenn man die Kontobewegungen von Anfang an verfolgt, hat man auch die Kontostände zu jedem Zeitpunkt. Man kann trotzdem nicht sehen, wer wieviel Geld hat, denn die Anbieter halten Namen und Adressen ihrer Kunden geheim. Die stehen bei den Daten nicht mit dabei, sondern nur die Kontonummern (bzw. Kundenschlüssel, "public ID"). Die Zuordnung Kunde – Kontonummer bleibt geheim.

Sicherheit entsteht nun dadurch, dass alle Anbieter dasselbe auf ihrem Rechner haben. Wenn einer an den Daten manipuliert, um einen Kontostand zu fälschen, fliegt er auf. Denn alle anderen haben was anderes da stehen, und die Mehrheit hat Recht.

Aber wenn nun alle manipulieren? Wenn es 11.000 verschiedene Stände gibt (auf so vielen Rechnern läuft Bitcoin), wer hat dann recht? Es muss also noch mehr Sicherheit eingebaut werden, und die erreicht man mit einer Art aufgehübschter Quersumme, genannt Hashcode (hash heißt verwursten, zerhacken).  Man zählt nicht einfach nur die Bytes zusammen, sondern man wirbelt dabei die Bits durcheinander (ohne die Daten zu verändern, es geht nur um die Quersumme). Dazu gibt es diverse mathematische Verfahren, das von Bitcoin heißt secp256k1. Ein Hashcode kann in hexadezimaler Darstellung so aussehen (32 Hex-Zeichen entsprechen 128 Bits bzw. 16 Bytes):

Hex: 41423037282d7a3c43293d73212b422a, Bytes: AB07(-z<C1=s!+B2

Bits: 0100000101000010001100000011011100101000001011010111101000111100 …

Bei Bitcoin werden 256-Bit-Hashcodes verwendet, also doppelt so lange. Alle Hash-Verfahren haben besondere Eigenschaften, aus denen die Sicherheit entsteht:

  • Sobald an den Daten nur 1 Bit geändert wird, kommt gleich ein ganz anderer Hashcode raus.
  • Es ist äußerst unwahrscheinlich, dass zwei Datensätze denselben Hashcode liefern, auch bei allen Daten der Welt zusammen.

Wie wird die Sicherheit nun eingebaut? Dazu zerlegt man die Daten der Kontobewegungen in Blöcke, hinter denen jeweils ein Hashcode steht. Ein neuer Block wird hinten angefügt, und dahinter der neue Hashcode, der sich aus dem vorigen Hashcode und dem neuen Block ergibt (die Quersumme wird über beides zusammen gebildet).

Alle Anbieter haben dieselbe Folge von Hashcodes und Blöcken auf ihrem Computer. Um zu prüfen, ob die ganzen Daten gleich sind, muss man nur den letzten Hashcode vergleichen. Keiner kann andere Daten haben und denselben Hashcode ausrechnen. Wenn einer die Daten manipuliert, kommt nicht mehr der Hashcode raus, der bei allen drinsteht. Keiner kann so manipulieren, dass derselbe Hashcode rauskommt, auch wenn er es 100 Mrd. Jahre lang probiert (Zahl der Möglichkeiten 2256 = 115792089237316195423570985008687907853269984665640564039457584007913129639936  ≈ 1078).

Wenn es also unterschiedliche Daten zu den Kontobewegungen gibt, kommt sofort raus, wer recht hat. Man muss nur den Hashcode bilden. Er stimmt nur dort, wo nicht manipuliert wurde, also bei dem, der recht hat. Dieses Prinzip der Blöcke mit den Hashcodes nennt man Blockchain. Zusammen mit der dezentralen Speicherung ist das ein innovatives neues Konzept mit großem Nutzenspotential.

Um Kontenführung damit zu machen, braucht man eine Warteliste, wo alle Anbieter die gewünschten Kontobewegungen reinschreiben (d.h. an alle anderen schicken), und wenn eine Portion fertig ist, wird ein Block draus gemacht (das muss die Software auf allen Rechnern zugleich leisten). Der Block wird mit einem Hashcode versehen wie beschrieben. Die Anwender prüfen dann, ob ihre Kontobewegungen richtig drinstehen und hängen ihn an ihre Blockchain hinten dran (alles automatisch, die Datenübertragung erfolgt verschlüsselt. Problem dabei ist die Verifizierung, dass keiner falsche Daten reinbringt, man muss also ein Web of Trust haben). Und los geht's mit dem nächsten Block  usw. usf.

Bitcoin

So funktioniert Bitcoin aber nicht. Es ist nämlich die Frage, wie werden die gewünschten Kontobewegungen portioniert, und welche kommen zuerst dran? Für die Priorität wird Geld kassiert; wer höhere Gebühr zahlt, kommt eher dran. Das geht dann so, dass jeder Anbieter eine Portion aus der Warteliste zusammenstellt (nach seinen Präferenzen, die Warteliste wird per Flooding-Algorithmus und mit digitaler Signatur aufgebaut), und dann wird ausgewürfelt, wessen Portion drankommt. Danach ist alles wie gehabt, ein Block wird geschrieben und angehängt, die geschriebenen Kontobewegungen kommen aus der Warteliste raus, und die nächste Portion wird bearbeitet.

Das Besondere ist das Auswürfeln. Da wird nicht einfach nach Zufall ein Anbieter ausgewählt, oder nach zeitlichem Eingang der Daten, sondern es wird ein geradezu surrealer Aufwand dabei betrieben (nach der Logik, dass Rechenzeit praktisch das einzige ist, das man nicht fälschen kann). Der Aufwand schafft Sicherheit. Um das zu begründen, wird mit der 51%-Attacke argumentiert. Dazu müsste ein Anbieter Tausende von Rechnern kontrollieren. Das ist nicht mal illusorisch, weil sich dazu nur die drei größten Mining-Pools Antpool, F2Pool und Btcc Pool zusammenschließen müssten. Die kontrollieren über 50%. Zusammen könnten sie schneller Blöcke generieren als der Rest und würden nach den Bitcoin-Regeln praktisch immer gewinnen, so dass sie ihre Manipulationen durchdrücken könnten.

Und so wird gewürfelt: Für die Portion aus der Wunschliste (den Möchtegern-Block) wird nicht bloß einmal der Hashcode gebildet, sondern x-mal. Es wird nämlich nicht jeder Hashcode akzeptiert, sondern nur besondere. Das sind "niedrige", gemessen daran, mit wieviel Nullen sie anfangen. Es werden z.B. 12 Null-Bits vorn verlangt (die ersten andertalb Bytes bzw. die ersten drei Hex sind dann Null).

Damit man das Spielchen x-mal wiederholen kann, wird vor den Möchtegern-Block nicht nur der letzte Hashcode gesetzt, sondern noch ein paar Bytes zum Spielen ("Nonce" genannt). Die werden variiert (ggf. auch der Inhalt des Möchtegern-Blocks), dann wird der Hashcode gebildet (in der praktischen Realisierung der Hashcode vom Hashcode), und dann wird geschaut: Sind die ersten 12 Bits Null? Nein? Dann nochmal die Spiel-Bytes ändern und immer wieder …

So schafft man es, die an sich schnelle Hashcode-Berechnung ganz lang auszudehnen, so dass nur alle 10 Minuten (die Zeit ist so gewollt) ein gültiger Block entsteht. Jeder Block enthält 1.500 Kontobewegungen (zum Vergleich: der deutsche Zahlungsverkehr wickelt in 10 Minuten 200.000 Kontenbewegungen ab). Ach ja, das Finden eines Blocks wird mit 12,5 Bitcoins belohnt (früher 25, ab Mitte 2020 nur noch 6,25).

Für diese Belohnung werden ganze Rechnerparks in wüsten Gegenden betrieben (Mongolei, Island). Dort ist der Strom billig, und die Kühlung kommt von allein. Der Stromverbrauch fürs sogenannte Bitcoin-Mining entspricht dem eines kleinen Staats. Energie und Rechnerleistung sind im Grunde vergeudet, zumal alle wieder bei Null zu rechnen anfangen, sobald ein Block fertig ist. Sie werden nur aufgebracht, um Fälschungen bei der Datenübertragung zu verhindern (nicht in der Blockchain, die ist per se fälschungssicher).

Die Belohnung entspricht einer kontrollierten Inflation. Insgesamt werden 21 Mio. Bitcoins gemined, 17 Mio. sind schon da, also über 80%. Damit es nicht zu schnell geht, wird die Schwierigkeit immer wieder erhöht (mehr Null-Bits vorn), und die Belohnung sinkt auch.

Also mehr Rechnerleistung für weniger Belohnung. Da ist schon absehbar, dass sich die Rechnerparks irgendwann nicht mehr lohnen. Dann müssen sie vielleicht doch über 21 Mio. Bitcoins gehen, nur streitet sich die Anbieter-Gemeinde bei jeder Änderung. Eigentlich können sie sich das Mining schenken und ein Web of Trust nutzen. Dann müssen sie von den Gebühren leben wie die anderen auch.

Als Vorteil der Kryptowährungen wird gern die Geheimhaltung angesehen. Aber wenn dieser Bereich mal reguliert wird und eine Bankenaufsicht die Kontrolle übernimmt, dürfte es mit der Geheimhaltung vorbei sein. In dem Moment werden alle Kontenbewegungen und -stände der Kunden von Null an transparent. Das ist dann nicht mehr so easy für Kriminelle, die Bitcoins nutzen.

 

Medien-Link dazu:

Bitcoin: Der verkannte Stromfresser (Zeit Online 2.2.): Ja, Bitcoin benötigen sehr viel Energie. Nein, deshalb fangen die Meere nicht an zu kochen. Der Stromverbrauch ist ein Problem, aber nicht das Ende von Kryptowährungen.

Links dazu:

Mehr zum Thema:
Dieser Beitrag wurde unter Wissen veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar