Encourage Decentralization in Minifront's Staking Page

Feature Request: Staking Decentralization Nudge

Summary

Currently, staking happens through Minifront. The staking page should show a nudge dialog if a user tries to delegate to a validator with more than 5% VP, suggesting they choose a different validator.

Problem Statement

On today’s community call, @/Bob_Backlund raised concerns about validator voting power decentralization. Currently, only a small minority of stake is delegated, so this should improve over time. However, in the discussion, it was suggested that the staking interface could nudge users to promote decentralization when they stake.

Proposed Solution

If a user tries to delegate to a validator with more than 5% voting power (this number could be adjusted over time), Minifront should show a nudge dialog that prompts the user:

The validator you’re delegating to has more than 5% of the current voting power. To promote decentralization, it’s recommended to choose a smaller validator.

[Delegate Anyways - greyed/minimized] [OK - default/highlight]

If they click OK, it cancels and takes them back to the staking page to choose a different validator. If they click Delegate Anyways, it proceeds with their action – users get to choose who they want to delegate to.

The staking page could also sort the validators that are over threshold to the bottom of the list.

Use Cases

This promotes staking decentralization as the network grows.

Priority

Medium

In minifront, in order to delegate, a modal already pops up:

Instead of a double-modal that would popup on top of each-other, I propose we modify this existing one with the alert:

Can even make the button color more drastic as well:

That seems good, but I’d suggest having a red “delegate anyways” button (cancel-coded) and a green “choose another validator” (ok-coded) that closes the dialog.

1 Like

PR up: Warning when voting power high by grod220 · Pull Request #1895 · penumbra-zone/web · GitHub