Ist Lightning eine Einbahnstraße?

Hallo Leute, ich verstehe Lightning leider immer noch nicht ganz. Kann mir jemand sagen wie folgendes Problem bei Lightning gelöst wird?

Wenn der Channel im Netzwerk ist können andere Teilnehmer diesen Kanal nutzen um ihre eigenen Transaktionen darüber weiterzuleiten. Dabei geht doch jedes Mal Guthaben auf der, nennen wir es Ausgangsseite, verloren und wird auf der Eingangsseite gutgeschrieben?

Das hießt doch man bleibt zwar gleichbleibend vermögend, kann aber irgendwann selbst nichts mehr senden, sondern nur noch empfangen?!?!?!
Der eigene Lightningknoten würde somit zur Einbahnstraße verkommen!?!

Das Lightningsystem würde doch nur dann aufgehen, wenn man im Schnitt je Channel gleich viel sendet und empfängt? Die meisten verdienen ihr Geld aber als Arbeitnehmer, heißt sie sind Konsumenten die nur Geld ausgeben aber meist nichts verdienen. Statt Lightning-Einnahmen bleibt dem Ottonormalo also nur die Option immer wieder frisches FIAT in seine Channels zu überweisen um die Zahlungsfähigkeit aufrecht zu erhalten?

Hier zur Veranschaulichung:

  1. Schritt:
    Vier Personen A, B, C, D sind über jeweils einen Kanal verbunden.
    Zur einfachen Darstellung hat jeder initial bei der Kanalöffnung1 BTC in den Channel überwiesen.
    A hat 1 BTC
    B hat 2 BTC
    C hat 2 BTC
    D hat 1 BTC

  1. Schritt:
    Person A möchte D einen BTC senden
    A hat sein gesamtes „Ausgangsguthaben“ aufgebraucht
    B & C sind zwar im Schnitt gleich wohlhabend geblieben allerdings können diese jetzt nur noch empfangen und nicht mehr senden.

A hat 0 BTC
B hat 2 BTC
C hat 2 BTC
D hat 2 BTC

  1. Resutlat

Jetzt kann jeder Teilnehmer der Kette nur noch von D in Richtung A überweisen aber nicht mehr von A nach D. Blöd jetzt für B und C die ihre Zahlungsfähigkeit für A und D aufgeopfert haben. Eine neue Mainnettransaktion um den Kanal aufzufüllen kostet weit mehr als die par Satoschi an Reward fürs Weiterleiten.

Wie wird dieses Problem derzeit gelöst?

Folgender use-case ist unproblematisch:

Als Nutzer möchte ich Geld senden und empfangen können. Das Netzwerk ist mir relativ egal, solange es diesen Nutzen für mich erfüllen kann.

Dafür muss man einfach nur einen Kanal zu einer gut vernetzten Node aufmachen und kann Zahlungen vornehmen bis das Guthaben erschöpft ist. Um den Kanal wieder aufzuladen könnte man einen Dienstleister (in anderer Währung, oder auf Kredit) bemühen, oder über eine on-chain Transaktion einen neuen Kanal aufmachen, oder man ist pleite. Mehr Möglichkeiten sehe ich nicht.

Wenn der Kanal voll ist und man nichts mehr empfangen kann, hat man letztlich ein Luxusproblem und muss Geld auf die main chain bringen. Auch das kann man über einen Dienstleister machen um die on-chain Transaktionsgebühren gering zu halten. Der Dienstleister könnte z.B. Transaktionen sammeln, um diese dann gebündelt zu versenden. Das ist billiger als die beiden Transaktion zum Schließen und Eröffnen eines neuen Kanals.

Der Inhaber eines solchen Kanals muss sich nicht um routing kümmern, schon allein weil seine Node gar nicht routen kann.

Das effiziente Betreiben einer routing node ist eine Wissenschaft für sich. Das Balancieren von Kanälen ist ein Teil davon.

Das gilt doch für die persönlichen Finanzen genauso. Bei Lightning garantiert dir das Protokoll, dass du nur das ausgeben kannst, was du hast. Als Gedankenmodell kannst du annehmen, dass Lightning sich so verhält wie Bargeld in einer beliebigen Fremdwährung. Wenn du nicht in der Währung verdienst, musst du halt tauschen.

Weil das im Post von @Makowski etwas untergeht, heb ich das Thema nochmals hervor.
Wichtiger Bestandteil einer Routing-Node besteht im Ausbalancieren von Kanälen: Rebalancing
Lightning-Lektion: Rebalancing mit Balance of Satoshis - BTC21

2 „Gefällt mir“

Danke für eure Mühe und den Link.
So richtig erklärt wird das leider dort auch nicht, nur downloade also ein Tool und rebalance Channel1 nach Channel2. Wie das geht bleibt einem diese Seite aber schuldig.

Zumindest habe ich aber verstanden, dass man selbst nicht Guthaben zwischen seinen eigenen Kanälen verschieben kann, sondern man muss das ebenfalls mittels Routing machen, richtig?

Angenommen ich wäre Person B aus meinem Beispiel von oben und möchte jetzt wieder meine In- und Outbound Liquidität ausgleichen um zurück zur Ausgangssituation mit jeweils 1 BTC auf beiden Seiten zu kommen.
Nach Person C kann ich ja nichts mehr senden da Outbound = 0.
Zu Person A habe ich nun ja 2BTC Outbound, also muss ich 1BTC an A überweisen.

Ich bin also nun darauf angewiesen, dass Person A noch weitere Channels zu anderen Teilnehmern z.B. X und Y offen hat, die mir den BTC dann über einen Umweg auf die Outbound-Seite von Channel 2 (B-C) überweisen. Das würde dann automatisch beispielsweise über dieses Tool aus dem Link ablaufen, sehe ich das soweit richtig?

Wenn das erfolgreich abgeschlossen wurde, würde der mir bekannte Teil des Netzwerkes nun wieder so aussehen wie ausgangs vor Schritt 1 aus dem vorherigen Beispiel. Soweit richtig?

Aus meiner Sicht (Person B) wäre nun wieder alles beim Alten aber jetzt haben doch Personen X und Y genau das gleiche Problem das ich zuvor hatte. Angenommen einer der beiden würde nun seinerseits rebalancen, dann hätte ich wieder das Ungleichgewicht zwischen In- und Out zurück. Wenn also alle Teilnehmer auf ausgeglichene IN und Outbounds Wert legen dann schiebt sich das Problem nur eine Station weiter. Erinnert mich an einen Rubix-Würfel, wenn man dort eine Würfelseite sortiert hat zerballert man die Farben auf den anderen Seiten.

Sind meine Überlegungen richtig oder übersehe ich da was?
So richtig durchgestiegen bin ich noch immer nicht aber langsam entwickelt sich ein Verständnis.

Du hast von der Sache her recht.

Dadurch, dass eine Nachfrage nach (inbound) Liquidität entsteht, wird diese selbst handelbar. Genau dieser Markt formiert sich gerade.

Das heißt für das rebalancing in deinem Beispiel wird sich ein Gleichgewicht bilden. Die Kosten des rebalancing müssen durch die routing fees überkompensiert werden.

1 „Gefällt mir“

In Ergänzung: Dafür stehen Inbound Cap Anbieter, wie bspw. LNBIG, coincharge und lightningto.me, bereit. Sie ermöglichen ein Rebalancing anderer Kanäle. Für das Leihen von Inbound Cap gibt es bereits auch einen Marktplatz (lightning pool). Nicht nur für Rebalancing, sondern auch für Shop-Besitzer.

Hier noch ein paar zukünftige Entwicklungen in dieser Hinsicht:
High onchain fee environment - Lightning Node Management