Lightning Network: hashlocks vs intercambio de claves privadas

Estoy leyendo el artículo de Lightning Network y noté que al describir los canales de pago bidireccionales, los autores usaron "transacciones de remedio de incumplimiento" y el intercambio de claves privadas de las dos partes para disuadir a cualquiera de las partes de transmitir una transacción de compromiso anterior. De hecho, esta es una solución efectiva, sin embargo, leí en más de un lugar (por ejemplo , aquí , aquí) que esto en realidad se logra a través de hashlocks (es decir, las dos partes crean transacciones con hashlock a partir de sus transacciones de compromiso y comparten el secreto de hashlock en lugar de intercambiar sus claves privadas para desalentar la transmisión de transacciones de compromiso anteriores cuando actualizan el canal). En el documento, los hashlocks se usan cuando los canales de pago bidireccionales se usan para retransmitir pagos entre más de dos nodos; sin embargo, no se usan para canales de pago entre dos nodos.

Entonces, la pregunta es: ¿las transacciones de compromiso entre dos nodos se revocan mediante hashlocks o mediante el intercambio de claves privadas?

Respuestas (1)

Entonces, la pregunta es: ¿las transacciones de compromiso entre dos nodos se revocan mediante hashlocks o mediante el intercambio de claves privadas?

De cualquier manera funcionará, pero los hashlocks son más simples. Se describen en la sección 4 del documento que vinculó. En un sistema basado en el intercambio de claves privadas, debe almacenar cada transacción de reparación de incumplimiento (alrededor de 250 bytes), pero en un sistema hashlock, solo necesita 20 bytes para cada preimagen.

Tampoco es necesario que almacene todas las preimágenes. Murch explica y vincula un sistema para almacenar cada hash en un canal con 64*20 bytes de memoria como máximo aquí: ¿Qué es una imagen previa de hash tal como se usa para el remedio de brechas?

¡Gracias por la visión de usted! Así que tengo una pregunta más: ¿hay alguna razón por la que en el documento de LN consideraron hashlocks para canales multisalto pero no los consideraron para canales de dos partes?
Creo que consideran hashlocks para canales de dos partidos. Eso es lo que están describiendo en 4.2.