Come leggere una transazione Bitcoin: la struttura

Come leggere una transazione Bitcoin: la struttura

Una transazione Bitcoin contiene tutte le informazioni necessarie per poter essere processata dalla rete Bitcoin. Una transazione è un trasferimento di valori tra wallet Bitcoin che sarà poi inserita nella blockchain. Cerchiamo ora di approfondire la struttura di una transazione Bitcoin e come deve essere letta.

 

Struttura generale di una transazione. Fonte: bitcoinwiki.org 

 

INPUT e OUTPUT

Una transazione Bitcoin è un record formato, essenzialmente, da input e output. L’input identifica la provenienza dei bitcoin da inviare, l’output fornisce tutte quelle informazioni necessarie per l’invio di bitcoin. Ogni transazione è composta da un Version Number (primi 4 bytes) ovvero il numero della versione, che ha lo scopo di indicare agli altri nodi della rete l’insieme di regole da usare per validare quella transazione. Questo meccanismo permette agli sviluppatori di poter creare nuove regole senza invalidare le transazioni precedenti. 

 

INPUT

L’input è a sua volta composto da un Transaction Identifier (txID) che identifica la transazione che sarà poi  individuata sulla blockchain. Il txID è, in poche parole, l’hash identificativo della transazione ed è seguito da un Output Number che identifica la quantità di output che si vuole spendere. Dopo l’indice dell’output si troverà la lunghezza dello script, chiamato ScriptSig Lenght che è seguito dallo ScriptSig (Script di Firma) all’interno del quale sono contenute informazioni che dovranno soddisfare le condizioni di spesa indicate nel PubKey Script, presente nell’output. Lo ScriptSig è la prima parte della firma crittografica per verificare l’autenticità dell’input ed è composto, oltre che dallo Script di Firma, dalla chiave pubblica. 

 

OUTPUT

Ogni Output ha un Output Index basato sul suo posto nella transazione — il primo output avrà quindi zero come Indice, il secondo uno e via di seguito. Nell’output è presente un campo chiamato Amount che indica la quantità di satoshi  (l’unità minima in cui un bitcoin può essere suddiviso) della transazione e che viene pagata ad una chiave pubblica che conferma le condizioni di spesa dell’input. La seconda parte dello script è composta dallo ScriptPubKey Lenght, che come per l’input indica la lunghezza, seguito dallo ScriptPubKey, che indica l’indirizzo a cui accreditare la somma. 

Alla fine di ogni transazione si trova il Locktime, il campo che indica il primo momento in cui una transazione può essere aggiunta alla blockchain. 

Per vedere tutte le transazioni che avvengono sulla blockchain e tutte le relative informazioni si possono consultare tool online come quello fornito da blockchain.com e disponibile a questo link: https://www.blockchain.com/it/explorer

Coinbar Team

Related posts