P2SH

acronimo di: Pay-to-Script-Hash

Difficoltà: intermedio

Argomento: tecnologia


DEFINIZIONE

Pay-to-Script-Hash (P2SH) è un tipo di locking script, o ScriptPubKey, che consente di spendere i bitcoin attraverso uno script il cui hash è specificato all'interno della transazione.

Introdotto nel 2012 e attivato nel 2013, ha aggiunto un nuovo modo con il quale possono essere validate le transazioni. È più comunemente identificabile tramite gli indirizzi Bitcoin che iniziano con un "3" rispetto al precedente formato nel quale iniziavano per "1".

Una transazione P2SH è una transazione i cui gli UTXO in input sono stati bloccati utilizzando una ScriptPubKey P2SH.

Il suo uso più frequente è quello di creare dei pagamenti multisig, ovvero che per essere spesi richiedono più firme all'interno di un insieme di firme definite. Nel caso 2 su 3, su 3 firme preimpostate è necessario che venga firmata con 2 firme.

Ad esempio, se Alice invia a Bob 1 BTC in una transazione P2SH, include l'hash dello script necessario per spendere il bitcoin nella transazione. Questo script può richiedere le firme delle chiavi private di Bob e altri requisiti. Quando Bob vuole spendere il bitcoin che ha ricevuto da Alice, ricostruisce lo script il cui hash Alice ha usato per inviare il bitcoin e firma la transazione con le chiavi private richieste dallo script.

P2SH è estremamente flessibile perché consente agli utenti di costruire script arbitrari.

P2SH viene utilizzato per abilitare la retrocompatibilità con i nuovi tipi di transazione, incluso P2WSH di SegWit, e a volte i due vengono indicati insieme con la notazione P2SH-P2WSH.

Inoltre, non è necessario che il mittente della transazione conosca il tipo di script a cui sta inviando. Nell'esempio precedente, Bob può costruire privatamente lo script che vuole usare e inviare ad Alice solo l'hash di quello script, in questo modo viene garantita una maggiore privacy per Bob.

Lo standard delle transazioni P2SH è definito nel BIP 16.


aggiornato il 2022-10-29