I’ve described the reasons behind the blockchain hype, its consequences, and strategies on how to actually successfully implement this technology in a previous post. I receive requests to implement blockchain projects every day. However, quite often I feel that blockchain is not needed at all. There are other types of architectures available and Blockchain — with native coin and very desired ICO :) — is only one of them.

Problematic

Blockchain, defined broadly, is a mechanism for reaching consensus regarding the state of a shared database between multiple parties who don’t trust each other. But, it is needed only when it manages a scarce asset (something with zero-sum property — if you have it, nobody else can have it). Paul Sztorc did a very good overview of this concept here. I’ve made a try to enhance and extend his model in this post. So here is “The Big Four” of scarce asset (but maybe there are more!):

value — money, shares, bitcoins, contracts, land title, etc identity — naming, PKI status in a hierarchy objective history of facts — provenance, voting

It is not relevant for the purposes of this discussion whether permissioned or permissionless (as well as public or private) blockchain is used. Also, consensus type is not important as well. These things are dependent on the environment within which the system operates. For example, if a project deals with a fully regulated asset, miners (below I will use word “validators”) have to be licensed. I have a model that describes these criteria and answers the question of when a project needs native coin and which consensus/incentive/punishment scheme is applicable, but that will be presented in the next post.

When project doesn’t need blockchain at all

On the other side of the spectrum lies the open network model of handling information. The open network model consists of many information creators and consumers (could be buyers and sellers) that are not related to each other. Blockchain limits the ways in which the users interact, i.e., they have to follow certain predefined rules. Users have to wait for confirmation from all the validators. So, blockchain is not a p2p network in its full meaning. One example of open network is the cloud computing market — there are multiple providers of such a service, they compete for the customer, and they don’t need a blockchain to record events or select providers (although it would be convenient to have the same APIs in order to be able to switch between them on the fly).

Examples of problems that don’t need blockchain directly:

cloud storage market

micro jobs market

healthcare records management

media content management

internet of things

web-of-trust (different from PKI!)

cybersecurity

Many will not agree with this, but the criteria is the same — if you believe that IoT needs blockchain, ask yourself “For what reason does it need blockchain?” The answer will likely be “for identity and payments”. So, the result will be that an efficient identity and payment solution is built, and the IoT uses it. I will provide more examples below.

Fifty shades of grey

The community also came to a conclusion that different blockchains need to interconnect and work as a heterogeneous network. Many platforms were recently announced— Sidechains, Infra, Hyperledger, Interledger (as a protocol), Ethereum (in the future when sharding is implemented). Multi-blockchain systems are more scalable and usually have higher resistance to attacks (because each chain is a kind of independent). I would call them a Network of marketplaces.

While there are still plenty of questions regarding the architecture of a multi-blockchain system, it’s clear that there is no one size fits all solution. I will describe different schemes and their applications in the other posts.

Model

The only criterion I could come up with to differentiate between types of architecture is:

Level of scarcity of a key asset that needs to be managed

Clear definition of a business problem will help to identify key asset and its level of scarcity. I tried to provide examples of corresponding 4 assets for Network of markeplaces and Open network.

Some comments: entities that are managed by Open network are not scarce at all, but things like Reputation or IOU (i.e. debt) lie in between, they are valuable in a limited environment. E.g. reputation usually is not transistive and doesn’t scale.

Lets see which questions help to understand which type of architecture applies to each business case.

Analysis of “blockchain” idea

If you analyse a blockchain startup, first ask yourself: What is the key asset? Why should this network exist?

Examples

Bitcoin — manages accounts in bitcoin Namecoin — manages names within namespace Ethereum — manages state of contracts Steem — manages shares of Steem DAO Ripple — manages state of trustlines Factom — manages history of events Everledger — manages history of events with diamonds DDoScoin — manages history of actions Storj — manages reputation (?) Bitmessage — manages history of actions (bingo! it doesn’t have a blockchain)

The next set of questions will be — Between whom is consensus reached? How many participants should be involved in the validation process? I.e., can a particular validator verify that an action represented by a transaction indeed happened? What are the incentives to participate in a validation?

Example

There are some cryptocurrencies (I won’t mention names) where price/emission of the coin is tied to amount of users. But how can validators potentially verify that real users join the system?

It is fully related to other proof-of-whatever coins where nobody except people who control the network can verify consensus. Validators cannot verify anything except math (digital signatures, state of accounts and data feeds) in their local copy of blockchain.

Fixing things

Ripple should be a network of marketplaces.

DDoS coin should be just an open network.

Storj might have a blockchain where only reputation is recorded, but not a coin.

Everledger is weak since there is no such thing as a digital right to own a diamond (or digital registry of all diamonds). One is still be able to trade diamonds and not report this fact — the price of a diamond will likely not be affected now.

Other projects should probably not invent their own coin (rationale and exceptions will be provided in the next post) and only manage key assets in their blockchain.

Steem is an interesting case, because they are trying to integrate monetary policy (there are 3 types of coins representing loan, equity, payment method) into the system. Native coin (i.e. national currency) is needed to execute monetary policy. I am not touching their initial coin distribution model though.

The reason why these blockchains manage more than one thing (key asset + own coin):

absence of ideal payment mechanism

2. desire of founders to earn money :)

Conclusion

Just 3 steps towards understanding whether blockchain idea is worth your attention:

Define key asset that needs to be managed Estimate level of scarcity of the asset Think about consensus process from business point of view

I usually feel like I am saving inverstors a lot of money when I talk people out of implementing blockchain. Hopefully this post will help others to raise good questions and make industry healthier.