Published 5 years ago on March 15, 2018
You are probably aware of the popularity of blockchain technology. Thousands of companies around the word are developing projects and applications for âthe blockchainâ. These companies are seeking funds, from relatively small amounts to millions of dollars per company, to develop applications, mostly based on smart contracts. In 2017 blockchain ICOâs have raised over two billion dollars in startup funds. In 2018 that amount has already passed the three billion dollar mark (See: www.coindesk.com/ico- tracker/). If you are a believer in distributed ledger technology, as I am, or if you are in the blockchain business, you know what I am taking about: there is a great opportunity for designing new business models based on the reliability of replicated, distributed data. Unfortunately, many startups are using the blockchain as a keyword just to raise money for any new idea. When one such person, a CEO of a blockchain startup, asked me what we were developing at Gorbyte, I answered: âWe are developing a new crypto-network.â Granted, my English is still plagued by my Italian accent, but I am pretty sure I pronounced that clearly. So, I was surprised to hear his response: âWhat is that?â Now, stop and think for a second. If you are developing an application on the blockchain and presenting it to the world as a great business opportunity, you must know that blockchains arenât miracles from God. They do not appear like manna from heaven! You may have asked yourself a few basic questions, like:
- Who provides the blockchain?
- Who guarantees the ledger/data gets properly replicated?
- What is the advantage of using the blockchain for my application?
- Is it safe, reliable and error free?
- What happens to my application and customers if the network is attacked?
- Is it publicly available and open source, or does it come with stiff license fees?
- Are my transactions subject to the approval of some other company?
- How are my customers going to connect to it?
- Is it available where my customers are?And may-be, if you are a bit more interested in the details or if you are evaluating a particular network:
- How much traffic will my application generate?
- What is the networkâs charge for each transaction?
- Can the network support my transaction rates?
- Is there a maximum amount of data per transaction?
- Is the network already operating at its maximum capacity?
- If so, what are my alternatives?Today most people plan to use the Ethereum network for smart contracts. If so, you need to be aware that the Ethereum network slowed down by 12% because a kitty game became very popular.If your application is a bit more complex than a simple game that exchanges string patterns, you might be asking yourself:
- Is there a viable crypto-network that supports general distributed applications?
- If not, is anyone planning one?You may know that even more money (yes, hundreds of millions of dollars) is being spent on funding research into the scalability of todayâs networks. These people are developing side chains, state channels, companion chains, âchainsâ connecting different networks, networks using shards, child chains and other theoretical solutions. At this point, may be a few more questions come to mind:
- If Bitcoin was one thousand times faster, would it be able to support distributed applications?
- If Ethereum was one thousand times faster, would it be able to support my distributed application together with a thousand other applications?
- If Ethereum had a thousand times more space in its blocks, would smart contracts become affordable for my application?
- If not, how can my application use the blockchain?
- If my application relies on a current or near future side-chain solution to the scalability problem, would the compromise in security introduced by another level of software complexity affect my application?
â¢ How many years will it take for these solutions to be proven safe? If you know that the failure rate of new blockchain projects is above 80%, but you think thatÂ your application will be successful, you may ask:
- Will my application generate revenue if there is no suitable network it can use?
- Where is the research showing the total load required for the thousands of applications that will be successfully developed in the next year?
- What will the credibility of the IT business community be, a year from now, when a thousand applications will be using a hundred different, unconnected clones, or unproven blockchains, possibly experiencing further splitting through hard forks?
- How will application developers respond to customers experiencing nothing but frustration?Perhaps at that stage, even customers will be asking the first basic question: Who provides the blockchain for your application?