一文读懂跨链的相关技术分类和总结_CELO:SMOON币

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

1.HTLC(Hash Time Lock Contract)

HTLC原理比较简单:

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

21e6 Capital:加密基金回报率上升,但融资额却下降:金色财经报道,瑞士 21e6 Capital 在一份专注于 2023 年上半年加密货币对冲基金的研究报告中发现,加密对冲基金公司的运营商发现自己陷入了一个难题:回报率上升,但融资额却下降。据 21e6 Capital 称,大多数基金回报率都为正值,但在很多情况下,这并不足以吸引资本。

报告表示:“在我们与加密货币基金的定期对话中,我们感觉到,在今年的良好开局之后,其有限合伙人/投资者的市场情绪仍然低于预期。许多基金确实落后于市场,现在更难向潜在投资者展示价值主张”。据业内人士称,许多华尔街资方都停止了他们原本计划开出的支票,一些人继续保持观望,部分是由于美国监管不确定性给加密行业的前景蒙上了阴影。[2023/8/12 16:21:52]

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

Lookonchain:孙宇晨钱包地址收到5250枚ARB空投并转至Huobi:3月26日消息,据Lookonchain监测,孙宇晨钱包地址收到了5250枚ARB空投(价值6981美元),并转移至Huobi。[2023/3/26 13:27:17]

2.跨链桥 : 基于共识

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

3.跨链桥 :基于轻客户端

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

美国金融服务和金融技术公司Brex周四从硅谷银行收到了数十亿美元的资金:金色财经报道,据CNBC,美国金融服务和金融技术公司Brex周四(3月9日)从硅谷银行收到了数十亿美元的资金。一位直接了解情况的人士说,Brex周四开设了数千个新账户,总计流入数十亿美元。摩根大通、摩根士丹利和第一共和银行等其他公司周四的资金流入也有所增加,SVB的股价因风投引发的银行挤兑担忧而大幅下跌。存款外流给SVB带来了更大的压力,该公司本周早些时候曾试图筹集股权融资,并积极开展资产出售。周五,该银行被美国联邦存款保险公司接管。[2023/3/11 12:55:34]

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

安全团队:获利约900万美元,Moola协议遭受黑客攻击事件简析:10月19日消息,据Beosin EagleEye Web3安全预警与监控平台监测显示,Celo上的Moola协议遭受攻击,黑客获利约900万美元。Beosin安全团队第一时间对事件进行了分析,结果如下:

第一步:攻击者进行了多笔交易,用CELO买入MOO,攻击者起始资金(182000枚CELO).

第二步:攻击者使用MOO作为抵押品借出CELO。根据抵押借贷的常见逻辑,攻击者抵押了价值a的MOO,可借出价值b的CELO。

第三步:攻击者用贷出的CELO购买MOO,从而继续提高MOO的价格。每次交换之后,Moo对应CELO的价格变高。

第四步:由于抵押借贷合约在借出时会使用交易对中的实时价格进行判断,导致用户之前的借贷数量,并未达到价值b,所以用户可以继续借出CELO。通过不断重复这个过程,攻击者把MOO的价格从0.02 CELO提高到0.73 CELO。

第五步:攻击者进行了累计4次抵押MOO,10次swap(CELO换MOO),28次借贷,达到获利过程。

本次遭受攻击的抵押借贷实现合约并未开源,根据攻击特征可以猜测攻击属于价格操纵攻击。截止发文时,通过Beosin Trace追踪发现攻击者将约93.1%的所得资金 返还给了Moola Market项目方,将50万CELO 捐给了impact market。自己留下了总计65万个CELO作为赏金。[2022/10/19 17:32:31]

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

Tether:美国执法部门尚未联系Tether要求冻结OFAC制裁的地址:8月25日消息,Tether官方发文表示,目前尚未收到有关执法部门提出的任何“冻结Tornado Cash受OFAC制裁相关地址”的指示,将维持现状并等待指示。Tether表示,其一直与世界各地的执法部门密切合作,协助调查,包括冻结地址。几乎每天都与主要执法人员保持联系,当Tether收到来自经过验证的执法机构的冻结私人钱包的合法请求时,公司会遵守规定(不会冻结交易平台或加密服务方的钱包)。[2022/8/25 12:46:25]

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

优化同步费用有几种思路:1/ 随机挑战(NiPoPOW,FlyClient)2/ zk-SNARK (包括recursive zk-SNARK)。选一些典型介绍:

BTCRelay

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

FlyClient

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

zkRelay

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

Celo

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

Summa (Stateless SPV)

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

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

Xclaim

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

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

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

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

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

水星链

[0:0ms0-1:380ms