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.