Boltz ist ein Dienst mit offener Software für den Tausch zwischen Bitcoin, Lightning und weiteren unterstützten Netzwerken. Diesen Tausch nennt man Swap. Beispielsweise senden Sie Bitcoin aus einer normalen Wallet und erhalten auf der anderen Seite eine Zahlung über Lightning, das Netzwerk für schnelle Bitcoin-Zahlungen. Dabei wandert nicht derselbe Bitcoin-Output in ein anderes System: Bedingte Transaktionen verbinden beide Seiten. Daher stammt die Bezeichnung Atomic Swap, ein Tausch, dessen Teile durch kryptografische Bedingungen verknüpft sind. Das garantiert jedoch keinen automatischen Abschluss. Auch eine korrekt arbeitende App, gesicherte Schlüssel und rechtzeitig gesendete Transaktionen sind nötig. Boltz dient der Übertragung, nicht als Konto für langfristige Ersparnisse.
Zuerst zählt die Richtung. Liegen Ihre Bitcoin auf der Hauptchain und sollen in eine Lightning-Wallet, verwenden Sie einen Submarine Swap: Sie zahlen on-chain, also mit einer in der Blockchain aufgezeichneten Transaktion, und empfangen über Lightning. Ein Reverse Swap geht umgekehrt. Sie bezahlen eine Lightning-Rechnung, eine Zahlungsanforderung mit den nötigen Angaben, und können anschließend Mittel auf der Chain abholen. Ein Chain Swap verbindet zwei Chains, etwa Bitcoin und Liquid. Bei den letzten beiden Arten muss Ihre App einen claim senden: die Transaktion, die Ihre Mittel tatsächlich abholt. Mit dem Bezahlen allein ist der Vorgang also noch nicht erledigt. Auf Liquid erhalten Sie zudem L-BTC, einen Vermögenswert dieses separaten Netzwerks, keinen normalen Output auf der Bitcoin-Hauptchain. Prüfen Sie deshalb vor der Bestätigung auch das Zielnetz. [1]
Stellen Sie sich vor, der Server liefert eine Adresse und einen Zahlungsbetrag. Ohne weitere Prüfung vertrauen Sie lediglich darauf, dass beides dem vereinbarten Swap entspricht. Der Boltz-Client, also die App auf Ihrem Gerät, muss den Betrag selbst berechnen und den Zahlungshash der Lightning-Rechnung prüfen. Ein Hash ist ein berechneter Fingerabdruck, der die Zahlung mit dem richtigen Swap verbindet. Auch Adresse und Skript sind zu kontrollieren: Das Skript legt fest, wer die Mittel wann ausgeben darf. Bei Taproot, einer Bauweise für Bitcoin-Outputs, gehören Schlüssel und Skriptbaum dazu, also die Anordnung möglicher Ausgabebedingungen. Nutzer sollen dies nicht von Hand ausrechnen; entscheidend ist ein Client, der tatsächlich prüft. Die vom Server zurückgegebene Adresse einfach anzuzeigen genügt nicht. Der offene Code von boltz-web-app erlaubt Einblicke, beweist aber weder die Korrektheit einer anderen Integration noch der gerade im Browser geladenen App. [5] [9]
Eine Swap-Adresse ist kein Konto, auf dem Sie den benötigten Betrag nach und nach ansammeln. Die Boltz-Dokumentation verlangt eine einzige lockup-Transaktion, die anfängliche Übertragung, die Mittel nach den Swap-Regeln sperrt. Weitere Zahlungen an dieselbe Adresse werden nicht addiert; nur die erste zählt für den Swap. Senden Sie versehentlich zu wenig, überweisen Sie daher nicht automatisch die Differenz. Bei einem Chain Swap kann der Client statt einer Rückzahlung ein neues Angebot anhand des empfangenen Betrags ermöglichen. Dafür muss genug Zeit bleiben, der Betrag muss die Limits erfüllen und es darf noch keine Signatur für einen refund, eine Rückzahlung, vorliegen. Auch die verfügbaren Mittel des Dienstes sind relevant. Das ist ein bestimmtes Verfahren für falsch finanzierte Chain Swaps, keine allgemeine Möglichkeit zum Auffüllen gescheiterter Übertragungen. [2] [8]
Vergleichen Sie die gesamte Übertragung, nicht nur die beworbene Prozentgebühr. Boltz berechnet eine Dienstgebühr; daneben kosten die Transaktionen auf den beteiligten Chains Geld. Beim Reverse Swap bezeichnet onchainAmount in den technischen Angaben den Betrag, den Boltz nach Berücksichtigung seiner lockup-Gebühr für Sie sperrt. Das ist noch nicht der Nettoeingang in Ihrer Wallet: Sie bezahlen zusätzlich den eigenen claim, also das Abholen. Beim Chain Swap bezahlen Sie auch Ihre anfängliche Sendetransaktion. Vergleichen Sie deshalb die gesamten Ausgaben mit dem letztlich empfangenen Betrag. Gebührensätze, Mindestbeträge und Limits gelten für die konkrete Richtung und das Netzwerkpaar und können sich mit den Netzbedingungen ändern. Ein altes Werbebeispiel ist kein aktuelles Angebot. [6]
Scheitert ein Submarine Swap oder Chain Swap nach Ihrer Einzahlung, kann eine eigene Transaktion für die Rückholung nötig sein. Dafür benötigen Sie den refund-Schlüssel und gespeicherte Swap-Daten. Bei Taproot kann ein kooperierender Boltz einen schnelleren key path refund ermöglichen: eine gemeinsam signierte Rückzahlung ohne Warten auf die Zeitbedingung. Ohne Kooperation bleibt der script path, eine Rückzahlung nach dem vorab festgelegten Skript, sobald der timelock erfüllt ist. Dieser legt eine zeitliche Beschränkung in den Transaktionsregeln fest. Die Möglichkeit allein sendet noch keine Transaktion; das muss der Client erledigen. Wird dagegen eine noch nicht abgewickelte Lightning-Zahlung eines Reverse Swap aufgehoben, werden die wartenden Mittel wieder freigegeben. Daraus folgt keine automatische Rückholung nach jedem App-Fehler oder verpassten claim. [3]
Beim Reverse Swap sind die Abwicklung der Lightning-Zahlung und das Abholen Ihrer Chain-Mittel getrennte Ereignisse. Der Status invoice.settled kann bedeuten, dass Boltz das preimage erhalten hat: einen geheimen Wert, mit dem die an seinen Hash gebundene Zahlung abgeschlossen werden kann. Der Server verfolgt nicht, ob Ihre App den claim anschließend tatsächlich sendet. Der Client muss daher den eigenen Output, die für Sie bestimmten Mittel, prüfen und vor dem timeout abholen. Danach kann die Gegenseite sie zurückholen. Eine geschlossene App, verlorene Daten oder eine zu niedrige Transaktionsgebühr können den Abschluss erschweren. Eine Handybenachrichtigung kann die App aufwecken, ersetzt aber keine gesendete Transaktion. Maßgeblich ist der tatsächliche Empfang, nicht nur eine grüne Erfolgsmeldung. [1] [2]
Eine gewöhnliche Wallet-Sicherung enthält möglicherweise nicht alles für einen offenen Swap. Der Boltz Rescue Key besteht aus Sicherungswörtern für ein unterstütztes Wiederherstellungsverfahren. Swap Restore rekonstruiert damit unterstützte UTXO-Swaps, die mit einzelnen noch nicht ausgegebenen Transaktionsausgängen arbeiten. Der Client leitet einen xpub ab, einen erweiterten öffentlichen Schlüssel zum Finden der zugehörigen Swaps, sowie die passenden privaten Schlüssel. Für den claim muss auch das preimage richtig wiederhergestellt werden. Ein beliebiger seed, der Ausgangsgeheimwert einer anderen App, genügt deshalb nicht automatisch: Ableitung und Wiederherstellungsformat müssen passen. Private Schlüssel bleiben auf dem Gerät. Der übermittelte xpub erlaubt kein Ausgeben, legt aber Ihre Swap-Historie gegenüber dem Boltz-Server offen. Bewahren Sie deshalb auch Daten des konkreten Clients und gegebenenfalls ältere refund-Dateien neben der normalen Wallet-Sicherung auf. [4] [2]
Eine Transaktion kann im Netzwerk auftauchen, bevor sie in einen Block aufgenommen wird. Ihre Annahme in diesem Stadium heißt 0-conf, also ohne Bestätigung. Laut Dokumentation nimmt Boltz solche Nutzereinzahlungen auf der Bitcoin-Hauptchain wegen der Verbreitung von full-RBF nicht an. Diese Regeln erlauben unter bestimmten Bedingungen den Ersatz einer unbestätigten Transaktion durch eine mit höherer Gebühr, auch ohne ursprüngliches Zustimmungssignal. Beim Reverse Swap trägt dagegen der Empfänger das Risiko, wenn er eine unbestätigte Transaktion akzeptiert. Regeln eines Netzwerkpaars gelten nicht zwangsläufig für alle anderen. Ebenso beweist erreichbare Dokumentation nicht, dass der Dienst gerade genügend Mittel für Ihren Transfer hat. Vor dem Bezahlen zählen aktuelle Parameter, die verbleibende Zeit und der konkrete Swapstatus. [7] [6]
Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Selbstverwahrung, Submarine Swap, Lightning Network, Timelock. Auf diesen Eintrag verweisen außerdem Bull Bitcoin.