Creating the future of blockchain - Thorchain Update 5

Oumnia El Khazzani

Oumnia El Khazzani

over 5 years ago

Creating the future of blockchain - Thorchain Update 5

After two intense weeks since our last update, the time has come again to update you on the progress made by the THORChain development team in the quest for launching the next-generation blockchain and payment network platform.

As in the last iteration, work has focused on test network stability and performance, and on front-end development for the ASGARDEX exchange, the first truly universal and permissionless decentralized exchange with built-in liquidity.

We would also like to take the opportunity to introduce the research work being done at the blockchain protocol level, in order to take scalability and interoperability of THORChain and blockchain in general to the next level.

Performance and Stability Update

As you may recall, we are currently running two test networks for THORChain testing. After some feedback from the Tendermint team, the people behind the consensus framework used by THORChain, we had come to the conclusion that the sub-second block times we targeted might be a potential source of instability. We, therefore, deployed a second network, using 5-seconds block generation intervals, to always have a stable network to test our higher level solutions.

However, as it turns out, both networks have been running equally stable since our latest re-factoring, in which we addressed some stability issues. We are continuously “spamming” the testnets with 100 transactions per second. As reported in our last update, we are actually losing some of these transactions.

Closer inspection has confirmed our suspicions that it is not due to a limitation of the blockchains, but rather that the high rate of spamming combined with network latency can lead to transactions with higher sequence numbers taking over earlier transactions. We have not prioritized fixing the spam bots yet, as the issue is not related to the blockchain, and rejecting a small percentage of artificial test transactions is not of any significance.

The high rate of spamming combined with network latency can lead to transactions with higher sequence numbers taking over earlier transactions.

Given that initial testnet performance targets have been met, we will keep up the testing, in order to optimize reliability, but will eventually push the envelope of performance.

The ASGARDEX Decentralized Exchange

The biggest news in this current update is the progress in our ongoing effort to use THORChain to build ASGARDEX, a user interface demonstrating the decentralized exchange capabilities of THORChain. We envisage ASGARDEX as one of many DEXs built on top of THORChain, leveraging the underlying trading primitives, cross-blockchain bridges, and liquidity built into the protocol.

The team has had a very intense battle with the integration of the THORChain-WASM client, which allows building, encoding and signing Tendermint messages in the web browser. Admittedly, this did not go as smoothly as we had expected, but we are now able to do in-browser authentication and transaction signing using THORChain keys and accounts.

Essentially, we have built a client-side in-browser THORChain wallet in WebAssembly and have integrated this with the user interface. There is a downside to this approach as well. Currently, the WebAssembly THORChain-WASM module is larger than 10MB in size, which is very large for a web plugin. The module is loaded asynchronously and impact on the user experience should be minimal, but we will investigate optimizations in the future, such as migrating to a more light-weight JavaScript implementation.

For now, the team is, therefore, pleased to announce that the current alpha version of ASGARDEX has gone live for testing at https://asgard.exchange. Of course, only test tokens can be traded right now, but this release is an important step in the THORChain development roadmap.

Your feedback is welcome!

http://res.cloudinary.com/ho14lqzev/image/upload/v1544254953/ozyite59vdolpyc8zktu.png

ASGARDEX - Trading View

http://res.cloudinary.com/ho14lqzev/image/upload/v1544254984/ngdungc8stuc1rv54bqd.png

ASGARDEX Token Swap View

Research Effort

Ongoing Research

We have previously mentioned that there is a parallel track in THORChain’s development activities focusing on protocol-level research. These efforts can be classified into four main categories:

  • Liquidity
  • Interoperability
  • Scalability
  • Governance

We have discussed liquidity in detail before, and you can read all about continuous liquidity pools here. We have also had lengthy discussions on the Bifröst protocol for cross-blockchain asset interoperability.

So let’s talk about scalability: THORChains’ goal is to write a new chapter in blockchain performance and scalability. One component for achieving this is using an efficient consensus algorithm (the already mentioned Tendermint variant of pBFT) between an elected set of validators.

This approach is combined with a multi-chain architecture. In contrast to other multi-chain solutions, the THORChain model does not assign different architectures and address space to each tokenChain. Instead, all chains follow the same model and share validators.

Sharding

Once the blockchain grows, the Yggdrasil sharding protocol will be in charge of splitting up the blockchain into manageable chunks. Sharding is a technique leveraged from relational database management systems. These systems split databases horizontally across tables, in order to distribute load across different hosts.

The principles of blockchain sharding are similar. As far as we know, no fully functioning implementations currently exist, but proposals generally split transactions and/or state arbitrarily across shards, maintained by different nodes. Yggdrasil is different in that shards consist of sets of tokenChains. This essentially divides up the blockchain vertically across application-specific boundaries.

In theory, this should reduce the number of cross-shard transactions, as most transactions will be asset transfers within a tokenChain. Shards are created dynamically. If a shard containing N chains is benchmarked to reach 90 % saturation, it is split into two shards of N/2 chains.

Validator assignment is also different in THORChain and follows cryptoeconomic principles. 126 validators are assigned shards based on the value of their staked assets, such that the most profitable shards (in terms of transaction fees) are accessible to the highest staking validators. Validator sets covering shards are required to contain at least 21 nodes and each shard is covered by several validator sets. There should always be at a common cluster of validators between two shards, facilitating cross-shard communication.

The complete protocol is described in the Yggdrasil whitepaper.

Call for Contributions

THORChain is a very open project in terms of community contributions. The team is actively encouraging participation. In terms of research, we are seeking academic collaborations. As a first step, we would like to solicit peer-reviews from distributed systems researchers, which may well lead to more extensive collaborations.

So, if you are working in an academic distributed systems research group, are doing a Ph.D. on one of the topics related to THORChain research, or simply have a great idea, please get in touch with us.

What’s Up Next?

Compared to our last development update, the list of upcoming activities is largely unchanged. Activities still focus on advancing test trading on THORChain:

Performance Optimisation: THORChain is currently more stable than we expected, so we may try to push the envelope on performance soon, although this has a lower priority than implementing cross-chain interoperability.

ASGARDEX Testing: The current state of ASGARDEX is quite complete in terms of basic functionality. It is now time for some serious testing, before adding features.

Rune Faucet: Test users require a test version of Rune, THORChain’s native token, to operate on the platform. A faucet will be developed to make it easy to obtain test Rune, allowing users to request a reasonable amount of Rune to be sent to their account.

Ethereum Bifröst: The Ethereum Bifröst protocol will be built as the first example of a cross-blockchain bridge, allowing Ether and ERC-20 tokens to be moved between THORChain and Ethereum. This is of high priority to the THORChain team.

Research: We will keep pursuing scientific excellence and advancing the state of the art of fundamental blockchain research. Expect to see THORChain featured at mature distributed systems conferences soon.

This update was brought to you by the Blockchain team at Swish.

We build cutting-edge blockchain-based solutions for inspiring projects. Have an idea we can bring to life? Let’s talk.

Share this post

twitter iconfacebook iconmedium icon

© 2018 Swish Labs, Inc. All Rights Reserved.