or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing
xxxxxxxxxx
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →Bootstrap ONE-T Nomination Pools
Proponent: TurboFlakes
KSM Account: H1tAQMm3eizGcmpAhL9aA9gR844kZpQfkU7pkmMiLx9jSzE
Contact: Paulo [@turboflakes:matrix.org]
Date: 19.06.2021
Requested KSM: ** 20 000 KSM to be bonded into ONE-T Nomination Pools
–
Short description:
ONE-T is a validator-performance bot for Polkadot and Kusama networks with special focus on the One Thousand Validator Programme (TVP). ONE-T Nomination Pools (one-t.turboflakes.io) are automated, precisely and unbiased with ONE-T bot at its core. From this proposal we aim to use 20 000 KSM from Kusama Treasury funds to provide bonded stake to two distinct nomination pools (pool_id: 12 and pool_id: 13) for the duration of 6 months.
Site: one-t.turboflakes.io
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →1. Context of the proposal
ONE-T bot was born after a few ideas gathered by the community, it aims to be an additional tool to the Polkadot ecosystem where TVP validators could be promoted, a tool that could give useful insights to validator operators and nominators about validators performance, a tool to easily understand how well validators are performing compared to their peers, a tool to give a general overview about the state of the Polkadot and Kusama network.
ONE-T Reports
ONE-T is generating reports daily since April 2022. These reports are currently only available on matrix and at the time of writing, for Kusama and Polkadot combined, ONE-T gathered over the past two months more than 150 members on both public rooms. There are more than 200 validator report subscriptions active and is sending on average more than 500 reports a day to subscribers.
Anyone is welcome to join the public rooms below and subscribe to any of the reports available, individual validator reports, insights report, parachains report or the para-groups report:
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →The image below shows the Validator Performance Report message sent by ONE-T:
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →Communnity Tips
The project was already reported by community members for a Tip from the Kusama council and a Tip from the Polkadot council. Both accepted and approved by the respective councillors.
Open Source
ONE-T is open-sourced from day one, repository could be found here.
Nomination Pools
Nomination pools are one of the most exciting features of the Staking system on Polkadot, so when these got available on Kusama, things became even more attractive for nominators and powerful for validator operators. Allowing anyone to explore, promote and further push the bondaries of the staking system on Kusama.
Team credentials & Other Tools
The team behind ONE-T is the same that created Nomi, a decision support tool for Nominators in NPoS networks (GitHub projects backend, frontend), the tool is currently available at www.turboflakes.io. The tool has received funds from the Kusama Treasury to expand functionalities and is currently under development with some additional features to be released soon.
We are also the creators of other bots, Crunch and Scouty. Crunch is a command-line interface to easily automate payouts of staking rewards for Substrate-based chains (GitHub project here). Crunch has matrix integration built-in so that validator operators can be easily notified about the state of their staking rewards. Scouty is a command-line interface to keep an eye on substrate-based chains and hook things up (GitHub project here). Scouty also has matrix integration built-in so that anyone could get notified about on-chain events and extend functionality as soon as on-chain events linked to Session, Staking, ImOnline and Democracy pallets are emitted.
All our tools have been well received by the community and have received Tips from the Kusama Treasury.
2. Problem statement
The Thousand Validators Programme is an awesome initiative by Web3 Foundation and Parity to further decentralize the validator set and gives an opportunity to everyone that would like to become a Validator operator in the ecosystem to actually participate in active staking.
In NPoS networks, there are only two ways for a validator to reach the active set: Or either have the means to back himself. Or has to obtain the trust of nominators - be proactive, build a reputable brand/name, participate in the community, build things. In sense, contributing to the ecosystem, so that nominators could feel comfortable by directing their funds towards these independent validators.
It looks like a not so difficult task for a validator, but of it all, the hardest bit is really to be part of the active set and actually validate. Only when a validator is active, is when nominators confidence builds up and trust is obtained, is when research could be made about a validator performance, is where all good things happen and eventually some staked bonds could be diverted to a more diverse and decentralized set.
Apart from the TVP initiative (to my knowledge) there are currently no other community or independent programmes available to further push for a more decentralized set - this proposal aims to change that and bring another platform to bootstrap independent validators with enough bonded stake into the active set.
3. Proposal Objective/solution/s to point 2:
Our Solution → Nomination Pools + ONE-T
ONE-T automation, precisely and unbiased selection of validators aims to help to shape Kusama and bring a fully trusted, performant and highly decentralised network.
ONE-T monitors and scores and grade all active validators based on their performance when participating in the parachain consensus. The top performances are then automatically nominated to two distinct nomination pools. Although, this is not a guarantee that the these validators will always be the best performers in subsequent sessions, most likely they will continue to outperform. And the additional fact that only valid TVP validators are potential candidates for these pools aims to increase trust and lower the risks for pool members.
The fairly rotation brought by the participation in the TVP programme and the short time span considered - up to 48 sessions on Kusama - gives every validator a chance to be evaluated and be listed among the top best performers every era.
With the amount of 20 000 KSM of funds requested from the Kusama Treasury by this proposal, injected directly into ONE-T Nomination Pools (one-t.turboflakes.io) we aim to bootstrap these exceptional validators and help them stay in the active set a few eras more, so long as a new set of good performers come along and the pool nomination is refreshed with a new set of validators.
We aim for ONE-T Nomination Pools to be recognized as pools where nominees are trustfull and exceptional performers, so that any token holder could came here to visit and search for good candidates for their nominators - or even better, to become a member of these pools.
3.1. How does this proposal change the current logic in Kusama?
3.1.1 How does ONE-T performance score work
ONE-T measure performance strictly when a validator is selected to participate in the parachain consensus. Every new session a random set of active validators are selected to para-validate and is during this critical time that most of the points collected by a validator come from.
Parachain consensus uses a few different protocols that are strictly connected with the relay-chain consensus. A big slice of the para-validator (p/v) points come from the Backing process which is currently the main focus of ONE-T. All of the para-validators are tracked on the amount of missed candidate backing votes for parachains and the ones that miss less are performing better.
If the validator also performs well during the participation in the other protocols the overall p/v points increase. And for these points to be included in the performance score, ONE-T takes the average of p/v points over an amount of X sessions into the score calculation.
By last, the amount of times a validator participates in the parachain consensus is also introduced in the score calculation. Being this fact completely random, it has been given the lowest weight. This insight is very important, because the more assignments a validator has the more chances one have to miss candidate backing votes. Having more p/v sessions it means that the validator has been evaluated more times, increasing the risk of changing the previous score up or down. Having more p/v slightly increases the performance score.
Who are selected to the Pool ID: 12
Pool metadata: 🏆 Top 24 Best Validators Performances (TVP)
At the end of each era the performance score is calculated based on the three categories previously described. The backing votes ratio make u bringing allp 75% of the score, average p/v points make up 18% and number of sessions as p/v the remaining 7%. After the performance score is completed a ranking is built by sorting the list of validators by performance score in descending order - higher score means Top-Performance. The top 24 are than selected as the nominees for the pool ID: 12 nomination.
(Score formulas can be found here.)
Who are selected to the Pool ID: 13
Pool metadata: 🏅 Top 12 Best Validators Performances (TVP-LC)
On top of the performance score, a new score named commission score is calculated. Where the current validator commission make up 75% of the score and the rest 25% the validator performance score. A new ranking is built by sorting the list of validators by commission score in descending order - higher score means Top-Performance with the Lowest Commission. The top 12 are than selected as the nominees for the pool ID: 13 nomination.
Why only 12 and not 24 nominees?
The bonded funds in this pool aims to be more clinical towards the current set of nominees, hoping to have a greater effect in bringing active some of these validators in the next election round.
Features already implemented:
ONE-T is already live and has been running steadily for a few months. Since nomination pools went active on Kusama, the bot is already doing what is proposed on this proposal - it nominates the top best 1KV validators from the last 48 sessions/epochs (2 days) to the respective pools at the begining of each new era.
Nominations are always triggered by the pool nominator account and can be verified on-chain here.
3.1.2 How do we plan to use Treasury funds into ONE-T Nomination Pools:
The idea is to allocate 10 000 KSM to each pool totalizing the amount of 20 000 KSM requested from the Kusama Treasury.
Since these funds belong to the Kusama Treasury they should be always controlled by governance and should not be managed directly by us. To achieve the goal of less trust, more truth we pretend to use addresses without private keys generated on-chain via the Anonymous proxy function and without the control from the account that originally create the newly spawned anonymous proxies. With such implementation the ONLY way to access and execute calls on behalf of the new on-chain generated accounts is via Governance.
We are proposing the following two tasks to achieve our goal:
Task 1
First let's create a batch call to generate new addresses on-chain via the
proxy.anonymous
function. The reference of the successful on-chain extrinsic can be found here.The successful output of the previous call gives us two new addresses:
FWkxCoVGajKfcBqd6SreVSm4DJZLMRAWSqT26whPrkjqX3m
FWKXyqL8YhH7fyazuFiGswDcQEvJNSnbSVjc6mFDGL5i342
Next, let's use
proxy.killAnonymous
to effective remove our control from these accounts. The reference of the successful on-chain extrinsics can be found here and here respectively removing control from account FWkxCoVGajKfcBqd6SreVSm4DJZLMRAWSqT26whPrkjqX3m and account FWKXyqL8YhH7fyazuFiGswDcQEvJNSnbSVjc6mFDGL5i342.From this point onwards the only way to access these accounts is via Governance, so let's give it a try and make some remarks on behalf of these accounts.
We propose the following preimage for the proposal to be executed via Governance so we could test governance control over the accounts previously mentioned. The reference of the on-chain preimage can be found here.
Note: If this proposal passes council vote, add a reference here - in this document of the successfull block number and respective extrinsic. It might be useful for future reference.
Preimage proposal hash
0x1802081803000181fd5707c1e314bdccbe80a311121ce074cebdc0dead2bbcb1cb0c127aca5f8e0001544c657373205472757374204d6f72652054727574681803000181a7c6cac2bac3e3fae246e998f1d05eb36aa59c3345fedb09a3828eee7ec762000130457870656374204368616f73
Note: Both accounts were initially provisioned with
0.1 KSM
so that future calls could be successfully triggered via Governance. The reference of the provision can be found here.(UPDATE - 04/01/2022)
Task 1 by completed. Referendum 230 passed community vote. Call was enacted at block 14731200.
Task 2 (Draft 1)
Creation of a single proposal to be submitted by council so that could become later referenda with the goal described by the points below:
Note 1: 6 months is around 2,592,000 blocks (6 30 24 60 10)
Note 2: If this proposal passes council and referenda vote, add a reference here - in this document of the successfull block number and respective extrinsic. It might be useful for future reference.
Draft of the initial proposed extrinsic for Task 2:
What happens to the funds after the end of the 6 months period proposed?
We plan to report back how successfully the Treasury funds have been applied into ONE-T Nomination Pools and let the community decide by opening a discussion followed by a new council proposal to either transfer the funds + staking rewards back to the Kusama Treasury or rebond and extend the period for another 6 months.
Why 20 000 KSM?
We think that 20 000 KSM (which is around half of the average of 38 380 KSM from the 23 nominator accounts currently available in the TVP programme) applied to the 36 nominees total stake will most likely not put any validator directly into the active set, but combined with the validators independent nominators and when overlapping with the TVP nomination will certainly give a push to keep part of these validators in the active set.
Potential Risks
Validator slashing is the major risk we foreseen by applying Kusama Treasury Funds into bonded stake. The strict rules applied by the TVP programme alone are aimed to lower the risk of slashing and guarantee that the validators in operation are trusted, secure and have good intentions. Other risks might fall on the ONE-T bot it self while monitoring the network or the nomination could not be triggered every other era - we will try to mitigate this risk as much as we can by continuosly monitoring the bot. ONE-T also reports the status of the nomination to the public room so that community could be aware when the new set of nominees is sent on-chain.
3.2. Who does this solution help?
3.3. Milestones and tasks to include:
The proposal is broken into 2 tasks under milestone 0:
Milestone 0
With a help of a council member we plan to start by implementing task 1 as described in point 3.1.2.
4. Why Kusama?
Nomination Pools are already live on Kusama. The barrier for new independant validators to enter is lower. Kusama is our live experimentation of what we would expect Polkadot in the near future to be, so to build and try out something new, we will always do it on Kusama first.
5. If you have seen similar proposals before: why are yours different?
–
6. Payment conditions:
–
7. Comments, Qs&As
–
8. We'd love to hear about how you got to know about the Kusama on-chain treasury: let us know, in a few sentences, how did you become familiar with the spending mechanism and the on-chain treasury?
We have been around in the community from January 2021, we follow both Direction channels on element where Treasury proposals are discussed and we try to be on top of new proposals and be informed as much as possible on how the spending mechainsm works in Kusama.