Wie Poke sagte :
Git und Blockchains sehen ähnlich aus, da beide Merkle Trees zum Speichern geordneter Transaktionen mit Zeitstempel verwenden. Ein Merkle-Baum ist eine Baumdatenstruktur, in der jeder Knoten mit dem kryptografischen Hashwert seines Inhalts gekennzeichnet ist, der die Bezeichnungen seiner untergeordneten Knoten enthält.
Der erste Unterschied ist die Hash-Funktion : Blockchain hat eine sehr teure Hash-Funktion, so dass jeder Block abgebaut werden muss, wobei ein Git- "Block" mit einer einfachen Commit-Nachricht erstellt werden kann.
Der Zweck von Bitcoin besteht darin, der Reihenfolge der Transaktionen Vertrauen zu verleihen. Der Fokus liegt auf der längsten Kette, da diese am teuersten zu berechnen ist und daher höchstwahrscheinlich die Wahrheit ist.
Bitcoin erreicht dies, indem verlangt wird, dass der Hash bestimmte Parameter erfüllt (beginnt mit einer bestimmten Anzahl von Nullen), indem ein Wert ("nonce") in der Nachricht erhöht wird, bis ein zufriedenstellender Hash gefunden wird. Dies erfordert Mühe zu finden, aber nur 1 Berechnung, um eine Nonce zu überprüfen; und wenn mehrere Nonces einen zufriedenstellenden Hash erzeugen, wird einer niedriger sein und als die Wahrheit angesehen werden. Andere Authentifizierungsschemata machen den Hash vertrauenswürdig, indem sie die Ausgabe des Hash an eine Behörde zentralisieren, die möglicherweise durch eine Netzwerkvereinbarung oder eine andere Methode abgestimmt wurde.
Blockchain-Daten sind auf Transaktionen beschränkt, die der Validierung entsprechen müssen. Die Transaktion muss gültig sein, um in den nächsten Block aufgenommen zu werden.Eine Bitcoin-Transaktion entspricht etwas, das in der realen Welt wichtig ist und die Verwendung eines teuren Blocks zur Aufzeichnung dieser Überweisung rechtfertigt, z. B. den Austausch von Geldwerten. Das endgültige Hauptbuch ist uns eigentlich egal, es ist eine Metapher für etwas in der realen Welt.
Im Gegensatz dazu sind Git-Blöcke beliebig, da ein Commit eine beliebige Datenmenge enthalten kann. Der Wert liegt in den Änderungen der Daten, die im Git-Baum organisiert werden, da uns das Endprodukt am Herzen liegt. Es wird durch das Vorhandensein des Git-Repositorys bestätigt.
Der Zweck von Git ist es, billigen "Ledgern" zu ermöglichen, mehrere Produktalternativen zu verfolgen. Das "Hauptbuch" in Git ist das, was uns wichtig ist, es ist unser Endprodukt; Die Transaktionsdaten zeichnen lediglich auf, wie das Produkt erstellt wurde. Wir möchten es sehr billig machen, mehrere Versionen von Endprodukten herzustellen, gerade genug Aufwand, damit der Ersteller aufzeichnen muss, wie er dieses Produkt hergestellt hat. Es wird keine explizite Validierung der Daten durchgeführt. Sie pflegen das Endprodukt, wenn es gut aussieht, und diese Existenz macht es nützlich, die Kette der Produkterstellung zu haben. Wenn das Endprodukt fehlerhaft ist oder die Reihenfolge der Festschreibungen ungültig ist, wird dieses "Hauptbuch" während der Speicherbereinigung gelöscht.
Der zweite Unterschied besteht darin, dass Blockchain-Transaktionen aus einer zuvor gültigen Quelle stammen müssen. In Git ist es uns egal, welche Daten Sie zum Erweitern des Baums verwenden. In Blockchain müssen die Transaktionen aus einer zuvor gültigen Quelle stammen. In diesem Sinne verfolgt Git die Erweiterung unserer Umgebung, während Blockchain den Werteaustausch in einer geschlossenen Umgebung verfolgt.