Bcademy

CAPIRE BITCOIN | PARTE QUINTA: CHIAVI E INDIRIZZI | SEZIONE QUARTA: GLI INDIRIZZI P2SH, MULTISIG E VANITY

2020-01-16 09:01:31

Il testo è una guida completa, che partendo dalla parte teorica e toccando quella pratica, entra in profondità nelle dinamiche interne di Bitcoin. Per approfondimenti: "Mastering Bitcoin" di A. Antonopoulos e "The Bitcoin Standard" di S.Ammous. Per info sui corsi [email protected]

Pay-to-Script Hash (P2SH) e indirizzi Multisig. Gli indirizzi di Bitcoin che iniziano con il numero 3 sono indirizzi pay-to-script hash (BIP 16). Definiscono il destinatario di una transazione bitcoin come hash di uno script, invece del proprietario di una chiave pubblica. A differenza delle transazioni che destinano fondi ai tradizionali indirizzi bitcoin 1 (hash pay-to-public-key o P2PKH), i fondi inviati agli indirizzi 3 richiedono più della presentazione di un hash della chiave pubblica e della firma con chiave privata come prova di proprietà. I requisiti sono definiti al momento della creazione dell’indirizzo, all’interno dello script, e tutti gli input a questo indirizzo saranno “ingombrati” con gli stessi requisiti. Un indirizzo pay-to-script hash viene creato da uno script di transazione (che definisce chi può spendere l’UTXO). La codifica di un indirizzo P2SH avviene tramite la medesima funzione double-hash utilizzata durante la creazione di un indirizzo bitcoin, applicata solo sullo script anziché sulla chiave pubblica: script hash = RIPEMD160 (SHA256 (script))

Lo script hash risultante è codificato con Base58Check col prefisso di versione 5, ottenendo come risultante un indirizzo codificato che inizia con 3. Un esempio di indirizzo P2SH è 32M8ednmuyZ2zVbes4puqe44NZumgG92sM

L’implementazione più comune della funzione P2SH è l’indirizzo di script multi-sig (multi-firma). Lo script richiede più di una firma per dimostrare la proprietà (ergo spendere l’UTXO). La funzionalità multi-sig Bitcoin è pensata per richiedere le firme M (anche note come “soglia”) da un totale di N chiavi, noto come M-on-N multi-sig, dove M è uguale o minore di N.


Indirizzi Vanity

Si tratta di indirizzi Bitcoin customizzati per essere leggibili dall’uomo, come ad esempio 1LoveBPzzD72PUXLzCkYAtGFYmK5vYNR33 che contiene le lettere che formano la parola “Love” come le prime quattro lettere Base-58. Creare un indirizzo vanity richiede il test di miliardi di chiavi private finché l’indirizzo risultante non ha le caratteristiche desiderate. Il processo è mera ripetizione (brute-force): si seleziona una chiave privata a caso, si deriva la pubblica, si deriva l’indirizzo e si controlla se il risultato soddisfa le condizioni. Come qualsiasi altro indirizzo, un vanity dipende dalla stessa Elliptic Curve Cryptography (ECC) e Secure Hash Algorithm (SHA).


Alessio Salvetti, Co-founder di Bcademy e board member (VP), business developer, filosofo per formazione e bitcoiner per passione, esperto di modeling e lean startup, è co-founder di Inbitcoin e responsabile prodotto di Bcademy (CPO).