原文标题:《引介 | RenVM 的工作原理》
原文来源:以太坊爱好者
究竟什么是 RenVM?在实现链间互操作性的时候,为何它能不引入中心化和信任要求?本文将深入探究 RenVM,讨论一些帮助 RenVM 运作的底层组件。
首先,我们来介绍一下 RenVM 及其功能,然后来看一下互操作性流程。就本文而言,我们将以在以太坊上铸造代表 BTC 的 ERC20 代币为例,不过具体流程可以套用到所有跨链资产上。RenVM 目前支持 BTC 、BCH 和 Zcash,并且能够支持任何使用 ECDSA 私钥(几乎所有 ECDSA 私钥)的资产。作为参考,RenVM 主网的 ERC20 命名方式如下:
以太坊上代表 BTC 的 ERC20 代币被称为 renBTC
以太坊上代表 BCH 的 ERC20 代币被称为 renBCH
以太坊上代表 ZEC 的 ERC20 代币被称为 renZEC
这会将 RenVM 主网代币与 zBTC 等用于非生产环境(Devnet、Testnet 和 Chaosnet)的代币区分开来。
RenVM 是什么?
RenVM 是一种功能丰富的去中心化托管方,具有免信任性和免许可性。
理解 RenVM 的最简单方式就是先将它想象成是一个免信任型托管方,可以在持有你的资产的同时实现资产的跨链转移。例如,你将 BTC 交由 RenVM 托管,RenVM 持有这笔 BTC 并在以太坊上将其 1:1 铸造成 ERC20 代币(即,renBTC),以确保你的 renBTC 始终由等量 BTC 背书。
我们来看一下另一种相似的模型:WBTC。
从技术层面来看,WBTC 和 RenVM 几乎没有相似之处,不过 WBTC 可以帮助我们理解 RenVM。WBTC 的运作流程是:符合资格的实体将 BTC 交由中心化托管方 BitGo,BitGo 将这笔 BTC 存入冷钱包中,并根据钱包的余额增长情况在以太坊区块链上 1:1 铸造代表 BTC 的 ERC20 代币(即,WBTC)。卖家会在公开市场上出售这些 WBTC。总的来说,BitGo 将收到的 BTC 存储起来,并在以太坊区块链上 1:1 铸造 WBTC。
RenVM 的运作流程几乎相同:将收到的 BTC 存储起来,并在以太坊区块链上 1:1 铸造 renBTC。区别在于 RenVM 的速度更快一点。
- RenVM 是如何将 BTC 转移到以太坊上的 -
三个重要区别
1. 流动价值交换
RenVM 没有将 BTC 存储在中心化或可信的托管机构中,而是存储在一个由去中心化节点(叫做「Darknode」)组成的网络上。一旦 RenVM 收到 BTC,就会立即以 1:1 的比例铸造出代表 BTC 的 ERC20 代币,供个人和 DeFi 应用使用。一个重要的细微差别是,这种价值交换(铸造和销毁)是流动的;每分钟可以转移任意数量的资产上百次,不需要依靠中心化机构、卖家、签署人,也不存在任何摩擦,从而实现跨链数字资产的无缝转移(即,互操作性)。
2. 可组合性
另一个区别是 RenVM 具有可组合性(也是所谓的「DeFi 乐高」)。RenVM 直接整合进 DeFi 应用,不对终端用户展现。通过使用专门的适配器,DeFi 应用可以直接为用户提供跨链功能,用户无需操心 铸造/销毁/封装/去除封装 等流程。任何人(或应用)都可以使用并整合 RenVM。这样一来,用户可以在去中心化交易平台上交换 BTC,在借贷平台上借出/借入 BTC,或质押 BTC 生成合成资产,而且只需要用到真正的 BTC。用户根本不需要看到 renBTC,甚至不需要感觉到以太坊的存在。
3. 去中心化、免信任和免许可
RenVM 中使用的 ECDSA 私钥是完全私密的,甚至对节点本身同样保密。RenVM 通过一种安全多方计算算法使用 ECDSA 私钥生成并签署数据。没人能阻止用户使用他们的 BTC 来铸造 renBTC、销毁他们的 renBTC 来取回 BTC,或是随心所欲地使用他们的 renBTC。
通过提供通用互操作性,上述三个核心区别使得 RenVM 远超类似解决方案。
好吧,我现在知道 RenVM 是什么了,但是跨链转账是如何实现的?
通过 RenVM 在以太坊上铸造的资产都是 1:1 锚定某个资产的 ERC20 代币。这就意味着,如果你持有 1 renBTC(一种 ERC20 代币),你随时都可以用它来赎回 1 BTC。通过 RenVM 铸造的 ERC20 代币直接锚定原有资产的供应量。所以说,renBTC 不是一种合成资产,不依赖于清算机制,也不是以太坊上锚定 BTC 价格的 ERC20 代币,而是在以太坊上 1:1 代表 BTC 的 ERC20 代币,可以随时用来赎回等量的 BTC。
在以太坊上铸造 BTC
- 将 BTC 锁入 RenVM,然后在以太坊上铸造 renBTC -
你只需要将 BTC 发送到某个 BTC 地址,即可铸造 renBTC :
1)Bob 想要在 DeFi 中使用 BTC,于是他找到了一个整合 RenVM 的应用。用户界面的提示显示,该应用将生成一个独一无二的 BTC 地址(即,一个只能使用 RenVM 的某个 ECDSA 私钥才能花费的 BTC 脚本的地址)。
2)Bob 向这个地址发送 1 BTC,并等待 6 个区块确认。积累到 6 个区块确认之后,RenVM 会立即使用其秘密 ECDSA 私钥之一来生成一个铸币签名。Bob 获得这个签名之后就可铸造 1 renBTC(需支付 RenVM 费用),renBTC 会发送至 Bob 指定的 Web 3.0 钱包(例如,MetaMask)。注:这些步骤通常由 UI 自动执行,不需要 Bob 进行具体操作。
3)现在,Bob 获得了 1 renBTC,可以随心所欲地在任何 DeFi 应用中使用它了。他可以用这个 renBTC 来贷款,在 Uniswap 上交易,进行保证金交易。请注意,renBTC 是完全同质化的,可以分割成任意数量,与其他人铸造的 renBTC 并无区别。
从以太坊上赎回 BTC
- 指定 BTC 地址,销毁 renBTC,然后 BTC 就会被归还至该地址 -
赎回过程与铸造过程一样简单,而且任意数量的 renBTC 都可以赎回等量的 BTC。当 Bob 准备好赎回 BTC 时,他就会销毁手中的 renBTC :
1)Bob 想要取回自己的 BTC,因此他找到了整合 RenVM 的应用。当 UI 出现提示时,Bob 提供自己的 BTC 地址(赎回的 BTC 将发送至该地址)。该地址会作为一笔以太坊交易的一部分,用于销毁 renBTC 和赎回 BTC。
2)Bob 为这笔以太坊交易支付少量 Gas 费用,等待以太坊区块链确认该交易。之后,RenVM 看到 renBTC 已经被销毁,就会将等量的 BTC 发送至 Bob 指定的 BTC 地址(需支付 RenVM 费用)。
3)现在,BTC 已经回到 Bob 的钱包里了,Bob 可以随心所欲地使用这笔 BTC 了。
注:上述所有操作均可以在比特币/以太坊主网上完成(但是其中一个组件 Chaosnet 尚未经过审计)。如果你想要亲自尝试这个流程,可以使用少量 BTC 在 Roundabout(整合了 RenVM 的应用)上练练手。
新版 RenVM 百科
如果你是个技术控,想要深入了解 RenVM 的所有组件,请查看我们的最新百科!目前百科仍在完善中,欢迎大家积极反馈
欢迎加入律动 BlockBeats 官方社群:
Telegram 订阅群:https://t.me/theblockbeats
Telegram 交流群:https://t.me/BlockBeats_App
Twitter 官方账号:https://twitter.com/BlockBeatsAsia