Thorchain+Zcash Bridge

Hey everyone,

We’ve been exploring ways to proactively surface opportunities for the Zcash community to express interest and contribute to new initiatives. I’d like to introduce Thorchain, a multi-currency decentralized exchange built on the Cosmos / Tendermint SDK. I wanted to share a brief update after speaking with their team.

Overview:
Thorchain is a decentralized liquidity protocol that provides a trust-minimized way to trade spot tokens. It enables traders to swap tokens across various Layer 1 blockchains without taking on counterparty or custody risk. For example, a user could swap spot ZEC for spot BTC without ever using a centralized exchange. Thorchain improves on the model for decentralized exchange by reducing, or even eliminating, impermanent loss through the use of Continuous Liquidity Pools as the basis of exchange. A detailed overview of the Thorchain protocol can be found here.

Benefit to Zcash:
To date, most DeFi protocols trade synthetic assets or wrapped assets on Ethereum. Thorchain would provide the ability to transact with spot Zcash in DeFi, while interacting directly with the shielded pool.

Benefit to Thorchain:
The Zcash shielded pool secures over $65M USD, protected by strong cryptography. Protocols like Thorchain can provide privacy to their users by supporting deposits from the Zcash shielded pool. If a user holds value in the shielded pool, they can exchange it on Thorchain without leaking any information about themselves on the blockchain.

Integration Overview:
To build a ZEC.RUNE bridge, a developer would require the following documentation.

Chain client: bifrost/pkg/chainclients · master · THORChain / THORNode · GitLab

  • The chain client enables thorchain to observe & make witness transactions re. on-chain activity.

Node daemon: https://gitlab.com/thorchain/devops/node-launcher

  • The node daemon is required to be run by each node (as above).

Wallet client: ASGARDEX Common · GitLab

  • The wallet client is a simple js common interface/client for all the chains including btc, eth; so zcash will need to be added.

Next Step:
THORchain is a community-driven project and the imperative needs to come from both the Zcash community and the Thorchain community. The next step is to gauge developer and community interest in building the Zcash bridge.

Look forward to hearing your feedback. Thanks!

12 Likes

If it supports Zaddress cross-chain swaps like your describing, I would support this.

Pardon my noob interpretation, but would I be able to provide liquidity much like the Uniswap service provides from all of its pairs?

I wouldn’t be swapping to thor, but I would buy some thor to support liquidity between the 2 as a cash enthusiast, to as you say, spread the world of Privacy by Default.

4 Likes

hey @aserrano, would you mind sharing the bridge design to understand who will be custodians, and which mechanism do you use to make it trust-less?

1 Like

Yes you’d be able to provide liquidity just like Uniswap, but for native cross chain assets. More here:

https://docs.thorchain.org/roles/liquidity-providers

2 Likes

Here is more info on the technology: Technology - THORChain

1 Like

Would be in full support of this. Zcash and Thorchain are my favorite projects beside Bitcoin, and Thorchain is a chance to connect them all cross chain natively (without any bridging)

3 Likes

Would be cool if we could make the first 3 way liquidity pool, Spot BTC+Spot ZEC+Spot RUNE

2 Likes

The first supported chains are Bitcoin, Bitcoin Cash, Litecoin, Ethereum & Binance Chain.

Thanks @aserrano for the introduction & effort to encourage the Zcash community to get behind integration.

THORChain itself has no opinion on chains or assets and the network is designed for the short tail of assets, leaving the long tail to others eg. uniswap. This is because nodes need to run full clients for connected chains and because the network has a tight coupling of security unlike ethereum (for example) which handles security for it’s AMMs.

In that sense, THORChain is designed for the economically significant assets on the economically significant chains - with one exeption - privacy. There is tremendous value to the network by having opt-in security and this may come from XHV, XMR or ZEC. With that said, the team is here to encourage this community specifically to get behind this integration effort and bring opt-in privacy to THORChain.

Happy to answer any questions and will be following the thread daily. For anyone new, besides docs.thorchain.org, there is a whole youtube dedicated to thorchain 101. GrassRoots Crypto - YouTube

  • K
4 Likes

Not familiar with Thorchain so I have a few noob questions:

  • Currently where should I go if I want to exchange ETH into BTC using Thorchain, for example? Is there any app.uniswap.org or sideshift style UI available? Do I need to download another app (for the bridge) and then create a new Thorchain wallet?
  • Is it possible to provide ZEC liquidity without leaving the Zcash blockchain? Or do I need to also provide liquidity for Rune (which also will require me to download a new app and create a new wallet)?

I think this is a cool integration to pursue. Unfortunately there is just so many bad UX in crypto. I personally will not try this if I had to download a new app, setup a new wallet, learn a new chain lingo, read all the docs, for me to just end up not understanding anything. That would be a lot of time wasted.

2 Likes

Welcome @thoranon :wave:

Thanks for the questions everyone. I’ll try to answer them as they come in.

  1. Currently, Thorchain is on testnet and liquidity pools are limited to Binance Chain tokens available on BEPSwap or ASGARDEX, which have a familiar UI. Mainnet is expected to launch later this month with multi-chain capabilities for the chains listed above.

  2. Thorchain liquidity pools are permission-less and non-custodial. LPs are incentivized to add assets symmetrically (ie 50:50 ZEC:RUNE), but they can also do so asymmetrically. Each trade is executed against RUNE, so If a user swaps ETH for ZEC, THORChain will sell ETH/RUNE and then buy ZEC/RUNE. I recommend this article for more detail on Thorchain’s liquidity pools.

4 Likes

Made the news:

3 Likes

Nice, is ECC still a “for-profit company” as mentioned at the start of that article?

The status application would have been completed before Canopy deployed which was only a few months ago so hopefully an update to the EIN database will happen, ya know eventually

As a developer, I’m interested in this and very enthusiastic about it!

5 Likes

Hey Andre, you mentioned a benefit to Thorchain is having access to $65mn of shielded funds, allowing ZEC owners to participate as a trader or liquidity provider.

Can i clarify that this bridge if built, would also support ZEC in transparent format? If so, it would help with overall ZEC activity in DeFi, which would be a plus.

Hey @ml_sudo, I am proposing for this bridge to be built using the Bitcoin-compatible API and transparent addresses. This approach will reduce the complexity of the integration while still providing privacy for Zcash users.

Note: For this use case, it’s important to support transfers T or Z → T. If a user interacts with the Thorchain bridge from her shielded wallet, no information will be revealed on the blockchain. I believe this could be an important step to improve ZEC activity in DeFi.

2 Likes

ah, got it. so someone could transfer from a Z or T addr, but once on Thor it’s a T addr. the Z → T feature is what provides someone with optional privacy.

3 Likes

I propose that we also explore shielded integration and get someone like @nuttycom to assess how might we use shielded funds–before concluding that transparent funds reduce complexity.

The idea of users staking shielded ZEC, which they’re holding anyway for privacy or long-term-gain tax purposes, is very exciting.

6 Likes

I am going to opt-out of THORChain if I have to opt-out of privacy to use the LP. I was very excited originally reading this proposal, but come to think of it… Using a T address in the equation is some hot garbage privacy.

Please do reconsider, hiring the talent, to properly integrate Zcash’s Z-address to your concept. I mean this with the best intentions and as someone who would have been a liquidity provider of at least 25% of my Zcash portfolio.

Waves DEX already provides similar features for Zcash deposits, but has support for Z-Address withdraws, you would be at a clear disadvantage to your competitors in this field seeing as waves has liquidity investments. Not saying they are as good as the RUNE pairs, but Waves has better privacy and thats where I put my money.

I will happily reconsider Waves > THORChain if the Z-address is fully integrated.