本文写于2021年10日,最早作为《 PAKA Labs跨链研究报告》当中的 5.1小节发布。
作者:MiddleX
与我交流:
Twitter:@middlex0
VX:xuezhijie156
BTC 是区块链世界的奠基石,BTC 因其在区块链领域的特殊地位,以及其架构中蕴含的深刻思想,聚集了很多坚定的信仰者。直至如今,BTC 在加密生态中的市场价值、流动价值、用户基础,都具有绝对的优势地位。因此,新生的公链,往往有极大的动力将 BTC 引入,为自身的生态注入强大的活力。于是,产生了众多的 BTC 锚定资产。
BTC锚定资产的基本原理是:
Lock-Mint
在 BTC 链上锁定 BTC,目标链上铸造锚定资产
Burn-Unlock
在目标链上销毁锚定资产,在 BTC 链上释放 BTC
由于 BTC 链不具备图灵完备性,在 BTC 链上锁定 BTC 的环节,需要通过一个托管账户来完成,该托管账户由见证人来管理;另外,BTC 链上无法构筑目标链的轻节点合约,当 Burn 交易发生时,必须由见证人手动去完成 Unlock 环节。
目标链一般而言是具有图灵完备性的,所以在 Lock-Mint 环节上,可以有不同的选择。可以选择在目标链上部署 BTC 轻节点合约,当用户把 Lock 交易传递给轻节点合约时,轻节点合约验证并执行 Mint 动作,也可以选择依旧靠见证人验证 Lock 交易和触发 Mint 。一般而言,项目方倾向于选择前者,但如果目标链是 Gas 费昂贵的以太坊,项目方更倾向于选择后者。
BTC锚定资产设计的关键点在于见证人机制,不同的项目在见证人机制上做了不同的设计,整体上分为信任式(无须抵押)和非信任式(需要抵押)两大类。
信任式 BTC锚定资产的见证人不需要抵押保证金,这类项目往往设计简洁,费用低廉,因此占据了巨大的市场份额,他们靠着长期积累的链下商誉和公开托管地址接受监督来获得社区的信任。需要注意的是,信任式的 BTC锚定资产的见证人不一定是单个主体,也有可能是多个主体组成的联盟。
最早的BTC锚定资产是发行于BTC的侧链上的。Rootstock Labs 于2018年1月开发上线的 RSK 是 BTC 的第一条侧链,紧随其后,2018年9月,Blockstream 开发的 BTC 侧链 Liquid Network 上线。两者都在侧链上创建了 BTC 锚定资产,分别是 sBTC(SmartBTC) 与 LBTC(Liquid BTC) ,后来 Rootstock 在 2019 年更新其白皮书时,将 sBTC 更名为了 RBTC(RSK BTC) 。
RSK 是采用 Solidoty 语言编写的兼容 EVM 的智能合约平台,旨在赋予 BTC 以可编程性。RSK 使用 DECOR++(中本聪共识的独特变体),通过「合并挖矿」机制,鼓励 BTC 矿工来兼任 RSK 节点,使 RSK 达到很高的安全性。
RBTC 的铸造和赎回过程依赖被称为 PowPeg 联盟的见证人集来实现。
▸ RBTC 的铸造过程如下:
用户将 BTC 转入到由 RSK PowPeg 联盟控制的多签地址中,到达该地址的 BTC 被锁定,该转入交易的 SPV 证明被 PoWPeg 联盟发送到 RSK 侧链上的桥接合约(Bridge Contract),一旦桥接合约获得此证明,它就会将相同金额的 RBTC 发送给用户指定的 RSK 侧链地址。该过程被称为 Peg-in 。
Peg-In 过程是非信任式的,并不需要依赖见证人。尽管 PoWPeg 联盟要负责向桥接合约递送SPV证明。但该过程实际上可以由任何人进行,当 PoWPeg 联盟递送不及时时,用户也可以自己去递送。
▸ BTC 的赎回过程如下:
用户将 RBTC 发送到 RSK 区块链上的桥接合约地址,由于 BTC 链无法验证 RSK 链上的交易,我们需要 RSK PowPeg 联盟协助签署 BTC 链上的赎回交易,当15个联盟成员,有11个完成签名时,即可从多签地址中向用户转出相同金额的 BTC,此过程被称为 Peg-Out 。
Peg-Out 过程是信任式的,我们需要相信 PowPeg 联盟不会串谋签署错误交易,盗取托管资产。
PoWPeg 联盟由 15 家知名的、信誉良好的、具有高安全标准和节点维护技术能力的区块链公司组成。现有联盟成员分布在多元化的地理单元和司法管辖区,他们通过 11-of-15 签名来管理成员的新增和清退。除此之外,RSK Labs 已经制定了联盟成员的详细章程,包括安全政策、备份要求等。
为了保证安全,避免区块链可能的重组带来的损失,RSK 采取了非常保守的最终性原则。Peg-In 过程大概需要 14个小时(100个BTC区块),Peg-Out 过程大约需要 33个小时(4000个RSK区块)。鉴于 Peg-In 和 Peg-Out 操作需要较长的等待时间,许多机构用户(例如交易所)会直接铸造好现成的 RBTC,普通用户可以直接向他们获取。
Liquid 与 RSK 采用了大体相同的设计,同样是 M-of-N 联盟多签式的资产托管方案,同样采用了“非信任式Peg-In + 信任式Peg_out”的非对称方案。
不同的是,RSK 更侧重赋予 BTC 可编程性,而 Liquid 更侧重于提供一个 BTC 的快速交易网络。在这样的指导思想下,Liquid 被设计为了联盟链,负责资产托管的联盟实际上也是 Liqiud Network 的节点。此外,Liquid Network 支持隐私交易,通过Liduid Network交易,可以做到隐藏交易金额和资产类型。
RSK 和 Liquid 都曾是天王级的项目,受到万众期待,但后来由于以太坊及其 DeFi 生态的崛起,RBTC 和 LBTC 的光芒被后来居上的 WBTC 所掩盖。
WBTC 是 Wrapped BTC 的简称,2019 年 1 月由 BitGo 和 Kyber Network 联合发起。WBTC 是当前铸造量最大的 BTC 锚定资产,锁仓的 BTC 超过 200万枚,占到了 BTC 锚定资产份额的 80% 以上,是无可辩驳的王者。如今 WBTC 已经有 WBTC on Etherruem,WBTC on Tron 两种格式。WBTC 通过 WBTC DAO 成员组成的见证人集来管理资产兑换的过程。
WBTC 对见证人的角色进行了拆分,分为了托管商( Custodian )和兑换商( Merchant )。兑换商是介于用户和托管商之间的一个中介角色,将用户和托管商隔绝开来,用户与兑换商交互,兑换商和托管商交互。
理论上,兑换商和托管商都不止有一个。每个兑换商和每个托管商都管理着一个独立控制的托管地址。无论是兑换商,和还是托管商,都必须是 WBTC DAO 的成员,而 WBTC DAO 成员的新增和清退则由现有成员通过 M-of-N 多签合约来进行许可式管理,但不一定所有的WBTC DAO 成员都会成为兑换商或托管商。
▸ 兑换商申请铸造 WBTC 的过程如下:
兑换商发起一个 X 个 WBTC 的铸造请求,并将 X 个 BTC 发送到托管商的托管地址,托管商收到 BTC,等待 6 个 BTC区块( 1小时左右)确认后,创建 WBTC 铸造交易,向兑换商发放 X 个 WBTC。
▸ 兑换商申请赎回 BTC的过程如下:
兑换商发起一个 Burn 交易,销毁 X 个 WBTC(该交易是一笔多签交易,需要兑换商和托管商都签名才能正式完成),托管商等待 25 个以太坊区块( 6 分钟左右)确认后,将 X 个 BTC 释放到兑换商的地址,最后托管商签名 Burn交易,使得销毁正式完成。
用户无权申请铸造和赎回,只能向兑换商买入或卖出 WBTC,托管商也无权直接服务终端用户,只能服务于兑换商。用户可以自由选择信任的兑换商,至于兑换商如何选择托管商,机制尚不明确,当前 WBTC 只有 BitGo 一家托管商。
用户可以用 BTC 和兑换商通过基于哈希时间锁的原子交易换取 WBTC,也可以用同样的方式将 WBTC 换回 BTC。
通过托管人和兑换商的角色拆分,用户体验被大幅改善了,如果允许用户和托管人直接互动,用户将不得不忍受 Mint 和 Burn 的缓慢过程。为了改善用户体验,兑换商往往会提前储备 WBTC 和 BTC,让用户的兑换能够快速完成。
尽管 WBTC 相对中心化,还要求用户 KYC ,但它却是最成功的 BTC 锚定资产。有三个重要的原因可以给我们启示:
其一:借鉴前人经验,将复杂性封装在兑换商和托管商之间,给用户简洁快速的体验;其二:WBTC 高度重视兑换商的商务拓展,兑换商实际上成为了 WBTC 的经销商,WBTC 成功构筑了商业利益链条;其三:WBTC 借助了以太坊的势能,并抢先拓展其在 DeFi 中的应用,反过来促进了 WBTC 的铸造需求。
BTCB 是 Bitcoin BEP2 的缩写,是 Binance Smart Chain 发行的 BTC 锚定资产,托管了大约10万枚左右的 BTC,HBTC 则是 Huobi 发行的 BTC 锚定资产,托管了大约4万枚左右的 BTC。两者分别是铸造量 Top2 和 Top4 的 BTC 锚定资产。( Top3 为 RenBTC )
两者都是中心化机构依托自身庞大的用户群体和长期经营的商誉而发行,拥有不错的用户体验,其技术路线是极端中心化的方式,由发行机构直接作为见证人,负责资产的托管和跨链事务的验证。
XBTC 是跨链项目 ChainX 于 2018 年 5 月推出的 BTC 锚定资产。与 RBTC/LBTC 类似,ChainX 本身也被开发为了 BTC 的一条侧链,并采用了“非信任式Peg-In + 信任式Peg-Out”的非对称设计。
ChainX 基于 Substrate 框架开发,有机会成为波卡的平行链,将 XBTC 带到波卡生态。ChainX 在链上使用 WASM 技术首次实现 BTC 轻节点,支持 BTC 交易的 SPV 验证,使得在 XBTC 铸造环节实现了非信任式的安全性。
在 BTC 赎回环节,则由多位“信托”通过链上多数派投票完成销毁-解锁流程。一共会有 15 位信托,他们通过多签来管理托管地址。第一批信托将从 ChainX 测试网的验证人中选拔产生,后续将通过「禅让制」进行更替。ChainX 的托管地址有 2 个,一个冷钱包地址,一个是热钱包地址,冷热分离,提高安全性,签名记录公开透明,接受社区监督。
ChainX 并不满足于当前的信任式的设计。ChainX 宣称,其资产托管方案还会持续不断演进,上述是1.0版本,后续将有2.0、3.0、4.0版本的资产托管方案,一步步走向去中心化。
2.0版本:采用 XCLAIM 机制,启用分布式的托管方案。
3.0版本:将账户控制技术由多签改为私钥分片。
4.0版本:让用户掌握托管账户的一个特殊私钥分片,该分片具有一票否决权。通过该设计提高资产托管安全性,让见证人免于超额抵押。
尽管信任式 BTC 锚定资产在成本和体验上有优势,但业界对非信任式方案的探索更有热情,出现了很多具有独创特色的项目。这些项目在秉持去非信任理念的基础上,对见证人的准入机制、分组机制、抵押机制做了创新。
tBTC 是一个发行于以太坊平台上的 BTC 映射资产,是由 Keep Network 等多个团队支持的开源项目。tBTC 发行于 2020 年 5 月,是以太坊上第一个非信任式的 BTC 锚定资产项目。
tBTC 由签名人责管理托管账户,签名人是自由准入的,但需要用 150% 价值的 ETH 进行超额抵押。由于用 ETH 作超额抵押,所以会涉及到预言机喂价和抵押债仓清算的问题,tBTC 直接参考了 MakerDAO 的机制,并通过 MakerDAO 的预言机喂价。
tBTC的签名人被随机分为多个 3 人小组,每个小组,通过 3-of-3 多签来管理一个托管地址。每个托管地址只托管 1 个 BTC 。
可以说,tBTC 是一个非常极客化的开放系统,但设计上高度复杂,易用性上极其反人性。首先,用户一次只能铸造 1 个 tBTC,如果要铸造多个,则需分多次申请,而且用户无法铸造小于1 个 tBTC,其次,多签账户的签名人更替是很麻烦的,所以 tBTC 没有设计签名人的灵活更替机制 ,为了让签名人能够退出,tBTC 系统要求用户每 6 个月必须赎回一次 BTC。
tBTC 作为以太坊上第一个去中心化的,无须信任假设的 BTC 锚定资产,具有开创意义。但由于其糟糕的用户体验,tBTC 并没有获得成功。
renBTC 也是在 2020 年 5 月发行在以太坊上的 BTC 锚定资产。
RenBTC 上的见证人,被称为暗节点(Dark Nodes),众多的暗节点,通过BFT共识机制组成一个MPC(安全多方计算)网络。Ren Protocol 将该网络抽象的认知为了一个Ren虚拟机(RenVM)。
**暗节点按照 100 个为一组,分成若干组,每 100 个暗节点组成一个 RenVM 的分区,负责管理一个私钥分片账户,托管一部分 BTC ,但分组不是固定的,每天会重新洗牌一次。**暗节点可以自由加入,也可以随时退出,并不需要像 tBTC 那样,在托管资产被赎回时才能退出。暗节点之所以“暗”,是因为它隐藏在 RenVM 之下,RenVM 作为一个抽象的整体,承担见证人的职能,与用户交互,但在实质上,还是由暗节点执行相关操作。由于 RenVM 是 BFT 共识机制,我们可以认为每个分区中的 100 个暗节点,只需有 67 个及以上签名(2/3),即可对托管资产进行操作。
暗节点需要在 Ren Protocol 的以太坊合约中质押 100,000 个 REN 通证才能工作,直到退出暗节点时才能赎回。如果暗节点试图盗取资产,质押的 REN 将被 Slash。暗节点质押 REN 的数量,将随着网络中托管的 BTC 数量而调整,以维持一个安全的超额抵押率,该调整是通过治理完成的,不会用到预言机。
Ren Protocol 除了支持用户铸造 RenBTC on Ethereum 和 RenBTC on Acala 之外,还支持用户在这两者之间转换。假设用户要将 RenBTC on Ethereum 转换为RenBTC on Acala,用户并不需要将 RenBTC on Ethereum 赎回为 BTC,再去铸造 RenBTC on Acala,而是直接可以通过 Burn-Mint 逻辑直接转化。这样的设计节约了操作步骤,也节约了转化费用,有效的提高了用户体验。
renBTC 是 Ren Protocol 支持的映射资产之一,Ren Protocol还支持renZEC,renBCH,机制与 renBTC 大同小异。
renBTC 介绍文档
eBTC 是由 DeCus 在以太坊上发行的 BTC 锚定资产,eBTC 中的签名人被称为 Keeper,Keeper 可以无经许可,自由出入网络。当用户需要铸造 eBTC 或者赎回 BTC 时,由系统分配的一个 3 名 Keeper 组成的 Keeper Group 来处理。其过程如下图:
每 3 个Keeper负责组成一个小组,管理一个 2/3 门限的托管地址。当前阶段,Keepers 是通过多签来管理托管账户,首批 Keeper 将通过拍卖活动产生,Keeper 无法自由退出,随后会迭代为由私钥分片技术控制的账户,Keeper 将可以自由进出。
eBTC 的最大特点是其独有的「重叠分组」机制。Decus宣称:通过该机制,仅需低于50%的抵押率,即可实现相当于100%抵押率的安全性。
假设有 6 个Keeper,被分成两个 3 人小组分别负责管理 50% 的资产,这两组分别是 ABC 组,和 CDE 组,假设有 2 个恶意 Keeper ,那么这 2 个恶意 Keeper 被分到一组的概率是 40% ,所能威胁的托管资产比例是 50% ;
假设 6 个 Keeper,采用重叠分组方式分成多个三人小组,则可以分为 ABC、ABD、BCE…20个组,每个组负责管理 5% 的资产。如果有两个恶意 Keeper ,他们被分到同一个组的概率是 100% ,其中两人同在一组的组有 4 个,所能威胁的托管资产比例是 20% 。
我们发现, 2 个恶意 Keeper 的「危害概率*威胁资产比例」是恒定的,没有被改变,重叠分组的本质是增加了危害概率,而降低了威胁资产比例。然而,这个改变非同寻常,Keeper 只需质押 20% 的抵押金,即可保障系统的安全。因为有抵押金的存在,危害概率即便很大,恶意 Keeper 也不敢妄为。
以上是以 6 个 Keeper 中有 2 个恶意 Keeper 为例,Decus 计划招募 121 个 Keeper ,将产生C_{121}^{3}=287980 个 Keeper Group ,假设恶意 Keeper 的数量为 m ,那么他们可以破坏的组数为(121-m)*C_{m}^{2}+C_{m}^{3},当 m 为 10 时,可以破坏的组数为 5115 个,占总组数的比例约为1.78% ,这意味着所能威胁的资产比例只有 1.78% ,其他 m 值的情况,我们也可以依次计算,并与常规分组方案对比:
由表中数值可知,重叠分组方案相比常规分组方案,始终具有更低的安全抵押率。但我们也发现,Decus 所宣称的低于 50% 的安全抵押率,是有假设条件的:只有恶意 Keeper 数占比不超过一半的情况下,安全的抵押比例才不用超过 50% 。
2016 年,波卡在白皮书中提出要和 BTC 建立互操作关系,2020年1月,Web Foundation 委托Interlay 以 XCLAIM 为基础,设计并开发一个一款在波卡上的 BTC 锚定资产。因此,Interlay开发的 PolkaBTC,可以被认为有波卡官方背景。后来,PolkaBTC 被更名为 InterBTC。
Interlay 使用 Rust 语言和 Substrate 框架开发了一条 BTC-Parachain,计划在未来作为平行链接入波卡生态。2021 年 10 月,Interlay 的先行网络 Kintsugi 已经拍到Kusama插槽,并接入了 Kusama 网络。
与 ChainX 相似,BTC-Parachain 上部署了 BTC 的轻节点,使得 BTC-Parachain 具备了验证 BTC 链上交易的能力。在 InterBTC 系统中,托管账户是众多独立控制的 BTC 账户,这些账户被称为 Vaults (金库),见证人被称为 Vault 管理人。任何主体都可以通过质押 DOT 成为Vault 管理人,质押 DOT 的金额与所能托管的 BTC 最大额度成正比。用户向 Vault 中转账BTC ,BTC-Parachain 验证后,给用户发放 InterBTC。当用户需要赎回 BTC 时,BTC-Parachian 销毁 InterBTC ,Vault 管理人向用户返还 BTC 。尽管每个 Vault 都是一个独立控制账户,但 150% 的超额抵押可以保障这些 Vault 管理人不作恶。
用户铸造和赎回,需要支付 DOT 作为手续费,费用将给到 Vaults 管理人作为激励。如果 Vault 管理人试图盗窃托管的 BTC,质押的 DOT 将被没收,赔偿给受损失的用户。超额抵押机制的存在要求系统配置预言机喂价,但由于 InterBTC 还未上线,预言机的供应商还未确定。
Vaults 管理人除了负责管理托管账户,还要承担 Relayer 的职能,负责将 BTC 链的区块头传输到 BTC-Parachain 。
InterBTC 系统允许用户选择自己建立 Vault ,来托管自己的 BTC ,对于需要将大额 BTC 转化为 InterBTC 的大型流动性提供商,这个功能十分必要。
尽管介绍文档中没有提及,但依照我们的理解,Vaults 管理人应该是无法随时退出的,需要等到托管的 BTC 被赎回时才能退出。不过,我们可以做一个猜想:如果支持 Vault 管理人出售自己的 Vault 会怎么样?
以上我们介绍了 8 个具有代表性的 BTC 锚定资产,信任式的锚定资产具有经济效率优势,整体上也更加成功,非信任式锚定资产更符合区块链精神,但目前还处于探索中:tBTC 作出了最早的尝试;随后 RenBTC 通过采用私钥分片机制解决了见证人的退出机制问题,并用定期刷新的分组来提高安全度;eBTC 在抵押不可避免的情况,通过改变分组方式,降低安全抵押率,InterBTC 则着力于提高见证人的分布程度,为用户提供更多选择。
整体上,非信任式 BTC 锚定资产,还有很大的创新空间,什么样的方案是最佳实践,也有待时间的验证。
下表是对文中所提到的 BTC 锚定资产的一个特征对照表:
点击此处查看大图