¿Puede una dirección multifirma ser también una dirección personalizada?

Si es así, ¿tienen que ponerse de acuerdo las tres partes separadas sobre la secuencia de caracteres?

Respuestas (2)

Sí, eso es posible.

De hecho, la parte que crea la dirección es la única que debe ponerse de acuerdo sobre la secuencia de caracteres.

Suponga que tiene una dirección que se puede gastar con 2 de 3 multisig. Esta es una dirección pay-to-script-hash (comenzando con 3 en lugar de 1). Tu script probablemente se vería así:

2 <pubkey A> <pubkey B> <pubkey C> 3 OP_CHECKMULTISIG

Esto funciona, pero el hash de este script (con una probabilidad abrumadora) será bastante aburrido.

Supongamos que la parte A quiere una dirección más interesante. Conoce su clave privada k_A y su clave pública Q_A, así como la clave pública de todos los demás. Todo lo que tiene que hacer es ejecutar el siguiente algoritmo:

while not interesting(address):
    Q = Q + G
    k = k + 1
    address = hash160('2 <Q> <pubkey B> <pubkey C> 3 OP_CHECKMULTISIG')

En ese momento, su clave pública es Q y su clave privada es k. G es el punto generador de la curva secp256k1. Luego, Alice revela este script a Bob y Charlie, quienes verifican que el script contiene sus claves públicas y que genera un hash en la dirección esperada.

Bob y Charlie no pueden distinguir entre una dirección generada de esta manera especial y Alice teniendo suerte en el primer intento en su elección de clave privada.

vanitygen ya implementa algo como esto para las firmas 1 de 1 cuando le dices que genere una dirección que comience con 3.

No se requiere el acuerdo de la dirección vanity multisig, lo principal es proporcionar el script de canje correcto para el desperdicio y la firma de las direcciones utilizadas.

En bitcointalk hay un hilo interesante sobre este tema:

Salón de la fama de direcciones raras multisig (P2SH)