区块链跨链技术笔记

本文最后更新于:2021年11月30日 下午

在研究当前区块链跨链技术过程中记录的技术笔记

区块链跨链技术笔记

  • 跨链问题:不同区块链之前如何进行通信和价值交换

跨链的基本信息

跨链的发展历程

跨链的意义

  1. 突破底层公链性能和功能瓶颈
    • 侧链反哺主链
  2. 实现跨链互操作
    • 主链之间的协同

实现的难点

  1. 解决交易的原子性
  2. 验证另一条链的交易的合法性有效性
  3. 两条链上的资产总量不变且安全
  4. 跨链平台的实现
    • 研究中:Cosmos、Polkadot

现有技术

哈希锁定(原子交换)

  • 交易方将设置谜题的交易发布到链上,在指定时间内能够解出谜题的一方变得获得交易的质押金
  • 代表:Ripper 的 Interledger 协议中的通用模式
  • 缺点:
    1. 对于图灵非完备的链, HTLC 需要生成两笔交易
    2. 原子交换要求双方在线完成
    3. 现实中存在汇率波动,而哈希锁定存在窗口期,对手可以据此决定是否完成交易

闪电网络

微支付通道
  • 解决了高频小额交易中手续费过高的问题
闪电网络的改进
  • 微支付通道的支付通道建立成本较高,需构建两笔交易;闪电网络实现了复用已存在的支付通道
  • 两个核心
    • RSMC 序列到期可撤销合约
    • 在支付通道未过期前,双方都可以把最近一次交易发布到链上从而终止合约
    • 为了让支付通道周期尽量长,先发起退出的一方会缴纳违约金给另一方
    • HTLC 哈希锁定合约
    • 对于没有支付通道的 A、C,如果想要交易。可以借用 A、B 和 B、C 之间的支付通道进行交易

基于哈希锁定的原子交换

  • 图灵完备合约的描述:在 tt 时间内(时间锁),如果 A 的地址能够提供哈希原像 ss(哈希锁),则可取走合约中锁定的资产,然后发送想要锁定的资产到合约上。

  • 条件

    1. 哈希锁:只有提供目标的哈希原像才能解锁交易
    2. 时间锁:只有在指定时间之前完成交易才有效

公证人机制

  • 技术上最简单的跨链机制,公证人在双方链上都需要有账号
  • 实现方式
    1. 单签名公证人:一个节点
    2. 多签名公证人:多个节点
    3. 分布式签名公证人:多个公证人持有一份密钥的碎片,密钥碎片随机发给公证人
  • 代表:Ripper 的 Interledger 协议中的原子模式
  • 缺点:需要对公证人有足够的信任

侧链/中继

  • 侧链:能够验证其他区块链数据的链
    • 锚定式侧链:支持资产的双向锚定,即主、侧链之间的资产流通
  • 代表:
    • onmi 协议(利用 UTXO 的 OP_RETURN 字段实现 proof-of-burn,从而使得侧链能够产生侧链代币 USDT)
    • BlockStream 的 Liquid
    • BTCRelay,以太坊上的一个智能合约,通过存储区块链比特头使得 BTCRelay 充当一个比特币轻节点,可以利用 SPV 验证交易是否存在。
      • 只能实现单向跨链
  • 缺点:
    • 侧链通常需要利用智能合约
    • 中继链开发难度大

锚定链的实现方式

  1. 单一托管模式
    • 类似于单签名公证人机制:交易方把资产发送发给托管方,托管方在侧链上把相应资产发到交易方的侧链账户
  2. 联合锚定模式
    • 类似于多签名公证人机制:利用多重签名减少单签名风险
  3. 驱动链模式
    • Bitcoin Hivemind 提出
    • 交易处理节点代表公证人,负责资金托管和解锁。交易处理节点把其他链上资产锁定信息提交到区块中,发起提案,经投票确认后,在当前链上解锁指定资产
  4. SPV 锚定模式
    • SPV:轻客户端不需要下载所有区块数据就能对某一笔交易存在性进行验证

主要项目

Polkadot

Cosmos

Plasma

参考资料:


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!