Pay to script hash

De Wikipedia, la enciclopedia libre

Pay to script hash (P2SH) o Bitcoin Improvement Proposal 16 (BIP16)[1]​ es una característica añadida a Bitcoin en 2012.

También presente en Bitcoin Cash y permite simplificar el uso de scripts en transacciones complejas.

Justificación[editar]

Aunque el uso de la multifirma es muy conveniente, el uso de pay-to-multisig requiere proporcionar mucha información a quien realiza el pago (el valor N, el de M, cada una de las claves públicas y el orden de las mismas). Todo esto hace que el script de bloqueo se vuelva muy largo y que sea fácil comenter errores. Además no todas las carteras aceptan el uso de multifirma.[2]

Por otro lado, dado que las comisiones se basan en el tamaño de la transacción, el tamaño del script podría implicar una tarifa más alta una mayor comisión.[2]

Mediante P2SH las transacciones complejas se simplifican al sustituir un script por su valor hash. A partir de valor hash se genera una dirección la cual ya codificada en base58check empieza con 3.[2]

En el momento que se quiera emplear una UTXO que emplea P2SH se debe presentar el script de bloqueo que genera el valor hash así como el correspondiente script de desbloqueo.[2]

Historia[editar]

Su especificación técnica tiene fecha de 1 de marzo de 2012 y recibe el título de «Bitcoin Improvement Proposal 16» (Propuesta de Mejora de Bitcoin 16) o «BIP16».[1]

Su activación en la cadena de bloques de Bitcoin se hizo por medio de un Soft Fork Activado por el Usuario.[3]

Según un informe publicado por BitMex Research «Con la excepción del límite de tamaño de bloque de 1 MB, antes del soft fork BIP16 de 2012, no había una metodología de activación, por lo que si la bifurcación se produjo sin problemas sin una división de cadena, no necesariamente hay una altura de bloque o fecha específica en la que se produjo la bifurcación de consenso», sin embargo el estudio ubica el despliegue de la característica alrededor del 1 de abril de 2012.[4]

Alrededor del 12 de marzo de 2017 el usuario Shaolin Fry usó como referencia la activación de BIP16 mediante un Soft Fork Activado por el Usuario en su propuesta BIP148 (cuyo objetivo era forzar la activación de SegWit).[5][6]

Historically, the P2SH soft fork (BIP16) was activated using a predetermined flag day where nodes began enforcing the new rules. P2SH was successfully activated with relatively few issues
Shaolin Fry

Estructura[editar]

Script de bloqueo (scriptPubKey)[editar]

OP_HASH160 <RIPEMD-160(SHA 256(script de bloqueo))> <OP_EQUAL>

Script de desbloqueo (scriptSig)[editar]

<script de desbloqueo> <script de bloqueo>

Véase también[editar]

Referencias[editar]

  1. a b bip-0016.mediawiki [Pay to Script Hash], Bitcoin, 16 de noviembre de 2019, consultado el 17 de noviembre de 2019 .
  2. a b c d Aspectos de seguridad de Bitcoin y su aplicación en una alternativa de infraestructura de llave pública. Tesis de Abraham Jesús Basurto Becerra. Centro de Investigación y de Estudios Avanzados del Instituto Politécnico Nacional. Mexico D.F. Diciembre de 2015
  3. «Pay to script hash - Bitcoin Wiki». en.bitcoin.it. Consultado el 3 de mayo de 2019. 
  4. «A complete history of Bitcoin’s consensus forks – BitMEX Blog» (en inglés estadounidense). Consultado el 17 de noviembre de 2019. 
  5. «UASF Working Group». Archive.fo. 12 de abril de 2017. Archivado desde el original el 12 de abril de 2017. Consultado el 4 de mayo de 2019. 
  6. bip-0148.mediawiki [Mandatory activation of segwit deployment], Bitcoin, 16 de noviembre de 2019, consultado el 17 de noviembre de 2019 .