MSTR Cat

Blockchain/Niveau II · Mechanik/2.2 Transaktionen/Lektion 2

Inputs und Outputs

Die Anatomie einer Transaktion: Outpoints, Skripte und die implizite Gebühr

MaterialienEin Block-Explorer wie mempool.space oder blockchain.comEin Rechner zur Addition von Satoshi-Werten

Neugier

  1. Wie kann eine Transaktion nachweisen, dass sie das Recht hat, den Wert auszugeben, der von einer anderen Transaktion erstellt wurde?
  2. Wenn es kein explizites Feld für Gebühren gibt, woher wissen die Miner dann genau, wie viel sie erhalten?
  3. Warum ist die erste Transaktion in jedem Block strukturell ungewöhnlich?

Erkunden

  1. Eine Bitcoin-Transaktion ist eine Datenstruktur mit einer Versionsnummer und einer nLockTime, doch ihren Kern bilden Inputs und Outputs. Ein Input enthält keinen Wert; er verweist auf einen. Jeder Input referenziert über einen Outpoint einen bestimmten früheren Output: die 32 Byte lange txid der Quelltransaktion plus einen 4 Byte langen Index, der angibt, welcher Output dieser Transaktion ausgegeben wird. Dieser Verweis verknüpft Transaktionen zu einer Kette.
  2. Jeder Input enthält außerdem Entsperrdaten und ein nSequence-Feld. nSequence steuert Timelocks und Replace-by-Fee-Signale. Die Entsperrdaten, die bei Legacy-Transaktionen in scriptSig und bei SegWit im Witness-Bereich liegen, liefern den kryptografischen Nachweis, der nötig ist, um die Bedingungen des referenzierten Outputs zu erfüllen. Hier befindet sich die Signatur des privaten Schlüssels.
  3. In den Outputs liegt der Wert. Jeder Output gibt einen Betrag in Satoshis als 8-Byte-Ganzzahl an sowie ein Locking-Skript (scriptPubKey), das festlegt, wer ihn später ausgeben darf. Eine einzelne Transaktion kann mehrere Inputs und Outputs haben, doch die Summe der Inputs muss mindestens so groß sein wie die Summe der Outputs.
  4. Die Gebühr wird nirgends gespeichert. Sie wird abgeleitet: als Differenz zwischen dem Gesamtwert, den die Inputs verbrauchen, und dem Gesamtwert, den die Outputs erzeugen. Dieser Rest geht an den Miner, der die Transaktion in einen Block aufnimmt. Wären die Summen gleich, läge die Gebühr bei null; würden die Outputs die Inputs übersteigen, wäre die Transaktion ungültig.
  5. Die Coinbase-Transaktion ist die Ausnahme, die die Regel bestätigt. Sie hat einen speziellen Input ohne vorherigen Outpoint und erzeugt damit faktisch neuen Wert aus dem Nichts. Ihre Outputs enthalten die Blocksubvention (derzeit 3,125 BTC) zuzüglich aller Gebühren aus den anderen Transaktionen in diesem Block. Die txid einer Transaktion ist der doppelte SHA-256-Hash ihrer serialisierten Daten, ohne die Witness-Daten.
  6. Öffnen Sie einen Block-Explorer und rufen Sie Block 170 auf, der am 12. Januar 2009 gemined wurde. Neben seiner Coinbase enthält er eine Transaktion: Satoshi Nakamoto sendet 10 BTC an Hal Finney. Ihr einziger Input gibt den 50-BTC-Coinbase-Output von Block 9 aus. Sie hat zwei Outputs: 10 BTC an Finney und 40 BTC zurück an Satoshi. Inputs und Outputs ergeben jeweils insgesamt 50 BTC, die Gebühr ist also null; frühe Transaktionen zahlten oft nichts, da die Blöcke reichlich Platz boten.

Kernfakten

  • Ein Input verweist über einen Outpoint, der aus einer txid und einem Output-Index besteht, auf einen früheren Output.
  • Die Transaktionsgebühr ist die Differenz zwischen der Summe der Input-Werte und der Summe der Output-Werte.
  • Outputs enthalten einen 8-Byte-Wert in Satoshis und ein Locking-Skript (scriptPubKey).
  • Inputs enthalten Entsperrdaten (Signatur) und ein nSequence-Feld für Timelocks oder RBF-Signale.
  • Die Coinbase-Transaktion erzeugt neue Bitcoins über einen speziellen Input ohne vorherigen Outpoint.
  • Die txid ist der doppelte SHA-256-Hash der serialisierten Transaktion, ohne Witness-Daten.

Übung neun, sechs, drei, eins

9SammelnUntersuchen Sie 9 aktuelle Transaktionen auf einem Block-Explorer. Notieren Sie jeweils die Anzahl der Inputs, die Anzahl der Outputs und die Gebühr in Satoshis.
6GruppierenGruppieren Sie die 9 nach ihrer Struktur in 6 Kategorien: ein Input/ein Output, ein Input/zwei Outputs, viele Inputs/ein Output (Konsolidierung), ein Input/viele Outputs (Sammelzahlung), viele Inputs/viele Outputs oder Sonstiges.
3VerdichtenReduzieren Sie die 6 auf 3 Gründe, warum eine Transaktion mehrere Inputs oder mehrere Outputs hat.
1KristallisierenSchreiben Sie 1 Satz darüber, warum Bitcoin die Gebühr implizit lassen kann, statt sie ausdrücklich anzugeben.

Faktcheck

Datumsangaben, Zahlen und Behauptungen wurden mit den unten aufgeführten veröffentlichten Quellen abgeglichen.

In der interaktiven Akademie öffnen →

EN PT ES ZH JA KO RU FR MS