原文标题:《跨链 - 技术分类总结》 最近看了看跨链相关的项目,总结一下跨链的相关技术。所谓「跨链」,一条链上的「跨链」语义能在另外链上正确执行。目前跨链项目主要实现在一个链上的资产映射到另外一条链上。从技术角度看,个人认为目前跨链技术主要有三种:HTLC,跨链桥(基于共识)和跨链桥(基于轻客户端)。相关的技术以及项目总结如下图: HTLC (Hash Time Lock Contract)HTLC 原理比较简单: 如果 Alice 和 Tom 之间想交换资产,Alice 先创建 HTLC,Tom 接着创建具有同样 Hash 的 HTLC。简单的说,Tom 和 Alice 创建了具有同样秘钥的「锁」,锁住各自资产。当 Alice 用秘钥打开 Tom 的资产时,Tom 用同样的秘钥可以打开 Alice 的资产。当然,Tom 和 Alice 都需要确认资产和锁的时间。 通过 HTLC 实现跨链,简单并且保证了交易双方的原子操作,但是要求两条链都支持智能合约,限定了两个交易方并且交换的资产不可分割。事实上,为了保证交易双方有效交易,交易双方需要额外的沟通渠道预先达成共识。 跨链桥 - 基于共识基于其他共识的跨链桥逻辑上比较好实现,由共识确认一个链上的事件,并在另外一条链上执行。整个桥的安全性取决于共识的强弱。共识,除了传统意义的共识机制(BFT,PoS 等等)外,还包括多方计算(MPC)和多签。 跨链桥 - 基于轻客户端为了在一条链上能验证另外一条链上的信息,在这条链上「运行」另外一条链的轻客户端。通常轻客户端都是基于 SPV (Simple Payment Verification)协议。SPV 源自 BTC,主要用在 PoW 共识的链中。Celo 和 Harmony 也针对自己链的共识算法实现了轻客户端。纯粹的 PoS 共识的链比较难实现轻客户端,因为共识依赖 Staking,而 Staking 由交易组成。为了实现轻客户端,穷举 Staking 交易不现实。 跨链桥的两个链互相通过轻客户端验证对方链的状态。这种跨链桥依赖 Relay (中继),及时同步链的区块头信息。因为要同步区块头,需要如下的一些因素: 1/ 同步频次和费用:在另外一条链上存储区块头信息需要费用。特别是 tps 比较高的链,区块比较多。 2/ 确认主链以及区块确认:根据链的共识,通过区块头信息确定主链。以 PoW 的链为例,区块确认一般通过后续区块个数确认。 (责任编辑:admin) |