Ein Artikel zum Verständnis von Bitcoin. Schauen Sie sich unsere neue Plattform an ?… | von Sajjad Hussain | Die Hauptstadt | Oktober 2020
Blockchain
Blockchain ist eine Datenstruktur, in der Blöcke, die Transaktionsinformationen enthalten, nacheinander von hinten nach vorne verknüpft werden. Es kann als Flatfile (eine Datei, die Datensätze enthält, die keine relative Beziehung haben) oder in einer einfachen Datenbank gespeichert werden. Der Bitcoin Core-Client verwendet die LevelDB-Datenbank von Google, um Blockchain-Metadaten zu speichern. Blöcke sind in dieser Kette in geordneter Weise von hinten nach vorne verbunden, und jeder Block zeigt auf den vorherigen Block.
Die Blockchain wird oft als vertikaler Stapel betrachtet, wobei der erste Block der erste Block am unteren Rand des Stapels ist und dann jeder Block auf andere Blöcke gelegt wird. Nachdem Sie den Stapel verwendet haben, um das Konzept des Stapelns von Blöcken nacheinander zu visualisieren, können wir einige Begriffe verwenden, z. B.: „Höhe“, um den Abstand zwischen dem Block und dem ersten Block anzugeben; und "oben" oder "oben", um den neu hinzugefügten Block anzuzeigen.
Führen Sie für jeden Block einen SHA256-Verschlüsselungs-Hash durch, um einen Hash-Wert zu generieren. Durch diesen Hashwert kann der entsprechende Block in der Blockchain identifiziert werden. Weltklasse digitale Waren-Geldwechsel-einfach. Gleichzeitig kann jeder Block über das Feld "übergeordneter Block-Hash-Wert" seines Block-Headers auf den vorherigen Block (übergeordneter Block) verweisen. Mit anderen Worten, jeder Blockheader enthält den Hashwert seines übergeordneten Blocks. Auf diese Weise erstellt die Hashwertsequenz, die jeden Block mit seinem übergeordneten Block verbindet, eine Kette, die bis zum ersten Block (dem Genesis-Block) zurückverfolgt werden kann.
Da der Blockheader das Feld "übergeordneter Block-Hashwert" enthält, wird auch der Hashwert des aktuellen Blocks von diesem Feld beeinflusst. Wenn sich die Identität des übergeordneten Blocks ändert, ändert sich auch die Identität des untergeordneten Blocks. Wenn sich der übergeordnete Block ändert, ändert sich auch der Hash-Wert des übergeordneten Blocks. Eine Änderung des Hashwerts des übergeordneten Blocks erzwingt eine Änderung des Felds "Hashwert des übergeordneten Blocks" des untergeordneten Blocks, wodurch sich wiederum der Hashwert des untergeordneten Blocks ändert. Durch die Änderung des Hashwerts des untergeordneten Blocks wird die Änderung des Felds "Hashwert des übergeordneten Blocks" des Enkelblocks erzwungen, wodurch sich wiederum der Hashwert des Enkelblocks ändert, und so weiter.
Sobald ein Block viele Generationen später hat, stellt dieser Wasserfalleffekt sicher, dass der Block nicht geändert wird, es sei denn, der Block muss alle nachfolgenden Blöcke neu berechnen. Gerade weil eine solche Neuberechnung einen enormen Rechenaufwand erfordert, kann das Vorhandensein einer langen Blockchain die Geschichte der Blockchain unveränderlich machen, was auch ein Schlüsselmerkmal der Bitcoin-Sicherheit ist.
Sie können sich die Blockchain als eine geologische Schicht in einer geologischen Struktur vorstellen. Die Oberflächenschicht kann sich mit den Jahreszeiten ändern und sogar vor der Ablagerung vom Wind weggeblasen werden. Aber je tiefer es geht, desto stabiler wird die geologische Schicht. Wenn Sie eine Tiefe von einigen hundert Fuß erreichen, sehen Sie Felsformationen, die seit Millionen von Jahren erhalten sind, aber noch intakt sind. In der Blockchain können die neuesten Blöcke aufgrund einer durch die Blockchain-Gabel verursachten Neuberechnung geändert werden. Die letzten sechs Blöcke sind wie ein paar Zentimeter Mutterboden. Nach dem Überschreiten dieser sechs Blöcke ist es jedoch weniger wahrscheinlich, dass der Block geändert wird, je tiefer die Position in der Blockchain ist. Nach 100 Blöcken ist die Blockchain stabil genug, und zu diesem Zeitpunkt können Coinbase-Transaktionen (Transaktionen mit neu gewonnenem Bitcoin) bezahlt werden. Die Blockchain wird nach einigen tausend Blöcken (einem Monat) zu einer bestimmten Geschichte und wird sich nie ändern.
Im Bitcoin-System speichert der Bitcoin-Vollknoten eine lokale Kopie der Blockchain aus dem Genesis-Block. Die Blöcke werden in Form von Ketten verbunden, indem auf den Hash-Wert des Block-Headers des übergeordneten Blocks verwiesen wird.
Bergbau
Wenn wir bei den Konzepten von Transaktion, Block und Blockchain nur die Blockchain als Datenbank betrachten, können wir diese Konzepte verwenden, um ein Blockchain-System zu erstellen. Wir können die Transaktionsdatenstruktur verwenden, um Transaktionsdaten (Schecks, Blogs usw.) zu speichern, Transaktionsdaten über Blöcke zu verpacken und schließlich Blöcke über Block-Hashes zu verbinden. Dies ist, was wir normalerweise Blockchain nennen.
Die auf diese Weise entworfene Blockchain ist jedoch nur eine Datenbank, und es kann nicht garantiert werden, dass die Daten nicht manipuliert werden können. Daher ist eine Blockchain, der ein Konsensmechanismus fehlt, keine Blockchain, und eine Blockchain muss durch einen Konsensmechanismus unterstützt werden. Der Konsensmechanismus in Bitcoin wird durch Bergbau garantiert.
Im ersten Kapitel haben wir vorgestellt, dass die digitale Währung mehr als zehn Jahre Entwicklungsgeschichte hat, bevor Bitcoin geboren wurde. Dieser Zeitraum umfasst E-Cash, HashCash, B-Geld und andere verwandte digitale Währungen. Diese Periode gehört zur Entwicklungsphase digitaler Währungen. Obwohl die digitale Währung mehr als zehn Jahre lang entwickelt wurde, hat niemand die Realisierung eines dezentralen digitalen Währungssystems vorgeschlagen. Da es sich bei der digitalen Währung um eine Reihe von Zeichenfolgen handelt, sind die Kosten für das Kopieren sehr gering. Die Schwierigkeit bei der Implementierung einer dezentralen elektronischen Währung besteht darin, zu vermeiden, dass digitale Währungen zweimal oder öfter gleichzeitig bezahlt werden, was ich oft als doppelte Ausgaben bezeichne. . (Ich kann dieser Übersetzung nicht zustimmen. Ich persönlich denke, dass die Übersetzung in doppelte Zahlung näher an der ursprünglichen Bedeutung liegt und leichter zu verstehen ist.)
Im Bitcoin-System bedeutet Mining, das Angebot an Bitcoin-Währungen zu erhöhen und gleichzeitig die Sicherheit des Bitcoin-Systems zu schützen, betrügerische Transaktionen zu verhindern und doppelte Zahlungen zu vermeiden (doppelte Zahlungen beziehen sich auf das mehrfache Ausgeben derselben Bitcoin).
Bergleute stellen Rechenleistung für das Bitcoin-Netzwerk bereit, um Bitcoin-Belohnungen zu erhalten. Die Bergleute überprüfen jede neue Transaktion und erfassen sie im Hauptbuch. Alle 10 Minuten wird ein neuer Block "abgebaut". Jeder Block enthält alle Transaktionen, die vom vorherigen Block bis zur Gegenwart aufgetreten sind, und diese Transaktionen werden der Reihe nach der Blockchain hinzugefügt. Wir bezeichnen die im Block enthaltenen und der Blockchain hinzugefügten Transaktionen als "bestätigte" Transaktionen. Nachdem die Transaktion "bestätigt" wurde, kann der neue Eigentümer die Bitcoins ausgeben, die er in der Transaktion erhalten hat.
Bergleute erhalten während des Mining-Prozesses zwei Arten von Belohnungen: Belohnungen für neue Währungen zum Erstellen neuer Blöcke und Transaktionsgebühren für in den Blöcken enthaltene Transaktionen. Um diese Belohnungen zu erhalten, versuchen Bergleute, ein mathematisches Rätsel zu lösen, das auf kryptografischen Hashing-Algorithmen basiert. Die Antworten auf diese Rätsel sind im neuen Block als Beweis für die Rechenarbeit des Bergmanns enthalten, die als "Arbeitsnachweis" bezeichnet wird. Der Wettbewerbsmechanismus des Algorithmus und der Mechanismus, mit dem der Gewinner das Recht hat, in der Blockchain zu handeln, sind die Eckpfeiler der Bitcoin-Sicherheit.
Der Begriff „Bergbau“ ist etwas irreführend. Es ist leicht, die Assoziation des Edelmetallabbaus herbeizuführen, so dass unsere Aufmerksamkeit auf die Belohnung gerichtet ist, die durch jeden neuen Block generiert wird. Obwohl die Belohnung durch den Bergbau ein Anreiz ist, ist ihr Hauptzweck nicht die Belohnung selbst oder die Erzeugung neuer Münzen.
Wenn Sie Bergbau nur als den Prozess der Herstellung neuer Münzen betrachten, dann setzen Sie Mittel (Anreize) als Zweck ein. Bergbau ist ein Prozess der Dezentralisierung von Clearingstellen. Jede Clearingstelle muss die verarbeiteten Transaktionen überprüfen und abwickeln.
Mining schützt die Sicherheit des Bitcoin-Systems und ermöglicht es dem gesamten Bitcoin-Netzwerk, ohne eine zentrale Organisation einen Konsens zu erzielen.
P2P-Netzwerk und Knoten
Bitcoin verwendet eine internetbasierte P2P-Netzwerkarchitektur. Jeder Knoten im P2P-Netzwerk ist gleich, jeder Knoten stellt gemeinsam Dienste bereit und es gibt keinen speziellen Knoten. Im P2P-Netzwerk gibt es keine Server, zentralisierten Dienste und hierarchischen Strukturen. P2P-Netzwerke sind von Natur aus skalierbar, dezentral und offen. Bitcoin ist als digitales Peer-to-Peer-Cash-System konzipiert. Die Netzwerkarchitektur spiegelt nicht nur diese Kernfunktion wider, sondern ist auch der Eckpfeiler dieser Funktion. Dezentrale Steuerung ist das Kernprinzip des Entwurfs. Dies kann nur durch die Aufrechterhaltung eines flachen und dezentralen P2P-Konsensnetzwerks erreicht werden.
Obwohl jeder Knoten im P2P-Netzwerk verwandt und äquivalent ist, hat jeder Knoten abhängig von der Funktion jedes Knotens eine andere Arbeitsteilung. Im Bitcoin-System ist jeder Bitcoin-Knoten ein Routing-, Blockchain-Datenbank-, Mining- und Wallet-Dienst. Eine Sammlung von Funktionen, ein vollständiger Knoten, umfasst Brieftaschen, Miner, vollständige Blockchains und Netzwerkroutingknoten.