## Data collection and analysis took 2.6 hours
This document presents an analysis of Nominator behavior on the Polkadot Network, focusing on their choices regarding the frequency of target selection (i.e., the Validators they choose) and changes in their bonded amounts. By understanding these patterns, we can quantify how this behavior translates into the Backing Age of Validators, an indicator of the staleness of their backing. Ideally, Nominators regularly optimize their selection of Validators, leading to a generally lower Backing Age. Nominators are incentivized by the Polkadot Network to conduct thorough research and make optimal choices, as poor selections could result in slashes, leading to a loss of funds. However, while the threat of slashes serves as a deterrent, actual slashing events are quite rare. This rarity may lead to complacency, with Nominators becoming less vigilant over time. To avoid a situation where slashes become more common, it is crucial for Nominators to remain proactive and continuously make well-considered decisions, even if the system currently appears stable.
The purpose of this analysis is to support the RFC#0104, which proposes mechanisms to encourage Nominators to be more active in optimizing their target portfolio (based on individual preferences) more frequently. This could lead to a stronger and more resilient Validator set.
An important note: There are no indications that the current set of Validators is insufficient or sub-optimal. Rather, the RFC is aiming to make the situation better before problem occur, increasing the confidence in the current Validator set even further. The results, especially on Validators are not meant to discredit any individual party. The data is purely descriptive. Also, it does not mean Validators with very old Backing Age are in any form suboptimal. The goal is simply to nudge Nominators to engage more frequently with their targets, even if that would lead to the same Validator set as is, we as a community could be even more confident that we have the best Validator set in the blockchain space.
The data used in this analysis consists of session-based snapshots of Validators and Nominators. The Nominator dataset includes information on their stash addresses, bonded amounts, and chosen targets (i.e., Validators they nominate). The Validator dataset includes details on their stash addresses, identities (if set), self-stake, total stake, commission, and their stakers (i.e., Nominators allocated to back the Validator by the NPoS algorithm).
Each Era on Polkadot comprises six sessions, and the effects of changes (such as bonding adjustments or target updates by Nominators) take effect at the beginning of the next Era. However, these changes can occur during any session. To reduce computation, this analysis takes every n-th session. The current configuration samples every 6 sessions, which corresponds to a snapshot approximately every 1 day. This approach introduces “blind spots,” which may result in slight inaccuracies (represented as “Maximum Inaccuracy” in the table below).
I would like to express our gratitude to the Parity Data team for their continuous efforts in maintaining the data sources that make analyses like this possible. In particular, a special thanks goes to Pranay for providing clean and well-structured datasets, which have been invaluable for this work.
The following table provides a summary of the Nominators.
(Active filters: only active Nominators, no 1kv Nominators)
A few very active nominators significantly distort the above graph. Let’s only look at nominators that update their nominations less than 5 times (which captures 86.69% of all nominators).
(Active Filters: only active Nominators, no 1kv Nominators, target changes < 5)
As an interesting additional analysis, we can look only at nomination pools and see how they behave.
(Active filters: only active Nominators, no 1kv Nominators, is_pool = TRUE)
Nomination pools appear generally more active than the average nominator, but have still a surprisingly high average time since they last updated their nominations (257 days). This might be due to the fact that several pools are run by validators themselves and only include themselves into their selection.
To summarize the data, we can clearly say that nominators rarely engage with their nomination after their initial action to become a nominator. On average and after their initial activation, nominators only change their targets 1.89 times (1.84 if we exclude pools and 9.6 if we only look at pools). While there are some much more active nominators, this is a strong indication that a large share of nominators simply set and forget.
In this section, we delve deeper into the composition of Validator backing. Our focus is on the number of days since the active Nominators of each Validator last changed their targets. Additionally, we adjust these days by the relative size of each Nominator’s bond in relation to the total bonded amount of the Validator. This metric, referred to as Weighted Backing Age (WBA), provides insight into how much of a Validator’s backing comes from earlier or newer nominations.
Consider the following example: Suppose a Validator has two Nominators, A and B. Nominator A has not updated their targets in 50 days and has a bonded amount of 5000 DOT. Nominator B, on the other hand, has not updated their targets in 1000 days and has a bonded amount of 20,000 DOT. Instead of simply averaging the backing age as (50 + 1000) / 2 = 525 days, we account for the fact that one Nominator contributes significantly more to the backing. Mathematically, this is calculated as: 5000 / (20000+5000) * 50 + 20000 / (20000+5000) * 1000 = 810. In this example, the WBA is larger than the simple average, because the Nominator contributing most to the backing is from longer ago. This, of course, also works the other way around.
The following graph plots the density of the WBA for all Validators in the active set.
Given the data above, we can say, for example, that 40% of the density is above 180 days (or around 6 months). In other words, 40% of the total backing of all Validators is older than 6 months.
The following histogram provides additional information about the distribution of the staleness metric on a per-Validator basis of all active Validators (n = 400).
The following table sorts active Validators based on their weighted backing age and provides prints the highest 30 entries. Validators without a set identity are labelled “pseudo-a”.
Stash Address | Validator Name | Weighted Backing Age |
---|---|---|
15ANfaUMadXk65NtRqzCKuhAiVSA47Ks6fZs8rUcRQX11pzM | pseudo-a | 1432 |
12713bbq45c66CN9AD7yusSXWE1kY91DcMpjVcB2rXqZKy2w | 🔒stateless_money🔒 | 1323 |
16SpacegeUTft9v3ts27CEC3tJaxgvE4uZeCctThFH3Vb24p | Staker Space | 1314 |
1zugcajKZ8XwjWvC5QZWcrpjfnjZZ9FfxRB9f5Hy6GdXBpZ | Zug Capital / 08 | 1312 |
1zugcagDxgkJtPQ4cMReSwXUbhQPGgtDEmFdHaaoHAhkKhU | Zug Capital / 20 | 1277 |
15MUBwP6dyVw5CXF9PjSSv7SdXQuDSwjX86v1kBodCSWVR7c | General-Beck / Laniakea | 1239 |
16GDRhRYxk42paoK6TfHAqWej8PdDDUwdDazjv4bAn4KGNeb | CP287-CLOUDWALK | 1199 |
13BeUcLu7hzSTaoKpEtpdqiXKZz6yVfT9exKH6JuTW8RQQvJ | KeepNode / carbon | 1188 |
1zugcakrhr3ZR7q7B8WKuaZY5BjZAU43m79xEyhNQwLTFjb | Zug Capital / 22 | 1185 |
14pU6dcr5jgMpFZDGB1fwcU6LztP5pszTk5mYz8nUXBu59mU | ZKValidator / ZKValidator 1 | 1123 |
1zugcacYFxX3HveFpJVUShjfb3KyaomfVqMTFoxYuUWCdD8 | Zug Capital / 18 | 1102 |
134Bw4gHcAaHBYx6JVK91b1CeC9yWseVdZqyttpaN5zBHn43 | P2P.ORG / 15 | 886 |
14xKzzU1ZYDnzFj7FgdtDAYSMJNARjDc2gNw4XAFDgr4uXgp | Ryabina / 2 | 864 |
1zugcawsx74AgoC4wz2dMEVFVDNo7rVuTRjZMnfNp9T49po | Zug Capital / 11 | 841 |
1zugcaaABVRXtyepKmwNR4g5iH2NtTNVBz1McZ81p91uAm8 | Zug Capital / 02 | 839 |
14Y626iStBUWcNtnmH97163BBJJ2f7jc1piGMZwEQfK3t8zw | P2P.ORG / 17 | 797 |
16DKyH4fggEXeGwCytqM19e9NFGkgR2neZPDJ5ta8BKpPbPK | P2P.ORG / 2 | 795 |
1LMtHkfrADk7awSEFC45nyDKWxPu9cK796vtrf7Fu3NZQmB | pos.dog / 8 | 766 |
13uW7auWPX9WAtqwkBx7yagb78PLcv8FAcPZEVCovbXoNJK4 | P2P.ORG / 13 | 755 |
14yx4vPAACZRhoDQm1dyvXD3QdRQyCRRCe5tj1zPomhhS29a | PureStake / 01 | 687 |
12GTt3pfM3SjTU6UL6dQ3SMgMSvdw94PnRoF6osU6hPvxbUZ | pseudo-a | 665 |
1zugcag7cJVBtVRnFxv5Qftn7xKAnR6YJ9x4x3XLgGgmNnS | Zug Capital / 19 | 627 |
123VugBRFMqUEFviSYrG3ewdZ46ZmqxjmRaGY6BvakfdPVaG | Blockdaemon / 1 | 625 |
1zugcapKRuHy2C1PceJxTvXWiq6FHEDm2xa5XSU7KYP3rJE | Zug Capital | 620 |
121gZtuuG6sq3BZp1UKg8oRLRZvp89SAYSxXypwDJjaSRJR5 | P2P.ORG / 6 | 608 |
16A1zLQ3KjMnxch1NAU44hoijFK3fHUjqb11bVgcHCfoj9z3 | pos.dog / 5 | 595 |
1wcx1MBUQkmHL1ed4jMjo7U7eNNVvZjV7iVYedP7FEKqay6 | pseudo-a | 586 |
15V6NjwmKkZihe644Tyr8GVLxjEzBAHktf6ZcJCTx7RPCoYS | Coinbase / cc2 | 582 |
129TM37DNpyJqtRYYimSMp8aQZ8QW7Jg3b4qtSrRqjgAChQf | P2P.ORG / 23 | 579 |
124YFXA3XoRs9Epcx3aRUSk3EKYaznocqMWfrMKtGjx8TJ2W | Coinbase / cc3 | 578 |
The average WBA of all active Validators is 226 (and 265 for Validators without 100% commission).
Note: As mentioned above, the table above is purely descriptive and it does not necessarily mean that a large WBA is a bad thing. Validators that have a large WBA, by definition, also are long-time contributors to the Polkadot Network.
The analysis presented here has shown that many if not most Nominators never really engage with their nominations (at least through on-chain activity) again. On average, nominators only change their Validator selection 1.89 times and the average time since the last change is 546 days. This directly translates into the average Weighted Backing Age of Validators which amounts to 226. In other words, not only do most nominators not frequently update or change their selection of validators, they also hold a significant share of the total stake in the system.
This does not necessarily mean that the current set of Validators is not optimal or robust. But finding ways to gain more confidence that Nominators are up to date with the recent developments in the Validator set is desirable. Therefore, this data analysis strongly supports the initiative proposed by RFC#0104 that creates incentives for nominators to revisit their selection and has Polkadot achieve an even better set of Validators.