Dieselbe Entität, die getrennte Teile eines Blitzwegs kontrolliert

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?

@MeshCollider Das Blitzpapier spricht immer über R, als wäre es ein einzelnes Datenelement. Es hat nie einen Index und die Autoren verwenden immer die Einzahlform. Bsp.: "[...] zu jedem Zeitpunkt ist ein einzelner Teilnehmer dafür verantwortlich, dem nächsten Teilnehmer mitzuteilen, ob er Kenntnis von dem Urbild R hat." Darüber hinaus sehe ich nicht, wie die Teilnehmer sicherstellen könnten, dass sie R erhalten, wenn R für jeden Kanal unterschiedlich ist, und ich sehe nicht, wie sie R verwenden könnten, um Geld aus der Nähe des Absenders zu ihnen zu ziehen, wenn R unterschiedlich ist für jeden Kanal.

Antworten (1)

Das Urbild Rist auf der gesamten Strecke gleich, also wüssten Bob/Dave, was Res ist (aus lndÜbersicht ).

Wenn Bob jedoch seine Commitment-Transaktion für den Bob -> CarolKanal 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 -> DaveKanal Geld von Carol abziehen kann, müsste er Carol geben, Rbevor 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 Rwenn er dies tut, in Daves Sendungsverpflichtungstransaktion veröffentlicht wird), kann Carol dies verwenden Rum 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 -> Daveangebotenen 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 Rund 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.

Wenn ich es richtig verstehe, ist es niemals (für eine beliebige Länge eines Zahlungskanals) schädlich, alle oder eine ausgewählte Gruppe über R zu informieren, sobald der Empfänger sein Geld abgehoben hat (im letzten Zahlungskanal der Kette). Aber wenn R vorher aufgedeckt wurde, könnten die Zwischenknoten (weder Sender noch Empfänger) ihr Geld abziehen, wobei der letzte Zwischenknoten mit dem gesendeten Geld weggeht, da niemand von ihnen abgezogen hat, wenn der Empfänger sich dagegen entscheidet. Aber der Empfänger kann immer noch sein Geld ziehen, auch wenn alle anderen bereits seines gezogen haben. Ist das richtig?
Ich denke, das ist richtig.
Vielen Dank! Ich werde das Kopfgeld jedoch etwas länger offen lassen, um die Sichtbarkeit für jemanden hoch zu halten, der ein Gegenbeispiel finden kann.