Bitcoin has done many things right throughout the years but privacy certainly isn’t among those. It’s a well-known fact that once a Bitcoin address is attached to your real world identity, anyone can simply look said address up on the Bitcoin blockchain and gain insight into your transaction activity. This lack of privacy creates additional problems with fungibility of the asset, as certain Bitcoins can be deemed “dirty” or less valuable that others (if they are tied to illegal activity for example). Many third parties have tried solving these issues by offering privacy-enhancing tools. One such party was Wasabi, who recently came out with a desktop BTC wallet that apparently helps preserve its users’ privacy and anonymity on the cryptocurrency markets.
Wasabi is an open-source, non-custodial, privacy focused Bitcoin wallet that launched its 1.0 version in August of 2018. The wallet stands out by implementing a variation of the CoinJoin technology called “Chaumian Coinjoin”, which is in short defined as ”trustless coin shuffling with mathematically provable anonymity”. This variation of the coin mixing technology was created by Wasabi’s founder Ádám Ficsór, who named its latest invention ZeroLink.
Bitcoin transactions work in the following way: whenever one transaction is made, Bitcoin is sent from an “input” address to an “output” address. Thanks to the transparency of Bitcoin’s blockchain, these addresses can be observed and transactions can be tracked by anyone. Chaumian CoinJoin bundles transactions together to obfuscate who is sending what to whom.
What this essentially means is that CoinJoin merges several transactions, mixing inputs from several transactions and outputs from related transactions into one big transaction. This “mixes up” the Bitcoins in a single pool from which every output is paid the amount it is due; everyone gets their share and their Bitcoins remain anonymous and fungible.
The issue here is that the big transaction which mixes the Bitcoins needs to be made by someone. A person, a server, a wallet, some kind of third party will receive all the input transactions and then send them out to proper outputs. This creates a central point of failure where the third party knows the origin and the destination of each mixed Bitcoin, this negating the fungibility and anonymity that was created by mixing the coins.
ZeroLink operates on a basis of two types of wallets: a pre-mix one and a post-mix one. The first one holds the initial funds; the user sends these funds to a ZeroLink tumbler, which then distributes the mixed Bitcoins further to the post-mix wallets.
ZeroLink users provide both the inputs and the outputs (“from” and “to” addresses) from the pre-mix wallet; the outputs are scrambled by mathematics, making the tumbler unaware of final destinations of the coins it receives. This scrambling tactics is also known as blinding.
The tactic then requires the tumbler to cryptographically sign each blinded output, using a type of cryptographic signature called “blind signature.” This allows the transaction data to be verified along every step of the way to confirm that the blinded data matches what was originally sent.
Privacy seeking users then connect to the ZeroLink tumbler through an anonymity network like Tor and provide the tumbler with the unblinded outputs. The outputs are then signed with the same cryptographic signature as in the step above and compared to the originally blinded outputs to confirm their legitimacy.
If confirmed as legitimate, the tumbler will add the outputs to the big CoinJoin transaction and send it back to the users, who will then use their private keys to validate the transaction. Once they validate that everything is correct, the tumbler publishes the transaction so that it can be picked up by miners and added to a block. This effectively anonymizes the entire stack of Bitcoins, making them “clean” and fungible once again.
This technology was, when originally introduced in 2013, considered as potentially vulnerable. Bitcoin fees were low back then which meant that the coin mixing service provider could have easily been struck with a DDoS attack. Today this isn’t the case anymore as transaction fees on the Bitcoin network went up significantly; it would cost thousands, if not even more, to perform such an attack on a ZeroLink-capable setup. Besides Wasabi, the technology should find further implementation in wallets like HiddenWallet and Samourai Wallet.
Wasabi is the first full scale implementation of the ZeroLink technology. The wallet is open source and has cross platform capabilities, but it currently works only on desktop architectures like Linux, OSX, and Windows. The founders and creators of the wallet said that they won’t be looking to break through into the world of hardware wallets, at least not until there’s further work to be done on improving the current client’s privacy features and stability.
Speaking of the team behind Wasabi, the entire project is a brainchild of three individuals:
Gergely Hajdu – CEO
Lawyer and economist, interested in IT and blockchain technology. Claims to bring “strong analytical skills and complex management point of view” to the project. Believes that privacy is one of the most important human rights.
Balint Harmat – CEO
Economist and entrepreneur with interest in new technologies and solutions for everyday problems. Has a strong attitude of creating something from zero and make it useful for the public.
Adam Ficsor – CTO
One of the most active GitHub contributors in the world. Co-author of Programming Bitcoin in C# book. Creator of DotNetTor, which is a Tor library for .NET Core. Made a name for himself as a privacy researcher, creator of ZeroLink, and co-creator of NTumbleBit.
These three have founded a company called zkSNACKs which was established to research the possibilities of creating solutions that would increase Bitcoin fungibility. The final result of their work seems to be their flagship product, which is the Wasabi Wallet.
Features of the Wasabi wallet include:
- Cross-platform functionality
- Integrated Tor anonymity
- BIP157–158 architecture which allows it to function as a fully light wallet
- HD wallet that uses BIP84 derivation scheme, meaning that it can only generate bech32, native segregated witness addresses (legacy wallets, like the ones that major exchanges have, cannot send funds to the wallet)
- 12-word address seed system
- Multi-wallet support with the ability to easily load a desired wallet
- Intra-wallet clustering system asking users to use required labels, which helps them make educated decisions when mixing
- Decently looking, Avalonia-written GUI that is quite easy to master
- Pay to Many
- Advanced RBF
- Lightning Network integration
- Sweep Private Key
- Paper Wallet Generation
- QR Code Reader (currently it only shows it)
- Bitcoin URL support
- Clipboard Hijacker Malware Defense
- In-Wallet Block Explorer Query over Tor
- Integrated VPN Service For Oppressed Countries
- Basic PGP Client
- Simple P2P, Encrypted Messaging
- Add Folder EncryptionProtect Data Folders
- Active transaction privacy level rating done by the wallet itself
- Advanced coin control features
- ZeroLink wallet fungibility framework
- Constant connection to the Bitcoin P2P network
- Implementation of a trustless Bitcoin mixing technique, called Chaumian CoinJoin, which enforces a constant 100 anonymity set
- 0.3% mixing fees
- Round-based mixing with mix coordinator being unable to steal the funds or de-anonymize users
- Rounds that take up to 5 minutes to complete
- A minimum amount of 0.1 BTC required for the transaction to be able to take part in the mixing process
While the wallet’s feature list is impressive, Wasabi is still very much in active development. ZeroLink protocol isn’t yet completely commercially ready and vulnerabilities tend to pop up from time to time. The project’s Reddit is currently littered with user postings complaining about wallet malfunctions or even fund misplacements (which seem to be caused by user error for the most part). If you are looking for technical support regarding potential issues with your Wasabi wallet setup and anonymity sets, the link above is a good place to start. You can also check out these video tutorials on anonymizing your Bitcoins with the aid of this open source wallet.
Additionally, one of the wallet’s main goals right now is to expand its user base. The CoinJoin technology is such that it gives better anonymity when more people contribute their funds to the mixing. Another issue that stems from a small user count is frequent remixing of already-mixed coins.
The latest update from nopara73 (Adam Ficsor’s Medium name) suggests that the team is considering hard forking the current wallet protocols to implement a feature called Unequal Input Mixing. Implementing this technology should make Wasabi capable of processing larger amounts of Bitcoin much faster and cheaper, something that is currently a major issue for the wallet.
Wallet localization and finding a way to transact with non-bech32 addresses seem to be among priorities as well. Smartphone and web iterations of Wasabi might be in the works in the future, but current technology is simply too limiting for this to happen. Finally, the team is looking to simplify the coin sending process and introduce improvements to how coin control and privacy feedback work.
Overall, the wallet offers an interesting and ever-expanding set of features. While there’s much work to be done on its stability, UI, performance and overall polish, Wasabi’s ability to already increase user privacy and fungibility might sway more than one new user to install it.