I am moving my first steps in the amazing world of Blockchains. This technology have a lot of very interesting aspects I am interested to understand.
To make it short, a Blockchain represents a distributed and decentralized database deployed on a peer-to-peer network. Nodes are equally privileged, and equipotent participants: for each of them a full replica of the dataset is made available. This design assure a very high degree of fault tolerance (Byzantine) and can enable data integrity through proper cryptography and a consensus algorithm.
I was now looking at a chainbase implementation based on Hyperledger Fabric, a blockchain framework implementation hosted by The Linux Foundation. In particular, I came through an amazing sample project called Hyperledger Fabric Basics published by Anna D Derbakova and available on GitHub at: https://github.com/angrbrd/hyperledger-fabric-basics. In this implementation, the author defined a network made of:
- 4 peers;
- 1 master service node CA.
Please, correct me if I am wrong, but does the master service node represent a single point of failure for the whole implementation? Indeed, the blockchain will be shared between the peers. However without a CA, it should not be possible anymore issuing signing keys for new transactions. If true, which approaches are typically used to achieve a more robust design for a blockchain implementation?