Airplane Method - a Harmony Improvement Proposal

Hello community,
I wanted to discuss with you an idea, a possible HIP, if it has enough traction.
For this, I share the idea publicly before going further and writing a BIP, so that we can check if it is of your interest.
It would also be helpful if the community and the core devs give their opinion and expand or modify this idea to give it shape.
I have named the idea the Airplane Method and it is about offering slots at various prices (first class, second class and economy class) somewhat similar to airplane seats.

The objective is always to sell all the seats of an airplane, in the same way the 320 positions for validators should be filled, between several nodes who stake different amounts of One, giving opportunities to all the nodes.

Or isn’t decentralized open staking something like that?

The final idea will be to have several supernodes, nodes, and noodles.

In the same way, not all the seats of an airplane enjoy the same comforts, therefore the most expensive slots would give more rewards, more weight or more probabilities of signing a block.
Whichever is easier for a possible implementation in the protocol.

These would be the staking amounts and ranges of slots that I propose, which could obviously be updated:

  • In the first class, it could only be applied as a validator if the stake is greater than 5M, and we would see healthy competition between whales. It would go from slot 1 to 50.

  • In the second class, it could only be applied as a validator if the stake is between 1M and 5M. It would go from slot 50 - 120

  • And finally in the economy class, it could only be applied as a validator if the stake is less than 1M but greater than 10K lower limit. It would go from slot 120 to 320.

These amounts refer to the total stake, not the current bid that is produced by dividing the total stake by the possible bls.

This way of distributing the seats would be fairer, and would enjoy participation for all the nodes.
To avoid multiple validators applying for the 3 classes, a flag would be put in the validator data that would identify it for one of the 3 possible classes.

Looking forward to your feedback.

1 Like

Hi, JC:

The idea is a natural thinking to give validators of different size different treatment. But one of the constraint for the design is that all the slots in the system should have relatively similar voting power (stake) in it, to avoid single-shard attacks. So the 50 slots for the whales may break the design constraint and potentially make the sharding system insecure.

And the number of token required for each class is also hard to maintain because as the system grows, the stake percentage and overall circulating tokens will change. So the threshold for each class need to change with the market situation and eventually it will be similar to the current EPoS floating threshold.