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?
¿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.
¿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.
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í.
pieter wuille