2013 : Genesis

On 2013–08–22 Greg (Maxwell) wrote up an explanation of CoinJoins [1] and posted a bitcoin address to collect funds for a bounty to be used to encourage development of a practical implementation of CoinJoin.

Image from the original thread [1]

It was stated that ‘The bounty fund will pay out as funds are available according to the signers best judgement for completed work proposed in this thread that furthers the goal of making improved transaction privacy a practical reality for Bitcoin users’. As such, it isn’t a single payout bounty, it was intended to pay out on an ongoing basis as work was completed.

Just 5 days later (2013–08–27) ‘genjix’ (Amir Taaki) was the first to try and claim the bounty with a proof of concept [2] he had developed with ‘Pablo’. A couple of days later (2013–08–29) he added a public ‘lobby’ to serve as a meeting point and flexible mixing amounts. He posted a video showing the system at work [3]. A simple explanation of what was done was posted back on the main thread [4]. Though Greg commented in thread there was no mention of a payout.

The next day (2013–08–28) ‘Tom Scholl’ pointed out [5] that 3 months prior he had worked on a fully decentralized solution called ‘BitPrivacy’ which he posted about on bitcointalk [6]. A day later (2013–08–29) ‘Tom Scholl’ placed his claim to part of the bounty [7].

Greg posted [8] to clarify that ‘My main criteria is that work done be actually usable by someone for something … show me the code’, ‘the whole idea is to flow some funds from people who want to see this exist to people who are working on making it exist and everyone leaving happy’, ‘And yes, I need to pay out some bounties to the work done by people so far’.

The next day (2013–08–30) ‘maaku; posted [9] his work [10] called ‘CoinJoin’ on the topic.

Two days later (2013–09–01) Olivier Coutu posted [11] a link to his presentation [12] from the Bitcoin 2013 conference on Decentralized Mixers for Bitcoin as well as the .pdf [13] of his slides.

Over a week later (2013–09–10) maaku posted [14] the link to the thread [15] he made the day earlier where he was looking to crowdfunded donations (85 BTC). Side note, two weeks later (2013–09–25) maaku posted [16] saying that he had not recieved any donations. His last post in the crowdfunding thread was 4 months later, a month after he pushed the last commit to the project’s github page [17].

2013–09–11 greg posted [18] that he was enjoying Peter Todd’s dust-b-gone [19] tool.

2013–10–10 greg posted a great insight — ‘Above all other criteria widespread usage is what makes the difference between your “plausible denyability” and whatever you’d call actual “anonymity”.’ [20]

2013–10–19 user ‘n8rwJeTt8TrrLKPa55’ pointed out [21] a post [22] by blockchain.info announcing that their coinjoin scheme (called Sharedcoin). It used a centralised server to co-ordinate transactions but it had no access to funds. The source code was also pushed to GitHub [23].

2013–11–03 ‘piuk’ announced that the blockchain.info coinjoin implementation (Sharedcoin) was available by default in their wallet. It mixed both with other users funds and a pool provided by blockchain.info to reduce wait times and ‘reduce transaction taint’.

2013–11–09 laanwj opened an issue [24] on the bitcoin QT (now bitcoin core) github suggesting that ‘it would be useful to support coinjoin in the client and GUI’. No-one took up the challenge and the closest anyone got to suggesting something that could be implemented was chris-belcher who, 3 years later, suggested [25] a way of integrating Bitcoin-qt & joinmaket, in the same post he pointed out a way to send coinjoins from Bitcoin Core wallet using joinmarket sendpayment.py script.

2013–11–14 a user posted [26] a link [27] to a reddit thread where further funds were being raised. At the time the post was made the bounty stood at ~16 BTC. Interestingly there were some users who expressed difficulty in sending to the donation address because it was a p2SH address which bitcoinj wallets (Armoury & MT Gox) could not send to.

2013–11–15 Theymos agreed to match donations over the proceeding 30 days up to a limit of 5 BTC (which was reached) [28]. Within the next 4 days the donation address balance doubled to ~32 BTC

2013–11–15 ‘coinft’ made the suggestion [29] that if miners operated liquid CoinJoin pools through which they passed all their new block rewards a large fraction of bitcoin would be ‘tainted’, effectively making blacklisting tainted coins impractical.

2013–11–22 ‘BurtW’ pledged to donate 5 BTC as soon as the fund reached 36 BTC, and looking at the blockchain it looks like he did [30].

2013–12–11 ‘andytoshi’ announced [31] development of a tool [32] ‘to make CoinJoining easier to do’. It required manual sending of a raw tx from each user to an individual acting as coordinator who would run a command to create an unsigned merged tx. This then had to be sent back to each individual who would sign and send back. The coordinator would then manually enter these signed tx’s and submit to the network.