Название: Bitcoin, Blockchain & Co. — Die Wahrheit und nichts als die Wahrheit (überarbeitete Ausgabe 2021/22)
Автор: Joe Martin
Издательство: Автор
Жанр: Социология
isbn: 9783947921089
isbn:
So regelt sich das System immer wieder selbst und wächst durch Innovationen in Hard- und Software mit.
Angriffe durch Abschalten von Minern
Das System der Difficulty stellt — neben dem Ausgleich der Hash-Power bei schwankender Anzahl der Miner — auch noch eine weitere Sicherheitskomponente dar. Wenn man diesen Difficulty-Mechanismus weiter untersucht, findet man eine zusätzliche Bremse nach unten. Die Difficulty kann niemals um mehr als 25 Prozent gesenkt werden. Das ist im Kernalgorithmus so unver-änderlich festgelegt und verhindert eine Manipulation, wenn sich zu viele Miner in einer Hand befinden.
Angenommen, einer Gruppe von Minern gehören so viele Masch-inen, dass sie 40 Prozent der Hash-Power bereitstellen und sie dann vorsätzlich ihre Maschinen ausschalten würden. Dann würde sich — vereinfacht gerechnet — die Difficulty um 40 Prozent redu-zieren, weil die anderen Miner sehr lange brauchen würden, um die Blocks zu berechnen. Direkt nach der Korrektur der Difficulty würden besagte Miner ihre Power wieder einschalten und könnten nun natürlich sehr schnell Blocks berechnen, weil die Difficulty nicht der tatsächlichen Rechenpower entspräche.
Diese Gruppe von Minern hätte in so einem Fall zwei Wochen lang enorme Macht, könnte das System destabilisieren und tatsächlich schnell ein paar neue Daten einschleusen. Dabei geht es nicht unbedingt um reine Transaktionen, sondern auch um Veränder-ungen der systembestimmenden Algorithmen. Diese können tatsächlich, bis zu einem gewissen Grad, verändert werden. Dazu später mehr, wenn es um die Konsens-Mechanismen geht.
Die maximale Reduktion der Difficulty wirkt also wie ein weiteres Hemmnis, um die Sicherheit des Systems zu gewährleisten und das Bitcoin-Netzwerk zu stabilisieren. Alles in allem eine wohl durchdachte Sache.
Die Vergangenheit kann nicht mehr verändert werden
Die Bitcoin-Blockchain wird also von Minern abgesichert, die mit aufwendigen Rechenverfahren im Schnitt zehn Minuten brauchen, um eine Reihe von Transaktionen in einem Datenblock zu verschließen. Sie werden mit neu geschaffenen Bitcoins entlohnt, eben diesem Vorgang, den man auch „minen“ beziehungsweise im Deutschen „schürfen“ nennt.
Im Bitcoin-Netzwerk stehen dabei viele Miner in direkter, inter-nationaler Konkurrenz und wenn ein Block gefunden wurde, starten sie gleich mit der Berechnung des nächsten Blocks. Aber von wem erfahren sie, dass ein neuer Block gefunden wurde?
Wenn ein Miner erfolgreich das Puzzle gelöst hat, berichtet er das sofort an die an ihn angeschlossenen Nodes. Das sind die Rechner, die die bisherige Blockchain lokal gespeichert haben. Der Miner sendet ihnen den neuen Block mit der Bitte diesen Block an die lokal gespeicherte Kette anzuhängen. Die Nodes prüfen, ob der errechnete Hash richtig ist und wenn dem so ist, dann hängen sie diesen neuen Block lokal an ihre gespeicherte Kette an. Gleich-zeitig propagieren sie auch den neuen Block zu ihren Peers, also zu dem Nachbarknoten, mit denen sie verbunden sind.
Die Überprüfung, ob der gelieferte Hash mit dem vorliegenden letzten zusammenpasst, ist ein wesentlich einfacherer Rechen-vorgang, als das Minen an sich, sodass es „normale“ Computer leicht erledigen können. Dahinter steckt höchst effiziente Mathe-matik und dieser Umstand ist auch ein wesentliches Merkmal des Systems: Die Berechnung ist sehr schwierig und aufwendig, die Überprüfung sehr einfach und schnell.
Jeder Block wird also vom Miner an einen oder mehrere Nodes geliefert und diese senden den Block umgehend zu ihren jeweiligen Nachbarn, sodass nach kurzer Zeit alle Nodes und alle daran angeschlossenen Miner den neuen Block, nehmen wir einmal an, es sei der Block Nummer 10, kennen. Die Miner „ärgern" sich und stoppen die eigenen Bestrebungen, den Block 10 zu berechnen und beginnen umgehend mit Block 11.
Die Nodes hängen Block 10 an ihre Kette, die bisher mit Block 9 geendet hat, wenn er zu Block 9 passt und die Kette wird um einen Datenblock, mit den darin enthaltenen Transaktionen, verlängert. Technisch gesehen, sendet der Node den Block nicht automatisch weiter, sondern er wird von seinen Nachbarn gefragt, ob er einen neuen Block hat und der Node beantwortet diese Frage dann entsprechend und sendet den Block. Das ist für das Verständnis des Systems nicht relevant. Entscheidend ist nur, dass die neuen Blocks schnell im ganzen Netzwerk propagiert werden, damit die Miner nicht sinnlos an einem oder mehreren, bereits vorhandenen Blocks weiter rechnen.
Was passiert, wenn zwei Miner gleich schnell lösen?
Immer wieder kommt es allerdings vor, dass zwei Miner zum quasi gleichen Zeitpunkt einen Block lösen. Das kann nicht vermieden werden, denn alle Miner und alle Nodes sind ja völlig unabhängig voneinander. Jeder macht, was er will, sozusagen. Das ist ja auch der ganze Sinn in einem dezentralen Netzwerk, welches nicht mani-puliert werden kann. Einem Netzwerk, dass kein Mensch und kein anderer noch so schlau programmierter Computer kontrollieren kann.
An jeden Miner sind irgendwelche Nodes angeschlossen, die wiederum mit anderen Nodes kommunizieren. Dabei verbinden sich die Nodes mit den anderen Nodes, die sie am schnellsten erreichen. Das hängt davon ab, wie schnell die anderen Nodes mit dem Internet verbunden sind beziehungsweise ob sie gerade online sind und mit welcher Verbindungsqualität. Es ist wahrscheinlich, dass verschiedene Miner mit verschiedenen Nodes verbunden sind, die wiederum auch mit jeweils verschiedenen Nodes weiter verbun-den sind. Alleine deshalb schon, weil die Miner ja weltweit verteilt ist.
Deshalb kann es vorkommen, dass ein Teil des Netzwerks den Block 10 vom Miner A kennt und ein anderer Teil den Block 10 von Miner B. Miner B hat seine Berechnungen nämlich nur 17 Tau-sendstel Sekunden nach Miner A erfolgreich abgeschlossen. Es existieren also Block 10 A und Block 10 B.
Das wäre eine Katastrophe, weil die beiden Blocks ja unter-schiedliche Transaktionsdaten enthalten, die die Miner aus dem Transaktionspool genommen haben. In dem Block 10 A hat Alice 2 BTC and Bob gesendet, aber in Block 10 B ist diese Transaktion noch nicht berücksichtigt.
Streng genommen kann Alice nun also in dem Teil des Netzwerkes, welches den Block 10 B angenommen hat, ihre 2 BTC nochmals nutzen und an Carol überweisen. In dem B-Teil des Netzwerkes würde die Transaktion in dem folgenden Block 11 als gültig anerkannt werden. Damit hätte Alice ihre 2 BTC zweimal ausge-geben. Toll für Alice. Dumm gelaufen für entweder Bob oder Carol — eine weitere Problematik des digitalen Geldes, das Nakamoto erkannt und in seinem Ansatz gelöst hat.
Das sogenannte „Double Spending“-Problem
Double Spending bedeutet, dass man Geld zweimal ausgibt. Einmal aus seinen Guthaben und einmal, weil man es kann und weil es keiner merkt, dass man über gar kein Guthaben mehr verfügt, weil das Konto leer ist. Manche Experten schaffen es sogar zweimal Geld von einem leeren Konto zu überweisen. Richtig gute Betrüger sogar dreimal oder noch häufiger. Wie das geht?
Ganz einfach: Man schreibt Schecks aus und versendet diese durch die Republik. Der Empfänger, der den Scheck, den er erhalten hat, als erster einreicht und dessen Bank am schnellsten den Scheck gutschreibt, bekommt die Belohnung — nämlich die Gutschrift. Der zweite ist schon der erste Verlierer, denn das Konto des Scheckausstellers, früher auch als Scheckbetrüger bekannt, ist leer, der Scheck platzt und für den zweiten fallen zusätzlich auch noch Bankgebühren an. Das ist in Zeiten des Onlinebankings nicht mehr so einfach möglich. Die Menschen in den USA und in anderen Teilen der Welt zahlen aber immer noch sehr viel СКАЧАТЬ