Mantenimiento del secreto de desaprobación del estado de Lightning Network

Cuando se usa un canal Lightning, dos lados envían transacciones que representan el estado actual (o saldo) entre ellos, y para cada estado enviado, invalidan el estado anterior al enviar un secreto para un rompecabezas hash en una transacción HTLC.

Por ejemplo, cuando Alice le envía a Bob el nuevo estado entre ellos, también envía un secreto para el rompecabezas en el estado anterior. Bob puede usarlo para canjear Bitcoin si Alice publica la transacción de estado anterior en la cadena de bloques.

Mi pregunta es: ¿Bob necesita guardar todos los secretos de todos los estados anteriores hasta que el canal se resuelva y cierre? Parece que Bob podría necesitar guardar una gran cantidad de datos cuando tiene muchos canales.

Respuestas (1)

A menos que bob use un servicio de torre de vigilancia donde subcontrata el almacenamiento de datos, Bob necesita conocer todos los secretos de revocación anteriores. Sin embargo, no necesita almacenarlos y guardarlos todos, ya que los secretos de revocación se derivan de forma determinista. Esto significa que siempre que sepa un secreto de revocación de un estado actual, podré derivar todos los secretos de revocación anteriores a partir de él.

Puede encontrar los detalles de la derivación de la llave en la sección de llaves de BOLT 03

Dicho esto, los secretos de revocación no son lo mismo que las preimágenes de los HTLC (que creo que su pregunta implica / confunde). Las antiguas preimágenes de los HTLC establecidos nunca necesitan almacenarse ni reproducirse. Esto se debe a que en el caso de la transacción de penalización de los HTLC de segunda etapa, el secreto de revocación es suficiente para acceder a los fondos antes del bloqueo de tiempo.

¡Gracias! Pero si los secretos de revocación no se verifican como una preimagen de HTLC, ¿cómo se verifican? ¿Las transacciones publican la clave pública y cuando se publica el secreto se comprueba como la clave privada correspondiente? ¿Qué código de operación de Bitcoin admite este tipo de verificación?
Cuando se negocia un nuevo compromiso tx y se revela el antiguo secreto de revocación, se puede comprobar si se puede utilizar para producir una firma válida. Los nodos deben hacer esto antes de enviar un nuevo mensaje firmado de compromiso.