We have recently witnessed how the Web has profoundly transformed various business, including the way Markets are implemented: Web powered Markets typically follow this scheme
In this scheme I have focused on some specific aspects of the implementation: security, infrastructure and human factor. Let’s analyze them in more details
Security is typically enforced on the borders so to identify “safe areas” where computation can happen.
Typical tools include Authentications, Roles (Admin, User, …), Rights Management
High computational and memory efficiency is achieved relying on centralized infrastructures: both computation and storage are performed once, as there is no need for replication.
Actually this is not completely true as hardware can (and will fail) so some level of redundancy, especially for storage, is ultimately necessary to achieve the desired level of fault tolerance.
This kind of system is designed to have human in the loop: System Administrators, DB Administrators, … are strictly necessary to make the system work.
Blockchain, mostly like the Web, is a tool which has triggered a technological revolution affecting all the above mentioned aspects. The new scheme looks like the following one
In a Blockchain based Ecosystem there are no more borders and “safe area” as the whole Blockchain is safe by design, as it is built as a unique cryptographic system
- identities are tracked by means of cryptographic keys (no more possibly weak password, bugged authentication systems, …)
- stored data is digitally signed, so security is enforced at the most fine grained level possible
- business logic (e.g. smart contracts) is immutable and transparent
Redundancy is at the core of any Blockchain implementation so, even if this makes the whole system much less computationally efficient than a centralized one, it’s much more fault tolerant and secure by design
Furthermore Blockchains are designed to work in a trustless environment: it means that in general there is no need for “special nodes” or specific assumptions to hold for the blockchain to work. The kind of environment which is assumed is composed of nodes which
- do not trust each other
- can join and leave anytime
- could have hostile, tricky, unfair behaviors
This is probably where the bigger difference with respect to non-blockchain system is: no human administration is needed to run the Blockchain.
Of course the Blockchain is implemented as software so developers are still needed (bugfixing, new features, …) [and this is good from my specific perspective :) ] but roles like the above mentioned System Administrator and DB Administrators are no more needed
This long introduction was important to discuss the core topic of this post: comparing the efficiency of non-blockchain and blockchain based systems.
One of the arguments used by blockchain detractors is it solves a problem which already has a solution (Centralized DB essentially) in a less efficient way and they support this by just looking at the storage cost in centralized vs decentralized scenario:
the centralized DB solution replicates storage few times to achieve fault tolerance and keeps the different copies in sync in a centralized way
the blockchain DB not only replicates the information O(N) with N = Number of Network Nodes (note: we are not speaking about sharding yet) but in a Proof-of-Work (PoW) based Consensus scenario, before being able to actually store data (i.e. add a Block to the Chain) it is necessary to spend a significant amount of effort (computational power and energy) to solve a puzzle
Comparing these 2 aspects only, without taking into account the big picture, seems to me a form of selection bias
A more fair comparison would have included in the centralized solution cost, at least the following additional items
cost of the human factor: DB Admin, Sysadmin, … all the (pretty high) salaries of the tech people you need to run the centralized infrastructure and you do not need to run the Blockchain
cost of backups: as standard redundancy is typically not enough for certain very critical data
cost of partial decentralization: centralization is in fact a risk factor, what will you do if an earthquake, flood, … hits your data center ?
You have probably distributed your most critical data among geographically distant data center hence you have additional costs to monitor, maintain and make this infrastructure work
cost of disaster recovery: successful hackers, data breaches, backup restore, …
cost of infrastructure management: as the centralized infrastructure is inherently (much) more fragile than the decentralized one, it requires to monitored, maintained, managed, …
On the Blockchain on the other hand, a lot of effort is currently spent to make the system more efficient, for example
- moving from Proof-of-Work to Proof-of-Stake e.g. in Ethereum 2.0 (Serenity)
- achieving better scalability (with Sharding, EWasm, …)
Finally let’s consider the long term trends in prices:
technology related costs are very likely to decrease over time because of technological improvements: computational power will become cheaper and cheaper and energy could possibly follow the same trend thanks to nuclear fusion reactors, better usage of solar energy, … while human labor cost can not (and will not) decrease beyond a certain threshold which, I believe, we are already very close to, considering the current social situation
the risk related costs are typically difficult to assess and furthermore their computation is often based on (quite a lot of) subjective assumptions, hence a more robust system by design which requires much less or even no risk asses
So it seems Blockchain is also favored by trends:
for 1, it requires much less human factor (essentially developers) and will become more and more computationally efficient closing the gap on this side with centralized systems
for 2, a more robust or even better an Antifragile (thanks to Nicholas Nassim Taleb for this inspiration :) ) system has big advantage on the risk management side with respect to a fragile centralized system
So to sum up, the trade-offs I see are the following ones
- technological + energy costs vs human factor costs
- risk management vs efficiency
Centralized Systems probably still have lower tech + energy costs to run their standard activities as they are computationally efficient, but they require a humans cost (DB Admin, Sysadmin, …)
Furthermore they are fragile systems so they can and will fail in many ways (hacking, hw failures, bug, …) so they need extra monitoring, maintenance, recovery, risk assessment, … costs
Blockchain systems are more robust / antifragile and autonomous by design, they require no human for administration, much less for maintenance (HW failures affects Blockchain nodes as well, but replacement is much easier) so humans, maintenance and risk assessment costs are much less, at the cost of increased tech + energy costs
See original article on Medium