简介
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)。
有趣的是,Thorchain 团队大部分都是匿名的,到今天为止还是这样。
现在,让我们看看 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 通常是在区块链的应用层实现的,例如,作为以太坊上的智能合约,而 TSS 所支持的与区块链无关,因为它依赖于基本的密码学元素。
这使得签名交易的整个过程更便宜、更安全。
虽然 TSS 有很多好处,但它还没有像其他流行的加密元素(如 ECDSA 或某些哈希函数)那样经过实战考验。
4
金库(Vault)
Thorchain 架构的另一个有趣的细节是 Vault 的运作方式。
有两种类型的 vault——" 入库 " 和 " 出库 "。
入站金库在系统中存储大部分资金。它们的速度较慢,可能需要长达 20 秒,但更安全,因为它们需要所有 TSS 签名者 2/3 来签名一项交易。
这对整个系统造成很大的限制,因此 Thorchain 引入了由每个 THORNode 运行的较小的、安全性较低的出站金库。这些金库速度更快,因为它们只需要在其运行的节点上进行一次签名。这些金库中的资金限于其资产债券价值的 25%。后文有更多关于担保过程的内容,这创造了激励机制,防止节点运作者从出库中窃取资金。这些金库还不断被系统充值,因为资金被用于出库交易。
如前所述,Thorchain 使用 Tendermint 和 Cosmos SDK。在这种模式下,Thorchain 网络作为一个 Proof-Of-Stake (PoS)系统运行,签名和验证交易的节点必须质押一定数量的 RUNE 代币。
在 Thorchain 生态系统中,质押 RUNE 代币的过程也被称为 bonding。
2021 年 5 月 17 日,运行一个功能齐全的 Thorchain 节点,需要 1,000,000 个(价值约 1800 万美元)的 RUNE 代币。
与大多数 PoS 系统的变化相比,这里不允许代币的委托。因为要确保网络中的所有节点都被平等对待,不让某一节点运营方长时间内捕获大部分的代币。
事实上,Thorchain 网络中的所有节点都是匿名的,只能通过其 IP 地址和公钥来识别。他们无法像其他允许委托的系统那样,对节点进行品牌宣传或营销。
为了避免总是由拥有最高数量 RUNE 代币的相同节点签署交易,Thorchain 引入了搅动(Churning)的概念。
该网络保持着一组活跃的、能够签名交易的节点和另一组待命的节点。
每 50,000 个区块,也就是每 3 天左右,搅动过程就会启动,活跃区的最老或最不可靠的节点就会被待机区的节点所取代。
搅动过程确保了符合质押标准的新节点可以轮流签名交易。另外,每次验证者集发生变化时,Thorchain 网络会将资金转移到新的金库,确保活跃的节点仍然可以获得资金。
目前,在支持 BEPSwap 的单链混沌网络上有 28 个活跃节点和 45 个处于待机状态的节点,在最近发布的多链混沌网络上有 11 个活跃节点和 9 个处于待机状态的节点。
目前,多链混沌网络处于扩展模式,这意味着每从网络中挤出一个节点,就会有 2 个节点进入。
在遇到 Tendermint 和 TSS 限制之前,多链网络可以增长到 99 个节点。
即使网络增长到 99 个活跃节点,它仍然可以通过拥有分片金库的能力进一步扩展。
同样重要的是要注意到,即使运行一个功能齐全的节点需要大量的 RUNE,人们仍然可以运行没有绑定 RUNE 的节点。这些节点能够验证交易,而没有签名交易的能力。
6
RUNE 代币
Thorchain 架构的最后一个关键元素——RUNE 代币。
RUNE 为 Thorchain 生态系统提供动力,并提供保护网络所需的经济激励。
系统中的所有流动资金池都由原生代币和 RUNE 组成。例如,要从比特币交换到以太币,交易必须通过 BTC-RUNE 和 ETH-RUNE 池。在这种模式下,每种资产都必须与 RUNE 配对。这里,池子的数量会少于像 Uniswap 那样可以用任何两种资产创建池子的系统。
除此之外,Thorchain 节点必须通过绑定特定数量的 RUNE 来满足质押标准。这个保证金通过对资产池中的资产进行包销来保证系统的安全。如果节点试图从协议中窃取资金,其债券将以其所窃取的资产数量(1.5 倍)扣除,从而使资产池变得完整。另外,如果节点不提供可靠的服务,它们将面临被削减债券的风险。
Thorchain 协议还鼓励节点运营商始终保持 RUNE 的最佳数量。这是通过一种叫做 " 激励钟摆 " 的机制实现的。
激励钟摆的目的是使系统处于最理想的状态,即系统中所有 RUNE 的 67% 被绑定,且 33% 被汇集到池子里。
如果流动性池子里有太多的资本,网络就会增加对节点运营商的奖励,减少对流动性提供者的奖励。如果节点绑定的资本太多,系统会提高对流动性提供者的奖励,减少对节点经营者的奖励。
在最佳状态下,资金池中每有 100 万美元的资产,节点将绑定价值 200 万美元的 RUNE。
除此之外,RUNE 被用来支付网络上的交易费用,补贴向不同网络发送出站交易所需的 gas;并可用于参与 Thorchain 治理,用户可以发出信号指示网络接下来应该添加哪些链和资产。
7
Uniswap
如上所示,Thorchain 和 Uniswap 或者以太坊上其他的 DEX 之间有很大的区别。
首先,Uniswap 只允许交换 ERC-20 代币,所以如果我们想交易其他区块链的资产,它们必须以封装或合成代币的形式进行。Thorchain 允许交换本地资产,而不需要对其进行封装。
Thorchain 上的互换既要收取固定的网络费用,也要收取动态的基于滑点的费用。这意味着产生更多滑点的交易会被收取更多的交易费用。这使得机器人更难从掉期中提取价值,比如在三明治攻击的情况下——影响流动性池中价格的常见方式,导致用户在交易中获得更差的价格。
关于 swap 的速度,以太坊上的资产可以在 1 个以太坊区块内进行 swap,平均每 13 秒发生一次。在 Thorchain 上,这就有点复杂了。交换时间取决于我们在哪个网络之间进行交换。如果是比特币到以太坊,在比特币网络上至少需要 1 个区块——平均 10 分钟,加上在 Thorchain 区块链上执行互换的内部时间,再加上出站的以太坊交易——约 13 秒。
有趣的是,从以太币到比特币的 swap 会更快,因为 Thorchain 网络只需等待以太坊交易,然后再向外发送比特币交易,这将导致接收钱包在交易广播后可直接花费比特币 UTXO。
另外,Thorchain 作为一个独立的区块链,失去了以太坊 DApp 的一些好处,其中之一是可组合性。例如,Uniswap 可以作为一个交易的一部分被纳入到更复杂的合约中。这在 Thorchain 中是不可能的。
当然,Thorchain 网络也不像比特币或以太坊网络那样去中心化,该系统反而依赖于强大的经济激励。
这并不一定是坏事,考虑到 Thorchain 的应用场景与比特币网络完全不同,比特币网络保证了价值超过 1T 的资产的安全,而以太坊网络则保证了锁定在智能合约中的数十亿美元资产的安全。
对于它的主要用例,在不同的区块链之间交换资产,大多数用户不会在很长时间内将他们的资产存储在 Thorchain 区块链上。
总结
在期待已久的多链混沌网络发布后,Thorchain 团队正专注于发展 Thorchain 生态系统,同时确保系统按预期运行。
当涉及到与 Thorchain 协议的互交互时,用户有多种选择。他们可以使用像 Thorswap 或 Asgardex 这样的去中心化交易所,或者像 ShapeShift 这样与 Thorchain 集成的钱包。
我们应该在未来看到更多的 DApp 和钱包与 Thorchain 整合。
此外,我们还可能看到更多的链和资产,更多的 Thorchain 节点加入网络,而且越来越多的交易量和总价值被锁定在流动资金池中。
最终,多余的保护措施将被取消,混沌网络将成为主网。
Thorchain 显然是一个有趣的协议,也是 defi 生态系统中缺失的一块,它让人们在不使用 CEX 的情况下实现本地资产的直接交易。
声明:本内容为作者独立观点,不代表 CoinVoice 立场,且不构成投资建议,请谨慎对待,如需报道或加入交流群,请联系微信:VOICE-V。
简介:专业性+洞察力的中文区块链媒体,致力于探索Web 3.0前瞻内容和深度解读。
评论0条