[feature] lite nodes
The Problem:
There may be an economic limit to how deep the TVL may get on THORChain. The depths of the pools are relational to how high the bond is by the node operators. Considering that it takes very little technical skillset or capital to become an LP, while high technical knowledge and high capital to bond a node, may lead to a blocker to the total amount of bonded rune on the network, hence limiting the TVL.
The Solution
Introduce "light nodes" to the network, which is simply just a Yggdrasil vault. This would be a means for people with low technical skills and low capital to contribute bonded rune to the network and profit from it. Users can bond with say $10k USD, and the network would send their vault $2.5k of non-native assets (ie BTC, ETH, etc). Stealing funds would trigger the same 1.5x slash of their bond, and non-compliance to send an outbound transaction request (fulfilling a swap for example) from the network results in a slash of their bond as well.
This allows the network bond to grow more freely and easily, as it's cheap and technically simple (relatively). It's also quick and easy to move from being an LP to bonding, and back again, allowing people to respond to the incentive pendulum instantaneously.
Technical requirements
Running a light node entails running two daemons, thornode
(full node, non-validator) and bifrost
. No external chains are required.
Security Protections
The biggest concern around these light nodes is being Sybil attacked by the validator set. This would make it economically feasible for an attacker to walk away with more value than the cost of the attack itself.
For lite nodes to protect themselves against Sybil attacks, there are two provisions.
- Run a THORNode full node (non-validator) with a recent and non-malicious version of the software. This ensures that a Sybil attack running a modified version of the THORNode, minting themselves rune, for example, would cause all lite nodes to get a consensus failure and be unable to send out any funds at all.
- Another form of Sybil attack could be making "fake" observations into the chain. For example, they could "observe" 100 BTC being swapped into the network, when in fact no transaction actually took place, tricking the THORNode logic. Lite nodes can protect themselves from this scenario by upon request to send funds, validate the solvency of the network (asgard vaults only). This can be done using a consensus of various public APIs (ie blockchair.com, blockstream.info, blockcypher.com, etc), or run full nodes of external chains (optional).
Incentives
Payouts for providers of bonded rune would need to be reworked. The bond payouts would be split into two income streams, 50:50 (?). One stream is for validator nodes, each validator node gets an equal share of this stream's income, with no relationship to bond size. The second stream goes to all Yggdrasil providers (validators + lite nodes). The amount of rune given to each Yggdrasil provider is relative to the amount of bond they have provided.
R = total ygg reward
B = bond amount
T = total bond amount
reward = R / (T / B)
This makes it always more profitable to be a validator node over a lite node, ensuring we don't see an exodus of validator nodes --> lite nodes.