canales de micropagos, direcciones nm, interoperabilidad

Acabo de leer el tutorial de trabajo con contratos de bitcoinJ y estoy desconcertado como:

  1. me parece que las direcciones nm se implementan en Bitcoinj utilizando multisig simple (como se define en esta parte de la guía del desarrollador y se analiza aquí )

  2. Busqué implementaciones de direcciones controladas por más de una clave privada con pybitcointools (tutorial sobre eso aquí ) y en la wiki de libbitcoin . Me parece que estas dos bibliotecas usan P2SH.

La mayoría de las bibliotecas parecen usar P2SH, pero bitcoinJ eligió la otra forma que parece (¿o no?)...

En una implementación de canal de micropagos con bitcoinJ por un lado y, digamos, libbitcoin por el otro; ¿Serán las dos partes capaces de interoperar?

(editar: estoy hablando aquí solo de canales de pago unidireccionales )

Gracias

Respuestas (1)

No necesariamente interoperable.

En primer lugar, las bibliotecas deben acordar qué tipo de parámetros intercambiar y cómo se intercambian. No hay garantía de que los parámetros requeridos por bitcoinjy libbitcoinsean los mismos.

En segundo lugar, ahora se considera una práctica estándar crear transacciones P2SH independientemente del tipo de transacción que esté configurando, a menos que sea P2PKH. En el caso de las transacciones P2SH, debe afirmar que el protocolo del canal de pago también podría analizar/reconocer/comprender el script de canje proporcionado por el proveedor de servicios del canal de pago (suponiendo que esté hablando de una dirección única). canal de pago).

Gracias por esta respuesta. Con respecto a su parte sobre los parámetros requeridos por cada biblioteca...: ¿es correcto decir que existe un estándar en términos del protocolo de transacción en sí mismo (es decir, qué en bitcoin.org) pero no para su implementación en las API por bibliotecas? ¿No es un problema importante para una red p2p como Bitcoin donde no se puede esperar que los nodos usen los mismos clientes?
Que yo sepa, no conozco un estándar para los canales de pago. Sin embargo, recuerdo haber visto un intento en el correo electrónico de desarrollo de bitcoin para formalizar un estándar para los canales de pago, pero todavía lo he visto escrito en forma de BIP. Además de eso, Payment Channels es más un protocolo de capa de aplicación además de Bitcoin, por lo tanto, no es un consenso crítico.