in

A distributed, efficient proof of authority system

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.

What do you think?

Leave a Reply

Your email address will not be published. Required fields are marked *

GIPHY App Key not set. Please check settings

2 Comments

  1. I’m not a developer, just a hobbyist / enthusiast. Sounds similar to the Algorand approach… only in Algorand a node isn’t randomly selected, a coin is… and whatever node has that coin does the block validation. Validation is lightweight (can be done easily on a cell phone) so the network relies on the randomly selected tokens belonging to majority honest nodes… their research may give insights on your proposed approach.

  2. This is a pretty standard blockchain consensus mechanism. On permissionless networks it would be proof of stake, on permissioned it could be proof of authority.

    As long as the pseudorandom is not known in advance, you basically shuffle the validating nodes, slelect a blovk producer, and a committee. Let the committee vote on the proposed block, and broadcast it if the vote treshold it reached.

    There are a number of ways to reach secure randomness onchain such as, verifiable random numbers, randao, verifiable delay functions, etc. Where the network derives entropy from can be switched or combined.

    This works very nice in practice as well.

The Real Cost of Cryptogoods. The “realness” of these tokens is, in… | by Joe Looney

How your “brilliant”, “free money,” “LITERALLY CAN’T GO TITS UP!!!” SHEN dividend play is going to go tits up.