La misma entidad que controla partes separadas de la trayectoria de un rayo

Dada la trayectoria del rayo Alice → Bob → Carol → Dave → Emilee(con Alice como remitente y Emilee como receptora), asuma que Dave y Bob son la misma entidad.

Al sacar fondos de Dave para sí misma, Emilee le revela el secreto R a Dave. Bob también conoce a R, porque Bob y Dave son la misma entidad y extrae fondos de Alice.

Bob luego transmite el estado de los canales entre él y Carol a la cadena de bloques. Posteriormente, Dave extrae fondos de Carol.

En este procedimiento, a Carol no se le pagó. ¿Cómo se previene esto?

@MeshCollider El artículo relámpago siempre habla de R como si fuera un solo dato. Nunca tiene índice y los autores siempre usan la forma singular. Por ejemplo: "[...] en cualquier momento, un solo participante es responsable de revelar al siguiente participante si tiene conocimiento de la preimagen R". Además, no veo cómo los participantes podrían asegurarse de obtener R si R es diferente para cada canal, y no veo cómo podrían usar R para sacar dinero del remitente más cercano a ellos si R es diferente para cada canal

Respuestas (1)

La preimagen Res la misma a lo largo de toda la ruta, por lo que Bob/Dave sabrían qué Res (de lndOverview ).

Sin embargo, si Bob transmitiera su transacción de compromiso para el Bob -> Carolcanal, tendría que ser un compromiso antiguo sin el resultado ofrecido por HTLC o ser la transacción de compromiso actual con el resultado ofrecido por HTLC. En el caso de una transacción de compromiso anterior, Carol podría reclamar todos los fondos en el canal con la clave de revocación para la transacción de compromiso anterior.

En el caso de la segunda transacción con la salida HTLC ofrecida, la salida HTLC ofrecida tiene un tiempo de espera que evita que Bob gaste los fondos durante un período de tiempo, digamos dos días. En ese tiempo, Carol podría canjear esos fondos con la preimagen R.

Para que Bob/Dave extraiga fondos de Carol en el Carol -> Davecanal, deberá dárselo a Carol Rantes de que se agote el HTLC entre Carol y Dave. El tiempo de espera de este HTLC será más corto que el HTLC entre Bob y Carol (por ejemplo, solo 1 día), por lo que cuando Dave le da a Carol Rpara retirar sus fondos (o Rse publica en la transacción de compromiso de transmisión de Dave si lo hace), Carol puede usar eso Rpara reclamar sus fondos de la salida HTLC ofrecida por Bob.

En el caso de que Dave decida no retirar fondos de Carol, Carol retracta su salida de HTLC después de que se agote el tiempo y no pierde dinero con Dave. Entonces ella no gana dinero de Bob y, por lo tanto, no ha perdido nada de dinero.

Si Dave se negó a firmar la nueva transacción de compromiso, Carol transmite su compromiso con el Carol -> DaveHTLC ofrecido después de que pasa el tiempo de espera y publica una transacción que gasta la salida del HTLC ofrecido mediante la transacción de tiempo de espera de HTLC. Si Dave intenta gastar el HTLC usando R, Carol se entera Ry luego puede gastar la salida HTLC ofrecida por Bob usando dicho R. En ese caso, Bob/Dave puede perder dinero porque la transacción de tiempo de espera de HTLC de Carol podría confirmarse antes que la transacción de éxito de HTLC de Dave (que contiene R) y su transacción de éxito de HTLC para el HTLC de Bob podría confirmarse antes del tiempo de espera de HTLC de Bob y, por lo tanto, ganar dinero de Bob/Dave.

Por lo tanto, tal esquema daría como resultado que Carol fuera efectivamente eliminada de la ruta y no perdiera dinero. Si Bob/Dave fueran estúpidos, podrían perder dinero con Carol.

Si lo entiendo correctamente, nunca hay (por la duración de un canal de pago) ningún daño asociado con informar a todos o a un grupo selecto sobre R tan pronto como el destinatario retiró su dinero (en el último canal de pago de la cadena). Pero si se revelara R antes de eso, los nodos intermedios (ni el remitente ni el receptor) podrían retirar su dinero y el último nodo intermedio se iría con el dinero enviado, ya que nadie lo retiraría si el receptor decide no hacerlo. Pero el receptor aún puede retirar su dinero incluso después de que todos los demás ya hayan retirado el suyo. ¿Es esto correcto?
Creo que eso es correcto.
¡Gracias! Sin embargo, mantendré la recompensa abierta un poco más para mantener la visibilidad alta para alguien que pueda presentar un contraejemplo.