1

I'm fairly new to the subject, but I've read enough to figure out that Proof of Work has a problem concerning mining pools, and other alternatives don't seem to convince me either. I thought of my own, but since I'm new I wanted advice to see if it could be implemented/improved or if its just garbage. So instead of having everyone mine, I thought 3 random "validators" could be picked to do the hash-math. Only if all 3 get the same result, it is stored to a "temporary" blockchain. And only if say the next 3 blocks worked with that result, it will be placed in the actual Blockchain. If 1 of 3 gets a different hash, 3 other random people are selected to validate. I thought this could help with problems of the 51% and energy consumption. I guess I could call it Proof if Three. It was just a thought experiment. Any feedback is welcome.

1
  • How would the 3 random validators be picked? What method would determine what the candidate validators are and which three of the candidates are chosen such that everyone agrees on them? – David Schwartz Jun 22 '20 at 7:38
5

I thought 3 random "validators" could be picked to do the hash-math. Only if all 3 get the same result, it is stored to a "temporary" blockchain. And only if say the next 3 blocks worked with that result, it will be placed in the actual Blockchain. If 1 of 3 gets a different hash, 3 other random people are selected to validate.

The devil is in the details! How does the network agree on three random validators? Unless all participants are agreeing on the same quorum, the network will not converge. How do you ensure that each network participant becomes aware of the chosen quorum? What happens when one of the quorum participants just simply never responds. Is there a timeout? How do you ensure that a distributed system without a shared clock agrees when the timeout comes into effect?
I'm afraid you are back to the start: now you need a consensus system to bootstrap your consensus system.

Even worse, Bitcoin attempts to achieve consensus under adversarial conditions. E.g. someone could be flooding the network with numerous entities (a "sybil attack") giving them a greater chance at providing all members of the quorum, which gives them authorship of the next block. Or some participant could attempt to actively sabotage the process by disseminating contradictory information. So, not only do we need to achieve consensus, but the network must also be Byzantine fault tolerant.

Either way, it's not trivial to come up with a consensus system that is stable, much less with one that has more attractive trade-offs than Bitcoin's proof-of-work.

You may find these related questions interesting as well:

Not the answer you're looking for? Browse other questions tagged or ask your own question.