[Review] Mastering Bitcoin (Second Edition): Programming the Open Blockchain
In this article I will review the book "Mastering Bitcoin (Second Edition): Programming the Open Blockchain" by Andreas Antonopoulos. This book provides a good introduction to Bitcoin with a lot of technical depth. I would recommend it to anyone who wants to understand the technical aspects of Bitcoin and blockchain technology.
Obtaining the book
The book can be found for free: Mastering Bitcoin
Or you can purchase a paperback or kindle version from Amazon: Mastering Bitcoin @ Amazon
FYI, I went with the kindle version. I'm happy to pay for a copy and outsource the hassle of storage / availability to Amazon. In addition, the free version didn't seem to come as a properly formatted PDF (perhaps I didn't try hard enough?) and I prefer to read on my kindle as opposed to a laptop screen however feel free to consume as you please.
Summary
This book covers the technical aspects of Bitcoin. It says almost nothing about economics or price. There is, of course, an explanation of the security of Bitcoin as it relates to mining and "cryptoeconomics".
While I've been following Bitcoin for years and have a good understanding of it I was curious to read this book and see if there was any extra insight to be gained. I enjoy reading and have written many book reviews before (many of which are on Amazon). Moreover, I want a good book that I can recommend to friends or other people who want to get into cryptocurrencies / blockchain technology. While there are a good number of websites, each of which providing good insights in chunks, I've yet to find a comprehensive website which explains everything from the fundamentals. Once people can understand Bitcoin they can go on to learn the about the other projects and then attempt to critically evaluate them.
I think this book achieves that goal. It is concise and covers all of the fundamentals of Bitcoin. If you are able to read all the way then you will have a deep understanding of how it works. Bare in mind that I've been following this space for years so there is a chance that my take on this is biased. there is a risk that others with a different background will disagree. Before I purchased I took a quick skim across the free version to see if it looked even vaguely promising (which it was).
Andreas blends technical explanation with real examples, diagrams, snippets of code, as well as suggesting how the technology can be applied. For a technical reader this feels like the right mix of contents to explain the fundamentals in such a way that it is clear and concise while also being backed up with technical detail. Many websites attempt to explain Bitcoin using analogies but fall short because they have little to no technical details. Programmers will ultimately want to go into greater depth, but I think this is a reasonable start. Those with a less technical background can skip the code snippets and work through the explanations without review those. The code adds flavour but it isn't necessary for the reader to read and understand every line.
I look forward to his next book: Mastering Ethereum.
Contents
The following is a brief outline of the topics presented in this book. There are a great number of topics so I will try to brief in my summary below.
Wallets
Andreas covers what a wallet is and provides an overview of the the different types of wallet which are available. He also covers address types and their construction (which by necessity means he covers what the concept of public and private keys as found in Bitcoin.
Transactions
One of the most fundamental pieces of Bitcoin is the existence of transactions which are in essence the whole point of Bitcoin. The author covers key concepts such as locking and unlocking scripts (how Bitcoin works and why it is programmable). He also covers the UTXO concept which many won't know about (it isn't in the Bitcoin whitepaper but it is covered in the Ethereum whitepaper). Additionally, the author also covers multi-signature transactions, timelocks, plus scaling issues and fixes (including SegWit (Segregated Witnesses)).
The Network
Learn about the different node types, how node discovery is performed, and how that leads to a node obtaining a full history of transactions.
The Blockchain
Perhaps the most fundamental piece of all. Here the author explains what it is, and what structure it has. He covers basic concepts such as headers, genesis block, blocks linked hashes, as well as merkle trees & transaction integrity.
Mining & consensus
No book on Bitcoin would be complete without an explanation of mining. Naturally, the author covers Proof-of-Work and the reward for mining (coinbase transaction). He explains how/ why this keeps Bitcoin secure. If you've also wondered about mining pools and how they work, that's also covered here.
Bitcoin security
How to secure your bitcoins. Part of this covers hardware wallets.
Suggested applications
Coloured Coins, payment channels, Lightning Network (payment channels (via timelocks) with routing equivalent to onion routing).
Cross-posted to Amazon: https://www.amazon.co.uk/review/RWDIBWDXDCIWW/ref=cm_cr_srp_d_rdp_perm?ie=UTF8&ASIN=B071K7FCD4