CoinJoin. Part 2: The Proposals
Summarizing each Proposal for the CoinJoin Bounty.
This summary is focused on the Proposals/Projects which came out of that thread. For a summary of all the key points in the thread see Part I.
Background
The CoinJoin Bounty BitcoinTalk thread was was started by Greg Maxwell back in 2013 in order to encourage development of implementations of CoinJoin. A 2of3 multisig donation address was created by Greg, Theymos and Pieter Wuille which was/is to be used to encourage development. As of today (2019–04–07) no payment has ever been made from this address (except to consolidate funds when fees were low). A recent comment by Theymos suggest that there may be payouts from the donated funds which now total 46.4 BTC (over $200k) — watch this space!
Introduction
This article summarizes the key proposals made in the CoinJoin Bounty thread which has been the focal point for CoinJoin development over the past 6 years. If you have screenshots of the Proposals which are missing them please get in touch on keybase.
Summary
There are 13 proposals which I have identified from the thread. If you think I have missed any please let me know. The purpose of encouraging development of easy to use CoinJoin tools is to make bitcoin more private.
Privacy is not an ugly word. You wouldn’t want everyone to be able to read your mail, similarly you don’t want everyone to know what bitcoin you own.
Proposal I: ‘coinjoin’
Proposal II: ‘BitPrivacy’
Proposal III: ‘coinjoin’
Proposal IV: ‘dust-b-gone’
Proposal V: ‘Sharedcoin’
Proposal VI: ‘coinjoin’
Proposal VII: ‘Coinmux’
Proposal VIII: ‘darkwallet’
Proposal IX: ‘CoinJumble’
Proposal X: ‘CoinShuffle’
Proposal XI: ‘JoinMarket’
Proposal XII: ‘Wasabi’
Proposal XIII: ‘BustaPay’
Proposal I: ‘coinjoin’
2013–08–27 | Bounty Post | Announcement Post
Dev: genjix
GitHub: https://github.com/calafou/coinjoin
Last Commit: 2013–08–29
Proposal II: ‘BitPrivacy’
2013–08–28 | Bounty Post | Announcement Post (2013–05–10)
Dev: Tom Scholl
GitHub: https://github.com/dustyneuron/bitprivacy
Last Commit: 2013–12–05
Proposal III: ‘coinjoin’
2013–08–30 | Bounty Post | Announcement Post
Dev: maaku
GitHub: https://github.com/maaku/coinjoin
Last Commit: 2013–12–10
Proposal IV: ‘dust-b-gone’
2013–10–15 | Bounty Post
Dev: Peter Todd
GitHub: https://github.com/petertodd/dust-b-gone/
Last Commit: 2016–09–26
Proposal V: ‘Sharedcoin’
2013–11–03 | Bounty Post | Announcement Post (2013–10–19)
Dev: piuk (blockchain.info)
GitHub: https://github.com/blockchain/My-Wallet/blob/master/sharedcoin.js
Removed from Blockchain.info wallet after an exploit (coinsoduku) was found that rendered it useless, see Bonus III.
Proposal VI: ‘coinjoin’
2013–08–30 | Bounty Post |
Dev: andytoshi
GitHub: https://github.com/apoelstra/coinjoin
Last Commit: 2014–01–14
Proposal VII: ‘Coinmux’
2014–02–02 | Bounty Post
Dev: themgp
GitHub: https://github.com/michaelgpearce/coinmux
Last Commit: 2014–03–30
Proposal VIII: ‘darkwallet'
2014–05–02 | Bounty Post (continuation of Proposal I)
Dev: caedes
GitHub: https://github.com/darkwallet/darkwallet
Last Commit: 2016–08–06
Proposal IX: ‘CoinJumble’
2014–08–08 | Bounty Post | Announcement Post
Dev: belcher
GitHub: https://github.com/chris-belcher/coinjumble
Last Commit: 2015–04–28
Screenshots of CoinJumble in action (Full Step-By-Step Guide Image)
Proposal X: ‘CoinShuffle’
2014–10–01 | Bounty Post
Dev: Bryan Vu
Last Commit: 2014–08–08
Proposal XI: ‘JoinMarket’
2015–01–09 | Bounty Post | Announcement Post
Dev: belcher
Last Commit: 2019–04–03
Proposal XII: ‘Wasabi’ (& more)
2018–10–17 | Bounty Post | Follow-up Post (2019–04–03)
Dev: nopara73
Github: https://github.com/zkSNACKs/WalletWasabi
Last Commit: 2019–04–07
Note: Though Wasabi is the most impressive work nopara73 has done regarding CoinJoin he has made many other contributions to bitcoin privacy. These are detailed in the bounty post. Furthermore, the Follow-up Post details the many improvements to the software which took place since the Bounty Post.
Screenshot of Wasabi (source)
Proposal XIII: ‘BustaPay’
2018–12–25 | Bounty Post
Dev: RHavar
Github: https://github.com/rhavar/bustapay
Last Commit: 2018–10–29
Bip: https://github.com/bitcoin/bips/blob/master/bip-0079.mediawiki
Note: RHavar stated in the Bounty Post that he is not interested in the bounty.
Thanks For Reading!
So much progress! I hope that one day soon some of these developers will be rewarded for their efforts in the form of payouts from the bounty address.
MORE?!
Yes. There were a few things which, though not coded proposals were too interesting not to mention. Enjoy!
Bonus I: CoinJoin Presentation
2013–09–01 | Bounty Post
Dev: Olivier Coutu
Presentation & PDF
Bonus II: OXT.me origin
2014–06–06 | Bounty Post
Dev: laurentmt
Thoughts on transaction entropy and address identification. This later manifested itself as oxt.me — an powerful blockchain explorer
Example OXT.me visualisation (link)
Bonus III: CoinJoinSoduku
2014–06–10 | Bounty Post | Website
Dev: Kristov Atlas
Github: https://github.com/kristovatlas/coinjoin-sudoku
A tool which de-anonymised CoinJoin’s which had been performed using Blockchain.info’s SharedCoin (Proposal V).
Front Page of CoinJoinSoduku.com
Bonus IV: JoinMarket Origin
2014–10–30 | Bounty Post
Dev: belcher
It is clear that the this post directly led to the creation of JoinMarket
Proposal: Pay the coinjoin makers. They will put up offers to do coinjoin along with a fee they ask. The coinjoin transaction would be built up in a similar way to the above example, with the coinjoin maker fee being added to the associated change address and taken away from the coinjoin taker’s change address.
Bonus V: Compact Confidential Transactions
2015–06–12 | Bounty Post | Announcement Post
Dev: mixles
A pdf was posted detailing mixles work on Compact Confidential Transactions which greg described as super exciting and important [link], though there was no code. A problem was identified by Andrew Poelstra which resulted in the proofs being less compact than initially hoped.