Cuando crea el canal por primera vez, lo primero que hace Hitesh e Irene son firmar los compromisos iniciales, que asignan el saldo inicial para sí mismos. Esto es lo que se llama reembolso, porque si una de las partes determine no proceder, las monedas regresan a los propietarios. Esta transacción es una transacción de compromiso regular ¡Pero se crea porque si no, los fondos podrían bloquearse para siempre en una multisig si una de las partes del canal desaparece!
Primeros dos ejemplos
Los primeros dos ejemplos son Transacciones de compromiso creado. Cada usuario crea Una transacción de compromiso con dos salidas. En estos, tanto Hitesh como Irene tienen dos salidas:
- El primer resultado es un pago a la otra persona del saldo inicial (5 BTC).
- El segundo resultado es un pago a la misma persona que se compromete pero con un
locktime
de1000 blocks
. (Ellocktime goes
¡Allí, no en el reembolso!) Este compromiso no se transmite, cada una de las partes tiene su propia versión. Cada una de las partes en cualquier momento puede firmarlo y transmitirlo. En ese caso, la otra persona recibiría los 5 BTC al instante y la persona responsable de la transmisión tendrá que esperar1000 blocks
.
Tenga en cuenta que estas transacciones de compromiso están incompletas ya que falta el mecanismo de penalización en caso de que alguna parte intente hacer trampa. En el libro muestran esta versión incompleta para dar una thought de cómo se ve
Tercer ejemplo
Este último ejemplo muestra cómo crear Una transacción de compromiso actual con el mecanismo de penalización incluido.
Agrega una condición que permite a un usuario recuperar los fondos de la segunda salida si tiene la clave privada de revocación. La clave de revocación es una clave que ambas partes pueden calcular la clave pública, pero solo pueden obtener la mitad de la clave privada. Entonces solo tienen la mitad de la llave privada. Si en algún momento, uno de los dos usuarios tiene las dos medias de la clave privada, podría reclamar los fondos en la segunda salida.
Si se actualiza el estado del canal y se crea una nueva transacción de compromiso, intercambian su mitad de la clave privada de revocación. Esto les da la seguridad de que si la otra persona engaña y transmite una antigua transacción de compromiso, la víctima podrá reclamar a la otra persona los fondos como un castigo.
Imagina que Hitesh intenta hacer trampa; Dado que Irene puede reclamar sus 5 BTC al instante (salida 1), y Hitesh tiene que esperar 1000 blocks
Para obtener los 5 BTC, Irene puede reclamar monedas de Hitesh, ya que tiene la clave privada de revocación completa (esta es la nueva condición que agregamos en el tercer ejemplo).
Tenga en cuenta que si Irene no reclama los fondos antes 1000 blocks
Hitesh podrá proceder y reclamar las monedas.
Resumen
Entonces como resumen, Transacciones de compromiso Parece el tercer ejemplo ya que se necesita el mecanismo de penalización. Transacción de reembolso es solo el primero transacción de compromiso Eso solo devuelve los fondos a los usuarios. El mecanismo de penalización también se necesita allí porque si no lo agrega, podría hacer trampa y robar monedas transmitiendo el transacción de reembolso en el futuro cuando el estado del canal ha avanzado.
Cuando crea el canal por primera vez, lo primero que hace Hitesh e Irene son firmar los compromisos iniciales, que asignan el saldo inicial para sí mismos. Esto es lo que se llama reembolso, porque si una de las partes determine no proceder, las monedas regresan a los propietarios. Esta transacción es una transacción de compromiso regular ¡Pero se crea porque si no, los fondos podrían bloquearse para siempre en una multisig si una de las partes del canal desaparece!
Primeros dos ejemplos
Los primeros dos ejemplos son Transacciones de compromiso creado. Cada usuario crea Una transacción de compromiso con dos salidas. En estos, tanto Hitesh como Irene tienen dos salidas:
- El primer resultado es un pago a la otra persona del saldo inicial (5 BTC).
- El segundo resultado es un pago a la misma persona que se compromete pero con un
locktime
de1000 blocks
. (Ellocktime goes
¡Allí, no en el reembolso!) Este compromiso no se transmite, cada una de las partes tiene su propia versión. Cada una de las partes en cualquier momento puede firmarlo y transmitirlo. En ese caso, la otra persona recibiría los 5 BTC al instante y la persona responsable de la transmisión tendrá que esperar1000 blocks
.
Tenga en cuenta que estas transacciones de compromiso están incompletas ya que falta el mecanismo de penalización en caso de que alguna parte intente hacer trampa. En el libro muestran esta versión incompleta para dar una thought de cómo se ve
Tercer ejemplo
Este último ejemplo muestra cómo crear Una transacción de compromiso actual con el mecanismo de penalización incluido.
Agrega una condición que permite a un usuario recuperar los fondos de la segunda salida si tiene la clave privada de revocación. La clave de revocación es una clave que ambas partes pueden calcular la clave pública, pero solo pueden obtener la mitad de la clave privada. Entonces solo tienen la mitad de la llave privada. Si en algún momento, uno de los dos usuarios tiene las dos medias de la clave privada, podría reclamar los fondos en la segunda salida.
Si se actualiza el estado del canal y se crea una nueva transacción de compromiso, intercambian su mitad de la clave privada de revocación. Esto les da la seguridad de que si la otra persona engaña y transmite una antigua transacción de compromiso, la víctima podrá reclamar a la otra persona los fondos como un castigo.
Imagina que Hitesh intenta hacer trampa; Dado que Irene puede reclamar sus 5 BTC al instante (salida 1), y Hitesh tiene que esperar 1000 blocks
Para obtener los 5 BTC, Irene puede reclamar monedas de Hitesh, ya que tiene la clave privada de revocación completa (esta es la nueva condición que agregamos en el tercer ejemplo).
Tenga en cuenta que si Irene no reclama los fondos antes 1000 blocks
Hitesh podrá proceder y reclamar las monedas.
Resumen
Entonces como resumen, Transacciones de compromiso Parece el tercer ejemplo ya que se necesita el mecanismo de penalización. Transacción de reembolso es solo el primero transacción de compromiso Eso solo devuelve los fondos a los usuarios. El mecanismo de penalización también se necesita allí porque si no lo agrega, podría hacer trampa y robar monedas transmitiendo el transacción de reembolso en el futuro cuando el estado del canal ha avanzado.