¿Dirección multisig para el sitio web?

Estoy tratando de resolver el caso de uso de una dirección de financiación publicada en una página web, en la que todos pueden gastar. Internamente en nuestra empresa, quiero evitar que una sola persona pueda gastar estos fondos. Se requerirá más de una firma, para poder gastar los fondos. Tuve la idea de usar una dirección multisig, pero parece que no tuvo éxito. Los muchos enlaces de stackexchange no cubren este escenario, todos parecen cubrir cómo gastar desde direcciones msig ...

Cuando se usa una dirección multigrado, parece que los gastos en esta dirección requieren el script de redención. Todos los ejemplos que encontré usan el script redimido. Entonces, ¿esto es de alguna manera un no-go para una dirección multisig en una página web?

Lo que he hecho hasta ahora: - Estaba pensando que "personas" podrían enviar a la dirección de msig desde una billetera normal (también conocida como secuencia de comandos P2PKH). Eso no funciona, ya que el script pubkey no encontraría "verdadero" en la pila. Dada una secuencia de comandos pubkey estándar, se requeriría algo. como esto:

    DUP     HASH     PKH     EQ_VFY CHK_SIG
     |       |        |        |      |
     |       |        | PKHASH |      |
     |  PK   | PKHASH | PKHASH |      |
PK?  |  PK   |   PK   |  PK    | PK   |
SIG  |  SIG  |   SIG  |  SIG   | SIG  |  TRUE/FALSE

La primera columna (¿SIG y PK?) es el sigscript. Para la dirección multisig no hay clave pública en la primera columna. Seguro que podría jugar con el script de canje desde el principio, y codificarlo, para satisfacer el "OP_EQUALVERIFY". Pero entonces la secuencia de comandos no terminaría "VERDADERO" al final, porque dejaría la firma y un hash "hash" en la pila.

  • Podría publicar el redentor. Desventaja: esto dificulta la experiencia del usuario

  • Me vendría bien una std. dirección P2PKH, y "reenviar" regularmente los fondos desde la dirección P2PKH de la página web a una multigrado en segundo plano. Inconveniente: con las tarifas actuales, casi idiotas, cuando se gastan cantidades pequeñas. (Sí, podría escribir un código para cobrar hasta el monto gastado> = tarifas de tx ...)

¿Existe una manera fácil (más inteligente) de recibir pagos de bitcoin en un sitio web, que venga con la condición de gastar solo con varias firmas?

No hay forma de gastar desde una multigrado sin conocer el script, al igual que no hay forma de gastar desde una clave pública sin conocer la clave secreta.

Respuestas (3)

¿Dónde ve que las direcciones multisig necesitan tener el script de redención para gastar en ellas? El script de redención solo es necesario para gastar desde una dirección multisig, no es necesario cuando se gasta en una. Las direcciones multisig (también conocidas como direcciones P2SH) comienzan con un 3. Su caso de uso no parece requerir nada especial, solo un típico m-of-n multisig que muchas billeteras pueden hacer.

¡Sí, gracias! Tenía una suposición falsa en mi primera viñeta. Necesito decirle al remitente que me envíe fondos a mi dirección "3xxx" (una dirección P2SH). No proporciono un script de canje, proporciono el hash de un script de canje, que está codificado en Base58check con un prefijo de '05': base58check.Encode("05", RIPEMD160(SHA256(redeemScript))) La billetera del remitente debe sepa que no puede usar P2PKH (OP_DUP, OP_HASH, PUBKEYHASH, OP_EQUALVERIFY, OP_CHKSIG), como supuse en mi ejemplo anterior. La billetera debe usar la lógica P2SH (OP_HASH160, P2SHAddress, OP_EQUAL) en el script de clave pública.
y lo que sucede en la pila, está bien descrito aquí: bitcoin.stackexchange.com/questions/42521/…

¿Está diciendo que es difícil porque el usuario tendría que firmar su propia transacción manualmente? P2SH no está realmente en un nivel de usuario "típico". Para que multisig funcione según lo previsto, se supone que cada firmante potencial sabe cómo firmar una transacción. Un sitio web que requiera que sus usuarios firmen sus propias transacciones P2SH tendría una audiencia objetivo bastante pequeña. Además de crear su propia aplicación de escritorio nativa que facilita la firma multigrado para el usuario promedio, no estoy seguro de qué otras opciones tendría.

sí, multisig "tal cual" tiene un mejor caso de uso para los servicios de depósito en garantía, donde cada parte se conoce. En mi modelo de sitio web, los usuarios no entrarían en un contrato con mi empresa, solo les gustaría gastar. Estaba tratando de asegurar los fondos recaudados, para que ninguna persona pueda huir con ellos. Tal vez aparezca una solución elegante cuando entre un rayo (reducir las tarifas).

Creo que encontré una manera de hacer lo que necesito. Ofrezco un código QR con la dirección y el script de canje, cada uno en su propia línea. Entiendo que las billeteras pueden no entenderlo, y no hay una creación "automática" de la transacción. Pero es un paso en la dirección correcta, suficiente para mí.