Thoughts about Blockchain Development
A common belief of non-programmers is that the functionality and quality of a given blockchain project has linear correlation with the amount of funding this project has raised.
According to this idea, a blockchain startup which raised 200M$ will develop a blockchain product which is 200 times better than a similar startup which only raised 1M$.
This is of course a complete nonsense.
In fact, development of a blockchain core is very difficult to parallelize. The reason is that releasing a generally available version of a public blockchain product is similar in a sense to landing a rover on Mars. One serious bug can ruin the whole operation. For example a bug that would allow a hacker to steal user’s funds and cause direct monetary lose.
This is a risk that most software products are not exposed to. Typical software product is released as version 1.0 with an untold number of defects and only stabilizes after several month and several minor releases. This is such a common phenomena that the term “1.0 release” has become a synonym to an unstable product.
With a public blockchain product, you cannot afford this. The blockchain core has to work perfectly when released.
The only practical way to achieve this quality, is to allow no more than 3–4 very experienced programmers to modify the blockchain core. And I believe this number is the maximum any serious blockchain product can afford to employ at any given moment.
Even if you raised 200M$, you are still limited to 3–4 core developers which do not have any practical advantage over 3–4 highly motivated and lightly funded team of developers. On the contrary.
So what does give a blockchain product an edge? Time and experience. Running a blockchain in production since November 2013 and already investing dozens of man years into the core, provides clear advantage.