Difference between revisions of "Wasabi Wallet"

From Bitcoin Wiki
Jump to: navigation, search
m (Synchronize modifications with Privacy page: https://en.bitcoin.it/wiki/Privacy#Wasabi_Wallet)
m (Generally optimized. Added multiple sections and updated the software features.)
 
Line 1: Line 1:
Wasabi Wallet is a wallet that implements [[CoinJoin]]. It is open source and written in C#, .NET Core. The package includes Tor and all traffic between the clients and the server goes through it, so IP addresses are hidden. It is easy to install and use. The wallet includes all standard privacy tech like a Hierarchical [[Deterministic wallet]] and [[address reuse]] avoidance, as well as mandatory coin control. The wallet uses [[Client-side block filtering]] to obtain its own transaction history in a private way.
+
'''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.
  
CoinJoins happen between users without any liquidity provider middlemen. As of the beginning of 2019, coinjoins happen approximately once every hour and a half.
+
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.
  
Users' wallets connect to a server which coordinates the [[CoinJoin]]. The wallet uses schnorr blind signatures (which is similar to the cryptography used in chaumian blind signatures and [[blinded bearer certificates]]) so that this server or anyone else does not learn the linkage between the mixed transaction inputs and outputs. The server is run by the zkSNACKs company which has developed Wasabi Wallet, the company makes its income by taking a fee (0.17% per participant as of 2019) from each coinjoin transaction.
+
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 [https://docs.wasabiwallet.io/ 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=
 +
[[File:WasabiWallet.io_Website.jpg|thumb|right|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 [https://github.com/zkSNACKs/WalletWasabi/blob/master/WalletWasabi.Documentation/WasabiCompatibility.md 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 [https://docs.wasabiwallet.io/using-wasabi/InstallPackage.html 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=
 +
[[File:Wasabi CoinJoin tab.png|thumb|right|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).
  
 
[[Category:Privacy]]
 
[[Category:Privacy]]

Latest revision as of 12:04, 3 September 2020

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).