CoinJoin. Part II: The Proposals

Summarising 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 summarises 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 by DM @6102bitcoin.

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

GitHub: server | sim | wallet

Last Commit: 2014–08–08


Proposal XI: ‘JoinMarket’

2015–01–09 | Bounty Post | Announcement Post

Dev: belcher

GitHub: Original | Latest

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. If you enjoyed this summary and want to send me a tip my address is below. Please let me know whether you found this useful on twitter and whether you would enjoy reading a summary of one (or all) of the proposals.

@6102bitcoin donation address: 35Jp1ZWaHMcbARupHWQKikaYP881r4t4q6

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.