Hello list,

tl;dr: we have been working on a little something, and Wasabi 2.0 is now ready for your review and feedback.

Wasabi Wallet 2.0 is a Bitcoin wallet providing effortless privacy for its users. Just like Wasabi 1.0, this is achieved by default on the network layer with a deep Tor integration, and on the synchronization layer with BIP158 block filters or the packaged Bitcoin full node. However, 2.0 upgrades the privacy on the blockchain layer with a new Wabisabi coinjoin implementation, running by default in the background.

Wabisabi is a drop-in replacement for the ZeroLink coinjoin coordination protocol. Instead of Chaumian [or Schnorr] blind signatures, it uses keyed verified anonymous credentials and Pedersen commitments. This enables anonymous DoS protection for centrally coordinated coinjoins without relying on equal amount outputs. This flexibility in the coordination enables a more sophisticated amount decomposition, specifically with standard denominations of low Hamming weight, in our case powers of two, powers of three, and the preferred value series [1, 2, 5]. In our simulations, this results often in "changeless" coinjoins [all outputs at least two anonymity set, aka count of equal value outputs] for transactions with more than 50 inputs. Whereas in Wasabi 1.0 each user had to participate in the smallest standard denomination of 0.1 btc, now there is no mandatory output decomposition, and the minimum amount is 5000 sats. This is **substantial** block space savings, reducing the amount of mining fees paid, and the time until the user's utxo set is private.

Thanks to these efficiency improvements, we are now comformaking coinjoin transactions the default in Wasabi's UX. As soon as bitcoin is received in the wallet, the client will register the confirmed coin as input for the PSBT with the backend coordinator. Within a couple hours, the user has numerous utxos which can be spent privately without revealing their pre-mix transaction history. The resulting UX is simple: receive, wait, spend. Privately. Effortless. For everyone.

Whenever the user wants to spend bitcoin to an address, the wallet automatically selects those private coins with sufficient sats, coin control is displayed to the user. However, when the private balance is insufficient to make the payment, the user has the option to adjust the coin selection with the help of the previously provided contact labels. Since labeling is mandatory in Wasabi, we can abstract away the utxo concept and display only the contact labels for the users to choose from. Wasabi also suggests the user to slightly adjust the payment amount so as to avoid the creation of a change utxo, decreasing fees and improving future privacy.

Today, we are proud to finally reveal our work in progress in a public preview release with coinjoin on testnet. We kindly ask for your help testing the completely new UI/UX, reviewing the cryptography and coordination protocol, and especially coinjoining to analyze the resulting transaction graph in the wild.

Thank you to all contributors past and present!

Skol
Max Hillebrand

Download the testnet release: https://github.com/zkSNACKs/WalletWasabi/releases/tag/v1.98.0.0

Website: https://wasabiwallet.io
Onion: http://wasabiukrxmkdgve5kynjztuovbg43uxcbcxn6y2okcrsg7gb6jdmbad.onion
Testnet coordinator: http://testwnp3fugjln6vh5vpj7mvq3lkqqwjj3c2aafyu7laxz42kgwh2rad.onion


_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

Reply via email to