Das Lightning Network wird durch eine Reihe von Spezifikationen namens BOLTs (Basis of Lightning Technology) definiert. So läuft es unter der Haube.
Einen Kanal öffnen (BOLT 2 und 3)
Zwei Peers erzeugen eine Funding-Transaktion, die an einen 2-von-2-Multisig-Output zahlt (P2WSH; manche Implementierungen bieten auch experimentelle Taproot-Kanäle). Bevor sie sie broadcasten, tauschen sie Signaturen für die ersten Commitment-Transaktionen, sodass jeder sein Geld zurückholen kann, wenn der andere verschwindet.
Commitment-Transaktionen
Jede Seite hält ihre eigene, von der anderen signiert, die den aktuellen Saldo auszahlt. Jede Zahlung erzeugt ein neues Paar. Die Ausgabe, die den Inhaber bezahlt, ist durch einen relativen Timelock verzögert (to_self_delay, mit CSV).
Revocation: warum Betrug scheitert
Beim Wechsel in einen neuen Zustand gibt jede Seite ein Revocation-Geheimnis für ihr altes Commitment heraus. Broadcastet jemand einen alten Zustand, hat die andere Seite ein Fenster, während die Verzögerung läuft, den Revocation-Schlüssel zu nutzen und alle Mittel des Kanals zu nehmen. Du musst die Kette beobachten oder einen Watchtower nutzen.
HTLCs: Zahlungen über Hops
Der Empfänger erzeugt ein geheimes Preimage und legt seinen SHA-256-Hash in die Rechnung (BOLT 11). Die Zahlung des Absenders reist als Kette von HTLCs, jeweils „zahle, wenn du das Preimage vor Blockhöhe X zeigst“. Jeder Hop leitet ein etwas kleineres HTLC mit früherem Ablauf weiter. Die Differenz, cltv_expiry_delta, gibt jedem Node Zeit, upstream zu beanspruchen, nachdem er downstream bezahlt wurde. Wenn der Empfänger das Preimage enthüllt, fließt es die Route zurück und jeder Hop settelt.
Onion-Routing (BOLT 4)
Der Absender wählt die ganze Route und wickelt Anweisungen in Schichtverschlüsselung (Sphinx). Jeder Hop schält eine Schicht und lernt nur den vorherigen und nächsten Hop. Das Onion-Paket hat eine feste Größe von 1.300 Bytes für Hop-Payloads, sodass ein Node nicht wissen kann, wie weit er vom Ende entfernt ist.
Schließen
Ein kooperatives Schließen ist eine einzelne Transaktion ohne Verzögerungen. Ein Force-Close broadcastet das letzte Commitment und wartet auf den Timelock, und ausstehende HTLCs werden on-chain gelöst.
Offene Probleme
Liquiditätsmanagement, Gebührenspitzen bei Force-Closes (mit Anchor-Outputs und Package Relay angegangen) und Privatsphäre-Grenzen beim Routing bleiben aktive Forschung.