What exactly is RenVM? And, how does it achieve interoperability without centralization or trust? This blog post dives into RenVM in a bit more detail, discussing some of the lower-level parts that make RenVM work.

First, let’s visualize RenVM and what it can do, then we’ll walk through the interoperability process. For the purpose of this blog, we’ll use minting an ERC20 representation of BTC on Ethereum as an example, but the process is the same for all cross-chain assets. RenVM currently supports Bitcoin, Bitcoin Cash, and Zcash and is capable of supporting any assets that use ECDSA private keys (which is almost all of them). For reference, the RenVM Mainnet ERC20 naming will be:

renBTC for BTC on Ethereum

renBCH for BCH on Ethereum, and

renZEC for ZEC on Ethereum.

This differentiates the RenVM Mainnet tokens from zBTC/etc. tokens that we use in non-production environments (Devnet, Testnet, and Chaosnet).

What is RenVM?

A Versatile Decentralized, Trustless, and Permissionless Custodian

The easiest way to imagine RenVM is to first think of a trustless custodian that holds your digital assets as they move between blockchains. You give BTC to RenVM, it holds that BTC, and it mints that BTC as an ERC20 (a.k.a. renBTC) on Ethereum with 1:1 ratio to ensure your renBTC is always backed by the same amount of BTC.

Let’s look at an existing model that is similar: WBTC.

Under the hood, there is little technical similarity between WBTC and RenVM, but visualizing WBTC can help in understanding RenVM. With WBTC, a qualified entity gives BTC to BitGo, a centralized custodian. They hold it in cold storage, keep track of the cumulative balance received, and then create a 1:1 representation of that BTC on the Ethereum blockchain as an ERC-20 (a.k.a. WBTC). It’s then provided to merchants to sell WBTC on the open market. In general they take BTC, store it, and mint 1:1 WBTC on the Ethereum blockchain.

RenVM does the exact same thing, it takes BTC, stores it, and mints 1:1 renBTC on the Ethereum blockchain but on a much faster time scale.