Whirlpool - Coinjoin mit Sparrow Terminal (Raspi, Server, headless, 24/7)

6 Min. Lesedauer
Von FuSsY
Whirlpool - Coinjoin mit Sparrow Terminal (Raspi, Server, headless, 24/7)
undeterministic connections visualized by OXT

Dieses Guide zeigt euch eine effektive Möglichkeit, den Samourai Whirlpool auf eurem Node / Server / RasPi oder auch als zweite Instanz neben eurem Sparrow oder Samourai GUI laufen zu lassen. Warum?

Wer den Sparrow Samourai Whirlpool nutzt, weiß das es sehr zeitintensiv ist um bei diesem Zero-Link Coinjoin Service seine gewünschte Anzahl an Remixrunden zu bekommen. Dafür sinkt mit jeder Remixrunde (auch mit den Remixen der anderen Parteien im Pool) die Möglichkeit einer Analyse oder der Zuordnung einer Transaktion zu einer Entität signifikant. Alle deterministischen Links werden gebrochen und es wird nahezu unmöglich unser Transaktion einer einzelnen Entität zuzuordnen.

Jede Whirlpool ReMix Runde garantiert uns:

Maximale Entropie
Coins werden niemals mit unseren eigenen gemixt
Kein Mixen zuvor zusammenhängender Coins
Keine deterministischen Verknüpfungen zwischen In- & Outputs
Keine Wiederverwendung genutzter Adressen (Address reuse)

Um besser zu verstehen, was Anonymity Sets sind, hier ein Deep Dive in die Materie…
Diving head first into Whirlpool Anonymity Sets

Damit ein Coinjoin-Mix stattfinden kann, müssen in jeder Transaktion 2 bis 3 Premix-UTXOs vorhanden sein. Dies stellt sicher, dass die Entropie hoch bleibt und wir nicht einfach immer wieder die gleichen Coins miteinander mixen, was wenig Nutzen hätte. Darüber hinaus stellen die Premix-UTXOs die Miner-Gebühren für die Transaktion zur Verfügung.
Im Allgemeinen stehen dem Pool viel mehr Postmix-UTXOs als Premix-UTXOs zur Verfügung. In der Praxis bedeutet dies, dass unsere Premix-UTXOs in der Regel schnell zu Postmix gemixt werden, aber sobald Sie sich in der Postmix-Wallet befinden, kann es eine Weile dauern, bis eine Postmix-zu-Postmix-Transaktion stattfindet. Die Auswahl von Postmix-UTXOs für den Remix erfolgt nach dem Zufallsprinzip und unterliegt daher Schwankungen - Wir erhalten möglicherweise mehrere Mixe in kurzer Zeit oder warten einen Tag auf die nächste Runde. Es wird immer jeweils nur ein UTXO pro Pool für einen potenziellen Remix registriert. Sparrow muss im Hintergrund geöffnet bleiben und Postmix-Transaktionen werden durchgeführt, wenn die UTXOs in einer Runde ausgewählt werden. Zufällige Perioden zwischen Mixrunden tragen auch dazu bei die Musteranalyse zu unterbrechen.

OXT.me Blockchain analysis tool and explorer

Mehrere UTXOs in einem bestimmten Pool und ein schnellerer Durchsatz des Mixzyklus erhöhen die Chancen, für einen Mix ausgewählt zu werden. Der erste Mix unterbricht deterministische Verbindungen, während weitere Mixe (von einem der Mix-Ausgänge) unseren forward Anon-Set erhöhen.

KYCP.org — Know Your Coin Privacy

Es gilt… „lets mix and chill“

Ein sehr feines Feature ist „Mixing to..." Coldstorage, Hardwarewallet, Multi-Sig

Es bietet uns die Möglichkeit, direkt ohne Umwege oder Gebühren in unser Hardwarewallet oder Coldwallet zu mixen (einschließlich Multisig-Wallets!). Mit dieser Funktion geht die Postmix-Ausgabe nach einer konfigurierbaren Anzahl von Mixrunden direkt in ein anderes offenes Sparrow-Wallet (Watch-Only-Wallets der Bitbox02 ect.). Dies ist dem expliziten Senden von Postmix an eine andere Wallet vorzuziehen, da ein Kombinieren mehrerer UTXO’s unsere Privacy zerstören kann.
Wir können diese Funktion aktivieren, indem wir auf die Schaltfläche „Mixing to…“ unter der UTXOs-Tabelle in der Postmix-Wallet. Um sicherzustellen, dass Coinjoin-Outputs ähnlich aussehen, werden nur native Segwit-Wallets unterstützt. Es ist auch notwendig, dass die Cold-Storage-Wallet geöffnet ist um in diese zu mixen. Dies ist erforderlich, um die Wiederverwendung von Adressen zu vermeiden!

Jeder Postmix-Output, der eine Mixrunde durchlaufen hat, hat ein Anonymity Set von 5 (mit anderen Worten, eine von 5 Möglichkeiten). Das ist gut, aber nicht großartig. Im Idealfall möchten wir, dass diese Zahl höher ist, um echte Anonymität zu gewährleisten. Dies zu erreichen ist sehr einfach - lasst Sparrow einfach  laufen und der Whirlpool-Client wird weiter Postmix-UTXOs auswählen, um an weiteren Mix-Runden teilzunehmen. Der große Vorteil ist, dass es keine weiteren Gebühren kostet - eure Privacy erhöht sich fortlaufend.

Da Whirlpool einen laufenden Prozess benötigt, ist es am besten, diesen auf eurem 24/7 Gerät laufen zu lassen. Dieses Guide lehnt an ein Ubuntu/Debian basierten Desktop/Server an, kann aber ziemlich auf jedem Gerät oder Node laufen. Es braucht nur ein Terminal / CLI...

Whirlpool CLI (Sparrow Terminal / Server)

Nach der Installation von Sparrow Server können wir den Whirlpool Client auf unserem Server oder RasPi laufen lassen und ihn einfach über eine SSH Sitzung bedienen.

Weiterer Vorteil ist… wir sind in der Lage, das selbe Postmix Wallet mit 2 Clients zu mixen, was unsere Chance auf eine Mixrunde verdoppelt!!!

Installation

In diesem Beispiel die Ubuntu/Debian Version.

  1. Login via SSH zu eurem Node / Server via
ssh username@ip/host
  1. Download der neusten Version von Sparrow Server
wget https://github.com/sparrowwallet/sparrow/releases/download/1.7.9/sparrow-server_1.7.9-1_amd64.deb
https://github.com/sparrowwallet/sparrow/releases/download/1.7.9/sparrow-1.7.9-manifest.txt
https://github.com/sparrowwallet/sparrow/releases/download/1.7.9/sparrow-1.7.9-manifest.txt.asc
  1. Checksum des Download prüfen
sha256sum -c sparrow-1.7.9-manifest.txt --ignore-missing
  1. Import des public Key von craigraw
curl https://keybase.io/craigraw/pgp_keys.asc | gpg --import
  1. Check der Release Signatur
gpg --verify sparrow-1.7.9-manifest.txt.asc
  1. Installation von Sparrow Server
sudo dpkg -i sparrow-server_1.7.9-1_amd64.deb
  1. Start von Sparrow öffnet hierzu ein neues Terminalfenster
/opt/sparrow/bin/Sparrow -t

Die Installation ist damit abgeschlossen und ihr seht das Startfenster der App.

Wir müssen zuerst einen Server in den Einstellungen konfigurieren. Tragt die clearnet IP und Port eurer Node ein. Seid ihr schon auf eurer Node reicht auch localhost oder 127.0.0.1
Wer keine eigene Node hat kann die von Emzy nehmen…
„electrum.emzy.de:50002“ oder „kirsche.emzy.de:50002“
Benutzt den Tor Proxy für mehr Privacy im Whirlpool.

Achtung: Aktiviere den Tor-Proxy, unabhängig davon, ob du dich über Tor mit deinem/einem Node verbindest!

Erstellt oder importiert ein vorhandenes Mixing-Wallet in Sparrow Terminal, indem wir den BIP39-Seed eingeben, oder die .mv.db-Wallet-Datei aus dem Sparrow-Home-Ordner auf dem Desktop in den entsprechenden Wallets-Ordner auf dem Server kopieren (siehe FAQ, um diese zu finden). Danach erstellt oder importiert eine reine Watch-Wallet (eurer Hardwarewallet ect.), für das „Mix to…“ Feature. Wir können jede Wallet als „Watch-Only“ (einfach oder mehrfach) erstellen.

Hier seht ihr den Pfad um ein vorhandenes Walletfile.mv.db zu importieren. Kopiert es aus eurem .sparrow Desktop.

Wenn ihr ein neues Wallet erstellt, müsst ihr wie in der Desktop Version auch im geöffneten Wallet unter Accounts, die Whirlpool Accounts hinzufügen - (pre-mix, post-mix, badbank).
Settings > Add Account > select the drop down > Whirlpool Accounts > Add Account

Whirlpool Mixing mit Sparrow Server

Stellt sicher, dass euer Whirlpool Wallet und auch euer watch Only Wallet geladen ist um die Einstellungen für „Mix to…“ auf dem Postmix-UTXOs-Bildschirm starten zu können.

Wenn wir das selbe Wallet gleichzeitig mit Sparrow Desktop und Sparrow Terminal mixen möchten, müssen wir die Einstellungen „Mix to…“ für beide anpassen. Setzt die „Index Range“ auf Sparrow Desktop auf „ODD“ und die „Index Range“ eures Sparrow Terminal Wallet auf „EVEN“!
Das ist wichtig um Adressfehler der geladenen Wallets und der beim Koordinator registrierten UTXO’s zu vermeiden!

Sparrow Server als Hintergrundprozess laufen lassen…

Um das Problem zu umgehen, dass sich Sparrow Server bei verlassen des Terminals beendet installieren wir Tmux oder Screen.

Login via SSH zu eurem Node / Server

ssh username@ip/host

sudo apt install tmux

Startet ein neues Terminal mit Namen…

tmux new -s sparrow

es öffnet sich ein neues Terminal das als Hintergrundprozess läuft und sich wie ein Daemon verhält. Tmux und Screen bleiben solange Persistent, bis ihr es beendet oder der Server neu gestartet wird.

Benutzt dieses Terminal wie es oben beschrieben wurde.

Um unser Terminal nun zu schließen (ohne Sparrow zu beenden) drücken wir:

für Tmux: Strg+b und sofort d

für Screen: Strg+a und sofort d

Um die Session wiederherzustellen:

für Tmux: tmux a -t sparrow

für Screen: screen -r

Mit diesen commands kommen wir wieder in unser Sparrow, so wie wir es vorher verlassen haben. Der Whirlpool wird dabei nicht unterbrochen, er läuft solange im Hintergrund weiter, wie euer Server läuft.

Happy „24/7“ Mixing mit einem der größten Remix Boost durch doppelte Chance auf eine Mixrunde!

Hat dir der Artikel gefallen?

Onchain / LN Beer: https://coinos.io/FuSsY

Beer over Onion

Lightning Beer: [email protected]