I
enjoyed reading the article: “2018's
Resolution? Revisit Blockchain's Fundamentals” by William Mougayar
on
Coindesk.
The
author
warns us that when a new technology comes along, we are often too
eager to quickly implement some of the pieces we need, without a
vision and an understanding of the full potential of the technology.
We
have seen this happen in part with the Internet. It was quickly
adopted, even though many designers at the time could already see the
lack of those
security
features that had
to be
added almost
as
an afterthought. The whole world still suffers the consequences of
the lack of a well designed security architecture for
the Internet.
We
are now facing similar design choices with the blockchain technology.
As
a coach warning us to “stick to the fundamentals”, the author
lists some of what he considers the blockchain fundamental
innovations, or “fundamental outcomes”.
But
are we sure we understand what the blockchain fundamental blocks are?
For
example, the first fundamental in his list is “replacing
intermediaries”. This objective is definitely important, for
applications running on unpermissioned (or public) crypto-networks.
I agree with the author. But the designers and investors of Ripple and Hypercom could argue otherwise. It depends on what the target applications are.
I agree with the author. But the designers and investors of Ripple and Hypercom could argue otherwise. It depends on what the target applications are.
We
do not really know what problems future applications will need to
solve.
Looking
at the following “fundamentals” in the author’s list, his
suggestions seem to be somehow limited to the current state of the
art.
By
looking at what we currently understand as innovations, we risk, as
the author says “copying
what we already see instead of inventing what we don’t discern
yet”, that is, we may miss the full potential of
blockchain technology.
For
example, we cannot limit our thinking to today’s smart contracts
running on today’s crypto-networks as the only engine to run
blockchain applications.
If
we do so, we may miss 97% of future general distributed applications
that will use the blockchain, but will run on different engines,
off-the-blockchain.
If
we want to create an environment able to support the distributed
application of the future, without knowing what they will be, we may
need not just a better engine, but a multitude of better engines.
The
ability for general distributed applications to use the blockchain
functionality without having to run a smart contract
on-the-blockchain is a top requirement on my list.
Millions
of concurrent distributed applications will need to process and
securely exchange many terabytes of information per second among
identifiable, unique parties.
Current
crypto-networks do not begin to solve the problem. Public
crypto-networks do not even contemplate the problem of identifying
who the users are: people, IoT objects, vehicles, autonomous robots
or something else.
We
could describe many characteristics of the blockchain and things that
we will be able to do using
the blockchain, but
we would never finish:
any imaginable distributed application should
be able to use the blockchain, just
as today any App on
a cell phone can
use the cell phone communication
ability.
So
what are the fundamentals?
Is
the ability of the blockchain to support communication
between a
person and
IoT objects
a fundamental?
Is
the ability of the blockchain to support Virtual
Private Blockchains
a fundamental?
Is
the ability for autonomous robots to trade assets using their
personal
accounts
a fundamental?
The
fundamentals are not what future blockchain applications will do, but
what these applications will not do.
We
can use the following analogy: An iOS allows the development of Apps
without these having to solve the problems of memory management, or
using storage commitment techniques, or even be dependent on the CPU
instruction set.
In
a similar way, a Distributed Operating Environment (DOE) for the
blockchain will allow the development of General Distributed
Applications (GApps) without these having to solve the basic problems
of communication, addressability and unique identification,
replication of data, and security.
These
seem to be the main requiements of any distributed application. How
much easier would it be, for example, to design an airline
reservation system if the DOE already solved for us the problems of
system security, verification of the passenger identity, and ticket
purchase transaction? How faster would the check-in and boarding
processes be for the public?
The
blockchain technology has been rightfully compared to the
introduction of communication technology. Mostly this is because they
complement each other.
With
the Internet we have solved the problem of communication among any
two parties. Now, with first-generation crypto-networks, how close
are we to a DOE for general distributed applications?
Which
fundamental blocks are still missing?
Our
efforts should concentrate in establishing at least these fundamental
blocks by developing second-generation crypto-networks, that will
create a DOE for future distributed applications.
The
longer term goal for application designers is to solve any OTHER
imaginable problem, easily and transparently.
A
DOE that proves those fundamental blocks will truly add value to what
started as a distributed ledger for financial transactions.
Future
generation crypto-networks will go even further in doing what future
applications will not need to do.
Giuseppe
Gori is the designer and CEO of Gorbyte, a new-generation
crypto-network that uses a cooperative consensus mechanism replacing
miners/verifiers. He has over thirty years experience in the design
and development of computer networks.