When do you need blockchain? Decision models.
(Original post from Aug. 2016. More models added later in 2017, 2018 & 2019)
Let’s explore the decision models right away.
D. Birch Model
Ok this was a joke, but I like it. It is true that you don’t need blockchain per se, you need a solution to some problems that eventually could be a blockchain.
This is a good model that does not focus on the technology but on the distributed ledger concept, helpful to sort permissionless Vs permissioned ledgers out. Minor comment: it is not fully MECE because we could have a public network (“anyone can use”) maintained by a privileged group of validators (~Ripple), and private validators could be incentivized as well.
B. Suichies Model
This model introduces the differences between public and private. Corda is typically an inter-firm effort building an hybrid DL platform. Personally I think an intra-firm blockchain doesn’t make sense — if in the past you couldn’t solve the reconciliation of the data shared across your group, it means you have larger issues (IT architecture budget systematically cut, regulatory constraints, etc.)… probably a blockchain won’t help.
This model acknowledges that you need a “market” approach. But the step 2 should lead to “alternative approaches” as smart contracts can only manage simple business logic (lesson from The DAO). A strong need for privacy should also be dissuasive: do you want to share data or keep it private? Pick one.
A. Lewis model
I like the second question very much: “Could this have been fixed before blockchain?”. Blockchains are composed of existing pieces of technology (a bit of cryptography, a P2P consensus protocol and basic storage capabilities), so it is key to ask yourself why you couldn’t use these pieces of technology before.
My model (as of Aug. 2016)
Well I thought about creating a smart tree to decide whether one needs a blockchain or not, but I ended up with a questionnaire :-)
If you have 10/10, congratulations you might be building the next Bitcoin or Ethereum system! Now the less ‘ticks’ you have, the more trade-offs and customization you need and the less a blockchain is relevant for your business issue. Probably below 7/10 a blockchain doesn’t make sense — you might still try to build a shared ledger but don’t call it a blockchain.
Update Nov. 2019: my model was quite good, but I missed several key questions. Check the end of the article for more.
Karl Wüstl and Arthur Gervais (may 2017)
Good model here except that “blockchain” is not defined and it comes a bit late because that we are already far beyond the public/private permissioned/permissionles debate :-)
Morgen E. Peck model (Sept. 2017)
Published here. The first question is redundant with the whole decision tree.
DHS model (~end 2017)
Very good one from the DHS that I found on twitter. I don’t know the individual author. It is cited in this NIST document: https://nvlpubs.nist.gov/nistpubs/ir/2018/NIST.IR.8202.pdf
The only issue is that it does not ask the key question: “can you prove that a decentralized system (by nature more complex and more costly) is preferable to a central one?”
Cathy Mulligan (April 2018)
Very good questions asked in this model (especially the first 2 questions), however my view is that “a blockchain can’t do this efficiently yet” and “a blockchain may work, further research is needed” should both point back to “don’t use a blockchain” because shared write access and the distrust between contributors are two key features. Source: https://www.weforum.org/agenda/2018/04/questions-blockchain-toolkit-right-for-business
J. Gardner 2018
Interesting model even though it does not explain clearly the difference between a bonafide blockchain and a distributed ledger.
T. Koens & E. Poll 2018
Great model. I like the “Can you use a third party” which is one of the 3 killer questions, because in 99% of the business use cases, you could indeed use a third party (a consortium would be that third party for instance) to maintain and administrate the system. Check the end of the article below for the other 2 killer questions.
The model is published here. It tries to offer different types of databases as outputs.
Best model so far (Nov. 2019)
It’s simple and powerful, and the most accurate so far:
Look, it’s been 4 years and nobody found a convincing use case beyond cryptocurrencies. We can stop pretending. And no Ethereum is not a general purpose “world computer”, it’s clearly about programmable money. That’s fine: money is already a huge space!
The 2 main questions that every model forgot!
The reason why so many sophisticated models got it wrong is because they assumed blockchain was a technology, when in fact it’s not a technology but a design pattern:
Blockchain, or Distributed Ledger, means “not controlled by a single or small group of entities”
This is super rare and hard to do because 1/ there are not that many use cases where you actually *need* that. P2P money without authorities is the only use case so far. By design, if it’s controlled by a business, a consortium of businesses, or a government, you don’t need a blockchain. All the business & government-related use cases could work well with a proper governance, standards and conventional distributed solutions. 2/ it is hard to implement in practice, because humans naturally fall back to hierarchies and like to follow leaders. Bitcoin is a leaderless miracle.
So the 2 questions that everybody missed are:
- Is your software fully developed as an open source software project? NO -> you don’t need a blockchain
- Is the governance of the changes to the software decentralized, in the sense of “not controlled by a single or small group of individuals or entities”? NO -> you don’t need a blockchain. That means that the governance of the changes to the software must be painful and anarchic, else you don’t need a blockchain. It makes sense because if the governance of the system was efficient and policed, you wouldn’t need the complexity of BFT in the first place!