简介
Thorchain是什么,它是如何让不同区块链上的原始资产可以进行交换?本文将回答这些问题。
DEX交易量已达数十亿美元的规模,正获得了越来越多的关注,Uniswap上超过10亿美元的日交易量已经很常见了。
虽然像在以太坊生态系统内(如Uniswap、Sushiswap或Curve等协议)的资产交易已经做得非常好了,但它们不支持不同区块链之间的交换。
为了解决这个问题,常见的方法是在以太坊上以封装(wrapped)或合成代币的形式引入外部资产。以太坊以外最受欢迎的区块链资产当然是比特币。在以太坊上有多种代表比特币的方式,可以让它在DEX进行交易,比如renBTC,sBTC等。
尽管这些方法运行良好,但在涉及到资产的保管或安全时,它们通常会做作出一定的取舍。
是否有一种方法可以实现原生资产的直接交换呢?例如,比特币区块链的BTC和以太坊区块链的ETH之间直接进行交易。
这正是Thorchain发挥作用的地方。
Thorchain是一个去中心化的流动性协议,允许在不同的区块链(如比特币、以太坊或BSC)之间交换原生资产。
在管理流动性方面,Thorchain使用了Uniswap或Bancor等协议的流动性池模型。
在这种模式下,流动性提供者在流动性池中锁定2种资产,为这2种资产的交易者提供流动性。交易者支付少量的费用给到流动性提供者。
Thorchain通常被解释为跨链的Uniswap。这个类比让我们易于理解Thorchain是做什么的,但其实二者之间有很大的区别,下文将会解释。
在深入了解Thorchain的机制之前,让我们先来看看这个项目是如何诞生的。
1
Thorchain历史
Thorchain是2018年Binance黑客马拉松上的一个小项目。
在黑客马拉松结束后,Thorchain背后的团队继续他们的研究,但决定暂停手上的一些工作,因为他们要等待创建跨链DEX所需的技术,这些技术在彼时是缺失的,主要是Tendermint & Cosmos SDK和TSS——阈值签名方案。
当看到产品的可行性,团队决定筹集一小笔种子资金,并在Thorchain协议的基础上建立了一个DEX的概念验证,名为Instaswap,后来在柏林的Cosmos黑客马拉松上进行了演示。
之后,他们在2019年7月宣布了其第一个进入市场的产品——BEPSwap。BEPSwap的主要目标是实现BEP2资产互换,仅限于在Binance Chain上。
同样在2019年7月,该团队决定通过在Binance Dex上的IDO(初次去中心化交易所发行)筹集更多资金。IDO的结果是筹集了150万美元,足以使项目进一步发展。
该团队继续他们在协议上的工作,在2021年4月发布了限制性主网,称为多链混沌网络(multi-chain chaos network,简称MCCN)。
有趣的是,Thorch
ain团队大部分都是匿名的,到今天为止还是这样。
现在,让我们看看Thorchain在引擎盖(hood)下是如何工作的。
2
它是如何工作的
Thorchain协议的核心是:用Tendermint和Cosmos SDK构建的节点网络。
这种方法让Thorchain可以创建一个独立的区块链,有自己的共识和网络层,而不必从头开始建立所有的元素。
Thorchain利用Tendermint BFT模型,即使多达1/3的节点失效,也能让网络达成共识。
共识机制很重要,因为Thorchain的节点必须一起工作,如记录来自其他区块链的交易。
让我们通过一个快速的例子看看实际是如何运作的:
假设一个用户想把他们在比特币网络上的BTC换成以太坊网络上的ETH。
该用户向比特币金库发送了一个标准的比特币交易——一个由Thorchain网络控制的比特币地址。
Thorchain节点不断监控金库地址,以确认新的交易。
为了做到这一点,每个Thorchain节点(又称THORNode)都由几个主要部分组成,其中最重要的是:运行Thorchain区块链本身的服务;每个连接区块链的完整节点,例如比特币或以太坊节点;以及Bifrost。
Bifrost协议作为Thorchain网络和其他网络(如比特币或以太坊)之间的连接层。它的主要职责之一是观察金库地址,以便找到入站(inbound)交易,随后将其转化为THORChain的见证交易。
见证交易最初被记录为“待定”——这是Thorchain状态机中的一种状态。在大多数节点同意入站交易的状态后,该交易被移至 "最终确定 "状态。
此时,用户的比特币存款被记录在Thorchain区块链上。
是时候进行交换的另一部分了,将以太币送回给用户。
一旦一个新的入站交易被确定,Thorchain协议就会启动swap。swap交易被记录在Thorchain区块链上,Bifrost协议再次被使用,这次是从以太坊出站金库中提取ETH。
使用相应的链客户端(在这个例子里是以太坊客户端),将这个出站交易从Thorchain内部转换为目标链的有效交易,并广播到相应的网络。
这时,交换已经完成,用户最终在他们的以太坊钱包里得到了以太。
虽然这听起来很简单,但要使这一切成为可能,却有相当多的细节。
3
TSS
为了签名交易,网络必须能够控制每个集成区块链上的金库地址。
当然,在每个节点上存储私钥有着巨大的安全风险,这也是为什么Thorchain要使用前面提到的阈值签名方案或TSS。
TSS是一种用于分布式密钥生成和签名的加密原语。你可以把它看成是多签(multisig)的更好版本。两者都专注于实现相同的目标——只有达到某个先前设定的阈值时,才允许多方聚集在一起并签名交易。主要区别在于,multisig通常是在区块链的应用层实现的,例如,作为以太坊上的智能合约,而T
SS所支持的与区块链无关,因为它依赖于基本的密码学元素。
这使得签名交易的整个过程更便宜、更安全。
虽然TSS有很多好处,但它还没有像其他流行的加密元素(如ECDSA或某些哈希函数)那样经过实战考验。
4
金库(Vault)
Thorchain架构的另一个有趣的细节是Vault的运作方式。
有两种类型的vault——"入库 "和 "出库"。
入站金库在系统中存储大部分资金。它们的速度较慢,可能需要长达20秒,但更安全,因为它们需要所有TSS签名者2/3来签名一项交易。
这对整个系统造成很大的限制,因此Thorchain引入了由每个THORNode运行的较小的、安全性较低的出站金库。这些金库速度更快,因为它们只需要在其运行的节点上进行一次签名。这些金库中的资金限于其资产债券价值的25%。后文有更多关于担保过程的内容,这创造了激励机制,防止节点运作者从出库中窃取资金。这些金库还不断被系统充值,因为资金被用于出库交易。
5
PoS & Churning
如前所述,Thorchain使用Tendermint和Cosmos SDK。在这种模式下,Thorchain网络作为一个Proof-Of-Stake(PoS)系统运行,签名和验证交易的节点必须质押一定数量的RUNE代币。
在Thorchain生态系统中,质押RUNE代币的过程也被称为bonding。