Eight weeks have passed since our last update. We set up 3 milestones before the final 2.0 version’s release. Right now we are working on the first milestone, which is the so-called preview version of Wasabi 2.0. This will contain a minimal subset of features: only the most fundamental ones. This milestone aims to have a rudimentary version of the software released so as to start testing and fixing all the initial bugs. This should only be used on the bitcoin TestNet network and is for internal use, but the enthusiastic will be able to download it from GitHub.
Monday, September 13th.
As we mentioned in our previous report, 2.0 was constructed under brand new considerations. The fundamental idea was to bring privacy into the bitcoin ecosystem (with privacy being the default). Let me share a short story to demonstrate why:
I remember when Peter McCormack asked me to take a look at his computer at the Bitcoin 2019 conference because Wasabi was not working for some reason. He barely had 5 minutes to meet because he was the keynote speaker at the conference. He says,
Time is a depreciating asset that you have…the balance I have to strike in life is How I use my time and how much bitcoin I own. ~ Peter McCormack
What does this have to do with Wasabi Wallet? When we started to think about our next iteration (the as of yet not named Wasabi Wallet 2.0), we considered who best represents the opposite side of the Bitcoin ecosystem spectrum. While Wasabi 1.0 was wildly popular amongst cypherpunks, it was incredibly difficult to use for the average person.
People shouldn’t be forced to spend time understanding the blockchain to use Wasabi Wallet. Instead, developers should create tools that intuitively ensure privacy for its users. So we decided to completely revamp the software.
What is the progress in the User Interface?
Send Fee Chart
What are the most important parameters when you are about to send bitcoin?
- The destination
- The amount
- Time priority
The first two are straightforward however, the 3rd one is more complex. The naïve answer is the quicker the transaction, the better, but if the tradeoff is price, then the answer changes to: “it depends”. It depends on the current fee environment, which is constantly changing according to network activity. So, the idea is to demonstrate this in a chart — without overwhelming the reader with fee rate or sat/vbyte — just to get a grasp of where the breakpoints are for one to consider. For example, sometimes it is not worth paying twice the fee just to gain 20 minutes.
The exact fee amount that will be paid for the transaction will be discussed later.
Privacy Optimization When Sending
When you are sending bitcoin you might consider leaving absolutely no trace. You can avoid the change by selecting a coin that is almost the exact amount required. Maybe this can be achieved with a combination of two or more coins. Wasabi will try to find the optimal one under the hood and provide you with 3 options.
In addition, the algorithm will try to avoid situations that were problematic in the first version (like post mix consolidations).
The transaction history will contain a new column with the label of the transaction so it will be easier to recognize each transaction.
When you turn on privacy mode, this feature masks all of the user’s private information. This feature was first introduced in Wasabi 1.0 and has proven to be useful when creating screenshots or if the user is in public.
QR Code Reader
The title says it all. You will be able to read a QR code by using the computer’s camera. If it is a bitcoin address of a payjoin URL, Wasabi will handle it automatically.
This is not just convenient but also protects against clipboard malware.
What are the New Features Regarding CoinJoin?
Wasabi will be able to run in the background. Why is this useful?
- It can continuously synchronize with the backend and blockchain, so you will be able to use the wallet immediately when opened.
- The wallet will be able to synchronize and display mempool transactions, even if it is only running in the background.
- CoinJoins can happen without even opening the wallet.
All of the mentioned features are configurable in the settings, so you can customize its operation.
This is one of the most complicated features of the wallet. Like Wasabi is ensuring Network level privacy by default (Tor), we would like to ensure blockchain level privacy by default. So similarly, CoinJoins will happen in the background automatically with a minimal amount of user interaction. This is the concept but there are many questions to clarify, like:
- If the fee environment is expensive, should the wallet stop CoinJoin? If yes, how? Should there be a threshold? How can we display this to the user?
- How to select coins: those which are candidates for CoinJoin?
- How should the algorithm decide when to finish CoinJoining?
These were just the most basic questions, but there are many nuances within each. Also, there will be a pause button to temporarily stop CoinJoin operation with one click.
If the user decides to opt-out of automatic CoinJoin, there will be an on-demand start/stop manual switch. The CoinJoin will still happen under the hood and there will be some simple indicators regarding the status.
WabiSabi is the name of the new CoinJoin framework. Without getting into the details, let me emphasize the most important features compared to the current CoinJoin (ZeroLink) implementation.
- Instant Privacy: You don’t need to piece together multiple CoinJoin procedures to make your entire wallet private.
- Pleb Compatibility: no more 0.1 BTC minimum denomination to CoinJoin!
- Perfect Mix: you will most likely be able to avoid having unmixed small amounts in your wallet that cannot be used for anything. No more “toxic change”.
- Consolidate Within a CoinJoin Privately: As the coordinator, we have always considered ourselves an adversary to obtain even more privacy. With WabiSabi, you will be able to CoinJoin more coins within one CoinJoin without leaking the information as to which coin is coming from the same source to the coordinator. This will also decrease the fragmentation of the wallet by reducing the number of coins in the wallet.
- Better Blockspace Efficiency: The CoinJoin transaction will be constructed as efficiently as possible by providing the most privacy with less outputs.