I’m a software developer and I’m trying to understand blockchain at a code level
I have the following issue:
There’s a private blockchain, this private blockchain does not have any relation to mining, it just has a bunch of nodes that will create and validate blocks & the chain.
Let’s say Node A modified a block (x) and Node B requested Block x to Node A.
How does Node B actually know that Node A is invalid since Block X is valid for Node A, thus, it might be valid for Node B because Node B is asking to get it for the first time.
- This blockchain uses Proof of Authority
- How can we make sure that the chain is actually valid when there’s no mining involved and only the nodes create blocks and send them through the network (I thought about putting digital signatures and their public key in each block so the nodes can verify the content of the signature which would be made of the content of the block, but it doesn’t work since a malicious node can create a new public key and thus a new signature for its modification)
- Do we need some sort of election process where Node B requests many examples of the Block X so Node B can decide which block is valid by knowing the most common hash from the answers/blocks it got?
- How would you do it? How would you solve this problem?
Remember, this is not about cryptos, not about bitcoin, not about mining, it’s just about blockchain technology itself.
For more information about why I’m asking this you might want to see my previous question: