Kann ein Bitcoin-Block kleiner als 1 MB sein?
Nach meinem Verständnis empfängt ein Miner Sendungen. Wenn jedoch nicht genügend Transaktionen eingehen, würde es dann den Block vorzeitig hashen?
Ja. Lassen Sie uns die Mindestgröße eines Blocks berechnen:
Der Blockheader muss genau 80 Byte lang sein. Dies ist der einzige Teil des Blocks, den Miner tatsächlich abbauen; der Rest des Blocks sind Daten, auf die der Header sicher verweist.
Die Transaktionsanzahl. Dies ist nicht Teil des Blockheaders und nicht Teil der Blockdaten, aber es ist Teil der Blocknachricht des Peer-to-Peer-Protokolls , sodass es auf die Blockgröße angerechnet wird. Bei Blöcken mit 253 oder weniger Transaktionen ist dies 1 Byte.
Die Coinbase-Transaktion, die einzige erforderliche Transaktion in einem Block. Die Coinbase-Transaktion hat die folgenden Felder mit diesen Mindestwerten:
Gesamte minimale Blockgröße: 80 + 1 + 55 = 136 Bytes
Praktisch liegen die kleinsten vernünftigen Blöcke im 180-Byte-Bereich.
vout
würde die Transaktion ungültig machen . Sie müssten eine Ausgabe von 0 BTC, 0 Länge, Nullskript für insgesamt 9 Bytes (8 Byte Wert, ein Byte VarInt) haben. Dies wäre auch eine Ausgabe, die jeder ausgeben kann, da ein Null-Skript erfüllt werden kann, indem alles auf den Stapel verschoben wird.Sicher.
Dies ist ein solcher Block. Es ist 312 kB groß.
Blöcke müssen mindestens eine Transaktion haben: Sie müssen eine Coinbase enthalten, die die Transaktion ist, die die Blockbelohnung ausgibt.
Zum Beispiel ist dieser Block mit nur einer Transaktion nur 0.246 kB
.
David Schwarz