Hi there,
I am nopara73 and I would like to apply for a part of the CoinJoin bounty.[21]
During the past 3 years I worked tirelessly to improve the privacy of Bitcoin. I wrote over 100 articles on privacy,[22] participated in a privacy workshop[1] and gave privacy presentations on various conferences.[2,3] I designed ZeroLink: Bitcoin Fungibility Framework,[4] within that detailed Chaumian CoinJoin Bitcoin mixing technique[5] and participated in the creation of Pay To EndPoint scheme.[1]
I created the the Tor library for .NET Core,[6,12] I am a maintainer of on NTumbleBit,[7] I participated in the early stages of the creation of Stratis: Breeze wallet,[8] created and deployed the a full block downloading SPV wallet on the mainnet: HiddenWallet.[9] I also lost an impressive amount of weight during the past few months on Ketogenic diet.[10]
The past year I was lucky enough to meet and work together with great people who helped me rewrite and release the latest iteration of HiddenWallet: Wasabi Wallet,[11] which brings me to the CoinJoin bounty.
Wasabi is an open-source, desktop Bitcoin wallet, working on Windows, Linux and OSX, written in .NET Core (C#),[12] which is the cross platform and open source .NET. Wasabi uses NBitcoin[13] as its Bitcoin library, to which Wasabi developers are frequent contributors: @lontivero,[14] @nopara73.[15] Wasabi uses Avalonia[16] library as its UI framework where Wasabi developer @danwalmsley[17] is a maintainer.
Wasabi does not support and does not plan to support other currencies in the future.
Wasabi uses and ships with the Tor anonymity network. In Wasabi we implemented and deployed a BIP157-BIP158-like Golomb-Rice filtering light wallet architecture. To my knowledge Wasabi is the only light wallet that has been deployed on the mainnet and has strong protections in place against network observers, unless we consider Stratis's Breeze wallet[8] a light wallet (it's full block SPV.) (ToDO: what's the state of Neutrino?)
Wasabi have various privacy features, among many, its compulsory coin control feature and a built-in intra-wallet blockchain analysis tool combined with compulsory labeling system to give feedback to the user and guide her to make educated, privacy-aware decisions at spending.
Wasabi's main feature is the built in Chaumian CoinJoin, which has already mixed (created equal outputs) over 110 bitcoins on the mainnet. For real time statistics and last five coinjoin txids, see:
http://wasabiukrxmkdgve5kynjztuovbg43uxcbcxn6y2okcrsg7gb6jdmbad.onion/Wasabi's CJ implementation works as it was described in the first post of this forum thread:
Using chaum blind signatures: The users connect and provide inputs (and change addresses) and a cryptographically-blinded version of the address they want their private coins to go to; the server signs the tokens and returns them. The users anonymously reconnect, unblind their output addresses, and return them to the server. The server can see that all the outputs were signed by it and so all the outputs had to come from valid participants. Later people reconnect and sign.
For more information, a detailed and up to date description of the inner workings and future plans of Wasabi can be found here:
A Technical Overview of Wasabi Wallet, Future Ideas, Plans and Strategy:
https://github.com/zkSNACKs/MetaThe document is not a marketing pitch. In there we honestly detailed the tradeoffs and rationales behind every major design decision we made. I hope it will satisfy all your doubts.
Where does the money go?A software is not a static, but a living and breathing creature that requires nurturing. Therefore the sustainability of Wasabi is also an important factor, that we did not neglect. There is a (0.003%*anonymity set gained*denomination) per user CoinJoin fee that adds up to 0.3% for a CoinJoin with 100 participants, which is our goal. (Denomination:0.1BTC, only take fee after the denomination, CJ changes doesn't count.) When we reach this number (currently 20) we will let the rounds to happen faster (currently 1/day.) Bootstrapping this system is a balancing act.
The bounty would go to sustain and improve of the wallet and we hope by the time the bounty money runs out project will be able to sustain itself.
Finally, it may also be worth pointing out that
I have been accepting donations myself:
Thank you for considering our application!
Cheers, nopara73
References.