One article to understand the working principle of the Ethereum cross-chain DeFi project RenVM
Editor's Note: This article comes fromEthereum enthusiasts (ID: ethfans)Editor's Note: This article comes from
Ethereum enthusiasts (ID: ethfans)
Ethereum enthusiasts (ID: ethfans)
, Author: Loong, Translator & Proofreader: Min Min & A Jian, reproduced by Odaily with authorization.
What exactly is RenVM? Why can it not introduce centralization and trust requirements when achieving interoperability between chains? This article takes a deep dive into RenVM and discusses some of the low-level components that help RenVM work.
First, let's introduce RenVM and its capabilities, and then look at the interoperability process. For the purpose of this article, we will take the example of minting ERC20 tokens representing BTC on Ethereum, but the specific process can be applied to all cross-chain assets. RenVM currently supports BTC, BCH, and Zcash, and can support any asset that uses an ECDSA private key (almost all ECDSA private keys). For reference, the ERC20 naming method of the RenVM mainnet is as follows:
The ERC20 token representing BTC on Ethereum is called renBTC
The ERC20 token representing ZEC on Ethereum is called renZEC
RenVM is a feature-rich decentralized host that is trustless and permissionless.
This will differentiate the RenVM mainnet token from tokens such as zBTC that are used in non-production environments (Devnet, Testnet, and Chaosnet).
What are RenVMs?
RenVM is a feature-rich decentralized host that is trustless and permissionless.
Let's look at another similar model: WBTC.
From a technical point of view, WBTC and RenVM have almost no similarities, but WBTC can help us understand RenVM. The operation process of WBTC is as follows: Qualified entities hand over BTC to the centralized custodian BitGo, BitGo deposits the BTC in the cold wallet, and mints representatives 1:1 on the Ethereum blockchain according to the balance growth of the wallet. An ERC20 token for BTC (ie, WBTC). Sellers will sell these WBTCs on the open market. In general, BitGo stores the received BTC and mints WBTC 1:1 on the Ethereum blockchain.
The operation process of RenVM is almost the same: the received BTC is stored and renBTC is minted 1:1 on the Ethereum blockchain. The difference is that RenVM is a bit faster.
image description
- How RenVM transfers BTC to Ethereum -
three important differences
1. Liquid value exchange
Instead of storing BTC in a centralized or trusted custodian, RenVM stores BTC on a network of decentralized nodes (called "Darknodes"). Once RenVM receives BTC, it will immediately mint ERC20 tokens representing BTC at a ratio of 1:1 for personal and DeFi applications. An important nuance is that this exchange of value (minting and burning) is fluid; any number of assets can be transferred hundreds of times per minute, without reliance on centralized institutions, sellers, signatories, or friction. This enables the seamless transfer of cross-chain digital assets (i.e., interoperability).
2. Composability
Another difference is that RenVM is composable (also known as "DeFi Lego"). RenVM is directly integrated into DeFi applications and is not displayed to end users. By using specialized adapters, DeFi applications can directly provide users with cross-chain functions, and users do not need to worry about processes such as casting/destroying/encapsulation/unencapsulation. Anyone (or application) can use and integrate RenVM. In this way, users can exchange BTC on decentralized exchanges, lend/borrow BTC on lending platforms, or pledge BTC to generate synthetic assets, and only need to use real BTC. Users don't need to see renBTC at all, or even feel the presence of Ethereum.
3. Decentralized, trust-free and permission-free
The ECDSA private keys used in RenVM are completely private, even from the nodes themselves. RenVM uses an ECDSA private key to generate and sign data through a secure multi-party computation algorithm. Nothing prevents users from using their BTC to mint renBTC, burning their renBTC to get back BTC, or spending their renBTC however they please.
Well, I now know what RenVM is, but how is cross-chain transfer implemented?
The assets minted on Ethereum through RenVM are all ERC20 tokens that anchor an asset 1:1. This means that if you hold 1 renBTC (an ERC20 token), you can redeem it for 1 BTC at any time. The ERC20 token minted by RenVM directly anchors the supply of the original asset. Therefore, renBTC is not a synthetic asset, does not depend on the liquidation mechanism, nor is it an ERC20 token that anchors the price of BTC on Ethereum, but an ERC20 token that represents BTC at 1:1 on Ethereum, which can be used at any time Redeem an equivalent amount of BTC.
Minting BTC on Ethereum
image description
- Lock BTC into RenVM, then mint renBTC on Ethereum -
You just need to send BTC to a BTC address to mint renBTC:
2) Bob sends 1 BTC to this address and waits for 6 block confirmations. Immediately after accumulating 6 block confirmations, RenVM uses one of its secret ECDSA private keys to generate a mint signature. After Bob obtains this signature, he can mint 1 renBTC (paying the RenVM fee), and the renBTC will be sent to the Web 3.0 wallet specified by Bob (for example, MetaMask). Note: These steps are usually performed automatically by the UI and require no specific action from Bob.
3) Now, Bob has obtained 1 renBTC and can use it in any DeFi application as he likes. He can use this renBTC to make loans, trade on Uniswap, and conduct margin trading. Please note that renBTC is completely homogeneous and can be divided into any number, indistinguishable from renBTC minted by others.
Redeem BTC from Ethereum
image description
- Specify a BTC address, destroy renBTC, and then BTC will be returned to the address -
The redemption process is as simple as the minting process, and any amount of renBTC can be redeemed for an equal amount of BTC. When Bob is ready to redeem BTC, he will destroy the renBTC in his hand:
1) Bob wants to get his BTC back, so he finds an application that integrates RenVM. When prompted by the UI, Bob provides his BTC address (where the redeemed BTC will be sent). This address will be used as part of an Ethereum transaction to burn renBTC and redeem BTC.
2) Bob pays a small gas fee for this Ethereum transaction, and waits for the Ethereum blockchain to confirm the transaction. Afterwards, RenVM sees that the renBTC has been destroyed, and sends the same amount of BTC to the BTC address specified by Bob (RenVM fee is required).
3) Now, the BTC has returned to Bob's wallet, and Bob can use the BTC as he likes.NOTE: All of the above can be done on the Bitcoin/Ethereum mainnet (however one of the components, Chaosnet, has not been audited). If you want to try this process yourself, you can use a small amount of BTC to practice on Roundabout (the application that integrates RenVM).New RenVM Wiki


