Wie werden Transaktionen von Knoten ungültig gemacht, wenn beide Parteien in einem Lightning-Netzwerk offline sind?

Stellen wir uns vor, Alice möchte mehrere Transaktionen an Bob senden. Sowohl Alice als auch Bob haben offene Kanäle mit Carol, nicht miteinander:

Alice <-> Carol <-> Bob

Alice schickt also zunächst 0,01 BTC an Bob. Sie richtet den Multi-Sig-Tx ein und schickt ihn an Carol, die dann auch Bob sieht. Dann führt Alice eine weitere Transaktion mit 0,02 BTC an Bob durch und setzt eine frühere Zeitsperre, um die früheren 0,01 tx ungültig zu machen.

Jetzt haben sowohl Alice als auch Bob diese 2 Transaktionen gesehen und gehen beide offline. Sie sind sich sicher, dass Alice Bob 0,02 BTC gegeben hat.

Meine Frage ist: Woher wissen sie, dass Carol (wenn der Moment kommt) die zweite Transaktion und nicht die erste in die Blockchain einbinden wird? Könnte Carol nicht einfach die 0,01 tx an die Blockchain senden, anstatt die 0,02?

Ich verstehe, dass Bob online gehen und es selbst posten könnte, und wegen der Zeitsperre könnte er es vor dem anderen tun und es somit ungültig machen.

Aber in dem Szenario, in dem sowohl Alice als auch Bob offline sind, müssen sie darauf vertrauen, dass Carol sich ehrlich verhält?

Antworten (1)

AFAIU, wenn Sie offene Blitzkanäle haben, können Sie nicht offline gehen. Sie müssen online sein, um die Blockchain auf alte Verpflichtungen zu überwachen. Wenn Sie eine alte Verpflichtungstransaktion sehen, übertragen Sie sofort die Bestrafungstransaktion, aber Sie können dies nicht tun, wenn Sie offline gehen. Wenn Sie also offene Lightning-Kanäle haben, müssen Sie online sein, und wenn Sie offline gehen, vertrauen Sie darauf, dass die andere Person im Kanal nicht versucht, Sie zu betrügen.

Interessant, also müssen sowohl Alice als auch Bob für die gesamte Dauer des Kanals online sein? Dies scheint zum Beispiel für Benutzer von Brieftaschen auf Mobilgeräten ziemlich unfreundlich zu sein, wo die Verbindungen ziemlich sporadisch sind.
Ich denke, es könnte mich mehr dazu geben. Carol kann den 0.01 tx anstelle des 0.02 an die Blockchain übergeben (während Sie offline sind). Dann kommen Sie jedoch online, sagen wir nach einer Woche, und präsentieren die 0,02, die eine frühere Zeitsperre hat. Das Netzwerk würde das sehen und Carol dafür bestrafen, dass sie die 0,01 anstelle der 0,02 festlegt? Ich habe über etwas gelesen, das mit Strafen zu tun hat, bin mir aber nicht sicher, ob dies die Logik dahinter ist und wie es funktionieren würde.
Damit Sie wissen, dass die Straftransaktion übertragen werden soll, müssen Sie online sein und die Blockchain überwachen. Alternativ können Sie es sich von einem Drittanbieter ansehen lassen. Aber es führt kein Weg daran vorbei, dass jemand die Blockchain beobachten muss, um zu wissen, ob die Straftransaktion übertragen werden soll oder nicht.
Aber wie können Sie darauf vertrauen, dass der Drittanbieter dies korrekt und rechtzeitig tut, um die andere, alte Transaktion nicht gewinnen zu lassen?
Deshalb musst du ihnen vertrauen. Sonst geht es nicht.
Sind Sie sicher, dass es kein System gibt, bei dem der Drittanbieter nicht einfach alte Transaktionen in die Blockchain schreiben kann? Das scheint eine Menge Vertrauen in Dritte zu sein.
Hier scheint etwas zu sein, obwohl ich es noch nicht ganz entziffern kann bitcoin.stackexchange.com/questions/42887/… „Um die vorherigen „Exit-Transaktionen“ ungültig zu machen, gibt jede Partei der Gegenpartei eine weitere Transaktion, die auf der vorherigen Exit-Transaktion aufbaut indem der Output der Partei an die Gegenpartei ausgegeben wird, wenn die alte "Exit-Transaktion" an das Netzwerk gesendet wurde"
Die Drittpartei müsste die Transaktion selbst nicht kennen, nur ihre Hashes, damit sie die Blockchain für Sie überwachen kann. Sie können sich nicht festlegen, nur zusehen und benachrichtigen. Wie auch immer, LN benötigt diese Dritten nicht, es erfordert nur, dass jemand (entweder Sie selbst oder jemand in Ihrem Namen) die Blockchain überwacht, um sicherzustellen, dass Sie nicht betrogen werden.
Es scheint immer noch seltsam, dass ein Benutzer eine LN-Transaktion durchführen, für mehr als die Lebensdauer des Kanals offline gehen und mit dem Risiko zurückkehren könnte, diese LN-Sendung zu verlieren, wenn die andere Partei fortfährt, sie mit einer früheren Transaktion zu überschreiben (und die Sperrzeit ist über). Der Benutzer, der offline gegangen ist, hat möglicherweise noch eine Transaktion, um sein Geld zurückzubekommen, falls dies nach der Lebensdauer des Kanals geschieht.
Die aktuelle LN-Spezifikation bietet keine Option für Benutzer, offline zu gehen. Sie dürfen nur keine offenen Kanäle haben und gleichzeitig offline sein, weil Sie Ihr Geld verlieren können. LN erlaubt Benutzern nicht, offline zu gehen, und bisher führt kein Weg daran vorbei.