Inhaltsverzeichnis
Mark Transaktion wird nun im Bitcoin-Netzwerk propagiert. Es wird erst Teil der Blockchain, wenn es von einem Prozess namens Mining verifiziert und in einen Block eingeschlossen wird.
Das Bitcoin-System des Vertrauens basiert auf Berechnungen. Transaktionen werden in Blöcken gebündelt, die eine enorme Menge an Rechenleistung benötigen, um zu beweisen, aber nur eine kleine Menge an Rechenleistung, um sie als Beweis zu verifizieren. Der Mining-Prozess dient zwei Zwecken in Bitcoin:
- Mining-Knoten validieren alle Transaktionen anhand der Bitcoins-Konsens-Regeln. Daher bietet Mining Sicherheit für Bitcoin-Transaktionen, indem ungültige oder fehlerhafte Transaktionen zurückgewiesen werden.
- Mining erzeugt in jedem Block neue Bitcoin, fast wie eine Zentralbank, die neues Geld druckt. Die Menge an Bitcoin, die pro Block erstellt wird, ist begrenzt und verringert sich mit der Zeit nach einem festgelegten Zeitplan. (alle 4 Jahre erfolgt eine Halbierung der ausgeschütteten Bitcoins – man nennt das auch Halving.)
Mining erzielt ein ausgewogenes Verhältnis zwischen Kosten und Nutzen. Der Mining-Prozess nutzt Elektrizität, um ein mathematisches Problem zu lösen. Ein erfolgreicher Miner wird eine Belohnung in Form von neuen Bitcoin- und Transaktionsgebühren erhalten. Die Belohnung wird jedoch nur dann erhoben, wenn der Miner alle Transaktionen zur Zufriedenheit mit den Regeln des Konensus korrekt validiert hat. Dieses empfindliche Gleichgewicht bietet Sicherheit für Bitcoins ohne eine zentrale Autorität.
Eine gute Art, den Mining-Prozess zu beschreiben, ist wie ein riesiges kompetitives Sudoku-Spiel, das jedes Mal zurückgesetzt wird, wenn jemand eine Lösung findet und dessen Schwierigkeit sich automatisch so einstellt, dass es ungefähr 10 Minuten dauert, um eine Lösung zu finden. Stelle dir ein riesiges Sudoku-Puzzle vor, mehrere tausend Reihen und Spalten in der Größe. Wenn ich dir ein abgeschlossenes Puzzle zeige, kannst du es schnell überprüfen. Wenn das Puzzle jedoch ein paar Quadrate gefüllt hat und der Rest leer ist, braucht es viel Arbeit, um es zu lösen! Die Schwierigkeit des Sudoku’s kann durch Ändern der Größe (mehr oder weniger Zeilen und Spalten – Difficulty) angepasst werden, aber es kann immer noch leicht verifiziert werden, selbst wenn es sehr groß ist. Das in Bitcoin verwendete Puzzle basiert auf einem kryptographischen Hash und weist ähnliche Merkmale auf: Es ist asymmetrisch schwer zu lösen, aber leicht zu überprüfen und seine Schwierigkeit kann angepasst werden.
Mining ist heute eine Industrie.
Menschen betreiben eine Mining-Farm, ein Unternehmen, das tausende spezialisierter Mining-Computer betreibt, die um die Belohnung konkurrieren. Etwa alle zehn Minuten konkurrieren die Computer-Miner gegen Tausende ähnlicher Systeme in einem globalen Rennen, um eine Lösung für einen Transaktions-Block zu finden. Eine solche Lösung, der sogenannte Proof-of-Work (PoW), benötigt im gesamten Bitcoin-Netzwerk Quadrillionen von Hash-Operationen pro Sekunde. Der Algorithmus für den Arbeitsbeweis beinhaltet das wiederholte Hashing des Headers des Blocks und eine Zufallszahl mit dem kryptographischen SHA256-Algorithmus, bis eine Lösung mit einem vorgegebenen Muster gefunden wird. Der erste Miner, der eine solche Lösung findet, gewinnt die Runde des Wettbewerbs und veröffentlicht diesen Block in der Blockchain.
Viele Leute begannen im Jahr 2010 mit einem sehr schnellen Desktop-Computer zu arbeiten, um einen geeigneten Proof-of-Work für neue Blöcke zu finden. Als mehr Miner begannen, sich dem Bitcoin-Netwok anzuschließen, nahm die Schwierigkeit des Problems schnell zu. Bald darauf rüsteten viele Miner zu spezialisierterer Hardware auf, wie zum Beispiel Highend-Grafikkarten (GPUs), wie sie in Gaming-Desktops oder Konsolen verwendet werden. Zum Zeitpunkt des Schreibens ist die Schwierigkeit so hoch, dass es sich lohnt, nur mit anwendungsspezifischen integrierten Schaltungen (ASIC) zu arbeiten, im Wesentlichen Hunderte von in Hardware gearbeitete Mining-Algorithmen, die parallel auf einem einzigen Siliziumchip laufen. Viele Unternehmen beteiligen sich auch an einem Mining-Pool, der ähnlich wie ein Lotterie-Pool mehreren Teilnehmern erlaubt, ihre Anstrengungen und Belohnungen zu teilen. Viele Unternehmen betreiben heute ein Lager, in dem Tausende von ASIC-Miner rund um die Uhr Bitcoins minen. Das Unternehmen zahlt seine Stromkosten, indem es den Bitcoin verkauft, den es aus dem Mining-Prozess erzeugen kann, und erwirtschaftet damit ein Einkommen aus den Gewinnen.
Mining-Transaktionen in Blöcken
Neue Transaktionen fließen aus Benutzerportfolios und anderen Anwendungen ständig in das Netzwerk ein. Da diese von den Bitcoin-Netzwerkknoten erkannt werden, werden sie zu einem temporären Pool nicht überprüfter Transaktionen hinzugefügt, die von jedem Knoten verwaltet werden. Wenn Miner einen neuen Block konstruieren, fügen sie unbestätigte Transaktionen aus diesem Pool dem neuen Block hinzu und versuchen dann, die Gültigkeit dieses neuen Blocks mit dem Mining-Algorithmus (Proof-of-Work) zu beweisen.
Transaktionen werden dem neuen Block hinzugefügt, priorisiert durch die Transaktionen mit den höchsten Gebühren zuerst und einigen andere Kriterien. Jeder Miner beginnt mit dem kreieren eines neuen Transaktionsblocks, sobald er den vorherigen Block aus dem Netzwerk erhalten hat. Er weiß, dass er diese vorherige Runde des Wettbewerbs verloren hat. Er erstellt sofort einen neuen Block, füllt ihn mit Transaktionen und dem Fingerabdruck des vorherigen Blocks und beginnt mit der Berechnung des Arbeitsnachweises für den neuen Block. Jeder Miner enthält eine spezielle Transaktion in seinem Block, eine, die seine eigene Bitcoin-Adresse bezahlt, die Block-Belohnung (derzeit 12,5 BTC für neu geschaffene Bitcoin) plus die Summe der Transaktionsgebühren von allen Transaktionen, die in dem Block enthalten sind. Wenn er eine Lösung findet, die diesen Block gültig macht, „gewinnt“ er diese Belohnung, weil sein erfolgreicher Block der Blockchain hinzugefügt wird und die Belohnungstransaktion, die er enthält, vergeblich wird. Personen, die an einem Mining-Pool teilnehmen, haben ihre Software so eingerichtet, dass wenn neue Blöcke erstellt werden, die Belohnung einer Pool-Adresse zugewiesen werden. Von dort wird ein Teil der Belohnung an die Miner im Verhältnis zu der Menge der Arbeit verteilt, die sie in der letzten Runde beigetragen haben.
Weiter führendes Beispiel:
Die Transaktion von Mark wurde vom Netzwerk aufgenommen und in den Pool der nicht verifizierten Transaktionen aufgenommen. Sobald es von der Mining-Software validiert wurde, wird es in einen neuen Block aufgenommen, den man als Mining-Block bezeichnet. Alle Miner, die an diesem Mining-Pool teilnehmen, beginnen sofort mit der Berechnung des Arbeitsnachweises für den Kandidatenblock. Ungefähr fünf Minuten nachdem die Transaktion zum ersten Mal von Mark’s Wallet übertragen wurde, fand einer der ASIC-Miner eine Lösung für den Kandidatenblock und kündigte sie dem Netzwerk an. Sobald andere Miner den Siegerblock validierten, begannen sie das Rennen, um den nächsten Block zu generieren.
Miner die den Block gewinnen, werden Teil der Blockchain als Block # 1893492 und enthält 360 Transaktionen, einschließlich der Transaktion von Mark. Der Block, der die Transaktionen von Mark enthält, wird als eine „Bestätigung“ dieser Transaktion gezählt.
Etwa 19 Minuten später wird ein neuer Block, # 1893493, von einem anderen Miner kreiert. Da dieser neue Block auf dem Block # 1893492 aufbaut, der Marks Transaktion enthielt, fügte er der Blockchain noch mehr Rechenleistung hinzu und stärkte dadurch das Vertrauen in diese Transaktionen. Jeder Block, der über demjenigen liegt, der die Transaktion enthält, gilt als zusätzliche Bestätigung für Marks Transaktion. Wenn sich die Blöcke übereinander stapeln, wird es exponentiell schwieriger, die Transaktion umzukehren, wodurch sie dem Netzwerk mehr und mehr vertrauen.
Erster Block # 1893492, der Marks Transaktion enthält. Darunter befinden sich 189.492 Blöcke (einschließlich Block # 0), die in einer Blockkette (Blockchain) bis zum Block # 0, bekannt als Genesisblock, miteinander verbunden sind. Mit der Zeit, wenn die „Höhe“ (Block Height) in Blöcken zunimmt, steigt auch die Rechenschwierigkeit für jeden Block und die Kette als Ganzes. Die Blöcke, die nach demjenigen, der Marks Transaktion enthält, abgebaut werden, dienen als weitere Sicherheit, da sie mehr Rechenleistung in einer längeren und längeren Kette aufbringen. Per Konvention gilt jeder Block mit mehr als sechs Bestätigungen als unwiderruflich, weil es eine immense Menge an Berechnungen erfordern würde, um sechs Blöcke ungültig zu machen und neu zu berechnen. Wir werden den Prozess des Mining und die Art und Weise, wie er Vertrauen schafft, genauer untersuchen.
Die Transaktion ausgeben
Jetzt, da die Transaktion von Mark als Teil von einem Block in die Blockchain eingebettet wurde, ist sie Teil des verteilten Ledgers von Bitcoin und für alle Bitcoin-Anwendungen sichtbar. Jeder Bitcoin-Client kann die Transaktion unabhängig als gültig und verfügbar prüfen. Voll-Knoten-Clients (Full Node) können die Quelle des Geldes von dem Moment an verfolgen, an dem die Bitcoins zum ersten Mal in einem Block generiert wurden, inkrementell von Transaktion zu Transaktion, bis sie Valerie’s Adresse erreichen. Lightweight-Clients können eine vereinfachte Zahlungsverifizierung (Simple Payment Verification SPV-Knoten) durchführen, indem sie bestätigen, dass sich die Transaktion in der Blockchain befindet und mehrere Blöcke kreiert werden, um sicherzustellen, dass die Miner sie als gültig akzeptieren.
Valerie kann jetzt die Ausgabe von dieser und anderen Transaktionen ausgeben. Zum Beispiel kann Valerie einen Auftragnehmer oder Lieferanten bezahlen, indem er den Wert der Kaffee Zahlung an diese neuen Besitzer überträgt. Am wahrscheinlichsten wird die Bitcoin-Software von vielen kleine Zahlungen zu einer größeren Zahlung zusammenfassen und möglicherweise den gesamten Bitcoin-Ertrag des Tages auf eine einzige Transaktion konzentrieren. Dies würde die verschiedenen Zahlungen zu einer einzigen Ausgabe (und einer einzigen Adresse) zusammenfassen.
Da Valerie die von Mark und anderen Kunden erhaltenen Zahlungen ausgibt, erweitert sie die Transaktionskette.
In diesem Blog-Artikel haben wir gesehen, wie Transaktionen eine Kette aufbauen, die den Wert vom Eigentümer zum Eigentümer bewegt. Wir haben auch Mark’s Transaktion verfolgt, von dem Moment an, als es in seiner Wallet erstellt wurde, durch das Bitcoin-Netzwerk und zu den Miner, die es auf der Blockchain aufzeichneten.