# Specify if code should be shown in export
show_code = FALSE 
# Specify which network you would like to analyze. Must be "polkadot" or "kusama".
chain = "polkadot"
# Specify which session you would like to analyze. Must be >= 419 for Polkadot and >= 5994 for KSM.
session = 5391

Descriptive metrics

polkadot
Number of active Nominators: 19231
Number of active Validators: 297
Average commission: 63.12%
Number of validators with 100% commission: 179
Number of validators with <100% commission 118
Average commission for validators with <100% commission: 7.19%
Average selfstake in DOT 5794.14
Median selfstake in DOT 0

Notes: Number of inactive nominators is composed of nominators with insufficient minimum bond and those voting only for waiting validators.

Decentralization

Decentralization is an important part of the polkadot network. The following graphs illustrate how votes are distributed across the different validators. One vote corresponds to a specification in the voting scheme. That means, one nominator can have up to 16 votes. This metric is pre-election algorithm, which means that the algorithm was not applied yet and votes have not been redistributed.

Average number of votes per (elected) validator: 704.6

Distribution of voters per validator

The following graphs plots the number of votes (pre-election-algorithm) for each (elected) validator in decreasing order. Note that the set of validators only contain those who are elected and therefore some votes (for not elected) validators are missing. The indicator line is showing a theoretical uniform distribution if all validators receive the same number of votes.

Validator total stake

The following graph plots the total stake of the validators and sorts them.

The minimum total stake is 1849120 in comparison to the average total stake of 2122975 which means that the minimum amount is 87.1003986% of the average.

Voting Behavior of Nominators

The following graph shows a histogram of how many degrees the nominators have in their voting scheme. It can have values from 1 to 16 (as restricted by the election algorithm). The average number of degrees: 8.72 with a median of 8

In the following graph, the nominators are grouped by how many degrees they have in their voting scheme. It further shows the total amount of bond held by each group (in % with respect to the total available staked bond).

Allocation of Bonds by Nominators

The following sankeyNetwork illustrates the current staking situation. Nominators are grouped by how much bond they allocate to their nominations. Validators are collapsed to the respective operators (if they have an identity) or to be pseudo-anonymous (if they do not have an identity). A major drawback with plotting the flow of bonds is that the total sum of bond is locked for the whole nomination scheme and the algorithm later decides how to split it. This means that a single bond can be represented 16x in the graph. A naive way to account for that is to only show nominators who have 16 nominations (which is done here).

## Warning in type.convert.default(unlist(x, use.names = FALSE)): 'as.is' should be
## specified by the caller; using TRUE

Distribution of Validator Identity

The following pie-chart illustrates the distribution of validator identities. All validators with an identity but only having one node are summarized as β€œIWI” (β€œIndividual with Identity”). Pseudo-anonymous nodes are aggregated to the β€œpsydo-a” group. Other operators are aggregated by the first 4 letters of their identity.

short_identity number_nodes self_stake_mean commission_percent_mean fraction
32 pseudo-a. 175 4021.4403 95.49714 0.589
29 P2P. 13 145.4921 1.00000 0.044
8 BINA 11 0.0000 100.00000 0.037
50 Zug 11 0.0000 10.00000 0.037
12 Coin 10 2161.4163 7.70000 0.034
31 pos. 10 0.0000 8.00000 0.034
10 Bloc 8 0.0000 3.00000 0.027
22 Jaco 6 500.0000 1.00000 0.020
41 Stak 5 1200.6124 9.80000 0.017
17 Figm 3 0.0000 10.00000 0.010
7 bina 2 0.0000 100.00000 0.007
15 DARK 2 4393.3655 8.00000 0.007
18 Gene 2 8215.0824 5.00000 0.007
35 Rock 2 19606.3693 6.50000 0.007
44 sync 2 0.0000 100.00000 0.007
1 🌐 de 1 6248.5934 5.00000 0.003
2 🐟Yel 1 2029.2642 1.00000 0.003
3 🐠 ST 1 0.0000 4.00000 0.003
4 πŸ”’sta 1 0.0000 5.00000 0.003
5 πŸ›Έ Zo 1 1109.0324 5.00000 0.003
6 Amfo 1 10177.8393 3.00000 0.003
9 bLd 1 505.0000 3.00000 0.003
11 Chri 1 5108.8440 5.00000 0.003
13 CP28 1 105005.0983 3.00000 0.003
14 Curr 1 0.0000 1.00000 0.003
16 DotS 1 5029.7531 1.00000 0.003
19 HYPE 1 1109.9882 2.00000 0.003
20 ilgi 1 10622.6292 5.00000 0.003
21 IOSG 1 4231.1494 3.00000 0.003
23 Joe 1 8568.6689 1.90000 0.003
24 Luck 1 6606.9922 5.00000 0.003
25 lux8 1 5026.3861 0.00000 0.003
26 Math 1 0.0000 5.00000 0.003
27 MC | 1 0.0000 2.00000 0.003
28 Noda 1 5121.3390 1.00000 0.003
30 Polk 1 668443.0559 1.00000 0.003
33 Pure 1 24702.6663 3.00000 0.003
34 RADI 1 5771.1847 3.00000 0.003
36 Ryab 1 442.3102 2.00000 0.003
37 Sens 1 5918.2473 3.00000 0.003
38 Sik 1 1524.5630 1.00000 0.003
39 Sio3 1 5888.5943 3.00000 0.003
40 SNZP 1 0.0000 1.00000 0.003
42 STAK 1 5290.1576 0.00000 0.003
43 Swis 1 10277.6347 1.00000 0.003
45 T-Sy 1 0.0000 9.00000 0.003
46 Tita 1 5156.5279 5.00000 0.003
47 Wate 1 5098.3949 5.00000 0.003
48 www. 1 5156.8018 2.00000 0.003
49 ZKVa 1 0.0000 8.00000 0.003

Determinants of Voting Behavior

The following linear regression predicts the number of stakers per validator by whether the validator has an identity, the percentage of commission and the amount of self-stake. Validators with \(100\)% commission are excluded as they probably are self-electing and do not contribute to a meaningful analysis.

## 
## Call:
## glm(formula = num_voters ~ commission_percent + identity + self_stake, 
##     family = gaussian(link = "identity"), data = validators_regression)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1748.0   -902.7    158.0    666.8   3919.1  
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        932.107465 537.648403   1.734 0.085679 .  
## commission_percent -26.484558  15.246801  -1.737 0.085078 .  
## identity           988.235454 488.731036   2.022 0.045513 *  
## self_stake           0.006145   0.001581   3.888 0.000171 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 1122536)
## 
##     Null deviance: 177078360  on 117  degrees of freedom
## Residual deviance: 127969093  on 114  degrees of freedom
## AIC: 1984.7
## 
## Number of Fisher Scoring iterations: 2