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.

THORChain Author
THORChain
7 min readApr 25, 2022

--

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.

Using TNS with Asgardex

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:

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.

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.

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

#16 (Mar 16–29): THORChain

THORChain Monthly Stats- March

RUNE Base Weekly THORChain Podcasts

https://www.runebase.org/podcast/

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:

On the Horizon

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

https://gitlab.com/thorchain/thornode/-/tags/v1.87.0

https://gitlab.com/thorchain/thornode/-/tags/v1.87.1

THORChain Community

To keep up to date with the project, please monitor community channels, particularly Telegram, Discord and Twitter:

--

--