SIP-39: Lowering the validator set barrier to entry#39
SIP-39: Lowering the validator set barrier to entry#39wriches merged 8 commits intosui-foundation:mainfrom
Conversation
|
I wanna know the definition of minimum voting power threshold. |
|
fully support this, with one comment - there were never really any tests with a larger set of validators, which potentially this SIP would bring. To make sure there are not too many validators going in at once, perhaps a max validator set can also be temporarily implemented? i realize the phased launch is supposed to guard against this as well, but unsure if its enough (in case too many join, and network becomes somehow unstable) |
The proposal explains in more detail, but the tl;dr is:
|
This is a fair concern. There have been some tests with larger validator sets (e.g., Mysticeti was benchmarked with 150 geo-distributed validators and continued to perform quite well), but certainly not 3000+. At the current "market price" for a unit of voting power, I think it would be surprising for large number of validators to join right away (particularly with the phasing scheme). But we can certainly amend the phasing scheme to be more gradual or add a hard cap if folks are concerned about this. |
TLDRPros1.- Having more nodes -> increased decentralisation (more resilient and secure) Cons2.- possible commissions race to the bottom
Concerns4.- possible performance issues (unlimited validator set, poor performing validators) BLOCKSCOPE INITIAL THOUGHTS (Full version)We think decentralisation is a very desirable thing to have, but needs to be done carefully in order to not end with a very stake centralised network and performance issues as happens in some networks, and thus loosing some benefits of decentralisation. Pros1.- Having more nodes -> increased decentralisation (more resilient and secure) This is great to have specially on a mid/long term vision, specially if plans include competing with other networks like Solana. The more decentralised the better, so it should be an important goal for the project. Cons2.- possible commissions race to the bottom As there isn't a low commission limit constraint this could end in a race to bottom, started from new participants wanting to escalate in the stake share, specially from nodes with ~100% self stake (whales) that do not need to set a commission because the whole fees end up in node owners hand. A race to bottom could bring some issues to the network, as other participants (including the ones in SFDP) may be forced to enter the race too, decreasing the rewards and thus bringing unwanted issues like: A possible solution would be setting a fair low commission limit, to minimise the impact of these issues and create a more fair and sustainable ecosystem for validators. Also, this wouldn't be such a problem once the network usage (fees) or external delegations are enough so validators are not mostly dependant on SFDP. 3.- diluted rewards for each validator As rewards are yet dependant on stake subsidies and not network fees, the rewards for each validator will be diluted with the stake coming from new participants, and thus bringing the same issues as in previous point (2). A possible solution would be setting a dilution threshold so that only a new % of total stake may be admitted to join, until a similar share of rewards coming from network usage (fees) are achieved. So that node earnings are not heavily impacted by a big increase in the number of participants. Concerns4.- possible performance issues (unlimited validator set, poor performing validators) Would increasing the number of participants bring performance issues to the network? 5.- requirements for new participants in terms of performance and infrastructure (similar to SFDP ones?) Would new participants have performance requirements as SFDP participants? If not enforced to meet these requirements, we think some measures should be taken to tackle any possible issues. For example, implementing publicly available metrics (for performance, centralisation, etc.) to be included in wallets/explorers so that stakers can choose "healthier" nodes for the network, and thus enforcing node operators to provide optimal QoS, DC distribution and fair commissions. As an example, the Solana ecosystem explorers and Liquid Staking pools implement different scores to encourage performance and decentralisation in their validators. Hope that this helps. |
Co-authored-by: Ashok Menon <amenon94@gmail.com>
|
Your points are well-articulated! Thanks for sharing your insights. The SFDP is designed to make it easier for operators with exceptional operational capabilities to have a meaningful role in the network's governance. The intent of this SIP, in my view, isn't to promote a wide array of smaller validators through the SFDP. Instead, it's to make it more accessible for large, independent stakeholders or smaller groups to spin up their own validators without relying on support from the Foundation's delegation program. The SFDP will continue to prioritize directing stake towards operators who:
|
|
Great feedback @packetstracer!! I wanted to say a bit more about (4):
I think we would definitely not want to 10x or 100x the validator set size in a hurry--it's best to grow gradually and mitigate issues as they arise. As mentioned above, Mysticeti was benchmarked with 150 geo-distributed validators without perf degredation, and I think +44 validators is probably outside of what we would expect from this change in the short term. If performance issues arise due to new individual validators performing poorly, there are two mechanisms available:
Today's validators are excellent operators, so these mechanisms are not much utilized, but they are available if needed. |
|
Thanks for the info @sblackshear ! Didn't know about Hammerhead, LFG for performance mitigation issues. Just remark that for the long run would be interesting to provide some performance/reputation public metric (via RPC or other) so this could be used to aggregate data and implement scoring in wallets, explorers or analytics sites. |
The SIP has been passed
|
Hey, sorry for being late to the party here. I wrote this up back in July when I was thinking a lot about this problem. It takes a different approach, and since |
Thanks @wizardfiction! Will take a look |
|
Prototype implementation now here: MystenLabs/sui#19836 |
No description provided.