One of the first questions companies ask about blockchain is what benefits can be gained from its adoption. This is not always easy to determine, given the number of platforms available and the different focuses that each one presents.
To aid in this understanding, we will highlight characteristics that this technology has shown since its first implementation over nine years ago, as well as its commercial applications.
In this first article, we will discuss the characteristics of decentralization in blockchain, approaches across different platforms, and the benefits it offers for a practical project.
Perhaps this is the goal with which the original implementation of blockchain, Bitcoin, most strongly committed. In the context of this technology, "decentralization" means the absence of central regulatory bodies. Any device can connect to the established network, there are no restrictions on which of the existing tasks a component can perform, all information is verified by all nodes, and any device can disconnect from the network at any time without detriment to the network's operations as a whole. This is one way in which blockchain technology is compared to the internet, which is also based on similar decentralization concepts.
In practice, this goal is achieved to varying degrees. The Bitcoin platform, as mentioned, is extremely committed to it and goes to great lengths in architecture to maintain it. For example, one of the reasons all its operations are kept in a single, public file is to give any node the ability to verify all operations. The proof-of-work consensus method allows any node to engage in mining if desired. And the average resolution time of 10 minutes reduces the collisions when multiple nodes manage to mine a new block "at the same time."
Strictly speaking, even the platform itself is defined in a decentralized manner, as decisions to alter its algorithm are not made by a central authority. When the majority of mineradores agree on the implementation of a specific change, they install it on their devices. Disagreements can lead a group to split into other cryptocurrencies (as happened with Bitcoin Cash).
Ethereum seeks to maintain a similar stance, but since its implementation aims for complex computational code executions, there is a greater degree of centralization at least in development decisions. However, it is still a public network, accessible via the internet, to which anyone can join or leave at any time and assume any role.
Many other platforms, especially those geared towards applications in private or semi-private networks, forego such widespread decentralization. In these cases, platform development is typically coordinated by a maintaining entity, although it is often open and collaborative. Only authorized components can participate in the network (either through a specific element or configuration). Specific functionalities may arise: for example, some components may handle writing to the data structure, while others deal with determining the consensus of which operations should be written and in what order.
Even when there's a separation of functionality on a platform, generally the function can be performed by a pool of devices that can be added and removed and have equal weight in their operation. For example, there may be several nodes with the ability to write and read data, each responsible for maintaining a local copy of the blockchain identical to its 'sibling' nodes; or a unit that determines the order of write execution on the blockchain may be composed of a pool of devices that oversee each other while deciding how to perform this task.
Platform development is often centralized within a maintaining entity, although in many cases, it is open and collaborative.
Extreme decentralization creates public networks where machines from diverse origins perform requested operations on data. It's not distributed processing: all nodes in the network execute the same operation, ensuring process reliability and ensuring that data isn't lost when devices are removed from the network, while maintaining high availability. They are more suitable for public data, non-governmental organizations, and small contracts established directly between two parties or entities, in addition to implementation and even integration with cryptocurrencies. In other words, applications where complete transparency is desired, or data has little need for secrecy..
In private enterprise applications, a less extensive decentralization is often chosen, typically in private networks, to ensure information confidentiality. Even in this case, it helps maintain high service availability. And in cases where there are multiple actors working on a common set of data, each with their own interests in the process, each of them can maintain one or more local nodes naturally synchronized with the other network components. Supply chains for production and/or transportation are typical cases. Another scenario is the integration of audit information, performance reporting, or oversight information between systems, as maintaining processing nodes in all stakeholders with the same data increases reliability and greatly reduces costs associated with costly reconciliations.
Author: Márcio Marcelo Pelícia - Jun/2018