ADD: Pooled Nodes
There is no ability for a Node to be pooled by several people. This is by design, since delegated PoS systems tend towards centralisation and capture.
However, more effort needs to be made to scale the security of the system.
Currently Node Operators need both Advanced Technical Skills as well as High Capital Requirements, which reduces the number of viable node operators.
Separate the Skill Requirement from the Capital Requirement, but not impact the economic assumptions of the network, where nodes must not have an incentive to steal their ygg vaults.
Solo Node Operators trust themselves not to steal. It can also be that a group of up to four people to exist in a trusting relationship that their operator will not steal from them.
This is the same design as Oxen Network https://www.lokisn.com which as ~1800 nodes, with Operators charging fees for their (up to 3) bonders to run a node. It has been running for 2.5 years with no centralisation issues.
operator to a node, who can invite up to 4
bonders to their node. The operator can charge an
operatorFee (0-1000 basis points) on all bond rewards. The bonders receive a pro-rata share of the rewards when leaving.
Any slash is also shared pro-rata between all bonders to a node.
operator and all
bonders should bond a minimum amount of
minBondAmount / 5 this means they are all roughly economic peers.
The Operator starts a node with RUNE
BOND:nodeAddress:operatorFee, which adds the operator Fee (or overwrites it).
Then invites by a transaction
INVITE:nodeAddress:bonderAddress. The owners of these addresses are now curated to bond to that node. Their bond will be added. Once higher than the minBond, the node can churn in.
Pooled Nodes must restrict actions to
standby state to prevent complexity in calculating dynamic share of rewards. When a node is churned out the rewards are added to the bond and no further rewards earned, which makes calculating shares easy.
- Bonders can UNBOND when the Node is in the
standbystate only. When they unbond they receive their bond which includes their share of rewards.
- Bonders/Operators can BOND when the Node is in the
standbystate only. Their ownership of the node is adjusted up.
- Operators can only change the
operatorFeewhen the node is in
- Operators can
UNINVITE:nodeAddress:bonderAddressto kick them from their pooled node in
standbystate. This will force return that member's share of the bond (and rewards).
- Only operators can LEAVE
Put the following on Constants with Mimir override:
bondersPerNode = 4
This sets the number of bonders per node, also the minimum bond requirement for a pooled node (
minBond / bondersPerNode + 1)
It can be adjusted down to
0 to totally disable this feature, or scale it up if it works.
An Operator can steal a maximum of 25% of the total bond. If they bonded 1/5, and the operated a node with 1m RUNE, then can steal 250k RUNE worth of assets, but lose 200k RUNE. The network will not be impacted and LPs will profit.
This is why bonders need be in a trusting relationship with their operator, or have their own private agreements with legal ramifications. This is not the concern of the network, purely a concern of the pooled Node.
Comparison to Light Nodes
Pooled Nodes adds more consensus THORNodes to the mix and increases the market of total nodes available, driving up bonding rates. A pooled nodes have 4 bonders, paired with 1 skilled operator. It may be the case that businesses are encouraged around this, a skilled operator can run their own THORNode Service bringing more security to the network.
Light Nodes allow low technical skill, high capital solo operators to run in a ephemeral fashion (come and go at any time).