Since Bitcoin first rose to public awareness in the early 2010s,cryptocurrency enthusiasts have predicted a new world order. Central banks would fall away to be replaced with a consensus currency arising almost magically out of a worldwide network of independent computers, each transaction indelibly carved into the blockchain. The blockchain, immutable and permanent, stretching back in time to the genesis block, and growing, every few minutes, one block at a time, is, they say, the answer to all our economic ills.
And not just our economic ills: blockchains, perhaps running some kind of smart contract have been proposed as solutions for insurance markets, music distribution, land registries, voting, distributed file archiving, provenance of artworks and antiques, domain name resolution, human resources records, cross-border customs clearance, and more.
In this session, we’ll have a look at what a blockchain is - how they’re implemented, and why they can indeed claim to be immutable. We’ll examine different consensus mechanisms, and how they allow new blocks to be formed without a central authority. That will lead into an overview of transaction mechanisms, and smart contracts. We might even write and a deploy a little smart contract of our own.
Into Snake Oil
Alongside establishing a baseline understanding of what blockchains are, we’ll also be looking at why they’re terrible.
The distributed nature of public blockchains purports to allow us to trust data produced by unknown and, indeed, unknowable third parties. This may not be the case, and if it isn’t you might never know. Blockchains are permanent and immutable, but is this feature or misfeature? While the ideas behind blockchains are all frightfully clever, is a blockchain basically a database with slow reads, really slow writes, and generally awful data throughput? Are they, in fact, ill-suited for many of the applications they are pitched to solve? And if you thought multi-threaded programming was hard, that’s just peanuts compared to smart contracts. Maybe we’ll also get a bit existential and consider whether a blockchain can die, and what happens if it does.
After all that doom and gloom we’ll try to end on a small positive note, with a brief look at a project which I believe is a good fit for a blockchain solution, and which might even make the world a slightly better place.
I presented this session at this year’s ACCU Conference. It’s always a good programme, but this year’s was just ridiculous, so it was a really privilege to be accepted. I’m reasonably comfortable giving a session, but I was scheduled in one of the larger rooms for the first time. You’re presenting from a stage in front of a massive screen, the room lights are down and they are spotlights in your eyes. I did find it a bit daunting. I tend to walk around and wave my arms around while I’m presenting, and I was more than a little worried I’d fall off the stage. (This was so apparent to one of my 'friends' they told me afterwards they had their phone primed and ready to capture the moment if I did.) I also cocked my timing up rather.
The talk is in two chunks. The first half is a pretty straight ahead description of the technology of cryptocurrencies. The second half looks at what a disaster cryptocurrencies and blockchains are in practice. I honestly tried to keep to time, but as I wrote new examples just kept coming up. I ended up referring to a series of events that had all happened within the past 10 days, some as recently as the day before. (And, if I’d be scheduled on the last day of the conference instead of the first, they would have been overtaken by an entirely new set of events.) So, I probably should have reigned that in a little, and I ended up skipping over some bits and dropping the small positive note I’d promised. None the less, I enjoyed doing it and it seemed to go down well. And the rest of the conference was just great.
Slides with notes - it’s a reveal.js deck, so press 'S' to get the speaker notes without which the slides will make no sense at all.
The Very Slow Time Machine - an earlier talk I gave on the small positive note
Articles and news reports I used for background research. A veritable cavalcade of knavery and nonsense