Weekly Dev Update #21
THORChain Weekly Dev Update for Week 10–16 Dec 2019
Changes
In keeping with the intent to consolidate the codebase, the team are highly reticent to add new features. The only noteworthy change to the system is Fee Amplication.
Fee Amplification
THORChain aims to pay 1/3rd of System Income into the pools in order to drive incentives to stake. The team revisited the mechanism of payout and attempted to answer the question: What is the correct behaviour to incentivise?
If the payouts simply paid into pools based on depth, then there is no discernment between the pools and no ability to drive behaviour. All Rune in all pools would attract the same return.
Instead the team believe the correct mechanism is to amplify existing fee revenue. Fee revenue is a proxy for demand of liquidity, so by paying more into pools with high fees, then liquidity is driven there, increasing depth and lowering fees. Additionally the payout is substantially simpler. Rather than paying into each pool each block, payments are only made into blocks that process swaps in each block.
If there are no swaps processed in each block, and no fees collected, then the system will default to pay based on depth.
THORChain
A substantial part of the week was continuing to refactor the codebase and clean it up. A large merge request this week was to remove all float64
from the codebase, replacing it with CosmosSDK safe types, such as DEC
. A bug was found in the Cosmos Uint
module, which was reported to the Cosmos team and subsequently fixed.
- [Testing] run smoke tests against a 4 node TSS blockchain
- [Refactor] Use go-tss implementation for validator docker compose file
- Updated: pool addresses url path to match midgard
- small change to how smoke tests wait
- Fix/strick slash
- [fix] remove gas from pool assets
- Resolve “FIX: Set node to ready once their observer and signer both active”
- Resolve “[Refactor] handleMsgYggdrasil”
- KillsFloatsFromTHORNode
- keygen, allow new signer to discover `nextpool` tx
- Removes Floats, common.Amount, GSL to Constants
- 268-issue add query for pub keys
- FIX: pool address rotation bug
- Fix: Rolled back the StrictSlash as this is no longer need by midgard
- Fee Amplification
ChaosNet
Preparations are ongoing to ready the system for ChaosNet, which caps the system capital and hard-codes a Ragnarök ceremony after blockheight 500,000. The system will begin churning out nodes at that height, but will not replace them. After the 4th Node leaves, then the system will refund all capital and can be shut down.
- Resolve “[ChaosNet] Cap staked rune at 600k”
- Resolve “[ChaosNet] Artificial Ragnarok”
- Sync to chaosnet
Documentation
Efforts are being made to update the documentation, website and whitepaper. A new README was published that has a concise summary of system architecture. A new website has been designed which will be updated shortly.
Milestones
The next milestone is to ship the updated testnet then prepare for ChaosNet. The team are in discussions with a third-party auditing firm in order to complete the system audit, which will be done prior to mainnet.
Community
To keep up to date, please monitor community channels, particularly Telegram and Twitter:
- Twitter: https://twitter.com/thorchain_org
- Telegram Community: https://t.me/thorchain_org
- Telegram Announcements: https://t.me/thorchain
- Reddit: https://reddit.com/r/thorchain
- Github: https://github.com/thorchain
- Medium: https://medium.com/thorchain