I’m looking into alternatives to proof of work/stake. I know that some of the Eth testnets use proof of authority, and this seems to be good for performance but not so good for decentralization. I have an idea I would like to propose and see if you all think it would work and if it would be beneficial.
These numbers are open to change, but I’ll use some values for example’s sake. Let’s consider our group of nodes as our “pool”. The pool can be as large as we want, but let’s say we have 10,000 unique nodes in the pool. Now, each node will not be used for consensus on each block. For efficiency, let’s say we use 100 nodes for consensus on each block. These nodes could be randomly selected for each block, giving each node an equal chance of validating on every block.
While 100 nodes are used for consensus, the remaining 9,900 nodes are working to validate as well on their own. If some nodes disagree that a block is valid, they can object and begin gossiping amongst each other. If a majority of the nodes in the pool agree that a block is invalid, you roll the chain back to the previous block, consider all blocks past that as invalid, and resume creating blocks at that point (with a new set of 100 consensus nodes, as is the case with each new block).
This system would allow scalable decentralization, as the number of total nodes in the pool can increase to whatever number you like. While the total number of nodes increases, only 100 are ever used for consensus on a particular block. This allows us to scale while maintaining a high efficiency.
Are there any problems with this approach? Does it actually help decentralization? Very interested to hear your thoughts.