You are on page 1of 55

Learning Bitcoin 13

Hands On Samourai Dojo


likewhoa
Learning Bitcoin 13

Quick intro of everyone in the room!


Host
Federico Ulfo
twitter.com/feulf

Speaker
likewhoa
twitter.com/likewh0a
Learning Bitcoin 13
Speaker Time!
Learning Bitcoin 13

Areas of Focus
- The Dojo architecture overview
- Minimum system requirements
- Samourai Dojo implementations
- Different types of Coinjoin implementations
- Dojo configuration files
- Dojo upgrade procedures
- Dojo shell & maintenance tool options
- Bitcoin Block Explorer
- Samourai Whirlpool Command Line Interface
- Samourai Whirlpool Graphical User Interface
- Pairing your wallet to your Dojo
Learning Bitcoin 13
Architecture Overview
Learning Bitcoin 13

Requirements
- A dedicated computer (host machine)
- OS: Linux x86_64 or ARMv8
- Disk: 500GB (minimal)/1TB (recommended)
- RAM: 4GB (minimal)
- Latest Docker & Docker Compose
- Tor Browser on host or remote machine
Learning Bitcoin 13

Samourai Dojo implementations

● RoninDojo - https://bit.ly/RoninDojoWiki
● NODL - https://nodl.it
● myNODE - https://mynodebtc.com
Learning Bitcoin 13
Types of Coinjoins
● ZeroLink (Chaumian CoinJoin)
Samourai Wallet Whirlpool (YOU ARE HERE)
● Peeling Chain
Wasabi
● Maker-Taker
- JoinMarket
● Coinshuffle
● Coinshuffle++
- Decred
● ValueShuffle
● CoinJoinXT
Learning Bitcoin 13

Dojo Configuration files


- docker-common.conf.tpl
- docker-bitcoin.conf.tpl
- docker-explorer.conf.tpl
- docker-indexer.conf.tpl
- docker-mysql.conf.tpl
- docker-node.conf.tpl
- docker-tor.conf.tpl
Learning Bitcoin 13

Get to know
your
Dojo Tool
Learning Bitcoin 13

The dojo.sh supports various


commands to interact with your
dojo installation and docker
instances with regards to seeing
logs from each container along
with doing upgrades of your dojo
setup. Common commands are
restart, upgrade, onion,
bitcoin-cli & logs.
Learning Bitcoin 13

Download

Browser

https://www.torproject.org/download/
Learning Bitcoin 13

Get to know
your
Dojo maintenance tool
Learning Bitcoin 13

BTC Blockchain Explorer


Learning Bitcoin 13

Pairing Wallet with Dojo Server

1. Export XPUB, YPUB & ZPUB from existing wallet (optional)


2. Install new copy of samourai wallet on phone
3. Pair with your Dojo instance
Learning Bitcoin 13

Samourai Wallet Installation

Go to https://samouraiwallet.com/download/wallet
Learning Bitcoin 13

Export XPUB/YPUB/ZPUB

Only do this step if you have an existing


Samourai Wallet on your system and wish
to later scan/load this on your freshly
paired wallet
Learning Bitcoin 13

Export XPUB/YPUB/ZPUB

Copy each of these and keep


them handy for later on. We will
use these values to force a
rescan on the Dojo Maintenance
Tool XPUB tab section.

Again, you can skip this if you don’t want to rescan an


old wallet.
Learning Bitcoin 13

Connect to your Dojo

Open the top right hand menu of


your Samourai Wallet then select
the “Connect to existing Dojo”
menu option.
Learning Bitcoin 13

Scan your pairing QR Code

You should now come up to a screen similar to the


one here which will allow you to scan the QR code
generated by your Dojo Maintenance Tool. You
should see a message when successfully
connected to your Dojo Node after
Learning Bitcoin 13

Create Wallet Password

Create a password phrase for your


new wallet. Make sure to write this
down on a piece of paper.
DO NOT backup on your PC!
Learning Bitcoin 13

Confirm Connection to Dojo


You should now see a green light
next to your Dojo Full Node
connection confirming that
everything went ok!
Learning Bitcoin 13

What is Whirlpool?
Whirlpool is a framework backed up by a
collection of software tools that mathematically
disassociates the ownership of inputs to outputs
in a given bitcoin transaction. This is to increase
the privacy of the users involved, protect against
financial surveillance, and to increase the
fungibility of the Bitcoin network as a whole.

In other words Whirlpool is a fully modular


CoinJoin implementation.
Learning Bitcoin 13

Download Whirlpool GUI


Go to
https://samouraiwallet.com/download/whirlpool

Make sure to also download the corresponding


SIG file so we can verify the integrity of the release
against the developer’s key.
Learning Bitcoin 13

Verify release hash


1. Fetch the pgp keys from samouraiwallet.com
$ curl https://samouraiwallet.com/pgp.txt | gpg --import
2. Verify PGP signature
$ gpg --verify <filename>-hash-asc

If all goes well, you should have a similar output as below if not
burn everything and run!
Learning Bitcoin 13

Additional Samourai Wallet Links

● Whirlpool project - https://github.com/Samourai-Wallet/Whirlpool


● Whirlpool related articles - https://support.samourai.io/section/38-whirlpool
● UTXO Management - https://support.samourai.io/section/18-utxo-management
● Wallet features - https://support.samourai.io/category/11-features
● Help & Support - https://support.samourai.io/category/7-general-help-support
● Telegram support channel - https://t.me/samourai_dojo
● Dojo Project - https://github.com/Samourai-Wallet/samourai-dojo
● Ronin Dojo Project - https://bit.ly/RoninDojoWiki
Learning Bitcoin 13

https://samouraiwallet.com
Learning Bitcoin 13

Future Workshops

● Hands on RoninDojo Install


● Deep Dive into Samourai Wallet Dojo Architecture
● Samourai Wallet Mobile Mixing
● Hands on Dojo with Indexer
● Hands on Dojo with Electrum Server
● Hardening your Linux Environment
● Setting up Mirrored Raid
● ZFS Filesystem and why you should use it
● Hands on Luks Encryption
Thanks!
Thanks! See
See you
you at
at the
the next
next event!
event!

Join our telegram group: t.me/learningsats


Follow us on Twitter: twitter.com/learningsats

You might also like