Bitcoin in Practice (Part II)

‹ Back to Part I

Technical considerations

Bitcoin is called a cryptocurrency because the network on which it runs relies on public key cryptography, a technique that allows people and systems to communicate securely over a public, insecure channel such as the Internet. In the future I will come up with a more thorough explanation of public key cryptography, and what its possibilities and limitations are, but for now a simplified model of how Bitcoin works is probably enough to understand its basic operations (Edit: You can read Part I of my intro to public key cryptography here).

Let’s start with the network. The Blockchain is a ledger that records all ‘transactions’ (think of them as records of form “Alice gives Bob 30 dollars”). There is no central location where this ledger is kept, rather it is distributed among all users on the network (this is not quite true – as I will explain further below) and its contents are verified independently by numerous ‘nodes’, more famously known as miners. In order to make adding spurious transactions to the Blockchain difficult, each block contains a reference to the previous block, so that in order to alter one block in the chain, you would have to modify all subsequent blocks as well.

In addition to this, miners have to solve a mathematical puzzle each time a block of transactions is to be added to the chain (‘confirmed’). When multiple miners come up with different versions of the blockhain, the one with the most work done is considered the most trustworthy (this consensus-reaching mechanism is called “Proof-of-Work”[1]). Solving the puzzle is computationally expensive in such a way that essentially it becomes pointless to try and add forged transactions to the ledger, because the price of equipment needed plus the electricity bill would be higher than any possible gains. This puzzle becomes harder and harder to solve as the Blockchain grows, thus keeping up with computing power increases. Legitimate miners still perform the necessary work of confirming blocks because, when successful, they are rewarded with some Bitcoin that is created by the network itself – this is also how new Bitcoin is introduced into the system (hence ‘mining’).

Each Bitcoin user has two pieces of information that they absolutely need in order to perform any transaction, called a ‘key pair’. These are essentially very large, mathematically-related, unique and random numbers that cannot be deduced one from the other. A user needs the ‘public key’ so they can receive Bitcoins, and the ‘private key’ in order to initiate and ‘sign’ transactions, essentially proving that the transaction was not altered after it was created, that it could only have been them that have initiated the transaction, at the same time preventing them from claiming they have not in fact initiated it. They can share the public key with the entire network, but must keep the private key hidden or else risk someone else spending their Bitcoins, as whoever has it is, in essence, able to do all of the above.

Bitcoin Wallets

In order to ‘own’ any Bitcoin, you must have a Bitcoin Wallet. This is the case regardless of the method you use to buy Bitcoin, though if you purchase through an exchange, some also offer an integrated wallet. For most people it’s probably more convenient to rely on an exchange, but it is better to also have a dedicated wallet, and there is a number of them available for all major platforms. Of these, a large proportion are free and open source software, which is always great to see. Such a wallet is likely to offer quite a bit of other functionality as well, but its primary function is to securely store the key pair discussed above and act as a communication gateway with the wider Bitcoin network.

Once you install a wallet for the first time, it will generate a new key pair for you. The public key will become the ‘address’ of your wallet that you will use to receive Bitcoin. In order to protect your private key, the wallet will initially show you a recovery passphrase consisting of a number of plain-text words, usually 12. These should be written down on a piece of paper and stored in a known place – if you lose these, you won’t be able to access your Bitcoins anymore. Every once in a while one reads in the news about some person or other that lost their passphrase – consigning their often considerable Bitcoin fortunes to oblivion. There is no customer service or password reset, you really are the only one responsible for this!

The basic operation of the wallet is quite simple and very similar to a traditional banking app. It shows you the balance (many wallets allow you to store multiple cryptocurrencies in the same place), exposes your BTC address, and allows you to send it to an address you specify.

The most convenient platform to use, at least for me, is a smartphone, because all these operations can be done via an integrated QR code reader. For instance, you can receive Bitcoin by scanning a QR code of your public key, and send Bitcoin by scanning a QR code of the destination wallet’s public key. It’s very easy and convenient, especially if you do transactions in person or via an ATM, or make online payments via Bitcoin. I recommend the BRD Wallet, sometimes also known as the Bread Wallet, which supports all the features enumerated above, and more, such as the ability to exchange Bitcoin in-app for other cryptocurrencies, as well as earn rewards in its proprietary cryptocurrency, the ‘BRD Token’, if you are into this kind of gamification.

The greatest advantage of a standalone wallet however is the fact that, in most cases, you are not asked for any kind of ID. You just install the app and that’s it, you’ve got your key pair, and can start using it immediately. In fact, most apps do not ask for any kind of information that might link your public key to you. However bear in mind that this is not bulletproof anonymity – each device on which you install the wallet has its own unique digital fingerprint that could in theory be linked to you, albeit not as easily or directly as your account having attached a picture of your national ID or passport. I am currently looking into ways to mitigate this. For instance I am thinking at the moment about coming up with a live-cd no-persistence VM setup as a means of reliably and portably storing a desktop wallet, though I feel this negates some of the convenience features of smartphone-based wallets. We shall see how it goes.

The biggest downside of a standalone wallet that I have run into are transaction fees. Though these are calculated by the network based on your wallet balance, number and volume of transactions, etc. and usually the app provider does not actually get a cut, these are still significant. For a recently-created wallet having a low balance, they might be very high (I have observed a mean of about 30% of the transacted amount), even prohibitively high for usability. There is, however, a way to lower these.

Because the original designers did not expect the Bitcoin network to become as popular so quickly, scalability of the network already became an issue around 2016. A secondary payment protocol was built on top of the original network by third-party stakeholders, and in 2017 updates were made to the core network that allow individual nodes to ‘upgrade’ to the new protocol, christened the ‘Lightning Network’, thus enabling faster transaction times and lower transaction fees. Most wallets, including BRD, support this new protocol as well, and you can enable it in settings (it’s great that they leave you the option to use the ‘legacy’ protocol too).

The other, more subtle issue with the wallet is that it isn’t really a full Bitcoin network node – it does not actually contain a full copy of the Blockchain. You have to consider the fact that at the time of this writing, the Bitcoin blockchain is over 330Gb in size [2]. There’s no way your smartphone is going to download and store an app that huge, so the architecture most wallet apps adopt is a thin client – an app with UI and some logic that you install on your device – which in turn connects to an actual full node. The question here is, as you obviously have to trust this third-party – are you truly in control then?

Ways to buy Bitcoin


There are numerous ways available to buy Bitcoin, but the most common (and safest) are via exchanges and Bitcoin ATMs.

Exchanges are online broker-like applications that offer a host of functionality, more intuitive UI and usability, have reasonable prices and usually automatically create a wallet associated to your account. But this comes at the cost of privacy, which you have to give up since most ask you for actual legal ID like a national ID card, driver’s licence or passport, as well as a valid credit card. Some mainstream examples are Binance and Coinbase. I am not much of a fan of exchanges and have limited experience with them.

Bitcoin ATMs are overall the most straightforward way to buy Bitcoin, though they might not be an option for you, depending on your geographical location. In Romania they are quite ubiquitous in shopping malls, although I haven’t seen them as much in other places. They are also a decidedly expensive option as they are installed and maintained by who knows who, and offer arbitrary exchange rates in favour of the seller, in addition to charging transaction fees. The procedure to operate one is also not very intuitive because it depends on the model of the ATM (there are at least 3-4 kinds I’ve seen), but usually involves selecting the options you want on the screen, scanning your wallet address (you can print out the QR code of your desktop wallet on a piece of paper, or scan the screen of your smartphone, etc.), then inserting cash into the machine.

Some machines have a minimum amount of money you have to insert (for instance the pictured ATM asks for the equivalent of at least 21 EUR), and after feeding the bills you have to confirm the transaction by scanning the receipt shown on the screen or printed by the machine. Such a transaction can take up to a couple of hours to confirm, so this is not something you can do on short notice. It is also quite unnerving to have inserted a considerable sum into some random machine, and having to wait around until the funds appear in your wallet. Another use case for the Bitcoin ATM is scanning the address of the final recipient of the Bitcoin directly in order to skip losing money twice – but that can become even more wasteful because of the minimum transaction limitation. Remember also that the amount of Bitcoin the ATM has is limited by the allocation made by the maintainer.

It seems to me that mainstream online exchanges are geared more towards the amateur-stock-player/sports-betting types, with the same kinds of colorful dashboards, gamified interfaces and social aspects, while Bitcoin ATMs are more suitable for people who just need a certain sum of Bitcoin for one-off transactions. If you are interested in experimenting a little bit with Bitcoin, using small sums (10-50 EUR range), it makes more sense to use an established online exchange, but, especially at the beginning, instead of trying to take advantage of short-term volatility to turn a quick and relatively large profit (though that can be fun too), it would make more sense to do small deposits over some time. Though much less exciting, it is almost certain this will result in an actual profit over longer periods of time.

This is not something I think would work with ATMs, because they are inherently a more expensive and less flexible option. Where ATMs excel however is anonymity – they won’t ask you for ID or anything else. In conjunction with a similarly-private wallet, they can make transactions much more secure, though because they seem to be large, complex and rather expensive machines, I am pretty sure most will be under surveillance by at least one security camera. With COVID upon us and masks mandatory I doubt such footage is of much use (though, truth be told, with the gait-recognition technology available today, this assumption might too be a bit too optimistic), but it’s worth keeping in mind if you are truly interested in maximising your privacy.

A furhter way to buy Bitcoin, which I urge you not to try, is via fintech banking apps such as Revolut, which seems to be very popular in Romania. While great for overall banking, this app has recently been offering crypto exchange services that are in my opinion more than a little bit dishonest, capitalising on crypto’s popularity and recognisability as well as people’s general ignorance about it. Revolut does not actually implement a wallet – what it does is it holds on to Bitcoins on your behalf in its own wallet, all the while establishing an arbitrary exchange rate. In addition to this, I believe you cannot actually spend the money except in order to purchase other currencies, which to me is a rather marginal use case.

Even more hit and miss is buying from people you meet in person, mostly because they might demand an arbitrary exchange rate or propose all sorts of dubious deals. You also have no idea how they got it (it might have come off a compromised wallet or from illegal activity), and Bitcoin transactions are very easy to track, even if they can’t ultimately be linked back to you personally, at least not easily. To my knowledge this is not a feature provided by the network itself, but there are online databases where compromised wallets or wallets involved in criminal activity can be reported, searched, the owner found etc. Do you really want to have a wallet flagged as involved in something shady?

Final thoughts

It feels as if even at the level of everyday usage there are issues with the high promises of Bitcoin. The promise of a decentralised, peer-to-peer currency is undermined to some extent by technical concessions made to everyday usability and scalability. The promise of no central authority is in part undermined by the same technical restrictions, in part by the geographical and institutional distribution of network nodes (the mining business is, for instance, dominated by a few large companies – and we haven’t even talked yet about China’s ASIC farms, or the 51% attack, or the ‘whales’ dominating the crypto market), and in part by end users' reliance on intermediaries such as exchanges. Its democratic promise is also undermined by the relatively high cost of entry and high risk of loss, and there are very real and compelling practical obstacles to widely using Bitcoin as intended, as a less-trackable substitute for cash.

Bitcoin’s utopian promise was undermined by its own success in the here and now.

It has become just another commodity among many increasingly exotic commodities, albeit a very popular one that also excites a pseudo-techno-utopian impulse rather than a purely financial-mercantile one (although it seems to me that all such impulses resonate most consonantly with that more primal, gambler’s impulse).

Does it mean Bitcoin is ultimately useless and worthless? Far from it. It is indeed useful for certain people, both as an idea and as a commodity, and for certain use cases, which we will discuss shortly. As to its metaphysical and ideological mystifications, there is much to say too. As a technical tool, unit of exchange, repository of value, or even as a plaything, it can still be made useful, even to you and me. But is it the world-liberating, individual-freeing, market-unleashing libertarian wonder weapon against government intrusion that it has long been chronicled to be? Probably not.

To Part III ›


  1. Proof of Work
  2. Bitcoin Blockchain size