sounds pretty neat. I'm ok with the security issues in respect of the POA algorithm. What about the data structure ? what would be the advantage of using blockchain technique vs using a database storage, i.e. a piece of record or notary ? If i'm one of the authorities to write data to the blockchain main network, when i need to send certain record to the user upon request, does the traditional data structure and DBMS still applicable or even more efficient in data sorting and accessing for the blockchain main network? I remember that all data is stored in the blockchain main network if i'm correct.
Hey Lantern_NPT! 🏮🏮
A defining characteristic of a blockchain is its decentralized nature and making use of the horizontal scaling principles as coping mechanisms for the increased need of resources to serve more users of the blockchain. Having said this, today the most dominant blockchain consensus convention referred to us Proof of Work (PoW), have somewhat of a contradictory constraint: each node in the network must process each and every transaction that passes through the network. This is an also a classical trait of the decentralized nature of blockchain which implies that each and every node on the system processes each activity and keeps up a duplicate of the whole state of the network.
While a decentralized PoW consensus mechanism used by popular blockchain networks such as Bitcoin and Ethereum, offers some critical benefits, such as fault tolerance, a strong guarantee of security, political neutrality, and authenticity - it comes at the cost of scalability. The number of transactions the blockchain network can process will be unable to surpass that of a single node that is contributing to the network. In effect, the blockchain essentially becomes more inefficient as more nodes are added to its network which is supposed to increase the capability of the network overall but instead have the inverse effect because of the inter-node latency required to transmit and maintain a copy of the network’s current state in every node which logarithmic-ally increases in complexity with every additional node.
To illustrate this further, we can make a comparison to a traditional database system to which the solution to scalability is to add more servers by scaling vertically or horizontally in order to manage handle more transactions. In the decentralized blockchain where every node needs to process and validate every transaction, it would require additional compute to every node for the network to get faster. Having no feasible way to coordinate or control over every publicly joined node which are owned by many numerous individuals of diverse interests and motivations in the network resulting in no direct mechanisms to scale vertically or horizontally. In other words, as the size of the blockchain network increases, the requirements for storage, bandwidth, and compute power required by fully participating nodes in the network increases. At some point, it becomes unwieldy enough that it’s only feasible for a few high powered nodes to process a block of transactions leading to the risk of centralization in the network. As a result, all public blockchain employing Proof of Work consensus protocols in such a decentralized manner make the compromise between transaction throughput and degree of centralization, choosing to sacrifice the speed of processing operation resulting in a degraded experience for users executing valid transactions in order to retain the benefits of a decentralized network.
In order to scale, the blockchain protocol must work out a mechanism to control the number of participating nodes needed to validate each transaction, without losing the network’s trust that each transaction is valid. This is where Proof-of-Stake (PoS) was developed to address this issue which Proof-of-Authority (PoA) was inspired from and used by AmberTime as the basis for consensus mechanism.
With regards to data structure, we envision to store only the raw data / meta data surrounding a certified transaction in the blockchain. As an example, information found in a training certificate like name, course name, date completed, etc. are recorded in the blockchain to validate a person's credentials and potentially allow dynamic generation of an image forming an e-certificate for printing purposes.
Good questions - lets keep the discussion going!