[ON HOLD] HIP-18: allowlist for external leaders

Summary:
This proposal is to add support of allow-list of external validators to be the leaders of the network.

Background:
Leaders in each shard of the Harmony network are responsible for proposing the blocks, collect block signatures, finalize consensus, and distribute block rewards to each signing validator. It is the most critical role of the network. Right now, all leaders are limited to internal nodes of Harmony. In this proposal, I propose to allow external validators identified by the BLSkeys to be the leader of the network. Noted each shard is running independently, thus each shard will need one leader.

Motivation:
This is an important step towards full decentralization. It allows the external validators to be the leader of the network. The network security and control will be fully governed by external validators. Before the full resharding works, it is still prudent to maintain an allowed list of leaders to balance the decentralization and security of the network.

Specification:
A list of allowed BLSkeys to be the leader of each shard. I am thinking of 10 keys from 10 different validator nodes in each shard. For validators in the allow-list, they can’t run hot backup nodes on the network, as it may result in a hard fork of the network. Also, it is encouraged to set up a better monitoring mechanism for the leader nodes. However, the leader nodes can still be offline in case of maintenance requirements, the view change (leader change) algorithm of the protocol will automatically choose the next leader in the list if the current leader is offline.

The leaders on the list are purely doing extra voluntary work for the network. Leaders on shard0 will need beefy hosts to process the transaction blocks. The recommended spec for the leader is at least 8 dedicated cores with 16 GB memory. For leaders on shard1/2/3, since there aren’t many transactions going on currently, it is recommended to use 4 dedicated CPU cores and 8 GB memory. Noted, there are no extra rewards to the leaders on the list, at least for now. Once we have fully implemented resharding, there may be extra rewards to the leaders.

Suggested voting options:
yes or no

Additional Notes:
You may nominate yourself to be the leaders on the allow list by specifying your BLSkey. Appreciate for your contribution to the network.

11 Likes

Yes, I think this is a good idea but those hosts should be rewarded with staking from Harmony fund to help cover the cost.

3 Likes

This is a reson-able request to have foundation staking to the whitelist nodes.

2 Likes

Are there two votes? One for the proposal and the other to approve volunteers?

1 Like

I’m definitely interested. Should we be posting our BLS Key here? Also, same question as HankTheCrank above–are there two votes for this?

1 Like

yes, the bls key will be in the allow list. Thanks for your interest, @stakingboss

2 Likes

I think one vote is enough. Any validator can volunteer themself, and their blskeys will be added to the allowlist.

1 Like

0b9d30ba18d3289714cbdcf3c673b05e75bbf915c1582dc9b3ed175aeebb656d99aed2b44dce102bac96c6540796db0f

Are you just gauging interest or implementing? If implementing, how soon will this happen? I’ll need to shutdown my backup node first. Also, is it still reasonable to assume that the foundation will stake?

1 Like

Posting on behalf of Freyala:

7e7f84d5554e2bed6f3481c951426625dbc810fbbaab69e47894c4ea176c05b9b10ff983deea1c7163838ddf82ecb70f

Shard 3
And requesting funds for the server requirements.

1 Like

This feels like a great change, we have recently upgraded our server to a 8 dedicate core set up. We are willing to volunteer as leader nodes on any shard needed. Thank you.

1 Like

@HankTheCrank , @stakingboss , @WellnessOne . Thanks a lot for all your interest. I need 5 external leaders per shard to be able to move this proposal forward. Also, we may start with shard 1/2/3 at first to externalize the leaders.

1 Like

Volunteer here on Shard 1

a5b165bee41092997b4efd0a944b686b669877b49e8662f5679732dc864d4c4079c00b5aae2f6bfc92a58a0a02f5c815

2 Likes

Thanks for all your interest. Please add the staking dashboard link to your validator, together with your BLS key.

2 Likes

Wellness.One staking profile:

BLSkey (1 of 3 keys on node)
2a4715a6e544df17a610462e44559f01afbef3cd91946c76d52c0e7f5b920228f7d68cc2523eda1d5b493f6064e77d95

Currently on shard 1 but willing to move around if needed

1 Like

I think this is a really good idea! I’m down! Currently on Shard 1:

BLSkey: aa51ca5cf24e600db6eed48f4022769f045b2112b3f2bc4de9f9a311d2950536189eed2745d3600172c0c5eaa81a0c19

I would want to move to Shard 0 in the future but I am flexible so I can go to any shard if needed. I will make sure to substantially upgrade my hardware to keep up with anything on just one dedicated server :slight_smile:

1 Like

ONEChain Validator setup on shard 2. ( unelected )
BLSKey
005f72a6013cc2d4f412c7863f0a00ad8ee34561d94433886ab4c089f16534209a7042205505fe89d967c162efc01896

1 Like

Shard 3

Already running a single node w/out hot backup.
Spec 4cpu virtual dedicated 32gb mem 600gb disc.

BLS key
26704f56e878174ee89437eeef23ce8d415a4e705f958ea71fc43ef7a8e8f6906cd615720041ab13d1840d46b378fe87

1 Like
1 Like

Interested in helping, but I’m not elected yet. Does that matter? Here are my specs

Staking dashboard link: Harmony – Open Consensus for 10B

Shard 2
4 dedicated CPU / 8GB RAM droplet running in Digital Ocean

BLS Key: cb3e1d22125d4c9afe5c882e7f17c13e94e0385d706e2d08bcdc02da389ef53f34baa25a6e68cee1f5abb6791f381b0a

Would definitely appreciate some foundation staking to help cover the extra server costs.

1 Like

Hi Leo,

Has there been any thought in to how the allow list will be maintained and by who in the long term?

I’m happy to come forward as a nominee for Shard 1:
cc9fa8d9f659c171cf0fa416cff36897595db923756a211d58bb83d929e4a578765225607e6f5669425ebd38c6301001

Harmony – Open Consensus for 10B

I’m currently building a new dedicated server for my validator with 6 cores and 32GB RAM so plenty for shards 1…3.

Thanks,
Dan

1 Like