Imagine you’re a general, camped outside a fortified city with your army. Your army isn’t strong enough to take the city without help. But you do have help: camped on other hills outside this city are a half dozen more generals, with their armies ready to attack. Attacking one army at a time will fail; taking this city will require at least three or four armies, and an uncoordinated attack will leave thousands dead outside the city gates. How do you coordinate an attack with the other generals? Now, how do you coordinate your attack if one of those other generals is Benedict Arnold? What happens when one of the generals is working with the enemy?
This situation is a slight rephrasing of the Byzantine Generals Problem, first presented in the ACM Transactions on Programming Languages and Systems in 1982. It’s related to the Two Generals Problem formulated a decade prior. These are the analogies we use when we talk about trust over a communications channel, how hard it is to transmit knowledge, and how to form a consensus around imperfect facts.
This problem was upended in late 2008 when Satoshi Nakamoto, a person or group of people, published a white paper on the ‘block chain’. This was the solution to double-spending in digital currency. Think of it as having a digital thing that only one person could own. As a test of this block chain technology, Bitcoin was launched at the beginning of 2009. Things got more annoying from there.
Now, blockchain is at the top of the hype cycle. Every industry is looking at blockchain tech to figure out how it will work for them. Kodak launched their own blockchain, there are proposals to use the blockchain in drones and 3D printers. Medical records could be stored on the blockchain, HIPAA be damned, and there’s a blockchain phone, for reasons. This doesn’t even cover the massive amount of speculation in Bitcoin itself; thousands of other cryptocurrencies have also sprung up, and people are losing money.
The blockchain is a confusing thing, with hashes and Merkle trees and timestamps. Everyone is left asking themselves, what does the blockchain actually do? Is there an independent body out there that will tell me what the blockchain is good for, and when I should use it? You’re in luck: NIST, the National Institute of Standards and Technology released their report on blockchain technology (PDF). Is blockchain magic? No, no it is not, and it probably shouldn’t be used for anything other than a currency.
For more than a decade, I have been a huge proponent of blockchain tech. I invented Bitcoin and recently I brought the blockchain to IoT devices for an augmented reality gaming experience. Snark aside, blockchain tech is important because it solves a problem, and one that is at the core of trust and verifiability in computing platforms.
However, the NIST report on blockchain tech is overbearingly accurate. There is little reason to use blockchain as a solution. It is, in fact, a solution looking for a problem. But to understand why the blockchain is a silver bullet in search of a werewolf, you first have to understand what a blockchain actually is.
The NIST report describes blockchains as such:
Blockchains are a distributed ledger comprised of blocks. Each block is comprised of a block
header containing metadata about the block, and block data containing a set of transactions and
other related data. Every block header (except for the very first block of the blockchain) contains
a cryptographic link to the previous block’s header. Each transaction involves one or more
blockchain network users and a recording of what happened, and it is digitally signed by the user
who submitted the transaction.
That’s a lot of verbiage. Here’s a definition that I think is better:
A blockchain is a linked list where each item in the list contains data and a hash of the previous item in the list. Appending to the list requires agreement by the majority of users.
That’s a fairly simple explanation. It doesn’t have anything to do with ‘ledgers’, a bonus because I have no idea what accountants actually do. It defines the blockchain using existing computer science paradigms. Its brevity belies its accuracy; it’s very hard to actually fault this simple definition for being inaccurate.
Besides defining what a blockchain actually is, what are the applications for a blockchain, and what does NIST think about them?
Instead of telling you why you don’t need a blockchain, the NIST white paper has a helpful guide on what makes a good use-case for a blockchain. If you have many, distributed users, a blockchain might be a good idea. If there a desire for a lack of a trusted third party, blockchains could work. If there is a need for a decentralized naming server, or a need for a cryptographically secure system of ownership, a blockchain might work. But there are caveats.
Take, for example, any one of the number of startups that want to reduce the cost of mailing or faxing medical records between doctors. They’re using a blockchain. This is a dumb idea, because medical records are covered under HIPAA and need to be kept private. Harry the HIPAA Hippo will be enraged when he finds his medical records available to everyone with access to this blockchain.
Another example. Let’s say you’re an electronics manufacturer, and you want to catalog the serial numbers of all your sub-assemblies and finished products. This is an admirable goal; more data means better process engineering. If you find a lot of warranty claims on products that have a subassembly manufactured after April 14th, you might want to figure out what changes were made to the production line on that day. But do you need a blockchain? Probably not. Databases exist, and there’s really no reason for anyone else to have access to that data.
But the future of the blockchain isn’t entirely bleak. There’s one use case where it excels — proving ownership of digital goods, like cryptocurrency, or Bitcoin, or Dogecoin. This can even be extended to proving ownership of digital lands or items; think of it as an unhackable City Hall in Second Life. This was the original intention behind the blockchain, but the hype has grown to unreasonable proportions. It can’t be applied to everything, and doing so is a waste of resources. For all those asking, ‘what can a blockchain do for me’, the answer is just cryptocurrency, with few exceptions. For everything else, just set up a database.
Cryptocurrency… Yup, the primary usage of blockchain is enable you to pay the ransom and hope you can recover the content of that HDD you didn’t back up…
What’s with the reference to the Byzantine generals problem at the top? Blockchain doesn’t solve it– one general may have much more compute or stake, allowing them to deceive or cause the consensus protocol to fail.
Exactly. All the sophistry of explaining the Byzantine generals “problem” again and again doesn’t hide the fact that cryptocurrency is NOT immune from centralization or trust issues. The hardware still exists in meatspace. It’s still horrendously expensive and power-hungry. Thus it naturally concentrates into the hands of traditional pre-existing power structures. The whole market is corrupt as shit and insanely manipulated. Bitcoin solves nothing–it’s yet another out-of-control monster created by software engineers caught up in the arrogant delusion that they are the ones who can save the world. There’s a lot of those lately. All the fans will say I’m spreading FUD. If you respond to every criticism with that kind of newspeak, you’re in a cult.
Where the fuck are all the dapps?! I mean ones that are actually useful and have a real advantage over their vastly more performant centralized alternatives. Not ever more proofs of concept and toys.
Hmm, interesting threads and your comment tgt provokes another issue/strategy for later however, in the meantime one wonders given the linked list paradigm well managed of course, whether it’s worthwhile/practical or even ethical/illegal in terms of negative consequences too to scan dumped storage devices to scan and attempt snatching accidentally discarded Bitcoin wallets or any other crypto currency – surely it could or rather should be fully protected against that rather definitively yes/no/maybe ?
Well perhaps not immediately until determined a snafu has occured impinging on someone else’s valid ownership but, it should surely crop up sooner rather than later as in before Bitcoins converted and redeemed in a nation’s currency…
It’s funny, there is a strong correlation with my commenting on hackaday with preponderance of inept low IQ questions directed at me through my quora profile, some are hilarious easier to ignore than taking trouble shooting fish in a barrel and most not annonymous either lol ;-)
The only solution for the Byzantine generals problem:
Make love, not war!
:o)
Is the need to compute unnecessarily complicated math problems a property of the blockchain, or just bitcoin?
Just bitcoin, there is a new Consensus Protocol, which uses minimal CPU and minimal network bandwidth, search for “Snowflake to Avalanche: A Novel Metastable Consensus Protocol” in your search engine of choice for the paper or watch this video https://www.youtube.com/watch?v=AXrrqtFlGow
Which currencies use this protocol?
None, as the whole point of bitcoin-like currencies is artificial scarcity brought about by changing the difficulty of creating them. Reducing the computational intensity would collapse the market through inflation.
Also, look for “proof of stake” – a consensus protocol that doesn’t require computing. There are currencies using it, like DASH.
Hmm, lets perhaps read the article shall we? Lets say you’re a general, camped outside a castle with another general. How do you decide which “stake” of each general is more important? If you work together who gets the castle? You could say well because obviously you a the general with nicer garb then the castle should be yours. Thus “proof of stake” is not decided on math. It is on a conception of a central group decision. It does not solve the double spend problem. It is not the blockchain. Its ridiculous and blatantly shows how ignorant and just dumb high level computer experts, and people involved in this un-based mathematically false internet spam technology space are. You can make your central DASH currency, and then whatever is the decided “proof” of computation, a large server farm, ie. the endless other generals, should compute and sign it all under their keys.
None (yet).
This is impossible to achieve. A blockchain system, is a decentralized public ledger in which nodes are signed together with previous nodes as a ongoing ledger. A blockchain relies on generating and signing encryption keys in order to lock the content. If any system aims to sign the system with a level of computation that is, practically, anywhere under the level of “unnecessary” then the systems main goal ie. being a decentralized, public ledger would be significantly flawed. Coins that claim to be “proof of stake” have not been vetted even close to the completeness that bitcoin has. A blockchain system is made and currently only exists, completely (ie. solving the double spend problem), in the state that the people who would put effort into breaking it are instead rewarded more for “mining” it. Any other system that claims some divergence from the idea that effort to break it is less valuable then the reward for solving the math problems is essentially not a blockchain (as this is what solves the double spend problem). “proof of stake” and others are central decisions being made by possibly proprietary systems, that could behave any way they like, pushed by smaller groups that believe because they aren’t banks, then it just counts as “decentralized” and they can make up whatever rules they like and call it the “blockchain”. And yes people, even high up tech people, Brendan Eich, Vitalik Buterin, really are this delusional.
Am I the only person left that is infuriated by every use of the word “blockchain” as a singular noun without a preceding modifier?
It’s a cult. It’s a religion. It’s not ‘a’ god, it’s just God. ‘Our’ leader isn’t telling us to drink the flavor-aid, ‘the’ leader is telling us to drink the flavor-aid.
Blockchain is a part of computer science. You do not say “an artificial intelligence” or “a Big data” when you talk about them as a scientific concepts. But you do, when you talk about specific implementations. Same with blockchain. – “Blockchain is everywhere. In Ethereum, contracts are stored on the blockchain”.
Yes but don’t feel lonely, there are plenty of enraged people out there that you can hang out with.
“But the future of the blockchain isn’t entirely bleak. There’s one use case where it excels — proving ownership of digital goods, like cryptocurrency, or Bitcoin, or Dogecoin. This can even be extended to proving ownership of digital lands or items; think of it as an unhackable City Hall in Second Life.”
Think digital goods will soon be able to be treated like their physical brethren? Sell, loan, destroy? No more piracy because ownership is easier to prove?
The prevailing consensus is still “guilty until proven innocent” if you ever get caught with files you downloaded off the web. It’s just a matter of whether anyone bothers to drag you to court.
“Owning” digital goods is entirely meaningless. It’s like “owning” a window – not the glass or the frame, not even the bit of wall surrounding the window, but just the hole. How will you distinguish yours from any other hole of the same dimensions, to say this one’s yours and that one isn’t? That’s what virtual property is – it’s abstract concepts, like someone owning the alphabet or the color blue. All you can do with a blockchain is prove that someone wrote down “I own this” in the ledger, but whether that actually means anything is a matter of debate.
If you really get all the way down to where the rubber meets the road, the concept of intellectual property itself is utterly absurd and at odds with the fundamental nature of human thought. But hey, don’t think about that! We gotta buy things!
Regardless of our feelings on the subject, Coca Cola Red and Reese’s Orange are both trademarks, at least in the US.
Trademarks are one can of worms, but even they don’t mean you really “own” anything. You actually have to keep suing people for using your trademarked color, or you lose it.
I’ve got a startup looking for angel / VC we will be… uh… Blockchain, 3-D printing, IOT, big data, cryptocurrencies, mobile apps, AI, VR, UAS, the cloud, the sharing economy, the maker movement, and we will be a defense contractor. We have hired no engineers or scientists but we have 5 industrial designers who will continuously iterate, rapid prototype, and render designs of the product while I, as the CEO, CFO, COO and CTO siphon away funds until the IPO. Our valuation depends on how many other people you can convince to join our pyramid scheme.
And the cycle continues… http://dilbert.com/strip/1999-01-13
stealing…
Meanwhile, GIT users everywhere are rolling their eyes anytime someone mentions blockchain…
Totally. Distributed version control is the best metaphor for this because it’s the same damn problem. The layers on top are application specific but the lower level is much like git. Or, for that matter, chaining block ciphers used for encrypted tunnels and whatnot, but applied to a public key system rather than a symmetric secret session key as the chaining block ciphers of IPSEC do.
what can the blockchain do for me ? Render all world governments and financial regulatory organizations powerless?
Better than “what can brown do for you”?
You could say the same thing about terrorism. However there are more important and complex components of the world out there then setting on tearing a few long standing infrastructures down. It also does not render “all governments financial regulatory” powerless as it is still of form of governing and financial regulation. It is all left to how many computers you can fit in your house. It gives the power, or large amounts of money, which is already happening, to a very few, certainly not equally, individuals who will will of course will want to keep their position of having more then everyone else, as will everyone else attempt to gain more then them, however futile of an effort that may be.
It is not a new cycle, the only thing that worrying in this technology shift, is that you, and other dont seem to make these very simple connections, and whatever technology we use, there will still be people as dull and disconnected from reality as you.
No
You must have heard the NPR bit on how blockchain will save the environment and lower carbon emmisions…. In reality it was a company trying to pedal blockchain accounting software to track companies carbon tax and credit…. not really a direct benefit, just accounting software
From the top of my head, blockchains could replace notaries, and generally simplify or automatize many accounting or bureaucratic procedures. Wherever you see “paper trail” mentioned, there is a fitting place for blockchain application. If you worry election results are being manipulated, apply blockchain.
Multiple redundant database servers with votes transmitted over private / public key encryption, each server with a separate key, would work just as well for vote tallies. An election doesn’t fit the “Are the entities with write access having a hard time deciding who should be in control of the data store?” test. Although there’s no reason it couldn’t be used, this seems like another case of trying to fit a solution to a problem.
Proof of Work is the problem with modern blockchains. Cipher Block Chaining has been around since the mid-70s, and then there’s the more recent adaptation to it, git, which solves everything most people try and do with their VC-backed “blockchains”…
“Lack of a trusted third party” is really the big deal here. It sounds like a minor issue, but law is a huge industry that entirely focuses on being a trusted third party, and the same goes for any bureaucratic system. There are serious caveats to interacting with meatspace, as the article mentions, but currency is far from the only good application of blockchain technologies.
I am pretty quick to say “are you sure you need a blockchain for this” when looking at any given proposal – but possibilities abound.
Could blockchain be used to verify whether media (e.g. politically sensitive news footage) has been tampered with?
It could also just as easily be used to manipulate that footage and verify that is un-manipulated. A “trustless” source is not a public source, the public has many biases, give the power of “verification” to the wide public you will most likely not get the truth. That goes for whoever is rewarded for “signing”, or “verifying” this system. A bitcoin isnt “verified” as a bitcoin, it just is, its easier to mine then it is to hack. Verifying footage is not the same concept, footage isnt just a coin, attacking whether that media is valid or not has can not, or should not, really be a mathematically generated answer, and pretty much not left up to the wider public to decide.
No
Blockchain introduces trust. Old systems, which are now fully obsolete and arguably useless, lack this vital trust.