In Daily Fintech, we tend to focus on the top of the stack, at the application layer. However, Blockchain technology can be used for so many new applications that we need to understand the underlying technology platforms.
It can get confusing at this layer of the stack for three reasons:
- We are forced to think outside the box. A decentralized trust-less platform is so fundamentally different from the centralized cloud server based world we live in now at a technical, commercial and societal level.
- It is technically complex. Making it easy to build decentralized trust-less systems that are as easy, secure, fast and reliable as the current cloud server based solutions is technically very, very hard to do.
- It is a moving target. The players are constantly iterating and changing as they jockey for position in a large and fast-developing market. Just when you have got something neatly categorized…they pivot.
The Blockchain platforms that we are currently tracking are:
As you explore these you quickly hear:
“our platform is different, there is no way you can compare what we do to what the others do”.
However at a practical level, developers who want to build an application, have to make a choice. Given this much confusion, most developers hedge their bets to some degree through clean interfaces and layering – so that if they have made the wrong bet they can switch to a different platform relatively easily. However, developers still have to choose a platform to get started with.
I look at these platforms with 8 different criteria in mind;
Adequate Funding: Platforms need enough funding to be properly developed and supported.
Source of Funding: The motivation of the investors matters to developers in the long term as it can force the platform in a direction that may not be in the interests of application developers. When selling trustless systems, the motivations of investors comes under the spotlight. The traditional VC model has been augmented by Currency Issues of some kind or another and these also raise motivation concerns.
Commercial model: Most of these platforms are open source. Some are aiming at a Red Hat type model. Others want to make money from a currency that they control. Others want a piece of the application pie. Developers need to understand the commercial model and decide if they are comfortable with it.
Trust model: Who do you need to trust? Some such as Ripple and Stellar require trust in a currency controlled by an institution.
Ease of development: This can be a personal decision i.e different developers find different things easy or hard. Developers look for something that uses a choice of familiar languages and that abstracts the complexity of a decentralized network. Today we are in the experimentation phase where application developers are building their MVP and through this they are learning what is genuinely easy to use.
Performance & Reliability: It is too early to tell. One hears theoretical arguments for different platforms, but we will have to wait until it is possible to have third party testing of apps on different platforms.
Bitcoin, Alt or None: This is a heated debate at the moment. Many people think that Blockchain platforms should use Bitcoin and that is why many people back Counterparty and Blockstream. The should argument is irrelevant to most application developers who just want to know whether their app needs Bitcoin or an Alt based currency or no currency.
Layer in stack: Some people critique Ethereum for attempting too much. In this view it is better to offer less functionality at a lower level in the stack. Maidsafe and ERIS position in this way. This appeals to developers who value control (perhaps over speed to market).
At this point I will annoy many readers by picking one platform as the one to beat – Ethereum. Increasingly you see comparisons vs Ethereum which is often a sign of a market leader emerging. In some cases you see a fork of Ethereum with a slightly different positioning, which is another form of validation. The biggest critique of Ethereum is that they have attempted too much and so will fail. At the application layer doing one thing and only one thing has been the mantra and has worked to get network effects. In the cloud server based world, doing only one thing well also worked for developer centric systems because programmable web tools helped pull it all together. However building a decentralized trust-less platform is akin to the complexity of building an operating system for PCs (Microsoft) or servers (Linux) or Mobile (Apple and Android). Ethereum is now delivering code, so we will soon see if these concerns are valid.
In such as fast-moving world, I am sure I have missed some new platforms – please tell us (comments or Twitter). If you have had direct experience building applications for these platforms and have a point of view, please chip in.