You are viewing an archive of the Piccadilly Circus Games Competition. Join our Discord for the latest information.
Onboard Validator
DSet up a validator node, register it on the Piccadilly testnet and maintain \(\geq\) 90% up-time every day over the course of Round #5; points are earned proportional to performance. There are up to 120 winners for Onboard validator!
Synopsis
In this task you will set up and operate a validator node in the Piccadilly testnet. Use your pre-funded account in the off-chain CAX exchange to purchase ATN and NTN for on-chain use. You will need to purchase ATN to fund submitting transactions and NTN to self-bond to your validator and make it eligible for selection to the consensus committee in the epoch following the bonding event.
Your job is to keep your node live and non-byzantine for the duration of Round #5. Telemetry nodes in the committee will be monitoring your node’s liveness in terms of its participation in tendermint consensus.
See the Scoring rule for details on how points are earned.
The task scoreboard can be viewed on the Leaderboards page.
Validator metrics can be viewed on the game’s validator dashboard and on validator dashboards developed by the community - see the awesome-autonity
repo for links to these community resources!
Note that Piccadilly Testnet has a maximum committee size of 100.
There is one key difference to Round #4, though: throughout Round #5 the validator committee size will fluctuate, moving lower then moving back to 100. This is to force simulate mainnet conditions of committee size variance as validator nodes move through their lifecycle and the stake participation rate varies.
Whether your validator is in the consensus committee depends on how much bonded stake it has and how many other validators are registered by game participants! Maintain a good validator reputation and competitive commission rate to attract delegated stake and increase commission and staking reward revenue!
Validator reputation is a key element of due diligence as a stake delegator. So, a good baseline for attracting stake is a high score in this task and not getting slashed!
To raise your validator profile, make sure it is on Autonity validator dashboards. See awesome-autonity
- Tools section! Tools like the Stakeflow dashboard allow you to provide additional metadata for your validator - see https://github.com/stakeflow/network-registry/blob/main/TUTORIAL.md”
How to enter
How to enrol in Onboard Validator
- Set up an Autonity node (docs).
Running an Autonity node requires maintaining a static ip address as described in the docs guide Install Autonity, Networking section.
If using a cloud provider for node hosting, then a static IP address for your cloud space should be a stated hosting requirement. Cloud vendors typically don’t supply a static IP address unless it is purchased explicitly.
- Set up an Autonity oracle server (docs) to serve your node with price data
- Register your node as a validator on Piccadilly testnet (docs)
- You must submit your registration transaction using the account address you provided when registering for the game.
- Complete the Register a validator Form.
- The form requires your validator’s enode (obtained in Step #2);
- The form requires your proof of node ownership;
The proof of node ownership in Step #4 is the message validator onboarded
(with no trailing newline) signed with the node key from the autonitykeys
file of your validator.
You can generate the proof using aut
. Install and configure aut
on your system, then:
Extract the node key from your
autonitykeys
file:head -c 64 <DIR_PATH>/autonitykeys
where
<DIR_PATH>
is the path to yourautonitykeys
file.This will print the private node key from the
autonitykeys
file to terminal.Import the node key from your
autonitykeys
file intoaut
. See Import your account intoaut
andaut account import-private-key --help
.Create the message signature. Sign the string
validator onboarded
usingaut
. Seeaut account sign-message --help
.
Award
The task has an award pool of 20,000 Award Tributes and up to 120 winners.
The award pools are distributed according to the number of participants that took part in the task and adjusted based on individual score for the task. Higher the score, higher the share of the award pool…
Scoring rule
Scoring for the task uses a methodology based on:
- an award pool of a fixed amount for the task
- a floor and ceiling for participation and winner numbers to calculate winner award allocations:
- a significance threshold \(R\) of
95%
. The top ranked users that accumulate 95% or more of the total score for the task are eligible for an award. This puts a minimum score floor on the task. - a minimum number of participants below which a partial distribution of the reward allocation takes place - \(N_{fb}\)
- a maximum number of winners for the task - \(N_{max}\)
- a significance threshold \(R\) of
- points are scored for task completion by stated scoring criteria
- winners are ranked by scoreboard position. In the case that participation is higher than \(N_{max}\), the top scoring participants up to \(N_{max}\) will be chosen as winners.
- awards from the pool are distributed to the winners. Each winner’s award amount is calculated according to their score and the total number of winners.
The \(N_{fb}\) floor allows for a low participation scenario resulting in the entire award pool going to a few participants rather than the wider community. If this scenario were to happen, then the remaining reward allocation is carried forward for future incentives.
Scoring parameters for the task are set as:
\(N_{fb}\) | \(N_{max}\) | \(R\) |
---|---|---|
20 |
120 |
95% |
Where:
- \(N_{fb}\): the minimum number of task participants below which a partial distribution of the reward allocation takes place,
- \(N_{max}\): the maximum number of winners for the task,
- \(R\): the significant participant threshold for the task.
Winners are ranked by scoreboard position. In the case that participation is higher than \(N_{max}\), the top scoring participants up to \(N_{max}\) will be chosen as winners.
Every registered participant in this task gets an easy 50 points for managing to get their validator node registered on-chain.
For the rest of the task, points are earned by participants based on empirical measurements using network telemetry to monitor validator participation in consensus. You will get points proportional to your node’s uptime in the tendermint consensus algorithm. Your node gets an uptime measure for each epoch, and for each epoch where this measurement is \(\geq\) 90%, you get 1 point. Epochs are \(\approx\) 30min each, so if Round #5 lasts 6-weeks, a node that performs perfectly could earn \(\approx\) 2016 points.
Points will be allocated daily, after 00:00:00 UTC. The task scoreboard can be viewed on the Leaderboards page.
Validator metrics can be viewed on a validator dashboard.
If a validator is onboarded before the Round start time the 50 points earned for registration will show on the scoreboard. Points for the rest of the task will only be scored between the Round’s start and end date time.