# Introduction to Wasabi
# The Basics
Who can use Wasabi?
Every single line of code in Wasabi, the wallet, the backend server, the tests, the packager, the library, the daemon, the api, the documentation - has always been and will always be libre and open source under the MIT license. This means that anyone, yes, ANYONE can use Wasabi without permission, for any use case, free of charge.
Wasabi is used by individuals to receive and spend every day payments, to manage their hardware wallet long term hodlings, and to CoinJoin their sats for added privacy. There are also entrepreneurs who use Wasabi to defend their customers from spies and to ensure a private business relationship. Young kids have Wasabi to stack the sats gifted by grandma, and they learn the importance of hodling.
Wasabi is a tool for everyone.
What is a CoinJoin?
A mechanism by which multiple participants combine their coins (or UTXOs, to be more precise) into one large transaction with multiple inputs and multiple outputs. An observer cannot determine which output belongs to which input, and neither can the participants themselves. This makes it difficult for outside parties to trace where a particular coin originated from and where it was sent to (as opposed to regular bitcoin transactions, where there is usually one sender and one receiver).
This can be done with non-custodial software like Wasabi that eliminates the risk of funds disappearing or being stolen. Each of the signatures are created on the participants’ computers, so anyone trying to connect the signatures is unable to alter the transaction or redirect the funds. The funds will always be in a Bitcoin address that you control.
It’s possible to do this in a decentralized way so that the service does not rely on external parties or centralized servers. It just needs the participants of the transaction.
CoinJoin can be applied multiple times, and as many transactions are grouped together, participants may save on transaction fees. CoinJoin is the preferred method of gaining privacy in the Bitcoin network. It is even possible that this functionality might one day be included directly on the protocol level as standard, as some altcoins already do.
In very simple terms, CoinJoin means: “when you want to make a transaction, find someone else who also wants to make a transaction and make a joint transaction together”.
See also the Bitcoin Wiki on CoinJoins
Do I need to trust Wasabi with my coins?
No, Wasabi's CoinJoin implementation is trustless by design. The participants do not need to trust each other or any third party. Both the sending address (the CoinJoin input) and the receiving address (the CoinJoin output) are controlled by your own private keys. Wasabi merely coordinates the process of combining the inputs of the participants into one single transaction, but the wallet can neither steal your coins, nor figure out which outputs belong to which inputs (look up “Chaumian CoinJoin” if you want to know more).
What is the privacy I get after mixing with Wasabi?
This depends on how you handle your outputs after the CoinJoin. There are some ways how you can unintentionally undo the mixing by being careless. For example, if you make a 1.8 BTC transaction into Wasabi, do the CoinJoin, and then make one single outgoing transaction of 1.8 BTC, a third party observer can reasonably assume that both transactions belong to one single entity, due to both amounts being virtually the same even though they have been through a CoinJoin. In this scenario, Wasabi will barely make any improvement to your privacy, although it will still have a protective effect against unsophisticated observers.
Another deanonymizing scenario happens when you combine mixed outputs with unmixed ones when sending: a third party will be able to make the connection between them as belonging to the same sender.
The practice of being careful with your post-mix outputs is commonly facilitated through coin control, which is the default way of interacting with the wallet. Find out more about coin control it here.
Can I hurt my privacy using Wasabi?
No. The worst thing that can happen (through user’s negligence post-mix) is that the level of your privacy stays the same as before CoinJoin. It is crucial to understand that Wasabi is not a fool-proof solution if you neglect to practice coin control after the mixing process.
Do I need to run Tor?
No you don't need to set up Tor yourself, all Wasabi network traffic goes via Tor by default. If you do already have Tor, and it is running, then Wasabi will try to use that first.
Why is Wasabi Bitcoin-only?
There are countless reasons why it is the only logical choice to be bitcoin-only. With Bitcoin we have a once in a lifetime opportunity to manifest libre sound money. If we succeed, then this might emerge an utmost beautiful agora of sovereign individuals. If we fail, then this will conjure up the most horrific Orwellian nightmare. There is no room for wasted time and energy, this Great Work requires our full attention. Any line of code written to support a random shitcoin takes away scarce developer time to work on real problems.
Why is the anonymity set 100?
Sufficient anonymity set is a hard question, that not yet enough research done to answer it definitively. The rough consensus among many privacy researchers is that an anonymity set above 50 could be considered sufficient. Furthermore our calculations have shown that with the liquidity of today’s mixers our mixing rounds would take 1 to 5 minutes with 100 anonymity set and 0.1 BTC fixed denomination.
Is there a way to check Wasabi uptime status?
Yes, you can check the status of Wasabi-related services and websites (like APIs, Backend, etc.) via UptimeRobot Wasabi Status Page.
What software supplies the block filters that Wasabi uses?
The zkSNACKs coordinator supplies the same set of filters to every client. This means you rely on the Wasabi backend providing you valid filters. But because you download the blocks from a random Bitcoin peer-to-peer node - or your own node - the coordinator cannot spy on which blocks you are interested in. Furthermore, the random node will only know which block is needed but it won't have any clue which transaction(s) belongs to the wallet.
Is the Backend's (Coordinator) code open source?
Yes, you can verify the code on GitHub.
Is there an Android/iOs version?
No, Wasabi and CoinJoin features require considerable computational power, not currently replicable on a smartphone.
# For advanced Wasabikas
Can the coordinator attack me?
The nature of Wasabi is that you should not need to trust the developers or the Wasabi coordinating server, as you can verify that the code does not leak information to anyone. The developers have gone to great lengths in an attempt to ensure that the coordinator cannot steal funds nor harvest information (for example, the outputs sent from your Wasabi Wallet are blinded, meaning that even the Wasabi server cannot link the outputs to the inputs).
The only known possible 'malicious' actions that the server could perform are two sides of the same coin;
- Blacklisted UTXO's: Though this would not affect the users who are able to successfully mix with other 'honest/real' peers.
- Targeted Sybil Attack: The follow-up concern is the inverse of the above. It is possible that the server could only include one 'honest/real' coin in the mix and supply the other coins themselves. This would give a false sense of security, but it would not worsen the existing privacy of the coin. It would also be noticeable to all users excluding the user being targeted as their coins would not be mixed. It has been argued that this 'attack' would be very costly in terms of fees because the number of coins being mixed is verifiable. Though it is true that fees would have to be paid to zkSNACKs every round, this does not matter if it is zkSNACKs that is acting maliciously (as they get the funds back). Typical rounds currently have <100 people per mix, with the minimum input being ~0.1 BTC with a fee of 0.003% per anonymity set. Taking the 'worst case' (100 people, each mixing 0.1 BTC) gives 0.03 BTC per round. This is not prohibitive and is thus a valid concern. That said, if multiple chain-analysis companies attempt to flood the zkSNACKs mix (to decrease the true anonymity set) they will hinder each other's efforts (unless they are cooperating). See here for more info.
What is the history of Wasabi?
Ádám Ficsor worked with several others on a privacy-focused Bitcoin wallet called Hidden Wallet all the way back in December 2015. Wasabi was unveiled in 2018 at the Building on Bitcoin conference by Ádám. At the time, Wasabi was essentially HiddenWallet rebranded and rewritten from scratch with some new features. Key dates:
- The Beta release was on August 1 (on the first anniversary of UASF.)
- The 1.0 release was on October 31 (on the tenth anniversary of the Bitcoin Whitepaper.)
Who is contributing to Wasabi?
There are many Wasabikas working with great effort and care to manifest this powerful tool of self defense. Many peers have already contributed to the repository, and more and more supporters are joining the dojo. Four of the main contributors are Ádám Ficsor [co-founder and CTO of zkSnacks Ltd, co-author of the zero link Bitcoin fungibility framework], Lucas Ontivero [lead engineer of zkSnacks Ltd], Dávid Molnár [zkSnacks Ltd employee], and Dan Walmsley [maintainer of Avalonia UI Framework]. For an inclusive list of all the Wasabikas, not just the code developers, please visit the dojo.
Why is Wasabi libre and open source software?
Wasabi follows the philosophy behind Bitcoin by making the software open source and by publishing it under MIT License. Average Bitcoin users prefer open source software to proprietary software for a number of reasons, including:
Many people prefer open source software because they have more control over that kind of software.
They can examine the code to make sure it's not doing anything they don't want it to do, and they can change parts of it they don't like. Users who aren't programmers also benefit from open source software, because they can use this software for any purpose they wish—not merely the way someone else thinks they should.
Other people like open source software because it helps them become better programmers.
Because open source code is publicly accessible, students can easily study it as they learn to make better software. Students can also share their work with others, inviting comment and critique, as they develop their skills. When people discover mistakes in programs' source code, they can share those mistakes with others to help them avoid making those same mistakes themselves.
Some people prefer open source software because they consider it more secure and stable than proprietary software.
Because anyone can view and modify open source software, someone might spot and correct errors or omissions that a program's original authors might have missed. And because so many programmers can work on a piece of open source software without asking for permission from original authors, they can fix, update, and upgrade open source software more quickly than they can proprietary software.
Many users prefer open source software to proprietary software for important, long-term projects.
Because programmers publicly distribute the source code for open source software, users relying on that software for critical tasks can be sure their tools won't disappear or fall into disrepair if their original creators stop working on them. Additionally, open source software tends to both incorporate and operate according to open standards.
What are the minimal requirements to run Wasabi?
- 64-bit architecture
- Windows 10+
- macOS 10.13+
- Debian 9+
- Ubuntu 16.04+
- For other Linux distributions, it depends on the specific OS.
Click here to check if .NET Core 3.1 supports your OS.