Beim Erkunden der Blockchain.info-Charts habe ich Folgendes gelernt:
Nach dem Lesen einiger verwandter Artikel ist es richtig, das zu sagen
Ein Block muss die folgenden Bedingungen erfüllen, damit er gültig ist:
Es gibt einige verschiedene Einschränkungen, aber dies sind die wichtigsten. Was Sie als „durch Mining gelöst“ bezeichnet haben, nennt man den Proof-of-Work. Was Sie als mindestens eine Transaktion bezeichnet haben, ist die Einschränkung, dass die Coinbase-Transaktion vorhanden sein muss. Ich ermutige Sie, die Spezifikation zu lesen , um mehr zu erfahren.
Wenn Sie einen Block abbauen, enthält der Block Ihre "Transaktion". Aber es kann (und wird es heutzutage) mehr als eine Transaktion enthalten. Transaktionen in einem Block müssen nicht miteinander verknüpft werden. Sie können verknüpft werden, wenn in einem Block Transaktionen von (1) A->B und (2) B->C vorhanden sind. Dann werden diese beiden Transaktionen verknüpft, da Transaktion (2) einen Verweis auf Transaktion (1) hat.
Ein Block wird durch Mining definiert (gelöst). Wenn ich einen superstarken Computer habe, kann ich so schnell minen, dass ein Block nur eine Transaktion enthält. (Ich versuche zu verstehen, ob es einen Zusammenhang zwischen der Anzahl der Transaktionen und der Mining-Geschwindigkeit gibt.)
Blöcke sind in der Tat das Produkt des Minings. Neue Blöcke werden in einem zufälligen Prozess generiert, der manchmal sehr schnell gelingt oder manchmal sehr lange dauert, bis ein Block entsteht. Wenn Miner einen neuen Block erhalten, brauchen sie einige Zeit, um den Block zu validieren und herauszufinden, welche Transaktionen enthalten waren. Wenn sie sehr schnell einen Block finden, dh bevor der letzte Block validiert ist, und sie Transaktionen in ihren Block aufgenommen hätten, könnten sie versehentlich eine Transaktion eingeschlossen haben, die bereits im letzten Block bestätigt wurde. Dies würde dazu führen, dass ihr neuer Block ungültig wird! Daher gehen viele Miner auf Nummer sicher und nehmen die erforderliche Coinbase-Transaktion nur dann in Blöcke auf, wenn sie gerade erst versuchen, auf einem neu entdeckten Block aufzubauen.
Sobald die Miner den vorherigen Block vollständig validiert haben, wissen sie, welche Transaktionen unbestätigt bleiben und können ihren Block füllen, ohne Gefahr zu laufen, einen ungültigen Block zu produzieren.
Die Transaktionen im selben Block sind nicht miteinander verknüpft. Miner lösen also eine Transaktion, aber einen Block.
Im Allgemeinen steht jede Transaktion für sich, daher ist die Reihenfolge der Transaktionen für die meisten Transaktionen irrelevant. Es gibt zwei Ausnahmen: 1. Die Coinbase-Transaktion muss an erster Stelle stehen. 2. Wenn es Transaktionen gibt, die auf anderen Transaktionen im selben Block aufbauen, müssen sie in der richtigen Reihenfolge in den Block aufgenommen werden. Dh wenn Transaktion B
eine Ausgabe von Transaktion ausgibt A
, A
muss diese B
in der Transaktionsliste vorankommen. Alle Transaktionen werden vom Miner verifiziert, bevor sie in den Block aufgenommen werden, da eine ungültige Transaktion den Block ungültig machen würde und der Miner keine Blockbelohnung für einen ungültigen Block erhält. :)