Hey, bizantino.

Introduzione a P2SH

Pay to Public Key

Lo P2PKH si presenta così:

  • lo scriptSig è formato da: Signature, Public key compressa.
  • lo scriptPubKey è formato dalle operation code OP_DUP OP_HASH PBH OP_EQUALVERIFY OP_CHECKSIG dove PBH rappresenta l’hash della chiave pubblica compressa.

Lo P2SH è invece formato in questo modo:

  • Lo scriptSig è formato da signatures {serialized script}
  • Lo scriptPubKey è formato da OP_HASH160 [20-byte-hash-value] OP_EQUAL

Che cosa sono il serialized Script e 20-byte hash?

Premettendo che, in questi articoli andremo ad analizzare solo template riconosciuti da bitcoin-core, non andremo quindi a creare script custom, i quali invece sono affrontati nel libro Bitcoin In Action — SegWit, Bitcoin Script e Smart Contracts.

Il serialised script, viene descritto nel Il BIP0016, Bitcoin Improve Proposal (2013), e rappresenta lo script da eseguire al fine di ottenere una transazione valida. Questo è conosciuto anche come redeem script.

Il suo hash è ottenuto dall’op_code HASH160, ovvero il digest della funzione crittografica SHA256 e RIPEMD160, è posizionato nello scriptPubKey.

Che cosa può contenere il redeem script? Può contenere qualsiasi cosa, come scritto in precedenza, anche script custom.
Ci sono dei template standard, che vengono riconosciuti da Bitcoin core al momento della firma, tra questi troviamo i vari Wrap di P2PK, P2PKH, Multisig e SegWit (non nativo).

La cosa interessante da sottolineare è che, quando andiamo a pagare a un address P2SH, se questo non ha mai fatto nessuna transazione, non sapremo mai che condizioni sono necessarie per sbloccare il suo UTXO, proprio perchè nel suo ScriptPubKey troviamo l’hash del redeem script.

Solo al momento di una sua spesa, potremo andare ad analizzare il suo redeem script, nel suo scriptSig di riferimento, proprio perchè in chiaro.

Nel prossimo articolo andremo nel dettaglio della costruzione dell’address P2SH Wrap P2PK.

Ciao!

— — –

🐳 Playground Bitcoin in Action

🎥 Bitcoin in Action (YouTube)

🐙 GitHub: https://bit.ly/2Lj3yeY

— –

📕 Bitcoin In Action — SegWit, Bitcoin Script e Smart Contracts (Amazon)

📕 Bitcoin In Action — SegWit, Bitcoin Script e Smart Contracts (pagamento in bitcoin)

— –

📒 Libro Bitcoin dalla teoria alla pratica (Amazon)
📒 Libro Bitcoin dalla teoria alla pratica (pagamento in bitcoin)
📒 Book Bitcoin from theory to practice (Amazon)

📒 Book Bitcoin from theory to practice (accept bitcoin)

🎥 Video Corso Bitcoin dalla teoria alla pratica


📙 Tascabile Bitcoin 199 domande (Amazon)
📙 Tascabile Bitcoin 199 domande (pagamento in bitcoin)

📙 Pocket Book Bitcoin 199 questions (Amazon)
📙 Pocket Book Bitcoin 199 questions (accept bitcoin)

► ITA: Twitter , FacebookMediumInstagramYoutubeGitHub

► ENG: Twitter , FacebookMediumInstagramYoutubeGitHub

Television isn’t a good idea (Radio Stations)
Email isn’t a good idea (Post offices)
Amazon isn’t a good idea (Retail stores)
Bitcoin isn’t a good idea (Central banks)

In crypto we trust