¿Cómo se puede ver si una dirección es multisig?

Algunas direcciones en esta página indican si la dirección es multisig y cuál es el esquema de firma de umbral. ¿Cómo detectan esto?

captura de pantalla

Respuestas (2)

Hay diferentes tipos de direcciones en Bitcoin. El formato más simple se llama pay-to-public-key-hash (p2pkh), que bloquea los fondos en una única clave privada. Otro se llama pay-to-script-hash (p2sh), que permite bloquear fondos en un script que codifica las condiciones de gasto.

Los destinatarios de una salida de p2sh deben revelar el código de canje al realizar el gasto y deben cumplir las condiciones codificadas para demostrar su propiedad. Las direcciones P2sh se reconocen por tener un 3…prefijo. La aplicación más popular de p2sh es codificar un pago a varios copropietarios, es decir, direcciones de varias firmas. Por ejemplo, en el caso de un multisig 2 de 3, dicho script de redención estaría compuesto a partir de 2 pubkey1 pubkey2 pubkey3 3 OP_CHECKMULTISIGdonde el "2" son las firmas requeridas y el "3" el número de claves públicas elegibles. La prueba de propiedad se proporciona entonces mediante dos firmas correspondientes a dos de las claves públicas enumeradas. En otras palabras, una vez que se gasta una salida p2sh, todo lo que debe suceder es que lea m-of-n directamente desde el script de redención. ;)

Además, dado que la dirección p2sh se deriva de un hash del script de redención, no puede decir nada sobre el contenido del script de redención hasta que se revele en el gasto (a menos que sea parte de los destinatarios que lo crearon en primer lugar).

Para obtener un tutorial completo, consulte CHECKMULTISIG, un ejemplo resuelto .

Una vez que se ha gastado una dirección, el script que se usa para crear la dirección P2SH se revelará en la transacción de gasto. Por lo tanto, cualquier dirección que tenga la información 'm-de-n' enumerada en esa página será una dirección que se haya gastado en el pasado.

Curiosamente, @PieterWuille acaba de publicar un BIP para algo llamado Taproot , que permitiría que las monedas almacenadas en direcciones multi-sig se gasten de una manera que nosacrifique la privacidad al revelar el script de bloqueo completo en la transacción de gastos. Usando la construcción Taproot (que también requiere las firmas de Schnorr), si los poseedores de claves terminan gastando los fondos de la manera que acordaron durante el momento de la creación del script (dirección), entonces los datos que se publican en la cadena de bloques solo se ven como un gasto P2PKH normal, en lugar de un gasto P2SH. Esto es bueno para la privacidad, pero también puede permitir ahorros en las tarifas de transacción, ya que se pueden usar secuencias de comandos más complicadas y con un uso intensivo de datos sin tener que pagar más tarifas que una transacción P2PKH estándar (asumiendo el "gasto en el mejor de los casos", por supuesto). ).

Entonces, si se adoptan Schnorr y Taproot, entonces las estadísticas como esta serán más difíciles de alcanzar.