bitcoin projects

Exploring Bitcoin one small project at a time.

Project NumberProject CodeDescription
001 IPQRInstax Bitcoin QR codes
002HDQRHand Drawn QR codes
003 SCEFSurplus Clean Energy Fallacy
004BOOHBAT out of hell
005BTCBitcoin Guide
006LNDLightning Network Intro
007SAMSamourai Wallet
008BOBitcoin Only
009CJICoinJoin | Part I
010CJIICoinJoin | Part II
011QRSAQR Sketch App
012SSQRShamirs Secret QR
013STPSlice The Pie
014BMTBitcoin Mining Trends
015FQHPFAQ | Hodl Privacy
016FQBSFAQ | Bitcoin Seed
017FQWAFAQ | Wasabi
018FQWHFAQ | Whirlpool
019CCCorporate Cash
020BGIIBitcoin Guide II
021CJFCCoinJoin Fee Comparison
022CJRRCoinJoin Research Repo
023NYKNot Your Keys
024BOGBitcoin-Only GitHub
025GTFOGet The Fiat Out
026BFBitcoin Fixes

Instax Bitcoin QR codes

We evaluated the usefulness of the Instax mini 9 for making cheap, quick QR prints. It works well but would work seamlessly with a small update to samourai wallet to enable full screen QR codes. Samourai dev's have since agreed to add this feature.

Use this method as a secondary backup only - heat will degrade the prints rendering them useless after a fire

The Problem

Sometimes, when using Bitcoin, you may desire a physical printout. For example, a physical backup of your private key in QR form so you can easily sweep it with a mobile wallet such as Samourai.

Typically people doing this have to take great care to ensure that both the printer and the computer connected to the printer remain offline at all times. This requires diligence and is not a portable method. We wanted to evaluate whether an instant camera could provide a neat solution to this niche problem.

Testing & Result

We began by making a new samourai wallet for this demo. The 12 word seed presented on screen was judged to be too small to backup using the camera. We had to make a note of these by hand. It would be brilliant if there was an option to make the words large so that this step could be done with the camera too.

We were surprised to find that you cannot view a private key for your samourai wallet on mobile until you have received some coins. We have not investigated the details of this but if it is possible to view a master private key in QR form before any funds are received this would be brilliant.

We attached the small snap on lens which comes with the instax mini 9 in order to take a close up image of the QR code.

Hand drawn qr code

A simple idea - can you draw a QR code by hand?
1 hour later and we found that yes, you can.

Surplus Clean Energy Fallacy

I recently had a long discussion on twitter with StopAndDecrypt about surplus clean energy bitcoin mining. This post explains why surplus clean energy bitcoin mining is a fallacy. Having written this out I have a feeling that S&D and I agree more than we disagree on this. The post that started the discussion was the following statement;

"If we can create an immutable ledger WITHOUT burning so much energy, why wouldn't we seek it out?" - Preethi Kasireddy

The following reply came from StopAndDecrypt;

"Because renewable energy is the future and clean energy can't be wasted when there's a surplus of it"

S&D's proposition is that Bitcoin mining will (eventually) be powered by surplus clean energy. I will explain why this is a fallacy in this post but first I will attempt to form a strongman of S&D's argument.

S&D argument:
Renewable energy will dominate in the (distant) futureThis will lead to a considerable surplus capacity This surplus capacity will be used to mine Bitcoin as the alternative is for it to go to wasteMining will only use this 'surplus' energy and, as it would otherwise be wasted, this is not an issue.
In S&D's own words:
"Please explain to me why a solar or wind plant can't just stay running and sell that extra energy they create to a miner and/or mine themselves with that energy."

I shall tackle the scenario where the electricity obtained at zero cost by the wind turbine operator and used for mining. (Note, Zero cost electricity is impossible as there will be operational costs but we ignore these to present the strongest form of S&D's argument).

Let the term 'Mining Ratio' refer to the mining income per unit energy divided by the electricity cost per unit energy. The miner aims to mine with the maximum average mining ratio over the lifetime of their hardware in order to maximise profit. There are three possible scenarios;

1) A miner operates only on the 'surplus' energy provided by the wind farm - they make relatively high profit per unit time (as energy is 'free') while mining but zero (mining) profit per unit time while there is no surplus energy. 2) A miner operates only on grid energy which has a non-zero cost but is available at all times.3) A miner operates using surplus energy when possible and on grid energy when there is no surplus.
Let us compare these scenarios.
Let the Mining reward per unit energy be M.Let the Energy cost per unit energy be E. Let Profit per unit energy be P. This is calculated as M-E.Let U be the mining time (as a fraction of total time).
The profit per unit time is given by P * U.

ScenarioEnergy SourceEnergy Cost (E)Mining Time (U).Avg. Profit
3Surplus & Grid0 Surplus & E GridX Surplus & Y Grid M*X + Y*(M-E)

For the average profit of scenario 1 to equal that in scenario 2 it must be that: M*X = M-E

X is given by the product of the fraction of the time that the wind turbine is running (R) and the fraction of the time that it is required to shut off (S) when it could be generating. That is, X = R*S. I will find sources for this in the future but in my experience R is generally about 0.4. The value of S is harder to get data for but is surely below 0.1, thus X ≤ 0.04.

Given this estimate (and it is only an estimate) we can see that E = 0.96M.

Scenario 2 is more profitable than Scenario 1 if E < 0.96M. That is, if the Energy cost (Per J) is less than 96% of the Mining Income (Per J).

Obviously mining profitability changes, but to put this finding into context Jimmy Song estimated that in 2017 Bitmain made about $120M/yr in mining profit on $23M/yr electricity (& data centre costs). This gives E=0.19M.

In the first scenario the miner is indeed only operating on surplus energy and S&D's argument is valid. However the back of the napkin calculations above show that for wind (the renewable energy source S&D refers to) this option is far less profitable than option 2. They are only shut off when supply exceeds demand and they are the most expensive (flexible) energy source (shut off order occurs in reverse Merit order. This means that the estimate of 0.1 for S is a conservative estimate.

The miner would make more profit operating the mining equipment under scenario 3. However, wind farm operators are paid to shut off their turbines, thus there is little incentive for turbine operators to waste time and energy outside their area of expertise to become miners. Gut reaction is to say that they will instead sell this energy to miners, but any miners using this energy would be switching to this intermittent energy source from the grid. Remember the only time wind turbines have 'surplus' energy is when supply exceeds demand, if miners temporarily shift away from the grid, the grid demand would drop further reducing demand leading to other wind turbines needing to shut off.

Finally, in the second and third scenario the miners add to base-load demand. As such - they are not operating solely on surplus energy - they are simply using energy like any other use case - which is fine.

S&D initially asked for clarification as to why wind or solar energy suppliers won’t simply continue to run and mine using the surplus energy. Hopefully the above has explained why this won’t happen. Later S&D posted an article which claims that a hydropower station is being refurbished to mine bitcoin, hydropower doesn’t have surplus supply as it forms the base-load in the grid and has a negligible unit cost thus has a very high merit order.

S&D's argument was that surplus clean energy will be used to mine, but for the reasons explained I believe this to be a fallacy.

Energy used to mine bitcoin is not wasted, there is no need to try and appease the mob by suggesting only surplus energy will be used. People are free to pay to use energy in whatever way they see fit. Miners chose to use energy to mine Bitcoin - thus it is not wasted. Read Beautyon's work to understand this further. In the long run miners will be using renewable energy to mine, but no 'surplus' is needed for this.

You can tweet responses to @6102bitcoin

BAT out of hell

The sirens are screaming and the fires are howling way down in the (bitcoin twitter) valley tonight. An enlightening conversation between Francis Pouliot and Brendan Eich (CEO of has revealed why brave uses its own token (BAT — Basic Attention Token) rather than Bitcoin, and the rationale is frankly insane. Brave is an unnecessary product for users (ublock origin blocks all ads) and simple ‘pay to read’ tools like satoshipay (but using bitcoin) are far superior.


BAT is an ethereum token which was created to perform as money in the Brave browser ecosystem. It is advertised to be used by “publishers, advertisers, and users” to “obtain a variety of advertising and attention-based services on the Brave platform”. The following graphic which how each participant is expected to use BAT:

How It Works —

As most users and publishers are not advertisers it is obvious that these two groups will want to exchange their BAT for something for which they have a use. Given that bitcoin acts as the money of the internet we must ask …

the obvious question; why not use bitcoin?

The recent tweets by brave CEO Brendan Eich display an impressive ability to doublethink. He listed a number of (incorrect) reasons why brave can’t use bitcoin. It is recommend that you read the full thread but the main points are summarised below:

Reason 1 - Bitcoin is slow and expensive

“(bitcoin) was terribly slow and expensive to buy in moderate amounts” (link)

WRONG. Bitcoin is very quick. Final settlement takes less than 1 hour and lightning is practically instant. A properly run bitcoin company should operate at practically the same speed as bitcoin by using the correct tools and methods. For example (which is on the cusp of launch) enables quick and easy buying of bitcoin. Furthermore, if users earn their bitcoin (by using the brave browser and viewing ads) there is no need to buy bitcoin.

Reason 2 — We couldn’t give it away because bitcoin is not free

“We also could not give users grants of it, because no bitcoin holder was willing to give us a big pool of coins to hand out.” (link)

WRONG. It is very easy to give bitcoin to people. The cost of bitcoin has no impact on it’s ability to function as money. The difference is that giving out bitcoin has a cost (because bitcoin has a cost) whereas giving out BAT had no cost (because BAT was, quite literally, worthless). The benefit of receiving bitcoin is that is it useful immediately whereas BAT is only hypothetically useful in the future.

Reason 3 — Publishers won’t accept payment in bitcoin.

“How many among our over 20K and growing publishers, including big names we’ve announced and others have noted on Twitter via their contributions going through, do you dream are ready and willing to be paid in bitcoin — never mind be an LN endpoint?” (link)

WRONG. That publishers don’t currently accept bitcoin is not evidence that they won’t. Bitcoin is a publishers dream. Publishers will be willing to pay a premium for payment in bitcoin because it performs as a global, friction-less and hard money. This statement makes it clear that Brendan is designing brave for today while ignoring tomorrow. Furthermore, it is trivial for companies to convert bitcoin payments into local currency every month.

An interesting aside

6 months ago reddit user ‘nemomendel’ posted some concerns on the BAT subreddit. One of these concerns is particularly relevant:

"There is simply no way that the Ethereum blockchain can handle the number of transactions required for BAT to function properly.

This was addressed directly by ‘CryptoJennie’, the ‘ BAT Community Manager’ who said:

"we only push the transactions onto the blockchain once a month at most; all the microtransactions are accounted for off-chain by the Brave Ledger system. As for any worries of centralization, the whitepaper states that once state channel technology becomes available on Ethereum, we will be decentralizing this aspect as well."

Brave are completely relying on unproven technology to decentralize their ledger system. Brave could be pioneers of the lightning network and become decentralised today.

Bitcoin Guide

This is all you need to know if you are interested in owning bitcoin and need help to get started;

Step 1

Learn how bitcoin works (particularly key management). This video does a good job.

Step 2

Make an offline wallet - This is for the bulk of your bitcoin.

You can do this inconveniently but inexpensively by making a bootable operating system (for example tails). If this sounds too complicated and you don't want to learn you can just buy a ColdCard or a Trezor/Ledger. This will be your main savings and, given that the value of bitcoin could increase significantly while you hold bitcoin, you should take great care to ensure that this wallet never goes online (we call this 'Cold Storage'). When doing this you MUST backup your private key (this is often done by writing down 12/24 words which are presented to you when setting up the wallet. Backup your private key multiple times and put the copies somewhere no-one can find them. Note that this is your offline wallet when storing your backup (at the top of the piece of paper).Make a record of ~10 public keys from your offline wallet. It may be convenient to save these to an empty (formatted) memory stick. For each private key, make a handwritten note of the first 5 and last 5 characters. This note will be used later to ensure you are sending to the correct addresses. You can save each public key as a separate QR code images, or a text file which contains all 10 (or use both methods). If saving as images it is recommended you use the naming convention PublicKey001 - PublicKey010.

Step 3

Manage your backups.
While the wallets have no value it is worth destroying them and trying to recover them. This is to make sure that you haven't made a mistake which could later cause you to lose all your bitcoin.To do this delete the wallet from your phone and turn off your PC. When you download the app (or boot up tails) you will need to select recover wallet and follow the instructions. You will know that you have recovered the wallet successfully if the public key presented matches that which you recorded earlier. Once you have checked your backups hide them somewhere no-one will find them. You should have multiple backups in multiple locations incase of a disaster (house burns down). When you are comfortable with your setup you can look into using multisig.


Step 4

Make a 'hot' wallet - This is for when you want to spend bitcoin easily.
Use Samourai Wallet on your Android mobile phone as your daily wallet (<$200). If you have an iPhone you will need to use another app until Samourai launches on iOS.Again, when doing this you MUST backup your private key (this is often done by writing down 12/24 words which are presented to you when setting up the wallet.

Step 5

Buy bitcoin. It is recommended to Dollar Cost Average when buying.

Don't be fooled into thinking you need to provide your identity to someone in order to buy bitcoin. When you buy an amazon voucher at tesco you don't need ID, and bitcoin is no different. Currently there are very few companies that understand bitcoin, therefore many unreasonably demand ID - do not comply. LocalBitcoins supports face to face buying, but this has obvious risks (theft). Once launches it will be the premier way to buy bitcoin in high street stores.

Step 6

Send your bitcoin to your offline wallet and to your online wallet. To do this you need the public keys.
You stored your public key for the offline wallet on a memory stick, copy the key from the stick. Be sure to check the key matches your handwritten note of the first 5 and last 5 characters. Each time you Dollar Cost Average you can send to a new public key. This helps obscure the total amount of bitcoin you own. When you do this it is sensible to re-name the file on the memory stick (From PublicKey001 to USED_PublicKey001).You can see the Samourai wallet public key by going to receive. Each time you receive to an address in Samourai, a new public key is shown so there is no additional action required to ensure you don't reuse addresses.

Important note

All Alts are scams. No Exceptions.

What's Next?

Repeat Steps 5 & 6.

Lightning Network Intro

What is lightning?

Instant & cheap bitcoin transactions.

how to try lightning

An easy way to try the lightning network. Just visit and sign up. Use a bitcoin lightning wallet such as lightning-wallet on android. On iOS there is thin wallet but that is not yet opensource. Follow the instructions in the app you download to create a payment channel and send some satoshis to your account.

What can i do now?

You can pay by lightning on a growing number of websites.
You could try reading a post on or buy a phone voucher on bitrefill.
You could also try sending me some satoshis by visiting my tippin page, or clicking the button below!

Samourai Wallet

Full featured Samourai wallet is version 0.99.03. This version is not available on the Google play store as Google demanded that Samourai nerf their product.


Update: The above version is the last version with features that required removal from the App Store. It is expected that Samourai Wallet version 1.0 will launch soon (time of writing 2019-07-11), this version will have an APK download.

Bitcoin Only

Origin Story

It all started with this tweet.

I agreed completely, I am passionare about bitcoin, not scam altcoins which waste time, money and provide an additional attack surface for any product / service which dabbles with them.

I thought, wouldn't it be great to have a website which lists only bitcoin only projects!

That day I built

I got a great reaction on twitter with 45000+ Impressions.

I don't know how many pageviews the site has had because because I don't use any analytics tools because I respect my readers.

Update: I have since started using a privacy respecting self-hosted analytics solution called matomo

The site has been up for nearly 3 weeks now and I have been inundated with tweets and emails suggesting pages to add! I have been working through these and adding regularly so be sure to check out the site!

If you have any suggestions for additions I would love to hear from you, please tweet me or email me:

CoinJoin | Part I

This is a summary of the BitcoinTalk thread which 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.

Interesting to note that as of today (2019–04–06) no payment has ever been made from this address (except to consolidate funds when fees were low).

Historic Donation Address Balance (bitinfocharts)

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!

Part I ?

Yes, I am writing follow up articles which will dive into different aspects of this Bounty Thread and CoinJoin in general. The second article will summarise the projects which are mentioned below.

Follow me on twitter (@6102bitcoin) to be notified when I publish the next part.

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 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 coinjoin implementation (Sharedcoin) was availible by default in their wallet. It mixed both with other users funds and a pool provided by 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 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.


2014–02–02 'themgp' announced [33] development of a tool [34] called Coinmux in which peers communicate using JSON messages. Within 4 days it had been tested on mainnet [35] though it was soon found to be susceptible to IP snooping [36]. 10 days later (2014–12–16) themgp added a GUI [37].
2014–03–30 maaku asked when bitcoin would be distributed to CoinJoin developers [38].
2014–04–01 greg replied [39] stating that "Any payouts would need to be discussed with the other signers, but my thinking had been to pay most of it to to the most substantive complete and usable implementation, and partial amounts to smaller efforts".
2014–05–02 'caedes' posted [40] about darkwallet's CoinJoin efforts.
2014–06–06 'laurentmt' posted [41] in detail some thoughts on tx entropy and address identification.
2014–06–10 'justusranvier' posted [42] a link to coinjoinsoduku's announcement [43] that they were soon going to release a tool to de-anonymise SharedCoin tx's ('s CoinJoin offering). Indeed, the tool was later released [44]. The details are interesting but out of scope for this article.
2014–08–08 'bencher' posted [45] that he had coded a simple implementation of CoinJoin ('CoinJumble') and linked to the announcement thread [46] in which the link to the project's github page was posted [47]. Soon after he acknowledged that an electrum plugin would less likley to result in lost funds (with users not needing to manage exposed private keys).
2014–10–01 'dillpicklechips' posted [48] some links about CoinShuffle including a video explination [49] & GitHub links [50],[51],[52].
2014–10–30 Belcher posted [53] how to improve darkwallet's CoinJoin. His proposal was to 'Pay the coinjoin makers. They will put up offers to do coinjoin along with a fee they ask'.


2015–01–09 Belcher posted [54] a link [55] to his announcement of 'JoinMarket' as well as a link to the GitHub page [56].
2015–05–08 Belcher posted [57] an announcement that JoinMarket was live on mainnet.
2015–06–12 'Mexles' posted [58] a link [59] to his work on Compact Confidential Transactions which greg described as super exciting and important [60], though there was no code. A problem was identified by Andrew Poelstra which resulted in the proofs being less compact than initially hoped. I tried to follow the thread but it gets … complicated, see photo
TPTBneedwar lost me by this point [61]


2016–05–23 belcher posted [62] a link to his paper [63] on address closures and clustering. He also commented that he had reached out to theymos, pieter and greg 6 months prior requesting some of the bounty.


2017–12–12 greg posted [64] that the address had been consolidated to take advantage of low fees on the network.
# note. It looks like the BCASH in the wallet was moved on 2017–05–08.
2017–12–18 wintercooled posted [65] that he and Adam Ficsor (nopara73) were looking for 100 testers for 'an implementation of a Chaumian CoinJoin mixer and client wallet using the ZeroLink framework and HiddenWallet' [66],[67]


2018–10–17 nopara73 posted [68] that he was applying for a part of the bounty. He provided a very comprehensive list of all of the things that he has done to improve bitcoin privacy.
2018–12–25 RHavar posted [69] that he had created bustapay [70],[71]


2019–04–03 nopara73 posted [72] again and noted that he had not recieved a reply from theymos or greg (though he had recieved one from pieter). He hilighted that Wasabi had mixed 22941 BTC. He explained all of the updates to the software.
2019–04–06 '' posted [73] that he had got a reaction from theymos [74]. In the linked reddit thread theymos said - 'We've been discussing whether wasabi/joinmarket deserve some of the bounty. Personally, I think that wasabi does deserve some of the bounty.'


I hope you enjoyed this article.


[30] tx:218c78d6a215f9503787c6eaed7a2dd484d4448fca411846040b4363e9ee4269

QR Sketch App


It is very time consuming to hand sketch a qr code, though as we have previously shown it is possible, if you have approximately 1 hour to kill. I believe that there are occasions when it would be useful to be able to hand record a QR (more to come on this) - but unless it can be made an order of magnitude quicker (6 mins) it will never be used.

A simple idea for making sketching QR codes manually far easier. Simply split the 27x27 square grid into 9x9 squares, each square being composed of 3x3 smaller squares.


Use a phone app to display the 3x3 squares to be sketched, whilst also displaying the position of that square in the larger 9x9 grid and its coordinate (x,y).

Optional extra: Use a piece of card/plastic to reveal one square at a time.

Individual images

Shamirs Secret QR

Initial Idea

I expect that there is a chance that hand drawing QR codes might be an important tool for the bitcoiner of the future.

Shamir's secret sharing will be an incredibly important tool in the next few years. Splitting your private key using sss means that you can have strong guarantees of salvage when you need to retrieve your funds. Furthermore, by nesting sss schemes you can add further redundancy.

The obvious problem is how to get the shamir's secret's off the computer and onto something in meatspace.

Mnemonics are good because they are redundant - the first 4 characters are the only ones that matter and it's often easy to figure out what they are meant to be by looking at the whole word if a letter is smudged. That said, I don't think it will be easy to have mnemonics with sss (though I could very well be wrong).

If I am right, we will need to have an easy way to get data from the computer into meatspace and I think that this could be one easy way to do that with high reliability.
We humans are very good at pattern recognition and can easily check this kind of thing with very little effort

That is why I am interested in something that makes sketching QR codes far quicker and easier - I have had one idea so far.

Slice The Pie

What even is orange pie?

This dumb tweet inspired this short article…

"The carpenter can't run out of inches The stadium can't run out of points The airline can't run out of FF miles And the USA can't run out of dollar" - Stephanie Kelton


There is a common belief that the USA can just print as much money as it wants. Ignoring the complex nature in which money is actually created (debt, treasury notes etc) this is true, the USA can print as many dollars as it likes.


This is completely misunderstood by many to mean that the USA can buy anything it likes. This is categorically false. This misunderstanding comes from the fact that an individual acquiring more dollars sees his buying power increase, because those dollars come from his peers, and thus their loss is his gain. He does not increase the supply of dollars, he increases his holding of dollars. In contrast, when a country prints more dollars it is simply increasing the supply of dollars. This does nothing to increase the buying power of the country.

As a result of this misunderstanding, many people mistakenly believe that the USA can’t default on its debts.

“This is the United States Government … you never have to default because you print the money. “ - Trump

“The United States can pay any debt it has because we can allways print more money to do that so there is zero probability of default.” - Greenspan

Why doesn’t printing money help?

Money is a tool used to measure value. Like any useful measuring tool it should be reliable, if all else is constant then measuring the same thing twice should yield the same result twice.

Increasing the money supply effectively distorts the measuring tool. If you double the money supply then you will simply half the value of each unit of money.

Consider two pies;

Blue(berry) Pie | Orange Pie (wtf)

Blue(berry) pie is split into 4 equal slices, while Orange pie is split into 16.

Assuming that both pies are equally delicious (this is unlikely, apologies to any orange pie lovers) what is the relative value of a slice of blueberry pie to a slice of orange pie?

4:1 (A slice of blueberry pie is equivalent to 4 slices of orange pie)

Money is equivalent to the number of slices of the pie. You can slice the pie into more pieces, but the value of each slice will be worth less.

To complicate matters, governments have a tendency to continue slicing the pie while you are holding it! They call it ‘inflation’.

Remember, Money is a tool used to measure value. Like any good measuring tool it should be reliable, if all else is constant measuring the same thing twice should yield the same result twice.

Inflation breaks the reliability of money. A dollar 50 years ago would get you a whole lot more than a dollar today. That is because the value of the dollar has decreased, and it has done so due to inflation (printing more money).

Consider the policy of those who slice the pie you hold pieces of.

All illustrations by me, @6102bitcoin

Corporate Cash

Brace for impact, well financed PR campaigns promoting centralised voucher schemes as money are coming.

Educate friends and family about the difference between & Bitcoin.

Pull requests welcomed

Bitcoin Guide II

I am often asked for a recommended 'good bitcoin setup'. This is what I currently recommend:

Core Setup

1) Find old laptop & Buy 1TB HHD
2) Install Linux (wipe old data)
3) Set strong laptop password
4) Install wasabi wallet
5) Install bitcoincoreorg & start sync
6) Read FAQ's & Check Backups
7) Buy BTC -> send to wasabi
8) Mix on wasabi

+ Mobile & More Mixing

9) Download Samourai Wallet
10) Install Dojo
11) Install Whirlpool
12) Pair everything
13) Read FAQ & Check backups
14) Buy BTC -> send to whirlpool
15) Mix & Leave mixing
16) Spend from Samourai Wallet

+ Hardware Wallet

17) Buy from manufacturer
18) Ship to non-home address
19) Pay with mixed coins
20) Setup hardware wallet within wasabi
21) Check backup
22) Send mixed UTXO's 1 by 1 to new wasabi hardware wallet (randomise fee/time)
23) Hide hardware wallet

CoinJoin Fee Comparison

To comparing fees of different CoinJoin tools (Wasabi & Whirlpool for a range of pool sizes) I have made a python script.

CoinJoin Research Repo


CoinJoin Research is spread throughout many different repositories. Researching past projects, CoinJoin research and comparisons between projects is challenging given how disparate the information is.


To resolve this I have created a dedicated repository for CoinJoin research.

Not Your Keys

⚠️ DANGER ⚠️ - Not Your Keys, Not Your Coins

Owning bitcoin is knowing a private key which can be used to spend a bitcoin UTXO.

If any other person knows this private key, they could spend the UTXO.

For this reason, you must keep your private keys secure, and secret.

Scams & Frauds

Scammers have been attempting to take bitcoin from uneducated users for years. One way to do this is to give an uneducated user a bitcoin wallet for which the scammer knows the private key.

The scammer can simply sit back and wait for the uneducated user to send bitcoin to this wallet, and at any time they can send all the bitcoin to their own address. The most malicious scammers may wait months or years before stealing the bitcoin, ensuring they steal as much as possible.


Recently a kickstarter campaign has gone live for 'ballet', a product which purports to be a simple and secure way to hold bitcoin without any setup. This product is shipped with the private key & an address physically printed/engraved on the product.

Specifically there are 3 elements to the design;
1) An encrypted private key printed on a sticker.
2) A 'wallet passphrase' engraved on the product with a scratch-off sticker covering it.
3) A public address printed on a sticker, stuck on top of the encrypted private key.

Anyone who can combine (1) & (2) can spend bitcoin sent to the address (3), be this person the owner of the product, the CEO of the company making this product, a malicious employee or an outside attacker.

Don't Trust - Verify

The claim made by the manufacturer is that that (1) & (2) are not permanently recorded by the company, and thus the company can't steal your bitcoin.

This is not a claim that you can verify.

It is not possible for you, the user, to watch every step of every process for every device and inspect the code running on every machine and thoroughly check every room for hidden cameras.

It is not possible for anyone to do this, because it would require complete constant pervasive surveillance.

Even if the company is not intentionally planning to steal from those buying these products, they cannot guarantee that a malicious employee or an outside attacker has not compromised their process.

The product is sold under the false pretense that securing your bitcoin is a technologically challenging process which requires technical expertise and identity checks. This is NOT TRUE.

The Solution

There are many bitcoin wallets which can be checked against malicious injection of code designed to steal your bitcoin. Software releases are done in such a way that you can download a specific version of a tool and check that the hash of the file matches that which you have confirmed to be secure. Because many of the wallets listed are used by thousands of users & developers there are lot's of 'eyes on the code', that is to say that many people are watching the code changes to ensure that there is no funny business.

It is true that some users blindly download bitcoin wallets, these users are exposed to the aforementioned risk of using a wallet which has an insecure private key. However it is possible for users to check a version of a piece of software, to combine their efforts and verify that a certain version of software is secure. To track the changes made to the software over time to give reassurances that the code is secure for their use.

For this reason it is inaccurate to liken the risk of 'balet' being insecure with the risk of a software wallet being secure. The former can NEVER be provably secure, whilst the latter can.

Furthermore, there are actual bitcoin hardware wallets which are designed to allow you, the user, to generate, secure and backup your bitcoin private keys in such a way that you don't need to trust the wallet manufacturer (my favorite is the ColdCard).

Archive of Text from Balet WEBSTE

1. Using an offline computer, serial number, wallet passphrase, and intermediate code are generated in Ballet’s USA headquarters
2. Serial number and intermediate code are then electronically transmitted to Ballet’s office in China.
3. Afterwards, the BIP38 process is used to randomly generate an encrypted private key (EPK) using the intermediate code data.

The corresponding public key and coin addresses will be generated, along with a confirmation code, to be used for verification and additional checking afterwards.
This encrypted private key is secure data, which is only stored once, on a hard disk drive.

In China, this two-layer QR code sticker is manufactured using an offline process in a secure printing facility

The secure data is never transmitted to any external computers or system.
The secure data is transferred physically, on a hard disk drive.
Right after the printing process, the secure data is then deleted, overwritten, and physically destroyed.

The secure two-layer QR code sticker will then be securely applied to the hardware wallets, without ever revealing the encrypted private keys.

Once finished, the partially assembled wallets are sent to the United States for final production.
The confirmation codes are also electronically sent back to the United States.
This is for further verification to ensure that the encrypted private keys and decryption wallet passphrase does match up with the generated cryptocurrency coin addresses.

The hardware wallets and QR code stickers are verified and double checked in the United States according to their corresponding serial numbers.

The matching decryption wallet passphrase and serial number will then be laser etched onto the wallets.
A strip of tamper evident scratch-off material is then applied on the wallet, to cover the wallet passphrase.

Bitcoin-Only Github

229 Days after launching I moved the project to a dedicated GitHub repo and made it OpenSource under the MIT Lisence.

This had always been a long term goal, and I was delighted to finally be able to accept pull requests directly. Within minutes of announcing the news on twitter I had merged a pull request!

Going forwards this will allow the site to grow at a faster rate, with supporters of the project being able to contribute directly, rather than through DM's & emails.

The current workflow is as follows;
Those proposing additions/alterations to the project open an issue or make a pull request If it is a pull request I review it and merge it if it meets the requirements If it is an issue someone (myself unless someone else beats me to it) opens a pull request which is then assessed.
To Do:
Add an issue template to make raising an issue as painless as possibleAdd clear structure to the merging of code, particularly ensuring that there is time for discussion should it be required.

GTFO (Get The Fiat Out)

Going Abroad

Going abroad temporarily to a place with a different currency can be disorientating. You may struggle judging prices and clumsily convert back to your 'home' currency.

Living abroad you adapt and start pricing things in the local currency. You stop thinking in terms of your 'home' currency.

It's time to make the move to the internet.

It's time to think in bitcoin.


If you always use GPS you will never learn the route.

Start by reducing your reliance on external tools to understand the price. Internalising the order of magnitude relative to your 'home' currency is generally sufficient. The $ price of bitcoin does fluctuate significantly, and sometimes quickly, but this doesn't matter if you earn/buy bitcoin frequently because either you will be aware of this, or you will be unaffected.

Soon you will find that you don't need to convert back to your 'home' currency.

You'll have moved to the internet.

Leading the Way

At the end of 2018 the developers of Samourai Wallet removed Fiat from their wallet. They explained their rational a fantastic blog post, here are some highlights:

... In 2017 we noticed a disturbing trend within the wider community. Many news outlets, data providers, prominent persons, and innocent users started to refer to bitcoin transactions in USD terms instead of BTC terms ...

... We spent many hours a week in our support channels explaining to confused and concerned users why they had 8 USD yesterday and 7 USD today...

... We believe it is fundamental that our existing and future users understand that when they transact within the Bitcoin network, when they participate in the Bitcoin economy, they are transacting with the token native to that network, BTC, and nothing else ...

... We believe it is fundamental that our existing and future users understand that when they transact within the Bitcoin network, when they participate in the Bitcoin economy, they are transacting with the token native to the Bitcoin network, BTC, and nothing else ...

The Samourai devs are leading the way with their awesome mobile app for android. You can run your own backed with DOJO (completely bypassing their servers) & mix your coins trustlessly with WHIRLPOOL.

Bitcoin Fixes

I have been running a twitter account called @BitcoinFixes where I have identified a list of things which bitcoin will fix.

This list is available at

The site is on GitHub