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