五分钟了解Taro :比特币和闪电网络的多资产协议
作者:洒脱喜
比特币自从去年 11 月份激活 Taproot 升级之后,似乎很少有新技术方案的声音,而纵观整个 DeFI 领域,闪电网络的 TVL 规模(因为缺乏激励等原因)在一众协议当中也显得毫不起眼,那这种情况有可能改变吗?
(图:闪电网络的TVL变化, 数据来自https://defillama.com/chain/Bitcoin)
今日,闪电网络开发商 Lightning Labs 宣布完成了 7000 万美元 B 轮融资,此外,他们还宣布了一种用于在比特币区块链上发行资产(例如稳定币)的 Taro 协议,据悉,使用这个协议,用户还可以通过闪电网络进行即时、大容量、低费用的交易。
在概念上,Taro 有点类似于早期的彩色币(colored coins),我们知道,USDT 最早就是通过 omni 彩色币协议发行的一种稳定币资产,但由于比特币网络结算慢、费用高的特性,比特币上的 USDT 份额占比已经越来越少(注:具体数据可以参考https://tether.to/en/transparency)。
而不同之处在于, Taro 依赖于比特币的最新升级 Taproot 来构建新的树形结构,其允许开发人员在现有 output 输出中嵌入任意资产元数据,其使用 Schnorr 签名来提高简单性和可扩展性,并且重要的是,它可以与闪电网络上的多跳(multi-hop)交易一起使用。为此,Lightning Labs 还发布了一系列关于 Taro 协议的比特币改进提案(BIP),以征求开发者社区的反馈和意见,你可以在 GitHub 上了解更多信息并阅读完整的 Taro 规范。
Taro 协议的组成部分
要了解 Taro 协议,我们需要先熟悉比特币的几个概念,例如公钥密码学、密码学哈希、默克尔树(Merkle trees)、比特币 UTXO、Taproot 等(关于 Taproot 是什么,推荐阅读 DeFi 之道编写的《 比特币Taproot升级终于要来了!一文了解它的过去、现在与未来 》)。
而 Taro 利用了 Taproot、taptweak、稀疏默克尔树(简称 SMT)以及默克尔和树(Merkle sum trees)概念的组合来发行比特币原生资产,其中,稀疏默克尔树(SMT)和 Merkle sum trees 组合成了稀疏默克尔和树(简称 MS-SMT)。
(注:关于 taptweak 等新概念的解释,有兴趣的读者可以阅读lightning labs的 文档 。)
而这个 MS-SMT 树的根,被添加到一个 taproot 脚本中,并一起创建一个 taproot 地址。
Taro 发行者没有使用自己的区块链,而是将 MS-SMT 树存储在链外,并向资产持有者发出证明。这些资产的所有者可以独立验证其账户是否包含在该树中,是否填写了适当的金额,是否存在相应的 taproot 交易,以及是否在比特币区块链上得到了确认。
而要发行 Taro 资产,我们必须首先创建它的标识符,这是一个 32 字节的资产 ID,它是通过哈希运算三个元素产生的:(1)用于铸造资产的 outpoint,(2)铸造者选择的资产标签(例如品牌名称的哈希)以及(3)与资产相关的元信息(例如链接、图像或文档)。
asset_id = sha256(genesis_outpoint || asset_tag || asset_meta)
一旦发行者发布了交易并在比特币区块链上得到了确认,他就不可逆转地创建了资产。对于观察者来说,这笔交易看起来就像任何其他标准的 taproot 交易。
而发行后的 Taro 资产,既可以在比特币主链上移动,也可以通过闪电网络进行转账。
注:Taro 地址是资产 ID、资产脚本哈希、MS-SMT 树的内部密钥和数量的 bech32 编码标识符,其前缀为 Taro 或 Tarot(测试网)。
bech32(hrp=TaroHrp,asset_id ||asset_script_hash || internal_key || amt)
多跳 Taro 转账
对于Taro 协议而言,闪电网络的多跳支付是非常重要的一项功能。
从历史上看,支付网络都会面临一个自举问题(无论何时创建新资产,都需要创建一个全新的支付网络来满足特定资产的支付需求)。而 Taro 采用了一种支付路由模式,在这种模式中,闪电网络可以服务于任何资产,并且可以克服这个自举问题,
下面我们来通过一个例子理解其中的原理:
想象一下,Alice 和 Bob 有一个容量为 100 美元的闪电网络 USD(L-USD)通道。平衡后,他们都有价值 50 美元的流入流动性,Carol 和 Dave 有一个容量为 100 美元的 L-USD 通道,平衡后,他们都有价值 50 美元的流入流动性。
图:多跳 Taro 转账的示例
如果 Bob 和 Carol 只有一个 BTC 通道,Alice 仍然可以向 Bob 发送 10 美元的 L-USD,Bob 以 BTC 收取少量的路由费,并将 10 美元的 BTC 转发给 Carol,Carol 以 L-USD 收取少量的路由费,并转发 10 美元的 L-USD 到最终目的地——Dave。
这种结构利用了目前闪电网络的网络效应和流动性,来路由转账任意数量的资产,避免了为新资产启动全新网络的需要,并确保比特币支持网络上的所有交易。它还激励了闪电网络中 BTC 流动性的增长,以服务于更广泛的多资产闪电网络。
总结
有关 Taro 协议更深入的技术细节,你可以通过 BIP 进行了解,简而言之,这种 Taproot 原生设计的主要好处有:
- 可扩展性:单个 Taproot 输出可以包含基本无限数量的 Taro 资产;
- 可编程性:Taro 资产有一个解锁脚本,类似于普通的比特币 UTXO,使开发者能够将传输条件编程到所述资产中;
- 可审计性:Taro 使用了特殊的树状结构,允许对已发行的资产进行有效的供应审计;
- 可用性:特定于资产的地址使钱包足够智能,以防止用户错误地发送错误的资产。
但由于缺乏 token 激励,Taro 协议可能依旧会面临难以大规模扩展的困境,那你认为 Lightning Labs 会选择发行 token 吗?