THORchain ($RUNE)

THORchain ($RUNE)

 
ARTICLES
VIDEOS
TWITTER THREADS
LINKS

WHAT IS IT

THORchain is a Layer 1 network built using the Tendermint and Cosmos SDK. It serves as a cross-chain decentralized exchange (DEX). An easy way to think about it is like Uniswap except for multi-chain. THORchain allows users to trade a digital asset on one chain for example Bitcoin with a digital asset on another chain, for example, Ethereum in a decentralized way. There are no custodians, there is no wrapping of assets, and it’s not a bridge. THORchain is the only DEX that you can directly do Layer 1 to Layer 1 trades.
 
THORchain uses its native token $RUNE as the base swap pair. This allows traders to move between different asset pools or chains using $RUNE in the backend as a somewhat hidden intermediary. I’ll go into more detail on how this works below.
 
It currently supports $BTC, $ETH, $LTC, $BEP2, $DOGE, $BCH. The $LUNA integration is coming soon as well.
 
Thorchain was previously hacked in its early beta, while it was unaudited. It has since been audited by two firms and an internal full-time security team has been put into place.
 
Video preview

HOW DOES SWAPPING WORK

Users can swap any assets which are on connected chains and added to the network. Users can swap from any connected asset to any other connected asset such as Bitcoin to Ethereum. They can also swap from any connected asset to $RUNE so Bitcoin → $RUNE or vice versa.
 
THORchain uses what is called continuous lending pools (CLP’S) in order to facilitate cross-chain trades. These are pools of assets deposited by liquidity providers and each pool consists of 1 connected asset. For example Bitcoin and THORchains native token $RUNE. Having $RUNE in each pool is what links all the pools together into a continuous liquidity network.
 
They work like this. To facilitate the trade, all assets are deposited in liquidity pools that are all shared with one other asset, and that is the native token $RUNE in a 1:1 ratio. I will walk you through below how a user goes from trading their Bitcoin to receiving Ethereum for example.
 
In a swap for asset A (Bitcoin) to asset B (Ethereum). The protocol conducts 2 trades to make this happen.
  1. First, the protocol swaps asset A (Bitcoin) for $RUNE
  1. Then it moves that $RUNE into the second pool
  1. Then it swaps that $RUNE from step #2 into asset B (Ethereum)
 
This double swap function using $RUNE as the hidden intermediary and the CLP pools is what allows for the decentralized swapping of assets across chains.
 
notion image
 
There are 3 user groups that allow the protocol to operate. The liquidity providers, the traders and the THORnode operators. The first 2 are the same as in any DEX but the third group I will cover in more detail.

Liquidity Providers (User Group A)

These users deposit their assets into the liquidity pools in THORchain assets like Bitcoin or Ethereum pair 1:1 with $RUNE the native token. In return for providing liquidity, this user group receives yield in the form of the trading fees generated from group B.
 
How THORChain’s unique XYK implementation reduces impermanent loss for liquidity providers.
 
Liquidity Providers will receive 100% IL protection after they have been in the pool for 100 days, getting 1% ILP coverage for each day in the pool.
 
Essentially this means you are adding 1% protection for every day that you provide liquidity. 49 days provided = 49% IL protection, 100 days = 100% IL protection.
 
Impermanent Loss Protection (ILP) ensures that you will not be worse off providing liquidity into THORChain than just holding two assets, RUNE and ASSET, in your wallet.
 
Video preview

Traders (User Group B)

These are the users who are using THORchain protocol to exchange one asset for another for example Bitcoin into Ethereum. They send Bitcoin in and get Ethereum out and pay the swap fee for doing so. This is made possible because group A provides the liquidity.

THORNODES

THORnodes can be considered user group C. These users run the THORnodes, which comprise the THORchain Node (Tendermint/Cosmos SDK). The THORnodes communicate and operate in cooperation to create the cross-chain swapping network. Each node operator will be running a node for each network for example a Bitcoin node, Ethereum node etc.
 
A good way to think of THORchain Nodes is like fragments of the wallets of a centralized exchange. Basically, instead of the keys being held by the centralized exchange they are held in a multi-sig arrangement of the THORchain Nodes. This technology is called TSS or Threshold Signature Scheme.
 
It works like this. When a user trades ETH for BTC, the validating nodes first detect and agree that ETH has been received in the ETH vault. They can do this because they run multiple nodes including an Ethereum node. Once confirmed they sign the outbound BTC transaction to the user from their Bitcoin nodes. For this transaction to be approved 2/3 of the nodes have to approve any outbound transaction.
 
Every outbound transaction from a vault is signed by a random subset of the validators. This means nobody, not even the validators themselves knows which transactions are signed by who. The only requirement to be a validating node is to outbid others for the position. THORnodes are churning in and out every couple of days.

Churning

As new nodes join or leave the network it triggers what is called a “churning event”. This event changes the validators who can commit blocks to the chain and also creates new Asgard vaults where the funds are located. When a new vault is created all funds move from the old vault to the new vault. The new vault will have a new set of validators assigned to it.
 
Churning events typically happen every 3 days or 50,000 blocks. When a node is churned out of the network it's for a number of reasons. In a given churning event, multiple nodes may be selected to be churned out, but never more than 1/3rd of the current validator set
 
  1. Requests to leave the network (self-removal)
  1. Banned by other nodes (network removal)
  1. How long an active node has been committing blocks (oldest gets removed)
  1. Bad behaviour (accrued slash points for poor node operation)
 
On every churn, the network selects one or more nodes to be churned into the network in order to balance with the same amount that was churned out. These are selected purely by validator size.
 
Find more info here on THORNodes

$RUNE

$RUNE is the native token and the asset that powers the entire THORchain ecosystem. It has 4 key roles listed in detail below.
 
  1. Liquidity (as a settlement asset)
  1. Security (as a Sybil-resistant mechanism, and a means for driving economic behaviour)
  1. Governance (signalling priority on-chain)
  1. Incentives (paying out rewards, charging fees, subsidizing gas)

Liquidity

$RUNE is pooled 50/50 alongside the other assets in its pools (BTC, ETH, etc). As the value of those assets increases/decreases the $RUNE pooled also increases/decreases due to being arbed in/out. Important to note that the $RUNE unit value doesn’t change just the amount of $RUNE in the pool. This is because the system is always aware of the value of the assets and is balancing it with $RUNE accordingly.
 
There is something called the Incentive Pendulum that is important to understand. See here for a more detailed breakdown of how this works - https://docs.thorchain.org/network/incentive-pendulum
notion image
 
Since $RUNE is the pooled asset incentives can be paid directly into each pool. The extra capital is owned by the liquidity providers and purchases the paired asset via arbitrage which in turn drives real yield to the LPs.
 
The main function of $RUNE is the settlement currency. Without it, each asset would need to be pooled with every other asset, which would end up in 100s of new pools for just one asset diluting liquidity. Having $RUNE as the base pair on every asset allows the guarantee of being able to swap any 1 asset with another.

Security

Sybil resistance refers to the ability to prevent someone from masquerading as many identities in order to overcome a network. THORchain is a Proof Of Bond network unlike PoW (proof of work) like Bitcoin or PoS (proof of stake) like Ethereum. THORnodes commit a bond in order to be churned in. The higher the bond the more likely to be churned in.
 
This Proof Of Bond system is used to identify a node (give them a voting slot) but also to underwrite the assets in the pools. If the node operator attempts to steal assets, then their bond is deducted from the number of assets that they stole (1.5x) to make the pool whole. If they attempt to steal assets their bond is also slashed showing others that they are acting maliciously.
 
notion image

Governance

THORchain strives to be governance-minimal but there are a few parts of the protocol that require governance.
 
  1. Asset listing process. Every few days a new asset can be listed as a pool. These go into a standby pool and the one with the deepest commitment of $RUNE is listed first.
  1. Signalling priority for chains - If a connected chain is no longer valuable, all liquidity providers in that chain can leave. This will trigger what is called a “Ragnarok” and that chain will be delisted
  1. One-Node-One-Vote - Each THORnode is entitled to 1 vote

Incentives

$RUNE is consumed as the transaction fee (gas) on the network. Every swap charges both a fixed network fee and a dynamic slip-based fee to prevent various attacks such as denial-of-service and sandwich attacks.
 
After fees are charged and gas is subsidized, then THORChain computes the block reward, divides it based on the Incentive Pendulum algorithm, and then pays out to Bonders and Liquidity providers.
This drives Nodes to bond the optimal amount and pays Liquidity providers for their contribution of liquidity.
 
Find more info on the $RUNE token here

TOKENOMICS

$RUNE is the native token of the THORchain protocol. RUNE has a total supply of 500m tokens. All 100% was created at the genesis and distributed via different mechanisms:. The distribution was as follows
 
  • The initial launch was approximately: a little under 220.5m allocated  to the protocol reserve
  • Paying node operators and liquidity providers; 52.5m
  • Operational reserve for staff incentives, sales, etc.; 52m
  • Allocated to the community; 50m
  • Allocated to the team & advisors; 26m
  • Allocated to seed investors
  • A little over 99m  in circulation.
 
notion image

TEAM

A truly decentralized project, THORChain has no defined organizational structure. Even the network itself is community-owned. THORChain itself is a decentralized project with no company, no CEO & no founders.
 
The project has always been open-source, transparent, and auditable with a fluid team. There is no command & control structure and the community has always had the flexibility and freedom to influence the direction and make key decisions.
 
There are now several individuals & teams contributing to the project from an engineering perspective and actively DRIVING THORChain's roadmap. Most of the activity is taking place in @thorchain_dev.
 
The "THORChain Team" is a term that includes both:
 
Project Custodians
Individuals who were part of the project launch, responsible for managing treasury & orchestrating activities in order to achieve the project vision;
 
Community Members
Those who have become contributors to the project over the past 18mo; who have begun to lead & build various elements of THORChain.
Built with Potion.so