Was war die Designentscheidung dahinter, dass das Coinbase-Feld beliebige Daten enthalten kann?

Nach dem, was ich gelernt habe, kann das Coinbase-Feld in der Blockbelohnungstransaktion beliebige Daten enthalten ( solange kleiner als 100b ).

Warum das eigentlich? War es am Anfang einfacher umzusetzen? Ich hätte nur definiert, dass die Coinbase-Transaktion möglicherweise keine Eingabe hat. Ich weiß, dass es jetzt nützlich ist, mehr Informationen zu tragen ( siehe BIP34 ). Ich bin mir nur nicht sicher, was Satoshis Absicht hier war, obwohl er sich selbst als den Berühmten einschloss

The Times 03/Jan/2009 Bundeskanzler am Rande der zweiten Rettungsaktion für Banken

Außerdem scheint dies in der Transaktionsdatenbank zu fehlen und nicht auszugeben , aber ich kann die Dinge hier verwirren.

Antworten (1)

Sie wollten die Möglichkeit ausschließen, dass dieselbe Transaktions-ID in einem anderen Block als eine andere Coinbase erscheint.

Es gab solche in der Geschichte, aber nur zweimal, und es verkompliziert die nicht ausgegebene DB-Anwendung, also entschieden sie eines Tages, dass dieselbe ID nicht mehr als eine andere Transaktion unterscheidbar sein würde. Daher wurde im Blockformat Version 2 ein Schutz dagegen hinzugefügt, sodass kein Miner mehr versehentlich mit einer nicht eindeutigen ID für seine Coinbase-Transaktion enden kann.

Ok, ich verstehe, das ist der Grund: Die Transaktions-ID wird aus den Daten der Transaktion berechnet, und wenn es nur eine normale Bitcoin-Adresse als 'out' geben würde, aber nichts als 'in', wären Kollisionen wahrscheinlich.
meinst du bip 0034 ?
Diese Antwort erklärt, wie es jetzt verwendet wird (ab BIP 34), nicht der ursprüngliche Grund für das Coinbase-Feld.
stimmte mit @PieterWuille überein. Dies beantwortet nicht die Motivation, das Coinbase-Feld überhaupt zu haben. Wenn eine eindeutige Transaktions-ID erforderlich wäre, wäre ein Sequenzfeld hinzugefügt worden, anstatt beliebige Daten zuzulassen