Nehmen Sie angesichts des Blitzwegs Alice → Bob → Carol → Dave → Emilee
(mit Alice als Sender und Emilee als Empfänger) an, dass Dave und Bob dieselbe Entität sind.
Indem sie Geld von Dave zu sich selbst zieht, enthüllt Emilee Dave das geheime R. Bob kennt dann auch R, weil Bob und Dave dieselbe Entität sind, und zieht Gelder von Alice ab.
Bob sendet dann den Kanalstatus zwischen ihm und Carol an die Blockchain. Dave zieht anschließend Gelder von Carol ab.
Bei diesem Verfahren wurde Carol nicht bezahlt. Wie wird dies verhindert?
Das Urbild R
ist auf der gesamten Strecke gleich, also wüssten Bob/Dave, was R
es ist (aus lnd
Übersicht ).
Wenn Bob jedoch seine Commitment-Transaktion für den Bob -> Carol
Kanal senden würde, müsste es sich entweder um eine alte Commitment-Transaktion ohne die von HTLC angebotene Ausgabe oder um die aktuelle Commitment-Transaktion mit der von HTLC angebotenen Ausgabe handeln. Im Fall einer alten Verpflichtungstransaktion wäre Carol in der Lage, alle Gelder in dem Kanal mit dem Widerrufsschlüssel für die alte Verpflichtungstransaktion zu beanspruchen.
Im Fall der zweiten Transaktion mit der angebotenen HTLC-Ausgabe weist die angebotene HTLC-Ausgabe eine Zeitüberschreitung auf, die Bob daran hindert, die Geldmittel für eine bestimmte Zeitdauer, sagen wir zwei Tage, auszugeben. In dieser Zeit konnte Carol diese Gelder mit dem Vorbild einlösen R
.
Damit Bob/Dave im Carol -> Dave
Kanal Geld von Carol abziehen kann, müsste er Carol geben, R
bevor der HTLC zwischen Carol und Dave abläuft. Die Zeitüberschreitung dieses HTLC ist kürzer als die des HTLC zwischen Bob und Carol (z. B. nur 1 Tag). Wenn Dave Carol also gibt R
, um sein Geld abzuheben (oder R
wenn er dies tut, in Daves Sendungsverpflichtungstransaktion veröffentlicht wird), kann Carol dies verwenden R
um ihre Gelder aus Bobs angebotener HTLC-Ausgabe zu beanspruchen.
Für den Fall, dass Dave beschließt, kein Geld von Carol abzuziehen, zieht Carol ihre HTLC-Ausgabe nach Ablauf der Zeit zurück und verliert kein Geld an Dave. Sie bekommt dann kein Geld von Bob und hat somit überhaupt kein Geld verloren.
Wenn Dave sich weigerte, die neue Commitment-Transaktion zu unterzeichnen, sendet Carol ihre Commitment mit dem Carol -> Dave
angebotenen HTLC, nachdem die Zeitüberschreitung verstrichen ist, und veröffentlicht eine Transaktion, die die angebotene HTLC-Ausgabe unter Verwendung der HTLC-Timeout-Transaktion ausgibt. Wenn Dave versucht, den HTLC mit auszugeben R
, erfährt Carol davon R
und kann dann Bobs angebotene HTLC-Ausgabe mit besagtem ausgeben R
. In diesem Fall können Bob/Dave tatsächlich Geld verlieren, da Carols HTLC-Timeout-Transaktion vor Daves HTLC-Success-Transaktion (die enthält R
) und ihre HTLC-Success-Transaktion für Bobs HTLC vor Bobs HTLC-Timeout bestätigen und somit Geld verdienen könnten Bob/Dave.
Somit würde ein solches Schema dazu führen, dass Carol effektiv von der Route ausgeschlossen wird und kein Geld verliert. Wenn Bob/Dave dumm wären, könnten sie tatsächlich Geld an Carol verlieren.
UTF-8