← Track 02 · Dezentrale Finanzen
Submarine Swap · HTLC · Non-Custodial

Atomic Swaps — On-Chain ↔ Lightning

Trustless, non-custodial Austausch zwischen Bitcoin on-chain und dem Lightning Network — ohne Intermediär, ohne Drittpartei-Risiko. „Atomar" heißt: der Swap findet vollständig statt, oder gar nicht.

Was ist ein Atomic Swap?

01 / 07

Ein Atomic Swap ist ein kryptographisches Protokoll, das den Austausch von Coins zwischen zwei Parteien ermöglicht — ohne dass eine der Parteien der anderen vertrauen muss, und ohne eine dritte Partei einzuschalten.

„Atomic" bedeutet hier: Der Swap findet entweder vollständig statt oder gar nicht. Es gibt keinen Zwischenzustand, in dem eine Partei zahlt, die andere aber nicht. Das Protokoll ist so konstruiert, dass Betrug strukturell unmöglich ist.

Im Kontext von Bitcoin bezeichnet man damit speziell den Austausch zwischen einem on-chain UTXO und einem Lightning-Payment. Diese Variante wird auch als Submarine Swap bezeichnet — der häufigste Praxisfall. Das zugrundeliegende Werkzeug sind Hashed Timelock Contracts (HTLCs): Script-Konstrukte, die Zahlungen an eine geheime Vorabinformation (Preimage) binden und mit einem Zeitlimit versehen.

Beide Seiten teilen denselben Hash.
Wer das Preimage offenlegt,
löst automatisch auch die andere Seite aus.
Niemand kann einseitig absahnen.
— Atomarität durch Preimage-Sharing

Wofür werden Atomic Swaps genutzt?

02 / 07
🔄

Channel Rebalancing

Lightning-Knoten brauchen ausgehende Liquidität. Statt Channels zu schließen und neu zu öffnen (teuer, langsam), kann man per Swap on-chain BTC in Lightning-Liquidität umwandeln.

🔒

Non-Custodial Exchange

Wallets wie Phoenix oder Breez erlauben Empfangen on-chain, wenn der User keinen offenen Channel hat — intern geschieht ein Submarine Swap. Kein Custodian hält die Funds.

🛡️

Digitale Souveränität

Kein KYC-Exchange nötig, um zwischen on-chain und Lightning zu wechseln. Keine Gegenpartei, die Funds einfrieren kann. Trustless by design.

💧

Inbound Liquidität

Ein Service-Provider öffnet einen Channel und erhält dafür on-chain Sats. Der Nutzer behält sofort ausgehende Kapazität — kein Vertrauen notwendig.

⚙️

LSP-Integration

Lightning Service Providers nutzen Submarine Swaps für Just-in-Time Channels. Nutzer können Zahlungen empfangen, auch ohne vorab Channel zu öffnen.

🔐

Cold ↔ Hot

Aus einem Cold Wallet (on-chain) können Sats in einen Lightning Hot Wallet überführt werden — und zurück — ohne eine zentrale Plattform.

Wie funktioniert das?

03 / 07

Das Herzstück ist der Hashed Timelock Contract (HTLC). Beide Seiten des Swaps — on-chain und Lightning — nutzen denselben Hash eines Geheimnisses als Bedingung.

Normal Submarine Swap

RichtungOn-Chain → Lightning
Nutzer sendetOn-Chain BTC
Nutzer erhältLightning Sats
Use CaseChannel aufstocken

Reverse Submarine Swap

RichtungLightning → On-Chain
Nutzer sendetLightning Sats
Nutzer erhältOn-Chain BTC
Use CaseLiquidität freimachen
Das HTLC-Konstrukt

Ein HTLC ist ein Bitcoin Script (oder Lightning-Commitment), das eine Zahlung freigibt, wenn eine von zwei Bedingungen erfüllt ist: Preimage vorlegen (Swap erfolgreich) oder Timelock abgelaufen (Refund).

# Vereinfachte HTLC-Logik (P2WSH) OP_IF # Bedingung 1: Preimage vorlegen (Swap Erfolg) OP_SHA256 <payment_hash> OP_EQUALVERIFY <receiver_pubkey> OP_CHECKSIG OP_ELSE # Bedingung 2: Timelock abgelaufen (Refund) <locktime> OP_CHECKLOCKTIMEVERIFY OP_DROP <sender_pubkey> OP_CHECKSIG OP_ENDIF

Ablauf — Normal Submarine Swap

04 / 07
  1. 1

    Invoice generieren

    Alice fragt beim Swap-Server eine Lightning Invoice an. Der Server generiert ein Preimage r, berechnet hash = SHA256(r) und schickt Alice die Invoice mit diesem Hash.

  2. 2

    On-Chain HTLC erzeugen

    Alice sendet BTC an eine P2WSH-Adresse, die einem HTLC entspricht: Preimage-Bedingung mit dem Hash des Servers, oder Refund nach Timelock zurück an Alice.

  3. 3

    Lightning-Zahlung auslösen

    Der Server erkennt die on-chain Transaktion (nach Bestätigung) und zahlt die Lightning Invoice — über seinen Channel, mit demselben Hash. Alice erhält die Sats sofort über Lightning.

  4. 4

    Preimage-Offenlegung & Claim

    Wenn Alice die Lightning-Zahlung empfängt, gibt sie das Preimage r frei (Standard Lightning-Protokoll). Der Server sieht r und kann damit den on-chain HTLC claimen. Atomic: beide Seiten settled gleichzeitig.

  5. 5

    Fallback: Refund

    Schlägt der Swap fehl (Server offline, unzureichende Routing-Liquidität), wartet Alice bis der Timelock abläuft (typisch 24–144 Blocks) und bekommt ihr BTC zurück. Kein Verlust möglich.

Schritt für Schritt mit Boltz

05 / 07

Das folgende Beispiel nutzt Boltz Exchange (Open Source, non-custodial) via API. Boltz ist einer der wenigen vollständig Open-Source Submarine Swap Provider.

Option A · Web-Interface

Einfachste Methode

  1. boltz.exchange aufrufen (oder self-hosted). Richtung wählen.
  2. Betrag und Empfangsadresse eingeben. Boltz zeigt Fees und Mindestbetrag.
  3. Lightning Invoice mit Wallet (Phoenix, Mutiny, Zeus) bezahlen.
  4. On-Chain Transaktion abwarten. Nach 1–3 Bestätigungen: Sats da.
Option B · API programmatisch

Für Self-Sovereignty

Nutze das Open-Source boltz-client-Tool direkt — es läuft auf Linux, integriert sich in CLN/LND und führt alle Schritte automatisch und non-custodial durch.

Code: github.com/BoltzExchange/boltz-client

// 1. Reverse Swap erstellen (Lightning → On-Chain) const response = await fetch('https://api.boltz.exchange/v2/swap/reverse', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ from: 'BTC', // Lightning to: 'BTC', // On-Chain Bitcoin invoiceAmount: 100000, // Sats claimPublicKey: '<dein_pubkey_hex>', preimageHash: '<SHA256(dein_preimage)_hex>' }) }); const swap = await response.json(); // swap.invoice → Lightning Invoice zum Bezahlen // swap.lockupAddress → On-Chain HTLC Adresse // swap.timeoutBlockHeight → Refund-Deadline

Atomic Swap vs. Alternativen

06 / 07
Kriterium Atomic Swap Custodial Exchange Channel Open/Close
Custody-Risiko keins hoch keins
KYC nein meist ja nein
Gegenparteirisiko eliminiert voll keins
Fees 0,1–0,5 % + Mining 0,1–1 % 2× Mining
Geschwindigkeit Minuten–Stunden Minuten Stunden–Tage
Mindestbetrag ~50k–500k Sats niedrig Channel-Minimum
Open Source ja meist nein ja
Self-Hosting ja nein ja

Tools, Risiken & Fees

07 / 07
Stabil
Boltz Client (boltz-client)

CLI + Daemon für automatisierte Submarine Swaps. Integriert sich in LND und CLN. Non-custodial, vollständig Open Source. github.com/BoltzExchange/boltz-client

Stabil
Boltz Web (boltz-web-app)

Self-hostbares Web-Frontend für Boltz. Keine Third-Party-Dependency nötig. Ideal für eigene Infrastruktur. github.com/BoltzExchange/boltz-web-app

Beta
Loop (Lightning Labs)

Submarine Swaps für LND-Nodes. Loop Out = Lightning → On-Chain, Loop In = On-Chain → Lightning. Neuere Versionen mit MuSig2. github.com/lightninglabs/loop

Stabil
Peerswap

Peer-to-peer Submarine Swaps ohne zentralen Provider — direkt zwischen zwei Lightning-Nodes. github.com/ElementsProject/peerswap

Stabil
Phoenix Wallet (ACINQ)

Nutzt intern Submarine Swaps transparent: on-chain Einzahlungen werden automatisch in Lightning-Liquidität umgewandelt. Keine manuelle HTLC-Verwaltung.

Experimental
Ark Protocol

Neueres Protokoll mit ähnlichem Ziel (off-chain ↔ on-chain trustless), aber anderem Ansatz (Shared UTXO). Beobachtenswert für die Zukunft.

⚠ Timelock-Risiko

Wenn du einen Swap startest und der Swap-Provider ausfällt, sind deine Funds im HTLC gesperrt — aber nur bis zum Timelock. Danach kannst du sie jederzeit refunden. Kein dauerhafter Verlust möglich, aber temporäres Einfrieren.

⚠ Routing-Fehler (Normal Swap)

Bei On-Chain → Lightning muss der Provider ausreichend Liquidität haben, um die Lightning-Zahlung zu routen. Schlägt das Routing fehl, wird die on-chain Transaktion nach Timelock refunded. Wähle Provider mit etablierter Liquidität.

Fees im Überblick
Gesamtkosten = Service-Fee (Provider) + On-Chain Mining Fee (Lockup TX) + On-Chain Mining Fee (Claim TX) + Lightning Routing Fee (bei Normal Swap) Typisch bei 500k Sats Normal Swap (Boltz): Service-Fee: ~0,1 % = ~500 Sats Mining Fees: ~1.000–3.000 Sats (je nach Mempool) Routing Fee: ~50–200 Sats ──────────────────────────────── Gesamt: ~1.550–3.700 Sats (~0,3–0,7 %)
Fazit

Self-Custody bleibt erhalten

Du kannst keine Funds verlieren, solange du die Claim-Transaktion selbst signieren kannst (Preimage + Private Key). Das ist der fundamentale Unterschied zu einem custodial Exchange.

Atomic Swaps sind kein Allheilmittel — die Fees sind nicht null, die Mindestbeträge nicht winzig, das UX-Polish nicht überall vorhanden. Aber sie sind die ehrlichste Antwort auf die Frage, wie man zwischen on-chain und Lightning wechselt, ohne einen KYC-Exchange dazwischen­zuschalten.

Boltz Exchange Lightning Labs Loop Peerswap Phoenix Wallet HTLC Submarine Swap