In dem heutigen Blogpost soll in Anlehnung an Julians YouTube Video (https://youtu.be/mEZTME2E94A) erklärt werden, was ein Atomic Swap ist und wie dieser funktioniert. Wie gewohnt, wird das Prinzip anhand einfacher Beispiele und Umschreibungen erklärt.

Mit einem Atomic Swap soll das Problem gelöst werden, Wert von einer Blockchain A auf eine andere Blockchain B zu übertragen OHNE, dass Vertrauen dazwischen bestehen muss. Mit Vertrauen ist hier eine dritte Partei gemeint, die zwischen den beiden Tauschpartnern als Mittelsman fungiert.

Rekapitulieren wir noch einmal kurz was eine Blockchain ganz einfach gesprochen ist:

Eine Blockchain beschreibt den Zustand auf den sich eine Gemeinschaft geeinigt hat. Unterschiedliche Blockchains haben unterschiedliche Zustände und es besteht zunächst keine Verbindung zwischen diesen.

Diese Verbindung ist genau das, woran TenX unter anderem in ihrem CoBloX Blockchain R&D Lab arbeitet. Es handelt sich um das sogenannte COMIT (Cryptographically-secure Off-chain Multi-asset Instant Transaction) Netzwerk. Ein Baustein dieses Netzwerkes sind die hier besprochenen Atomic Swaps. Es geht also um die Verknüpfung zweier Blockchains OHNE, dass eine weitere dritte Partei involviert werden muss (Mehr Infos zu COMIT findest du im offiziellen Whitepaper).

Wie funktioniert also das Ganze?

Unter normalen Umständen benötigt man bei einem Tausch immer eine “neutrale”, dritte Partei — ähnlich einer Bank, Börse bzw. Exchange. Hier lassen sich über die Exchange z.B. Bitcoin gegen Ethereum tauschen.

Hinweis: Bei einer solchen Transaktion muss es nicht unbedingt um eine Anwendung im Bereich von Kryptowährungen gehen, sondern dies gilt allgemein für alle Blockchain-Anwendungen. Ein möglicher Austausch, der nichts mit Kryptowährungen zu tun hat, wäre zum Beispiel eine Interaktion zwischen einer “Immobilien-Blockchain” und einer “Identifikations-Blockchain” und der Fragestellung der Eigentumsverhältnisse

Kommen wir jedoch wieder zurück zu den Kryptowährungen. Wie schafft man es nun diesen Tausch zu vollziehen ohne die dritte Partei in der Mitte der Tauschpartner?

Wir stellen uns die zwei Blockchains A & B vor. Es soll 1 BTC gegen 10 ETH getauscht werden. Bildlich gesprochen wird sowohl der 1 BTC als auch die 10 ETH an einen Seilzug zwischen die beiden Blockchains gehängt. Wichtig zu verstehen ist nun das Folgende: bewegt sich der eine BTC von Blockchain A auf Blockchain B zu, bewegen sich infolgedessen auch die 10 ETH von der Blockchain B kommend auf Blockchain A zu. Sobald wir uns also auf dem Seilzug befinden, bewegen sich immer beide Werte. Fachlich spricht man bei solch einem Vorgang von einem Hashed Timelock Contract (HTLC).

Um jedoch den Tausch zu beginnen bzw. durchzuführen, benötigt man vorher von der Gegenpartei ein “Secret” — nur so kann der Tausch überhaupt vollzogen werden. Sonst kann so viel wie man möchte an dem Seilzug gezogen werden, er wird sich nicht bewegen. Um eine weitere Sicherheitsstufe einzubauen, bedarf es zum Ziehen des Seils nicht nur eine Instanz sondern mehrere — man spricht hier von Multisig. Sollte über eine gewisse Zeit nichts passieren und niemand zieht am Seil, dann wird der ursprüngliche Zustand wieder hergestellt und BTC bzw. die Ether werden nicht getauscht — daher der Begriff Timelock Contract.

Der Atomic Swap ist in unserem Beispiel der Seilzug — ein Softwarecode und keine dritte Partei in der Form einer Exchange oder Bank. Man vertraut also nur darauf, dass der Seilzug genau das macht, wofür er programmiert wurde: eine Seite bewegt sich hinauf, die andere runter.

Wichtig ist auch, dass Atomic Swaps nichts Neues sind, sondern die dahinter liegenden Mechanismen wurden quasi lediglich neu angeordnet — ähnlich einer Blockchain (die kryptographischen Prozesse gab es bereits, nur sie wurden in einen anderen Kontext gebracht).

Durch das Aneinanderketten mehrerer solcher Seilzüge, könnte man sogenannten “Payment Channels” erschaffen (hierzu aber in einem anderen Post mehr) und viele unterschiedliche Vertrauenspools kreieren, um somit unterschiedliche Blockchains ohne eine dritten Partei miteinander verknüpfen. Im Prinzip ist auch genau dies, was COMIT aufbauend auf den Atomic Swaps und den Payment Channels macht.