Why is Blockchain hard to understand, but can be easier to build.
Why is Blockchain hard to understand? The main reason blockchain is hard to understand is because it really doesn't exist - - - well obviously there is “much ado about nothing” if you will excuse the pun. The origin is seemingly accidental - - - the creation of Bitcoin needed an infrastructure to operate upon, and because of that, he who is named, yet nameless, created the Bitcoin Whitepaper, and from that many others took part of the concept and "imporved" it .... that is Blockchain.
Well when Satoshi Nakamoto, or whomever created this infrastructure, its purpose was simply to support one product - - - Bitcoin. Many noticed there were obvious alternative uses. Many of those have been very proactive, and many are overactive in regards to the variety of other uses it is being applied to - - - the discovery of these other uses are now being developed throughout multiple industries (financial, healthcare, IoT, secure ID/documents, social media … to name a few).
Unlike other new technologies like big data or cloud computing, Blockchain is a completely new concept. Cloud computing existed for decades in various forms . . . after all its remote computing for Pete’s sake! Today Cloud computing has a more robust definition and a far more technically explicit identity, but it already existed and we built upon the early concepts. In a similar fashion, the same exists when you discuss Big Data. Databases have grown in size and speed of accessibility – and the early “Data Warehouse” was the place for lots of data - - - Analysis took time to process and interpret. Today we have real-time analytics that can parse billions of pieces of data in constantly smaller fractions of a second. This too has evolved into more formal definitions that we now accept as basic Big Data concepts.
Blockchain technology, on the other hand is causing a lot of definition disruption as well as a new paradigm. In addition, Blockchain does not have the typical heritage, it is a breakthrough technology and completely new. As to what you can or cannot do with it, although it is a child of the Internet, and takes advantage of this fact, It still kind of a green field, to put it mildly - - - It is the time for developing the Internet of Value to use a Tapscott phrase.
Blockchain is leveraging the fact that you can have millions of machines working in concert, and verifying a common reality. This in itself is not a new concept: Many many independent users acting in concert, such as finding Aliens for SETI (mass computing of space phenomenon), or crashing a website in a DoS attack are a couple of common use cases. Blockchain, although it is a lot like social media, in its ‘going viral’ approach that the Miners of Bitcoin utilize, coupled with the validation process that sites like Wikipedia leverage, does not explain Blockchain, but it does give you an idea of how we got to where we are today.
Still . . . how and why to use Blockchain “properly” is still a valid debate.
As a result many companies, especially financial services companies are jumping on board mostly out of fear that it is going to make them obsolete, and they must respond to this new environment as quickly as possible. Considering the history of technology, this is not an invalid concern. Yet, this does result in a lot of this is an overreaction, and because of that over reaction it has resulted in an overabundance of information being put into the Blockchain. This is not news to many experts, but it is a problem since too much information makes it obviously slower, more vulnerable to misuse, and most importantly, many successful concepts can end in inappropriate failures as the large volume of unsuccessful attempts discredit the Blockchain concept.
As mentioned, there are many that understand this and are doing what they can to correct this over exuberance in product development, but the reality is that an overwhelming number of companies are storing too much information, and creating use cases where blockchain does not create any value add.
For example in securities trading you need a minimal amount of information to accomplish a trade, a lot of the background detail and counterparty information really does not need to be in the block. Some transactional information is static and does not need to be in the trade at all. Trying to use the Blockchain as the security vehicle for non-transactional information adds overhead. A separate cloud storage area can be used, and still can be protected and encrypted with the same algorithms, but not be part of the Blockchain itself. This data, which you could call, static, extended or metadata, and doesn't need to be in the Blockchain itself. All you really need is the actual unique transaction data and the encryption key access which will also allow one to access the more detailed information which should be stored someplace else
One problem is the approach of some companies is to put too much into the Blockchain itself. Because of that, a lot more data utilized, and a lot more storage is needed in order to accomplish even the simplest forms of transactions. These transactions as they grow overtime will require vast amounts of computing and storage. This slows transaction processing, only because this too much information in the blocks, not because of the Blockchain design.
Proper design of what is effectively an encrypted distributed system, is something that most people understand when they working in other environments, but not on the Blockchain. We further develop mitigating concepts, such as edge computing which is really just a new name for distributed computing to handle the growing AI and Big Data analytical needs. For Blockchain we need to further develop specialized shared repositories/services that can be used by Blockchain systems; a shared environment of common encrypted information that can be easily accessed by all, protected, and not as embedded overhead within the Blockchain itself. This will also allow some specialty organizations in the cloud computing world to be developed. Use cases, such as settlement processing will benefit by this design, both for speed and handling some of the limits of a blockchain. At this point in time, few assets are like Bitcoin, where their value can transfer on the blockchain,
Why do I say simple? The many infrastructure products, Bitcoin, Hyperledger, Ethereum, and the list goes on ... all really have solid platforms the most good Java developers can easily utilize. The trick is in the use case, and architectural design.
The actualization of designing such an architecture is complex but it's critical in order to make appropriate use of Blockchain technologies. Using a service such as Blockchain requires that you minimize the impact of data on each of the blocks. This is a critical design element. This is obvious to many who are deep in the trenches who well understand this issue, but to those who want to jump in and revitalize the decades old methods on how to create business solutions - - - building Blockchain best practices is a good start point.