How to make validator selection easier in Terra Station

jp12
6 min readFeb 6, 2022

In this article, I take a look at some of the important metrics one needs to review while selecting a validator. Before going further, let’s do a quick review on validators.

Validators

Terra relies on delegators and validators to keep the network secure, where delegators are users that delegated any amount of LUNA to validators while validators are the ones who sign and verify blocks.

Validator’s role in the network is to run a full-node and participate in the network’s consensus by broadcasting votes. Validators get revenues for committing new blocks.

Validator Responsibilities

Running a validator is a big responsibility, which is why only the top 130 in bonded Luna stake are elected to sign blocks. As such, safety and liveness guarantees must be met, at the risk of having their validator’s stake slashed (penalized), hurting both the validator’s funds (as well as their delegator’s), and their reputation.

The major risk factors are:

  • Equivocation Slashing. Validators double-signing a block will lose 1% percent of their total stake (validator and delegators!).
  • Downtime Slashing. Validators missing 9,500 blocks within a window of 10,000 blocks (95%) lose 0.01% of their stake. In human terms this translates to being offline for about 15 hours and 50 minutes within a window of 16 hours and 40 minutes.
  • Jailing. When reaching the downtime threshold, validators are jailed for at least 10 minutes. During this time they won’t participate in consensus and will need to send a message to the protocol to unjail themselves again. When jailed, no rewards are earned.

Current UI

Here’s what the current UI for a validator selection looks like. It provides information on the current “Voting Power”, “Commission” and “Uptime”.

Validator list

And when you click on a validator, here’s the detail screen. As you can see, not much additional detail over the list view. The only addition are related to commission changes.

You’ve got to ask yourself, is this enough information to delegate your hard-earned LUNA to one of these validators? In my opinion, we can do better.

Here’s how.

Proposed UI Improvements

The first set of improvements can be done on this validator details screen are these questions that come to mind:

It’s important to know how these values have changed over time

Here are the top questions I want to know when I select a validator:

  1. How has the voting power of the validator changed over time? How many LUNA are delegated to this validator? Has it gone up or down?
  2. How has the self-delegation changed?
  3. How has the commission changed over time? Has it become more or less expensive to delegate to this validator?
  4. How many downtime events has this validator had? Have there been any slashing events? Has this validator missed any blocks?

At a high-level, here are the additional metrics I propose we show the delegators:

  1. Delegation patterns
  2. Missed blocks
  3. Slashing events
  4. Governance proposals participation
  5. Voting Power over time
  6. Commission over time

Validator Delegation Patterns

The first improvement we can make is to show the validator delegation patterns on the “Validator detail” screen. Here’s an example of 4 validators I have chosen to show the various Redelegate, Undelegate and Delegate LUNA amounts in the last 90 days.

These patterns can be used to observe what the delegators have been doing with the validator recently. For e.g. if we see more “Undelegations” than “Delegations”, that would likely mean that the LUNA community has had some issue with this validator.

In the Terra Station, a user should be able to see the delegation patterns for the current selected validator and compare these patterns with another validator chose from a “Dropdown menu”.

Validator Downtime

Another important indicator to view with validators is how many blocks they have missed recently. A missed block is an indicator of possible downtime. If a validator misses 9,500 blocks within a window of 10,000 blocks (95%) they lose 0.01% of their LUNA stake. As a delegator, you want to avoid delegators that have a history of missed blocks, even through they might not have had slashing events.

Slashing Events

Similar to the last metric, the number of slashing events should also be shown for each validator. Here’s an example for the “Staky.io” validator. This validator has had repeated slashing events in the last year.

If you look at the validator details page for this validator, things don’t look as bad because of “99.9%” uptime and the time-period of 10K blocks i.e. who intuitively knows how long that is in terms of days, hours etc.

Now let’s look at the previous “Missed Blocks” metric for this validator.

This validator has consistently missed over 10,000 blocks on many days which has led to the LUNA slashing events.

This validation currently has about 158K LUNA delegated to it. Now ask yourself, if you had access to the missed blocks + slashing information, would you delegate to this validator?

Validator Governance Participation

Because of the power validators hold due to the delegated LUNA, they hold sway over governance votes and can influence the outcome. Therefore, it’s important for delegators to understand if their validators are on the same page as them when it comes to direction of the Terra blockchain.

The best way to show this to the delegator is to show the historical record of how the validator has voted. This could be shown like a table on the validator details page. Here’s an example for Orion.Money validator.

Validator Voting Power

As the wave of adoption in decentralized blockchains continues, it is important we pay attention to how decentralized these blockchains are. One metric to gauge the decentralized nature of a blockchain would be the Nakamoto Coefficient. The Nakamoto Coefficient represents the number of validators (nodes) that would have to collude together to successfully slow down or block any respective blockchain from functioning properly. The higher the Nakamoto Coefficient relative to the total number of validators, the lower the risk of collusion disrupting a decentralized blockchain.

Therefore, one important metric to show would be how the validators voting power has changed over time as well as how much delegated LUNA has changed over time.

In the following examples I show both of these metrics for Orion.Money validator which is one of the larger validators.

Concept Examples

The first concept is the “List Validator” screen where I’ve added sparklines to each of the columns representing how these metrics have changed over time.

Next up, we can have a widget on the bottom right mapping to the metrics already shown for each validator. The widget can have various tabs for each of the metrics that allow switching between them and seeing the relevant graph over time.

Here’s another variation on the widget concept with a different chart.

Conclusion

Here’s a recap of what we covered in this article:

  1. We uncovered that looking at uptime alone isn’t sufficient for LUNA stakers. We need to provide them more historic information on validator performance.
  2. We proposed some new metrics and UX concepts of where we could show these additional metrics in Terra Station.

--

--

jp12

Product strategy by day. On-chain crypto analyst by night.