Dev Update #139-#140
THORChain Weekly Dev Update for Weeks 139–140, 1 Apr — 24 Apr; THORNames in Stagenet, THORFI resources and code released, Kills Switch Update and resources, Security Improvements, Milestone, Network and Community Updates.
Summary
Security improvements were introduced into the network building the strength of the network. THORNames testing is underway in Stagenet before it will be released to Chaosnet. Mainnet planning is underway with THORNames and the Killswitch to be the last features activated in Chaosnet before a stability period starts. A lot of background work secure arrangements and complete technical documentation is underway.
THORFi resources were created and modeling has started to test THORFi economics in extreme cases. Kill Switch code was deployed into Chaoset with a start time yet to be set. Many network and community updates also occurred.
THORNames Testing in Stagenet
THORNames was released into Stagenet for testing with issues being found and fixed already. It can be tested using AsgardEx Desktop, more interface support is expected. Bounties are available for issues found in Stagenet. Once Testing is complete, it will be deployed to Chaosnet.
Example THORName in Stagenet is: https://stagenet-midgard.ninerealms.com/v2/thorname/lookup/ORION9RSTAGE
Kill Switch Update
The code for the Kill Switch was introduced into the network. Nodes will vote on a start time (start block) post Mainnet.
See more information on the Kill Switch and BEP2/ERC20 RUNE upgrade in the Upgrading to Native RUNE Article.
It is recommended you upgrade asap with the below guides:
- How to switch to Native RUNE using Ledger (2 ways) — THORNoob
- How to Switch Binance $RUNE to Native $RUNE (2 Ways: Arbitrage, Upgrade) — THORSwap
- How to: Upgrade to Native RUNE (THOR.RUNE) Using ThorSwap DEX — LP University.
Native RUNE will be supported by major centralised exchanges allowing another path to upgrade non-native RUNE.
THORFi Update
Several good THORFi resources have been created to help the community better understand THORFi.
- Introduction to THORFinance (THORFi) — LP University Article
- THORFi — The Complete Guide — Grass Roots Crypto Video. Graphics and Spreadsheet Link.
- THORFi Lending and Saving Numbers — Chad Barraford Video. Spreadsheet Link
- THOFI Gitlab Link
THORFi Modeling
A tool called cadCAD is being used to simulate THORFi economics. The goal with the simulator is to allow the community to test various scenarios and understand how the system responds. As a community, we can identify situations that are undesirable for the protocol and add logic to protect/prevent that situation. Repo Link.
If anyone has experience with systems modeling please reach out!
THOFi Derived Asset PR merged
Core released creates derived assets like THOR.USD and THOR.BTC (which can be feature flagged on via mimir node voting). See the PR here. THORFi will land in Stagenet within 2 months.
Bug Disclosure
Disclosure (now fully patched): changing a single trailing bit 0x04 > 0x05 in a Pay to Public Key (P2PK) type transaction address leading byte (in the memo) causes multiple double-spends as the system cannot observe its own outbounds so keeps trying. This whole class of non-observe-outbound bugs is now thwarted by auto-halt chain when Ygg has abnormally sized (not gas related) bond fines. Also specifically P2PK is now explicitly disallowed to an outbound (nobody uses it anyway). Full Disclosure details here.
Security Improvements Introduced
1. Signing halt — a chain can be paused for signing, but still observe and sync. This was introduced after issues were caused post a Binance Chain hard fork where nodes and the network were affected. https://gitlab.com/thorchain/thornode/-/merge_requests/2223
2. Pause chain and Ygg Funds when Unauthorised transactions — Introduced in response to bug disclosure. If the majority of nodes detect an unauthorised transaction on a chain, it is assumed the network is being attacked so that chain will be paused as well as Ygg Funds (thus all network-based Txs on that chain). https://gitlab.com/thorchain/thornode/-/merge_requests/2188
Cloud Provider Limits Proposal
In an effort to improve decentralization of nodes, a new PR has been opened that would limit the percentage of nodes to be hosted by a single provider (ie AWS). Currently, about 50% of the nodes are on AWS and we want to create pressure to reduce this to no more than 1/3rd. This ensures that a single cloud provider wouldn’t be able to attack the network and cause a network disruption. Node Operators will vote to implement a 33% Limit. https://gitlab.com/thorchain/thornode/-/merge_requests/2204
Milestone Update
Security and stability are now the primary focus for the team as Mainet approaches. The below features will be the last to be released into Chaosnet before Mainnet launches, all other features will pushed post-Mainnet to ensure stable operations.
In the background, a lot of work is being conducted which will lead to announcements and support greater network integration.
The below milestones are required before Mainnet.
- Development of Development Docs and XChainjs Docs— In Progress
- THORNames Activation in Chaosnet — Testing in Stagenet
- Ethereum Router upgrade to v4 — Target Release v1.88.0
Roadmap Update
Want more information?
See more THORChain and Community News at https://www.runebase.org/ and https://medium.com/@THORNOOB
Community Updates
THORNoob Bi-Weekly Community Recaps
- Notable Gitlab Issues
- Most Asked Questions
- Feedbacks & Suggestions
- Notable Work
- Ecosystem Updates
- Weekly Dev Discord Updates
#17 (Mar 30–Apr 15): THORChain
THORChain Monthly Stats- March
RUNE Base Weekly THORChain Podcasts
Xchainjs Dev Update
- Documentation for xchainjs is up to date.
- xchainjs-github.io updated too the latest
- http://docs.xchainjs.org/ updated with the latest supported chains
- All supported chains have usage examples.
- All the package readme files have links that point to the Xchainjs documentation.
Bridge Status
No new integrations will be to added to Chaosnet before Mainnet, but may be released to Stagenet beforehand.
The following are on the radar:
- ATOM — In Progress
- Haven — PR Received — https://gitlab.com/thorchain/thornode/-/merge_requests/2153
- Avalanche — Under development
- Decred — Under Review — https://gitlab.com/thorchain/thornode/-/merge_requests/2012 and https://github.com/asgardex/thorchain_explorer/pull/73
- Dash — Under Review — https://gitlab.com/thorchain/thornode/-/merge_requests/1931 and https://gitlab.com/thorchain/devops/node-launcher/-/merge_requests/361
- ZCash — Under Development.
On the Horizon
- Fantom
- Binance Smart Chain
- Monero — In Development, will follow after Haven.
- https://gitlab.com/thorchain/tss/go-tss/-/tree/moneroTss, https://gitlab.com/thorchain/tss/monero-sign, https://gitlab.com/thorchain/tss/monero-wallet-rpc
Want to see bridges built quicker, get involved on our Discord Server!
Network Updates
THORNODE Update 1.86.0
1) [ADD] Remove LTC from testnet. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2191
2) [ADD] Invalid bifrost signer cache. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2190
3) [bugfix] Node Account querier: Calculate CurrentReward in bond-weighted system. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2189
4) [ADD] pause chain + ygg funding when unauthorized txn. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2188
5) [bugfix] Adjust Bond Rewards between BPs before adding new bond. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2183
6) [ADD] more node mimir logging. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2151
7) [ADD] Remove dead code. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2125
https://gitlab.com/thorchain/thornode/-/tags/v1.86.0
THORNODE Update 1.86.1
1) [BUG] If transaction fee is not paid in LUNA / UST , then just fake one. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2201
2) [BUG] Ensure Address can be roundtrip. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2200
https://gitlab.com/thorchain/thornode/-/tags/v1.86.1
THORNODE Update 1.86.2
1) [ADD] Mimir to stop signing outbound of a specific chain. https://gitlab.com/thorchain/thornode/-/merge_requests/2223
https://gitlab.com/thorchain/thornode/-/tags/v1.86.2-chaosnet
THORNODE Update 1.87.1
These are the changes include in the release.
1) [ADD] mimir to stop signing outbound of a specific chain. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2224
2) [ADD] Halve CI run time by folding certain image steps into a consistent base image. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2220
3) [ADD] Whitelist THORSwap contracts. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2219
4) [BUG] Fix confirmation counting on outbound transaction. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2217
5) [BUG] Stop repeating CI image build steps on every run. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2215
6) [BUG] Fix stagenet v86 store migration (no-op). PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2213
7) [ADD] Missing Mimir Events. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2210
8) [ADD] Separate Mimir Keys for Admin/Double Spend Chain Halt + Solvency Chain Halt. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2209
9) [ADD] Script for sanity-checking build environment. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2208
10) [BUG] Fix linting issues. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2207
11) [ADD] Implement logic for MaxNodeToChurnOutForLowVersion. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2206
12) [BUG] Linting clean up. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2205
13) [ADD] killswitch. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2203
14) [BUG] Node Operator Fee. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2202
[BUG] poolDeficit wrongly sent to Bond Module instead of Reserve Module. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2199
16) [ADD] Security Events. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2198
17) [BUG] Fix panic issue due to uint64 overflow. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2197
18) [ADD] Allow LTC to be removed. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2196
19) [BUG] Add Tx to signer cache only when broadcast successfully. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2195
20) [BUG] TNS configs should be mimir controlled. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2193
21) [BUG] Duplication deletion. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2192
22) [ADD] Remove old version code. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2177
23) [BUG] disallow sends to internal modules. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2158
24) [BUG] THORName fixes. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2146
25) [BUG] Fix Ethereum Network Fee Slashes. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2104
26) [BUG] Fix 1.87.0 store migration error. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2226
27) [BUG] Add TxOutStorageV78 back to fix consensus failure. PR: https://gitlab.com/thorchain/thornode/-/merge_requests/2225
THORChain Community
To keep up to date with the project, please monitor community channels, particularly Telegram, Discord and Twitter:
- Twitter: https://twitter.com/thorchain_org
- Telegram Community: https://t.me/thorchain_org
- Telegram Announcements: https://t.me/thorchain
- Discord: https://discord.gg/7RRmc35UEG
- Reddit: https://reddit.com/r/thorchain
- Github: https://github.com/thorchain
- Medium: https://medium.com/thorchain