Atomic Swaps ermöglichen dezentralen Tausch zwischen zwei Assets

Atomic Swaps sind der Austausch von zwei verschiedenen Kryptowährungen, die auf völlig unterschiedlichen Blockchains liegen, ohne einer Drittpartei Vertrauen entgegenbringen zu müssen.

Atomic Swaps sind eine Innovation mit großem Potenzial, da mit dieser Technologie der automatisierte Austausch von zwei unterschiedlichen Assets (z. B. Bitcoin und Litecoin) ohne Zwischenschalten einer zentralen Instanz, beispielsweise einer Exchange, ermöglicht wird. Die Parteien bleiben während des gesamten Vorgangs im Besitz der eigenen Private Keys und müssen diese nicht von einer anderen Partei verwalten lassen (was bei möglichen Hacks und Diebstählen von Exchanges ein großes Risiko darstellt). Ermöglicht wird dieser Austausch durch eine spezielle Form von Smart Contracts, sogenannte Hash-Time-Locked-Contracts („HTLC“).

Wie soll das genau funktionieren?

Alice hat 1 Bitcoin und einigt sich mit Bob auf den Handel von 1 Bitcoin (BTC) gegen 10 Litecoin (LTC). Alice generiert nun vereinfacht gesagt ein zufälliges Passwort, auch „Secret“ genannt. Daraus generiert sie wiederum einen Hash des Passworts. Ein Hash bedeutet hier, aus dem Passwort einen Wert zu berechnen, der jedoch aufgrund komplexer Rechenoperationen nicht umgekehrt berechnet werden kann. Man kann also aus dem Passwort ganz einfach den Hash berechnen, aus dem Hash ist es jedoch praktisch unmöglich, das Passwort zu berechnen.

Nun „sperrt“ Alice ihren 1 BTC gemeinsam mit dem Hash für einen bestimmten Zeitraum in einem Smart Contract. Dies bedeutet nichts anderes, als dass sie ihren 1 BTC an eine Adresse sendet, die ein spezielles Bitcoin-Script hinterlegt hat. In diesem sind die Bedingungen definiert, die erfüllt sein müssen, um die Funds von dort wieder weitersenden zu können. Im Smart Contract definiert Alice, dass a) entweder die BTC an Bobs Adresse gesendet werden, sofern dieser das Secret in seiner Spending-Transaktion vorweisen kann, oder b) nach Ablauf des oben definierten Zeitraums die BTC an sie zurückgesendet werden (als Fallback, falls Bob sich plötzlich nicht mehr meldet).

Der Hash ist nun öffentlich (auf der Bitcoin-Blockchain, im Bitcoin-Script, als Teil der Transaktion), das Passwort nicht. Damit Bob den 1 „gesperrten“ BTC erhalten kann, muss er beweisen, dass er das Passwort besitzt. Er sperrt seine 10 LTC nun ebenfalls in einem ähnlich gestalteten Smart Contract auf der Litecoin-Blockchain mit demselben öffentlichen Hash, den Alice verwendet hat, und definiert dasselbe wie Alice: Entweder werden die LTC a) an Alice’ Adresse gesendet, sofern sie das Secret in ihrer Transaktion vorweisen kann, oder b) nach Ablauf der Zeit an ihn zurückgesendet.

Möchte Alice nun die 10 Litecoin von Bob, kann sie diese nur mit ihrem eigenen Passwort entsperren, da Bob die Litecoin mit dem Hash ihres Passworts gesperrt hat (welches sie natürlich kennt).

In dem Moment, in dem Alice die 10 Litecoin freischaltet, aus der Smart-Contract-Adresse zu sich transferiert und somit das Passwort (als Teil ihrer Transaktion) freigibt, erfährt auch Bob automatisch das Passwort (weil dieses nun öffentlich in der Transaktion auf der Litecoin-Blockchain zu sehen ist). Er kann nun bis zum Ablauf der vordefinierten Zeit mit diesem Passwort auch auf der Bitcoin-Blockchain mit einer ähnlichen Transaktion die Coins von Alice aus der Smart-Contract-Adresse zu sich transferieren.

Möchte Alice wider Erwarten doch nicht handeln, so lässt sie einfach den vordefinierten Zeitraum ablaufen und wenn in dieser Zeitspanne nichts passiert ist, können beide mit einer Transaktion die Coins aus der Smart-Contract-Adresse wieder zu sich selbst zurücktransferieren.

In der Praxis sind die Zeitspannen so definiert, dass die Partei, die den ersten Schritt macht, ein kürzeres Zeitfenster hat als die andere Partei. Dies ist für die Sicherheit von Atomic Swaps durchaus wichtig, da sonst Alice einfach kurz vor Ablauf des Zeitfensters die LTC von Bob an sich senden könnte, Bob jedoch nicht mehr genug Zeit hätte, um sich mit dem Secret die BTC von Alice zu holen, wodurch Alice sich auch die BTC zurückholen könnte und dadurch alle Coins hätte.

Somit finden entweder beide Transaktionen oder keine der beiden Transaktionen statt. Zu keinem Zeitpunkt muss einer der beiden Beteiligten ihre/seine Coins einer dritten Partei anvertrauen.

Anwendung finden Atomic Swaps vor allem bei dezentralen Exchanges, wo diese zukünftig den lange ersehnten Austausch von Kryptoassets ohne Vertrauen und ohne Zwischenschalten einer dritten Partei ermöglichen sollen.