Wie wird ein Block definiert (Größe, Anzahl der Transaktionen)?

Beim Erkunden der Blockchain.info-Charts habe ich Folgendes gelernt:

  • Die durchschnittliche Größe der Blöcke nimmt zu (max=1MB).
  • Die Anzahl der Transaktionen in einem Block nimmt ebenfalls zu.

Nach dem Lesen einiger verwandter Artikel ist es richtig, das zu sagen

  • 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.)
  • Die Transaktionen im selben Block sind nicht miteinander verknüpft. Miner lösen also eine Transaktion, aber einen Block.

Antworten (3)

Ein Block muss die folgenden Bedingungen erfüllen, damit er gültig ist:

  • Die Gesamtgröße des Blocks darf 1 MB oder weniger betragen.
  • Mindestens 1 Transaktion namens Coinbase-Transaktion muss vorhanden sein.
  • Block muss Proof-of-Work erfüllen.
  • Block muss einen gültigen Block als vorherigen Block referenzieren.

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 Beine Ausgabe von Transaktion ausgibt A, Amuss diese Bin 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. :)