WBTC全名是Wrapped BTC,是由BitGo发行的一种ERC20代币,每个代币都有对应的BTC作为担保。BitGo是谁?这是一家为机构提供数字资产托管、交易和金融服务的公司。这家公司大概的发展历史如下:
2013年推出多重签名钱包服务。
2018年推出数字资产托管服务。
2018年10月进行B轮融资,融资规模为5850万美元。
2020年12月21日,BitGo托管的数字资产达到了160亿美元。
可以看到BitGo最开始是做工具起家的,在2013年数字资产仅仅只有很少的人在使用,基本上都是用的原生的钱包比如Bitcoin Core。大多数使用Bitcoin Core的用户使用的地址都是单签,而多重签名还需要一些配套的服务,比如签名地址的创建、待签名交易的提醒等,这一点上Bitcoin Core无法提供。随着BTC等数字资产价格的上涨,传统投资机构的目光开始投向数字资产领域,但在美国机构投资都需要第三方的托管,比如证券公司一般都要跟银行合作将客户的钱托管在银行,这个时候推出数字资产托管服务也就顺理成章了。
那么WBTC的推出又是什么原因呢?BTC不是有息资产,持有BTC除了享受BTC价格上涨带来的收益外没有其它收益,这点跟黄金一样。随着Defi的发展产生了很多借贷、衍生品交易项目,这些项目很多都需要ETH作为抵押资产,而抵押的好处就是能有额外收益,比如借贷的利息。2019年开始火起来的流动性挖矿更是给抵押操作带来了很多的有息收益,因此BTC进入以太坊参与Defi项目获取有息收益的需求就出来了。
WBTC架构设计如下图所示:
Custodian是BTC的托管者,目前只有BitGo是Custodian。
Merchant是做市商,负责向普通用户销售和回收WBTC。
Customer是普通的WBTC使用者。
Custodian只跟Merchant打交道,而Merchant跟很多个普通用户打交道,因此有点批发与零售的意思。除了上述三个角色之外还有个WBTC DAO member这个角色,负责以太坊上部分合约的管理工作。
BitGo是WBTC架构中唯一的Custodian,它负责BTC多重签名地址的生成和管理。Custodian会给每个Merchant生成一个对应的BTC地址,Merchant往该地址转入了BTC之后才能执行在以太坊合约上的WBTC铸造流程。比如BitGo给CoinList这个Merchant分配的地址是3ErNFK17MbH3GAGfakMwTrKo8uHmBuuVX1,给imToken分配的地址是34MSicAL7qVGkevFPLwyc9KohGzoUSnu3Q。
想当Merchant需要跟BitGo去申请,然后跟BitGo签合同,合同中会约定Merchant铸造和销毁WBTC的费率。Merchant需要负责给Customer进行KYC和AML,Merchant同样可以对Customer进行收费,同时WBTC的流行能给Merchant带来更多的流量。这种批发零售制度对BitGo来说一是可以省去大量Customer的KYC和AML工作,二是可以通过Merchant的渠道将WBTC销售给更多的Customer。
WBTC的铸造分为两个阶段,第一阶段是Merchant将BTC转移到Custodian分配的充值地址上,第二阶段是Merchant在以太坊上发起铸造流程。
铸造流程如上图所示:
第一步,Merchant初始化一个Mint请求,请求格式如下:
比如CoinList的一次Mint请求参数如下
amount:54978000000
btcTxid:3bfad1f903f359bd72053322ed1565a832071c6712850971c90030fd1a81f1e3
btcDepositAddress:3ErNFK17MbH3GAGfakMwTrKo8uHmBuuVX1
也即是铸造549.78个WBTC,而实际的BTC交易中充值了550个BTC,经过计算我们可以得出CoinList的Mint费率是0.04%。
第二步,Custodian在Merchant的BTC充值交易达到6个确认之后批准这个Mint请求,从而铸造出对应的WBTC。在批准之前Custodian需要检查Merchant提交的请求中的amount,txid等参数是否跟实际情况一致。如果不一致会拒绝这个请求,这样Merchant需要重新发起Mint请求。
WBTC的销毁跟铸造阶段正好反过来,第一阶段是Merchant先销毁WBTC,第二阶段是Custodian给Merchant的BTC接收地址上转账。
第一步,Merchant提交一个Burn请求,然后销毁WBTC。
第二步,Custodian检查Burn请求,然后给Merchant的BTC接收地址转BTC。
第三步,BTC等待6个确认之后,Custodian将转账hash补充到Burn请求中。
铸造和销毁的过程其实完全可以不通过合约来实现,比如铸造,更简单点的操作步骤是Merchant充值后Custodian直接为Merchant的以太坊地址铸造对应数量的WBTC出来。把铸造和销毁的流程放到合约里面可以实现透明化,也就是说任何人都能找到每一笔WBTC铸造和销毁对应的BTC转账。
Customer从Merchant那里买或者卖WBTC有多种途径,最简单的就是Customer信任Merchant,比如Merchant是Binance,那么Customer直接在Binance上买卖WBTC就可以了。
如果不是很信任Merchant还可以采用原子互换的方式,原子互换通过哈希锁实现,所需的时间和成本都比信任Merchant的方式高。
WBTC的主要风险还是BitGo本身,虽然BitGo已经托管了160亿美元的资产,但是这些资产都不是BitGo自己的,而BitGo自身的估值远低于WBTC的市值(目前将近40亿美元)。万一BitGo将WBTC对应的BTC储备挪作他用或者搞丢了,BitGo顶多就是破产,而WBTC的持有者将损失惨重。
需要注意的是WBTC白皮书中并没有提到如果BTC储备出现意外会怎么赔付WBTC的持有者。
BitGo为了提高信任和透明度也采取了一些措施:
第三方的季度审计
公布BTC储备地址的签名
铸造和销毁操作通过以太坊合约实现
第三方的审计其实意义不大,因为每一笔铸造和销毁交易都能在以太坊和比特币网络上查到,只要能跟BTC储备地址上的余额对的上就行。公布BTC储备地址的签名很重要,因为只有公布了签名才能证明WBTC官网上公布的储备地址为BitGo所有,否则BitGo随便找几个有很多BTC的地址说是储备地址然后就可以跟Merchant合谋发布没有实际BTC作为储备的WBTC。
WBTC的另外一个风险在于Merchant,有的Merchant可信度高,但有的Merchant可信度比BitGo低的多,如果Merchant替Customer买WBTC时是先收Customer的BTC,那么就Merchant就存在跑路的可能。不过由于存在很多个Merchant,单个Merchant跑路造成的危害有限。
理论上来说WBTC应该比BTC的价格稍微高一点才行,因为WBTC的创造需要支付以下费用:
比特币的网络手续费
以太坊的网络手续费
Custodian铸造和销毁的费用
Merchant的销售费用
普通的Customer还需要能通过Merchant的KYC和AML。WBTC相比BTC具有转账速度快、用途更广、能捕获额外收益等优点。当然由于WBTC的价值完全依赖于对BitGo和做市商们的信任,所以WBTC的价值相对于BTC也是上下波动的。
WBTC作为BTC通往Defi世界的桥梁不仅为BTC的持有者提供了获得更多收益的机会,也会Defi提供了更有价值的资产。作为一种中心化管理的兑换通道Custodian的信任度最为重要,BitGo作为当前的Custodian我认为在技术上是没问题的,但是BitGo的自有资产太少无法承受过量的WBTC发行工作。倒不如由更有实力的机构(比如币安、Coinbase这类交易所)作为Custodian,BitGo作为资产的托管方提供技术服务。