On Nov 2, SEC staff updated the FAQ for the Application of the Federal Securities Laws to Certain Types of Crypto Assets. They say “a crypto system is ‘decentralized’ if it functions and operates autonomously with no person, entity, or group of persons or entities having operational, economic, or voting control of the crypto system.”
The staff looks for anyone who can act alone, outside the network's governance: to limit access, change how upgrades get voted on, pick who runs nodes, change the code or reverse transactions.
Here's how THORChain works on each point.
Operational - Funds sit in vaults run by groups of nodes, and every transaction needs a supermajority of nodes to authorize it. No single node can move funds or undo a swap. If the protocol detects an insolvency, it will automatically halt a whole chain, to protect the network. It can't target a single user. Operational mimirs exist to protect the network from attack or failure. These require a minimum of 3 node votes, but 4 nodes can then vote to reverse, 5 can counter the 4, and so on.
Economic - Fees are automatically charged on all swaps and automatically distributed on the network to the various stakeholders. Changes to fees, tokenomics, etc. are called economic mimirs and need 2/3 of active nodes.
Voting - Anyone can run a node if they bond enough RUNE to be churned into the network. No person picks the nodes. Parameters change only through on-chain node votes. Same with a protocol upgrade. No team or company can change a parameter on its own. Every node vote is recorded on-chain, and anyone can check it.
Bonding RUNE used to mean unbonding to touch your rewards.
Bond providers can now take up to 100% of their yield at every churn, in RUNE or in BTC through a THORName, and keep their bond intact.
Here's how Streaming Yield works.👇
https://t.co/FbPsMwj4TM
THORChain uses a network of independent nodes to secure native assets across multiple blockchains.
THORChain nodes run Bifrost to monitor transactions on external blockchains. At least two-thirds of nodes must agree on an incoming deposit before the protocol processes it.
The assets are held in decentralized vaults secured through Threshold Signature Scheme (TSS) cryptography. When a vault is created, its nodes collectively generate cryptographic key shares, without ever assembling a complete private key.
When THORChain schedules an outbound transaction, a supermajority of the nodes securing that vault must cooperate to produce a valid signature. No individual node can authorize a withdrawal.
To further secure the vaults, nodes must bond RUNE as collateral, which can be slashed for malicious or negligent behavior.
THORChain also regularly changes which nodes secure its assets through churning. Normally, about every 3 days, nodes rotate in and out of the active set. New vaults are created, and funds are transferred from retiring vaults to the new ones.
Together, these mechanisms allow THORChain to process cross-chain transactions without giving any individual node or developer unilateral control over its funds.
Founder Spotlight: @BooneW ⚡️
Boone built https://t.co/mS0FuKL8M2, made the case for protocol-owned liquidity and wrote the first proof of concept for THORChain's Monero chain client.
Full spotlight 👇
https://t.co/Dl5SgtBqfi
Swapping without connecting your wallet is back on THORChain⚡️
Any wallet in the world works:
- even wallets that don't support THORChain
- no contract approval to sign, just a regular send
- your keys never leave your wallet
https://t.co/TSk2BjkxnY
On THORChain, decisions are made directly on the blockchain. For an important change to be accepted, ⅔ of its nodes have to vote for it.
Right now, 111 nodes are active. They all bond at least 300,000 RUNE, put up as collateral to secure the network. Each node has one vote, no matter how much it has bonded.
All nodes run software called THORNode. Anyone, from devs to community members, can suggest changes to this software. These ideas are discussed in Discord (open to anyone to join) and fine-tuned until they become code.
The changes are then submitted to the nodes, who decide whether THORNode moves to the next version, or not. It takes the approval of ⅔ of the nodes.
Nodes also vote on network parameters through a system called Mimir. For economic changes such as fees, it takes ⅔ of the nodes. For operational changes such as security, only 3 votes are required. 4 nodes can vote to rescind an operational mimir, then 5 node votes can counter the 4, and so on.
Some actions don't need a vote at all. For example, two nodes are ejected from the network every churn period (roughly 3 days), the oldest node in the network and the node with the most slash points. Swapping is automatically halted if the network detects an insolvency.
Swapping on several blockchains has resumed following the 3.21.1 update.
Trading blockchains: AVAX, BASE, BCH, BTC, DOGE, ETH, LTC, RUNE, TRON, XRPL, ZEC
Halted blockchains: ATOM, BSC, SOL
14 active nodes still haven’t updated to 3.21.1. All active nodes need to update to 3.21.1 to fix performance issues with swapping.
The 3.21.1 update also gets THORChain one step closer to launching Monero.
THORChain is the world's first cross chain decentralized exchange. It's been operating for over 5 years now.
Before, the only scalable way to trade between Bitcoin and Ethereum was going through a centralized exchange.
Atomic swaps were available, however they can't scale. Bridges and wrapped tokens were used, but they introduced counterparty risk. There wasn't a proper DEX to swap Bitcoin in a self custody wallet for Ethereum in a self custody wallet.
Vitalik Buterin highlighted this problem back in March 2020, expressing his frustration that there wasn't an easy way to move between Bitcoin and Ethereum without relying on centralized exchanges.
THORChain was built to solve this problem.
THORChain was designed like Bitcoin and Ethereum, to be permissionless, censorship-resistant, and public. All transactions on THORChain are transparent, there is no obfuscation. When Monero starts trading, XMR swaps will have all the same public data as BTC and ETH swaps.
It remains the closest example of a decentralized BTC-to-ETH exchange described by Vitalik.
We believe THORChain is one of the most decentralized blockchains in crypto.
According to a Raynalytics dashboard, the network has 111 active nodes operated by 56 unique node operators. 20 operators control just over two-thirds of the active nodes.
There is no single developer or entity in control of THORChain.
Core developers can make recommendations and write code to update the protocol, but nodes ultimately decide whether to adopt those changes. Protocol upgrades depend on sufficient support from the validator set, meaning developers cannot unilaterally impose changes on the network.
The decentralization and product market fit of THORChain make it a core piece of DeFi.
We should put resources toward a proper (trustless, serverless, maximally Uniswap-like UX) ETH <-> BTC decentralized exchange. It's embarrassing that we still can't easily move between the two largest crypto ecosystems trustlessly.
On October 31, THORChain halted trading on several blockchains.
An Ethereum block reorg caused THORChain to pay out 10 ETH that a vault never received. The automatic solvency checker caught the shortfall and halted ETH swaps. Within approximately two minutes, node operators halted ETH transaction signing, so no further ETH could leave the vaults.
Node operators then halted all chains as a precaution so core developers could investigate.
The 10 ETH has been returned by the user to make the vault solvent again.
Breakdown of what happened and next steps:
At 11:34 UTC Oct 31, Ethereum had a one-block reorg. A 10 ETH deposit to one of the vaults sat in the dropped block and never landed on the canonical chain.
THORChain had already observed and credited that deposit. The swap missed its price limit and was refunded, so the vault paid out 10 ETH it never received. The sender's real deposit was refunded as well.
Every node detected the reorg. But the re-check that should have removed the deposit could not get a clear answer in time, so it was finalized.
The solvency checker halted ETH swapping automatically, then three node votes halted all ETH outbound payments.
All chains were then halted by three node votes as a precaution. Now that this is public knowledge, every time there is a block re-org on an external chain, a malicious actor could perform a new transaction with the same nonce and would be paid funds by the THORChain vaults.
Note: Three node votes can trigger emergency halts to protect network solvency. However, that action can be reversed by four counter node votes, then five node votes can reverse the reversal, and so on, maintaining a balance between decentralization and rapid emergency intervention. Halting a chain does not give those nodes control of the assets.
Core developers have been working on the necessary fixes.
Nodes will decide to re-enable chains as they are deemed safe.
Trading blockchains: AVAX, BASE, RUNE, XRPL
Halted blockchains: ATOM, BCH, BSC, BTC, DOGE, ETH, LTC, SOL, TRON, ZEC
⚡ Saturday November 7 on the THORChain Podcast | Ecosystem & Community Spotlight at 11AM EST / 4PM UTC.
@KentonC137 and @patriotsounds are sitting down with the @Eidex_official team.
Jump on stage and ask your questions live: https://t.co/phkxsU6sdy
⚡ We're live!
@zeymermoca and @EricOnchain from @mocadotapp join @KentonC137 and @patriotsounds on the THORChain Podcast | Ecosystem & Community Spotlight.
Jump on stage and ask your questions live: https://t.co/phkxsU7036
Also streaming on YouTube: https://t.co/GgxXJzV49B