Weekly Dev Update #15

THORChain Weekly Dev Update for Week 29–04 Nov 2019

Weekly Dev Update #15

Recent Changes

Some recent changes to the logic of the statechain:

Ragnarök

Ragnarök (Norse for a battle of good and evil) will be built into the protocol to allow a graceful shutdown. The requirements for this are when all THORNodes elect to leave. At this point, all stakers will be refunded, all bonded assets returned and the statechain purged. This process can theoretically be done in around 5 seconds and is a remarkable characteristic of THORChain’s tightly-coupled design.

Bifröst

Bifröst (Norse for the bridge between the world of humans and gods), will be the new name for the co-mingled Observer and Signer binary. The benefit of which is to detect liveness in the Signer, (important for TSS), as well as sharing common code and logically grouping data flow.

Asymmetric Withdrawals

This was discussed heavily during the week and written up in a blog, but will allow stakers to enter and exit a pool without needing to hold Rune. Counter-intuitively, this actually drives more value into the Rune token than symmetrical staking, since asymmetic staking and withdrawals creates arbitrage and volume.

Single Operator Key

Instead of maintaining separate keys for each chain, the Node Operator will now only hold one key, from which a single secp256k1 public key will be derived. From this key, addresses can be encoded for almost all blockchains, and can be used across TSS in a uniform way.


BEPSwap Development

The team are working on 4 parallel streams of effort. Cross-chain infrastructure has now been merged into a single repo called “THORNode”.

  1. THORChain
  2. Threshold Signature Scheme implementation
  3. Front-end Integration for BEPSwap
  4. Chain Service

THORChain

Work continued in building in cross-chain support, including the basics for cross-chain staking and unstaking. More systems-wide testing is being completed, uncovering some small implementation errors in the statechain’s handling of integers and decimals. The statechain will be updated to only work with Cosmos Uint and Dec types. The start of the TSS integration has begun, which required some tweaks in how the two protocols worked together. Additionally, sscli and ssd (hangover since the June hackathon when it was called “swapservice”) have been renamed to thorcli and thord to comply with the branding.

TSS

TSS code is now available publicly here:

THORChain TSS
TSS Repositories for THORChain

The TSS implementation continues to build to a generalised purely p2p system that receives key-generation and key-signing requests from THORNodes and outputs the expected results. Key-generation logic, as well as transaction payload preparation and broadcasting is now handled from the signerd module.

Chain Service

The Chain Service has been re-specced after the first round of testing on testnet and is being built to a versioned /v1 implementation. The new version borrows heavily from UniSwap standards. It is expected to be available next week for public review, and final integration into the refresh front-end.

The updated API tracks far more metrics, and in a much more concise way with standardised semantics around “buy” and “sell” side. Additionally, more metrics were added to allow stakers to calculate their profit and loss on certain pools.

Frontend

Work continues with the latest design refresh and is mostly complete.

Updated Stake page, which is now mobile responsive

Whats Next?

To ship mainnet, the team are aiming for this:

Frontend:

Feature complete with excellent swapping and staking experience.

Chain Service:

Feature complete public RESTful API.

Statechain:

Feature complete with 22 of 33 Asgard, weekly churn, 2 of 3 satellite pools, asynchronous liquidity delegation and cross-chain support.


Timelines

The team are working for these milestones.

Other Development:

  • RUNEVault: July 2019 shipped
  • Telegram Bot: August 2019 shipped
  • Bep2Bot: August 2019 shipped

BEPSwap:

  • Testnet: August 2019 shipped
  • Community Testing: shipped

THORChain:

  • Code Freeze: 20 November 2019 on-time
  • Audit: 20 December 2019 on-time
  • Genesis: 03 January 2020 on-time

Community

To keep up to date, please monitor community channels, particularly Telegram and Twitter: