Wasabi Wallet was (intentionally) released on October 31st, 2018. In these short 3 years, the software has established itself as the leading Bitcoin privacy software. For most businesses, 3 years would be just getting started. But in the tech industry, Wasabi Wallet is approaching its mid-life crisis. Perhaps this is why the second version of Wasabi Wallet, Wasabi Wallet 2.0, is slated for release soon. There are many articles, videos and graphics waxing poetic about all the bells, whistles and improvements being made with the new version. But not much attention has been paid on how zkSNACKs, the company behind Wasabi Wallet, is innovating the way open-source software is developed.
Open source means that the programming, or source code, is open to everyone and anyone can see it. Additionally, anybody is able to contribute to the development of the code and use the code in any way they see fit. It’s typically developed by people committing their free time to collectively writing, testing and updating the code. Most open source projects are decentralized in that developers collectively agree on what or what not to merge into their core programming. This means that consensus has to be reached for progress to be made. As expected, the process can be painfully slow and achieving consensus is often next to impossible. A good example of this are all of the major changes that have happened with Bitcoin over its lifetime. For each, the process of achieving consensus took months of debate before the process of reaching consensus even began. In fact, it’s not uncommon for this to take years to go from conception to completion.
zkSNACKs is centralized when it comes to approving the source code. There are only 2 developers with permission to merge any changes. In an ecosystem where centralization is treated as a dirty word, the reasoning for this makes sense. Anybody can still contribute to the development, testing and checking of the code; but by limiting the final approval process to just two developers, it removes the lengthy process of reaching consensus. This, of course, vastly improves the speed with which changes can be implemented while maintaining all of the beneficial attributes of an open-source project.
zkSNACKs is a private company. Like most private companies, it generates revenue in an attempt to make a profit. But Wasabi Wallet is a free software…so how does zkSNACKs generate revenue from a product that is completely free? Most companies working on open source software go into the business of consulting. But once again, zkSNACKs does not do this. Instead, it draws a marginal fee for operating the server that is coordinating the CoinJoin rounds. This means that the software is free to download. The wallet is free to use, but making your Bitcoin private through CoinJoin costs a marginal fee that is hardly noticeable to the user [0.003% of the amount times the anonymity set].
What is significant about this is that the money going to the company increases the privacy guarantees of all users. Because there is a small fee on every CoinJoin input, it is a verifiable cost that must be paid. In doing this, the honest user with one input (for themself) has a negligible fee. But for a malicious user attempting a Sybil attack (one entity simultaneously impersonating multiple users), the cumulative fee becomes substantial.
The way the company spends its revenue aligns much more with a charity than a for-profit business. The vast majority of the company’s revenue pays the salary for everyone working at the company. What are these people doing? Well, most of them are developers, some of them work on the marketing/public relations (myself included), some of them handle the support, and some of them are designing the UI. This means that instead of relying solely on the charitable contributions of time and skills to the development of its software, the company is providing these people with the means to spend all of their time focusing on the development and innovation of Wasabi Wallet.
Additionally, the money is also spent to fund bounties for the contribution games. Producing an open-source software is great, but you’re essentially competing against people’s full time jobs to get the attention from the contributors to focus on its development. Of course, there’s no competition when you’re not getting paid. As a hobby, there are intrinsic benefits to working on the project, but at the end of the day everyone has to pay their bills. By funding contribution games, the development of Wasabi Wallet can compete for your time, even against your regular job. It’s the equivalent of gig work for musicians. If you’re really good at contributing, the potential exists for gig work to become full time work (by being hired by the company, zkSNACKs). So the fact that zkSNACKs is being paid directly by Wasabi Wallet’s users whereas many other companies are paid through consulting services is a bonus since the users are financially contributing to making the software better.
Aside from all the contributions Wasabi Wallet has made to the Bitcoin ecosystem by enabling users to easily gain privacy, the company sponsoring the development of Wasabi Wallet is quietly making an equally significant impact on the way open source software is being developed. One can’t help but point out the irony behind what is essentially a privacy wallet developed through multiple contributions being supported by a company sponsoring the contributorily developed wallet which is, itself, making a profound contribution to the way open-source software is being developed.