区块链:深入理解三种跨链技术:HTLC、共识跨链和中继跨链

来源:星想法

作者:StarLi

原标题:《跨链-技术分类总结》

最近看了看跨链相关的项目,总结一下跨链的相关技术。所谓“跨链”,一条链上的“跨链”语义能在另外链上正确执行。目前跨链项目主要实现在一个链上的资产映射到另外一条链上。从技术角度看,个人认为目前跨链技术主要有三种:HTLC,跨链桥和跨链桥。相关的技术以及项目总结如下图:

01HTLC

HTLC原理比较简单:

Fireblocks Web3负责人:传统金融公司正在深入研究加密货币:金色财经报道,Fireblocks的Web3负责人表示,传统金融公司正在进一步进入加密领域。Fireblocks代表1,500多家金融机构托管资金,并使它们能够与区块链和加密服务进行交互。

Amsel表示,这些公司,尤其是更传统的公司,从托管服务开始,然后慢慢转向更多的加密原生交互。Amsel说,“我们看到越来越多的传统金融正在探索进入加密货币的方式,也许他们正在采取一种更加胆小的方法”。

Amsel举了一个假设的例子,一家公司可能在一两年前开始使用加密货币托管。他说,这些公司迈出了第一步,看到没问题,然后开始更多地探索这项技术。[2022/11/6 12:21:55]

如果Alice和Tom之间想交换资产,Alice先创建HTLC,Tom接着创建具有同样Hash的HTLC。简单的说,Tom和Alice创建了具有同样秘钥的“锁”,锁住各自资产。当Alice用秘钥打开Tom的资产时,Tom用同样的秘钥可以打开Alice的资产。当然,Tom和Alice都需要确认资产和锁的时间。

中央财经大学郭田勇:应深入研究如何用数字人民币组建更多功能:中央财经大学中国银行业研究中心主任郭田勇表示,在数字化的浪潮下,货币作为一种支付媒介,其本身的数字化是必然趋势。考虑到传统货币印制发行成本高、不易携带等局限,数字货币以其独特的优势,极大降低了交易成本。郭田勇指出,数字货币如果由政府或者中央银行来主导,必须协同好同原有银行体系为主导的支付关系。目前,中国的数字货币属于M0范畴,从金融学角度看,M0并不具有货币创造的能力,在整个货币储存量中占比也很小,因此,数字人民币的范围还非常有限,未来如何用数字人民币组建更多的功能,将其推向更大的领域,值得深入研究。这是一个循序渐进的过程,要把握好节奏。郭田勇称,数字人民币前期推进比较成功,有利于提升人民币国际化程度。随着中国经济实力增强,人民币国际业务更为广泛。面对庞大的国际结算量,数字货币高支付效率的优点更易凸显。(中国新闻网)[2021/7/7 0:32:14]

通过HTLC实现跨链,简单并且保证了交易双方的原子操作,但是要求两条链都支持智能合约,限定了两个交易方并且交换的资产不可分割。事实上,为了保证交易双方有效交易,交易双方需要额外的沟通渠道预先达成共识。

Babel Finance创始人:中国投资者并未深入GME、狗狗币交易背后的“革命”中:1月30日消息,香港加密货币贷款机构Babel Finance创始人兼首席执行官Flex Yang在采访中表示,不管是GameStop(GME)事件还是狗狗币的暴涨,从加密货币贷款机构的角度来看,中国的散户投资者并没有深入或积极地参与这场交易狂潮背后的真正“革命”。(Coindesk)[2021/1/30 18:28:04]

02跨链桥-基于共识

基于其他共识的跨链桥逻辑上比较好实现,由共识确认一个链上的事件,并在另外一条链上执行。整个桥的安全性取决于共识的强弱。共识,除了传统意义的共识机制外,还包括多方计算和多签。

03跨链桥-基于轻客户端

为了在一条链上能验证另外一条链上的信息,在这条链上“运行”另外一条链的轻客户端。通常轻客户端都是基于SPV协议。SPV源自BTC,主要用在PoW共识的链中。Celo和Harmony也针对自己链的共识算法实现了轻客户端。纯粹的PoS共识的链比较难实现轻客户端,因为共识依赖Staking,而Staking由交易组成。为了实现轻客户端,穷举Staking交易不现实。

动态 | 2019年7月国内一级市场区块链融资10强发布 区块链行业的发展不断向产业端深入:据中国金融信息网报道,8月8日,中国金融信息网与烯牛数据联合发布2019年7月份国内一级市场区块链项目融资10强榜单。从榜单来看,在整体融资大幅下滑的趋势下,2019年7月份国内区块链项目融资数量出现回升。监测数据显示,数字货币和交易平台类融资项目明显增多,天秤币白皮书的发布在一定程度上提振了市场预期,但是此类项目将面临与天秤币的直接竞争,其商业逻辑未来或将受到天秤币严酷打压。与实体经济结合的项目依然占据着榜单的主流,分别涉及金融、大数据、交通运输、电商、传媒、产权、房地产和游戏领域。从连续发布的榜单来看,区块链行业的发展不断向产业端深入,应用端的开发落地越来越具体,与实体经济结合发展的想象空间逐渐立体化。从技术角度来看,加密、数据库、共识、P2P和智能合约的发展日益成熟,区块链作为集成性创新技术的发挥边界正在逐步拓展。[2019/8/8]

动态 | 南开大学新设金融科技研究中心 对区块链等科研课题进行深入研究:7月13日,南开大学金融学院金融科技研究中心在天津成立。该中心内设南开大学金融学院金融科技创新实验室,对金融以及人工智能、大数据、区块链等科研课题进行深入研究,并推动与在金融科技领域全球领先的机构和专家广泛合作,培养出优秀的研究人才和产业人才。[2018/7/13]

跨链桥的两个链互相通过轻客户端验证对方链的状态。这种跨链桥依赖Relay,及时同步链的区块头信息。因为要同步区块头,需要如下的一些因素:

1/同步频次和费用:在另外一条链上存储区块头信息需要费用。特别是tps比较高的链,区块比较多。

2/确认主链以及区块确认:根据链的共识,通过区块头信息确定主链。以PoW的链为例,区块确认一般通过后续区块个数确认。

优化同步费用有几种思路:1/随机挑战2/zk-SNARK。选一些典型介绍:

BTCRelay采用传统的SPV轻客户端的实现方式实现从BTC到ETH的跨链。显然为了同步BTC的区块头,在ETH消耗Gas。在以太坊Gasprice比较高的情况下,同步费用比较高。

FlyClientFlyClient采用随机挑战和MMR(MerkleMountainRange)的技术,降低轻客户端同步区块的个数。随机挑战的目的是在一定范围的区块并不需要全部同步到链上,随机抽取一些区块同步。为了在链上能验证没有抽取到的区块,所有的区块信息通过MMR组织在一起。MMR是一种变种的Merkle树,适用于追加节点的场景。MMR,相对于普通二叉的Merkle树,具有更新叶子结点代价小的特点。

zkRelayzkRelay也尝试降低链上轻客户端同步区块的费用。和FlyClient不同,zkRelay采用的是zk-SNARK证明。将一段范围内的区块有效性,通过将链下证明提交到链上,链上只需要检查证明是否有效。

CeloCelo是个有意思的项目。Celo项目本身和跨链没有什么关系,但是给轻客户端提供了一些新思路。为了实现更轻客户端,Celo采用递归零知识证明技术,将区块头的连接信息进行递归证明。一个证明就能证明从创世区块到当前区块的合法性。一个轻结点,只需要同步最新的证明就能确定所有区块的有效性。

Summa(StatelessSPV)上述的项目,还都是在降低轻客户端链上同步代价方面做优化。Summa提供了一个全新的思路:

摘抄自Summa介绍的PPT。Summa项目观察到一个有趣的事实:一条链的区块头在另外一条链上同步了,但是很多区块有可能是浪费的。原因是并没有需要证明的交易在这些区块中。Summa假设了一种“Ecnomic“安全的做法:证明一个交易在一个区块中,并且区块后有若干区块确认。Summa认为在伪造的区块后连续出块是一个非常不经济的做法,有这样的算力应该去计算真正的区块。使用这种方式,在链上不需要存储轻结点信息,只需要在一个交易需要证明时提供相应区块以及确认区块的证明即可。这样的方式也称为StatelessSPV。当然这种经济安全假设需要推敲,特别是在难度较低的情况下,伪造区块以及确认区块相对比较容易。

Xclaim针对传统的没有链上计算能力的链,不可能在链上实现其他链的轻客户端。也就是说,如果只是通过链上轻客户端的方式,在这些链上只能实现单向的跨链。为了在这些链上也实现双向跨链,Xclaim在引入抵押角色的情况下实现资产双向映射。Xclaim在论文中提出了三种操作:issue,swap,redeem。以issue和redeem为例,看看抵押角色的作用:

大部分链都支持转账功能。抵押者作为中间人,在另外一条链有抵押的情况下,接受其他人的资金的转账。转账发起者,可以通过轻客户端验证的方式在另外链上证明交易合法。在另外一条链上,验证合法的跨链交易后,进行转账。

在一条链上提出burn操作后,抵押者观察到后,主动先发起转账。并在转账成功后,向另外一条链上的智能合约提供交易证明“赎回”资金。简单的说,在两条链只要有一条支持智能合约的基础上,通过抵押者角色,可以完成双向跨链的操作。根本原因就是链上的转账交易能够被确认验证。

总结:

跨链是个复杂的话题。通过其他共识实现跨链相对简单现实。HTLC能实现交易双方的原子操作,但是限定交易为两方,而且为了提供交易的效率需要交易双方预先沟通。通过在链上实现轻客户端验证其他链的状态是一直探索的方向。对于PoW链,链上实现轻客户端需要考虑区块头同步成本以及主链确认逻辑。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:0ms0-0:954ms