Du weißt noch nicht, was TumbleBit genau ist? Dann schau dir meinen ersten Blog-Beitrag zu dem Thema an.

In diesem Beitrag möchte ich die Funktionsweise hinter dem TumbleBit-Protokoll genauer erläutern und auf die Kernprozesse eingehen. 

Der Prozess einer TumbleBit-Transaktion teilt sich dabei in drei Phasen auf.

TumbleBit Funktionsweise

Funktionsweise des TumbleBit-Verfahrens – Quelle: Paper


Phase 1: Escrow

In der ersten Phase werden zu Beginn zwei Escrow Transaktionen erstellt. Dies bedeutet, dass jeweils, von Alice und vom Tumbler, 3 BTC (Bitcoin) in einem sicheren „Tresor“ hinterlegt werden, der von einem Vertrag geschützt ist. Beide Verträge besitzen eine Ablaufzeit, die eine Auszahlung an den Einzahler auslöst. Transaktionen haben also einen festgelegten Zeitrahmen in dem sie abgeschlossen werden müssen. In beiden Verträge ist die Auszahlung der 3 Bitcoins bei einer erfolgreichen Transaktion geregelt. Die erste Tresor schütte 2 BTC an Alice und 1 BTC an den Tumbler aus. Der zweite Tresor 2 BTC an den Tumbler und 1 BTC an Bob. Die Verteilung ist immer 2 zu 1. TumbleBit lässt also nur 1 BTC Transaktionen zu. Dies ist für die Anonymisierung erforderlich.

Ein weiterer Teil der ersten Phase ist die Erstellung eines Puzzles zwischen dem Tumbler und Bob. Dieses Puzzle wird mithilfe eines weiteren Protokolls, dem sogenannten „Puzzle-Promise Protocol“. Mit dem Puzzle garantiert der Tumbler Bob, dass Bob die 1 BTC bekommt, wenn Bob die Lösung des Puzzle herausfindet. Dies ist also auch ein Bestandteil des Vertrages hinter dem zweiten Tresor, wodurch gewährleistet wird, dass der Tumbler sich die 3 BTC nicht vor Überschreitung der Ablaufzeit zurückholen kann.

Die einzige Möglichkeit, an die Lösung des Puzzles zu kommen, ist die Zahlung von einem 1 BTC von Alice an den Tumbler. Dies geschiet in Phase 2.


Phase 2: Payment

In Phase 2 wird Alice als Zahlerin aktiv. Sie erhält von Bob das zuvor erstellte Puzzle. Bevor Bob das Puzzle an Alice schickt, verschlüsselt er es noch mit einem privaten Schlüssel, damit keiner, auch der Tumbler nicht, das Puzzle zurückverfolgen kann. Alice erhält das verschlüsselte Puzzle und geht ein weiteres Protokoll mit dem Tumbler ein, dem sogenannten „Puzzle-Solver Protocol“. In diesem Protokoll garantiert Alice dem Tumbler die Zahlung von 1 BTC im Austausch gegen die (verschlüsselte) Lösung des Puzzles. Die Zahlung von 1 BTC wird aber erst ausgeführt, wenn die Lösung von Bob bestätigt wird.

Alice erhält also die verschlüsselte Lösung des Puzzles und leitet sie weiter an Bob.


Phase 3: Cash-Out

In der dritten Phase entschlüsselt Bob die Lösung mit seinem privaten Schlüssel und leitet die Auszahlung ein. Mit der Lösung des Puzzles führt er die Transaktion zwischen ihm und dem Tumbler aus. Dadurch werden dem Tumbler 2 Bitcoins und Bob 1 Bitcoin überwiesen. Die erfolgreiche Ausführung der Transaktion bildet das letzte Kriterium für die Ausführung der Transaktion zwischen Alice und dem Tumbler. Alice erhält 2 Bitcoins und der Tumbler 1 Bitcoin.

KontoAliceTumblerBob
Vorher330
Nachher231

Somit wurde ein Bitcoin erfolgreich von Alice zu Bob transferiert.
Übrigens: Das TumbleBit-Protokoll ist auf einen Bitcoin pro Transaktion festgelegt. Dies soll gewährleisten, dass alle Transaktionen gleich aussehen und nicht zurückverfolgt werden können.

Ihr wollt noch tiefer in die einzelnen Protokolle einsteigen und die genauen mathematischen Formeln für eine Transaktion analysieren? Dann schaut euch das offizielle Paper (nur in englischer Sprache verfügbar)  zu TumbleBit an.

Best regards!