Current metrics is Age, Collateral, Price, Remaining storage, Uptime, Wallet Version and Host interaction weight (v1.3.0 and above)
Lifetime calculated from first host announce.
To get minimal penalty(score = 1) your host must be older than 6000 blocks or 41 days in human time.
Base score is 1 then penalties applied depending on host lifetime.
- <6000 (41 days) - 2x (1/2)
- <4000 (28 days) - 4x (1/4)
- <2000 (14 days) - 8x (1/8)
- <1000 (7 days) - 16x
- < 576 (4 days) - 32x
- <288 (2 days) - 64x
- <144 (1 day) - 128x
Improves the host's weight according to the amount of collateral that they have provided.
Prices score calculation bit complicated.
Generally you should have minimal prices to get higher score.
Used prices: contract price, collateral, bandwidth price(download, upload)
Base score is 1 then penalties applied depending on host remaining storage.
- 4 TB - 2x total penalty
- 3 TB - 4x total penalty
- 2 TB - 8x total penalty
- 1.6 TB - 16x total penalty
- 800 GB - 32x total penalty
- 400 GB - 64x total penalty
- 300 GB - 128x total penalty
- 200 GB - 256x total penalty
- 100 GB - 512x total penalty
- 60 GB - 1024x total penalty
- 40 GB - 2048x total penalty
- 20 GB - 4096x total penalty
Penalizes the host for having poor uptime, and for being offline.
- 100% uptime = 1
- 98% uptime = 1
- 95% uptime = 0.91
- 90% uptime = 0.51
- 85% uptime = 0.16
- 80% uptime = 0.03
- 75% uptime = 0.005
- 70% uptime = 0.001
- 50% uptime = 0.000002
To keep version penalty minimal host must use newest wallet version.
The multipler that gets applied to a host based on previous interactions with the host. A high ratio of successful interactions will improve this hosts score, and a high ratio of failed interactions will hurt this hosts score. This adjustment helps account for hosts that are on unstable connections, don't keep their wallets unlocked, ran out of funds, etc.
Successful Interactions(SI) = Historic Successful Interactions + 30
30 is baseline of successful interactions
Failed Interactions(FI) = Historic Failed Interactions + 1
1 is baseline of failed interactions
Ratio = SI / (SI + FI)
Ratio ^ 15 = Host interaction weight
Raise the ratio to the 15th power and return that. The exponentiation is very high because the renter will already intentionally avoid hosts that do not have many successful interactions, meaning that the bad points do not rack up very quickly. We want to signal a bad score for the host nonetheless.
Fresh renter/host with zero stats
Successful Interactions = 30
Failed Interactions = 1
30 / (30 + 1) ^ 15 = ~0.61
So default interaction weight for any host is ~0.61