Wasabi Wallet

From Bitcoin Wiki
Revision as of 12:04, 3 September 2020 by RiccardoMasutti (talk | contribs) (Generally optimized. Added multiple sections and updated the software features.)
Jump to: navigation, search

Wasabi Wallet is an open-source, non-custodial, privacy-focused Bitcoin wallet for Desktop, that implements trustless CoinJoin. The CoinJoin coordinator (run by zkSNACKs Ltd., the company that is sponsoring the development of Wasabi) cannot steal from, nor breach the privacy of the participants.

The package includes built-in Tor and, by default, all traffic between the clients and the server goes through it, so IP addresses are hidden and privacy of the users is respected. Under normal conditions, Wasabi Wallet never leaves Tor onion network and it never uses Tor exit relays, significantly decreasing the network attack surface.

Wasabi also includes all standard privacy tech like a Hierarchical Deterministic wallet and address reuse avoidance, as well as mandatory coin control and labeling. The wallet uses BIP-158 Client-side block filtering to obtain its own transaction history in a private way and it has a one-click partial full node integration as it ships with Bitcoin Knots. If the user already has a Bitcoin full node on a local or remote device, then it is possible to specify the IP address and port, or the Tor onion service, and Wasabi will use it to verify and enforce rules of Bitcoin.

In addition to this, it has advanced cutting-edges features like:

  • Opt-in PayJoin
  • Dust attack protections
  • Custom change address
  • Anti wallet fingerprinting

Wasabi also has a complete and detailed documentation containing explanations on the architecture of the program, on its functioning and tutorials on how to use it.

Wasabi Wallet installation

WasabiWallet.io homepage

Wasabi Wallet is easy to install. First, you have to go to https://wasabiwallet.io or http://wasabiukrxmkdgve5kynjztuovbg43uxcbcxn6y2okcrsg7gb6jdmbad.onion (for the onion service) and download the version for your own operating system. Wasabi is available in most operative systems with 64-bit architecture.

The officially supported OS are Linux, Windows and macOS, for the complete compatibility list you check the Wasabi Compatibility document. It is also possible to manually verify the PGP signatures and the deterministic builds.

For a step-by-step tutorial on the installation and PGP verification, you can follow the relevant chapter in the documentation.

Once the software is installed, icons will be created on the desktop and on the menu, you can click on them to open the program. If you have downloaded the .tar.gz version, then first extract it and then run the ./wassabee command.

Run Wasabi Wallet

When you run Wasabi for the first time, you will be proposed to generate a new wallet. Choose a unique name for the wallet so that you remember what it is about. Next choose a very secure password, as this encrypts the secrets and protects your wallet. You will always need the password in order to spend your bitcoins or do CoinJoins, so remember to back it up properly. At worst, Wasabi has a Password Finder tool, designed for helping those who made a mistake typing the password during the wallet creation process. The Password Finder will try to find the password that decrypts the encrypted secret key stored in a given wallet file.

After that, Wasabi will show your 12 recovery words. Remember to backup those (together with the password), as they are needed to recover your wallet in the future.

Send and Receive bitcoin via Wasabi Wallet

As explained above, Wasabi has mandatory coin control and labeling. This means that, in order to send bitcoin, you have to manually choose UTXO specify a custom Known by label which will allow you to always have under control which entities you transact with and which addresses in your possession they are aware of.

The same applies to receiving bitcoin. First, you need to generate an address in the Receive tab and label it with the names of any observers who know that this address is yours. For example, if Alice pays you back for last nights pizza, then the label is Alice. This is one of the most important features in Wasabi Wallet and it will help in managing better your privacy.

CoinJoin via Wasabi Wallet

Wasabi CoinJoin tab

CoinJoins are probably the most important feature of Wasabi. Thanks to Schnorr blind signatures, (which is similar to the cryptography used in chaumian blind signatures and blinded bearer certificates) it is possible to run trustless (meaning nobody can steal) and private (meaning even the coordinator cannot spy) CoinJoins where anyone does not learn the linkage between the mixed transaction inputs and outputs.

Thanks to the technologies behind Wasabi, it is therefore possible make CoinJoin between Wasabi users without any liquidity provider middlemen. Users' wallets connect to a server which coordinates the CoinJoin, that is run by the zkSNACKs Ltd. company. The company sponsors the development of Wasabi Wallet and makes its income by taking a fee (0.003% * anonymity set) from each CoinJoin transaction. The anonymity set is essentially the size of the group you are coinjoining in. If 3 people take part in a CoinJoin (with equal size inputs) and there are 3 outputs then each of those output coins has an anonymity set of 3.

Wasabi allows you to make CoinJoins up to 100 peers. This means that a maximum of 100 anonsets can be earned per CoinJoin round. Of course, you can do multiple rounds, greatly increasing your total anonset (and, consequently, your privacy).