Node Performance
-- What is the performance of pooled validators re: slashes and slash points v. classic validator ops? -- (possibly implies newer people entering the playing field?)
Introduction to Pooled Nodes
Summary
- Skilled Node Operators who don't individually have enough $RUNE to run a node themselves can use the Bond Provider feature to bootstrap bond from other $RUNE holders. Or several nodes can pool together as a single node to maximise their payouts.
- Node Operators can define up to 6 THOR addresses as bond providers. These addresses will be able to Bond and Unbond to the node, and earn rewards based on the amount of bond they contribute. Node Operators take a fixed fee of 2000 basis points (20%) on all rewards from the Bond Providers' bond. In the future this fee may be configurable per node.[1]
Rationale
The minimum $RUNE needed to churn in as a THORNode is currently set at 300K - but with bond competition this number could be much higher.
Not many people in the world have both the technical skills to run a Validator AND at least 300K $RUNE, which limits the supply of Node Operators who secure THORChain.
Pooled THORNodes provide a way for a skilled Operator to enter a trusted agreement with known Bond Providers to bootstrap enough capital for running a THORNode. The Network's security increases, and more RUNE holders have access to yield-bearing bond-space.[1]
Managing a Pooled THORNode
Adding a Bond Provider
Add a bond provider using a BOND transaction with a modified memo from a wallet you control (ledger, desktop, thorcli):
BOND::
- NodeAddress - address of Node
- BondProviderAddress - address of provider to whitelist
- RUNE TX Value - 1.0 minimum (Anything over 1.0 is added to the Operator's Bond).
A Node Operator is the first on-chain bonding transaction to a new node. You cannot change the operator address after the fact.
The Operator is also added as a Bond Provider.[1]
Methodology
- We find all the classic addresses that bonded rune in the Regular Nodes by filtering on
memo not like 'BOND:%:%' and memo like 'BOND:%'
- We find all the pooled addresses that bonded rune in the Pooled Nodes by filtering on
memo like 'BOND:%:%’
- We then classify the Node addresses from the
thorchain.slash_points
Conclusion
- Till date the slash numbers look like the following 81.7K classic vs 32K pooled.
- Till date the slash points look like the following 2.46M classic vs 651K pooled.
- Majority of the slash points are due to
fail to sign out tx after 300 blocks
- Majority of the slashes are due to
fail keysign
- Pooled Validators are new however we are still seeing these high numbers, in the next few years we should see the pooled validators overtake the classic validators.
Slash Metrics
- The slash metrics were dominated by the classic validators until Aug 2022, however Sep 2022 saw a huge number of Slashes against Pooled Validators
- The slash points however tell a different story, classic validators still dominate the amount of slash point per validator type.
- Till date the slash numbers look like the following 81.7K classic vs 32K pooled.
- Till date the slash points look like the following 2.46M classic vs 651K pooled.
- Majority of the slash points are due to
fail to sign out tx after 300 blocks
- Majority of the slashes are due to
fail keysign
What is Node Slashing
Bond Slashing
To run a node, you must obtain a significant amount of Rune, minimums apply. This RUNE is sent into the network as “bond” and held as leverage on each node to ensure they behave in the best interest of the network.
Running a malicious node or stealing from the network results in a slashing of this bond. Here are the ways in which a validator’s bond can get slashed.
- Double Sign (5% of minimum bond) - if it is observed that a single validator node is committing blocks on multiple chains. To avoid this, never run two nodes with the same node account at the same time.
- Unauthorised transaction (1.5x transaction value) - if a node sends funds without authorization, the bond is slashed 1.5x the value of the stolen funds. The slashed bond is dumped into the pool(s) where the funds were stolen and added to the reserve.
Bond slashing takes directly from the bond and does not affect rewards.
Income Slashing
When a node is active, it earns rewards from the network in RUNE. Sufficient rewards are required to be earned in order for a Validator to be profitable. Running an unreliable node results in rewards being slashed. Here are the ways in which a validator’s rewards can be slashed.
- Not Observing (2 slash pts) - if a node does not observe transactions for all chains, while other nodes do, they get slash points added.
- Not signing a transaction (600 slash pts) - if a node does not sign an outbound transaction, as requested by the network, they will get slash points added.
- Fail to keygen (1 hr of revenue) - When the network attempts to churn, and attempts to create a new Asgard pubkey for the network, and fails to do so due to a specific node(s), they will lose 1 hr of revenue from their bond.
Slash points undo profits made on the network. For every 1 slash point a node receives, they lose 1 block of rewards. Rewards slashing reduces earned rewards and does not affect a validator’s bond.[2]