原作者:中间。x,卡帕实验室研究员
原文编辑:ShawnLin,1PARResearch
1前言
。跨链技术被认为是区块链领域的圣杯,是实现万链互通的关键技术。人们经常把它的重要性与互联网的TCP/IP相提并论。正是因为TCP/IP协议族提供了点对点的链接机制。规范了数据在目的地应该如何封装、寻址、传输、路由和接收,使得遍布全球的终端连接成一个网络,演变成了我们今天所说的互联网。
随着区块链产业的快速发展,各种公链、授权链不断涌现。百花齐放。但是,绝大多数连锁店可以';由于技术、生态和竞争,彼此无法沟通,导致用户、资产、应用和数据分离,形成一个"孤岛效应"。从根本上造成这种情况的主要原因是:用户需求的多样化和区块链可扩展性的限制。
为了将孤岛连成大洲,业界积极探索跨链技术。本文将对目前交叉链的主要技术形式进行阐述和分析。并给出一个目前致力于解决跨链问题的典型区块链项目的例子。关于跨链的研究报告已经很多,但本文将在前人研究的基础上,力求深入技术本质,区分易混淆的概念,把握上下文框架,收录最新进展。
2具体应该跨什么链?2.1换卡
每个区块链都有自己的原生卡。通用证书因为封装了一些权益,成为了价值的载体。链中的卡可以可信地交换,但是链之间的卡交换是"像一座山"。只有实现链间可信的证书交换,区块链才能作为"价值互联网"。
目前可以通过集中交换实现跨链换卡,比如BTC充值到交换机后,更换为ETH。,然后将它提取到ETH钱包中。但人们并不满足于集中式的方案,希望直接在链上交换信任。例如,如果用户A想要将用户B持有的ETH与BTC进行交换,那么在这个过程中就会出现问题。如果两个人同意交易,但是如果A转账后B食言了怎么办?这就需要使用跨链技术,通过系统的匹配,使两次转移能够同步进行。基于哈希时间锁的原子交换是实现这一场景的典型技术。
2.2综合征传播
传递是指一个链条上的原始资产流通到另一个链条上。这是不能直接实现的,任何一张卡都只能依附于它的主机链。一般来说,通传是依靠源链锁定原始资产。同时,在目标链上发行等量的模拟原始资产的锚资产。如何保证这个过程的安全性和可靠性,是跨链技术面临的一大挑战。
通传和通换都可以解决链与链之间的价值交换问题,但并不完全是一回事。。如果A想用一个BTC换B的10个ETH,这个过程只需要实现换卡就可以了,但是如果A想拿这个BTC去以太坊使用,就需要转卡。除了解决价值交换的问题,通用证书的转让,还有额外的效果。我们可以通过直通实现A链的资产参与B链的DeFi申请,构建更具普惠性的开放金融。我们也可以把通行证从一个昂贵的链条转移到一个经济的链条上,以节省交易成本。,或者从慢链到快链实现扩张,或者从非隐私链到隐私链实现交易隐私。可以说,传递可以解决的问题是传递交换可以解决的问题的超集。
2.3信息传递
完全意义上的跨链实际上应该能够可靠地传递链之间的任何消息。任何跨链事务本质上都是一系列跨链消息传递的组合。例如,作为一种跨链事务,传递消息由两个跨链消息组成,即:
。源链锁仓库,将仓库锁的信息及其证明传递给目标链;
目标链接接收信息,验证其真实性,进行映射传递,并将回执发送回源链。因此,我们可以说跨链信息传递包括跨链传递。跨链信息传递解决的问题是跨链传递的超集。
通过跨链信息传输,一条链可以读取和验证另一条链的状态和信息。一个链的智能契约可以将其他链的某个状态和信息作为执行的触发条件。因此,通过跨链信息传递,可以实现丰富的跨链功能,如跨链借贷、跨链众筹、跨链支付、跨链衍生品、跨链道等。。如果区块链能灵活地称呼对方';的功能并互相使用';s服务,那么链和链就会组合成一个巨大的服务协同网络,实现我们预期的互联互通状态。
3。跨链技术概述
当前的跨链技术形式,有的只是实现了pass交换,比如hashtimelock和跨链DEX;有的通过在链上建立一组角色来转发消息和验证状态,有的提出一套通信协议来实现区块链之间的通信;一些人提出了新的系统架构和链构建协议。,支持更多区块链接入。
由于链之间相互独立,无法建立直接连接,链之间无法直接感知对方';的状态改变。因此,有必要建立沟通桥梁。一般来说,通信桥梁的选择可以分为五种技术形式。,分别是基于哈希时间锁的原子交换、见证、轻节点侧链、中继链和共享验证器,将在3.1-3.5节进行描述:
3.1基于哈希时间锁的原子交换
哈希时间锁是一组密码方法。该方法可以实现无信任的跨链资产交易。比如我用一个BTC和你的10ETH进行交易,我可以通过hashlock实现交易的原子性。其原理大致如下:
用户a生成一个随机密码r,计算出r的hash值m=hash(r),将值m发送给用户b;
同时,用户A发起交易,向用户b转账1BTC交易成功是有条件的,只有用户B出示密码r才能成功,否则超过预设时间交易自动失败;
用户B看到A发起的交易后,也发起了交易。,给用户A转10ETH,交易成功是有条件的,需要用户A出示r,超过预设时间,交易自动失败。这里的关键点是,用户B创建这样一个交易,成功条件是显示R值。你不';t不需要得到密码r的值,你只需要知道m的值,我们知道哈希运算是不可逆的,我们可以';t计算r直到m;
用户A看到B发起的交易后,显示R值。,使B发起的交易成功,获得B转让的10ETH,R值公开;
用户B在最后一步也获得了A呈现的R值,使得A发起的交易成功。,得到A转移的一个BTC
通过上述机制,两个不同链条上的交易耦合成一个事件,整体上只能成功或失败,不会出现A到B转移成功,B到A转移失败的情况。,反之亦然。
这种机制的实现依赖于两种技术,即"有条件成功交易"和"有条件的失败交易"。在上面的例子中,成功交易的触发条件是显示原始散列图像r。交易失败的条件是超过预设时间不显示原始哈希镜像r,也可以分别称为哈希锁和时间锁。
在BTC,哈希时间锁可以通过CLTV操作码或CSV操作码实现。在以太坊等图灵完全链上,可以通过智能合约实现哈希时间锁。事实上,智能合约可以实现远比哈希时间锁复杂的有条件成功交易和有条件失败交易。我们可以看到哈希时间锁在没有任何信任假设的情况下实现了链两端的原子事务。同时我们也意识到这种交易方式在用户体验上并不友好,主要体现在以下三个方面:
交易双方必须同时在线并严格执行参与流程。因此,,交易的发起者,如果找不到在线交易对手,就必须等待。
对于BTC来说,创建带有散列时间锁的事务是通过在底层创建两个事务来完成的,因为底层机制很复杂。在上面提到的交易过程中,它被简化为一个交易。如果交易成功,两笔交易都会被平仓,需要额外的手续费。
在实际交易中,会出现汇率问题,交易对手可以根据汇率是否对自己有利来选择是否完成交易。。特别是当金额较大时,交易对手有强烈的动机这样做,这就导致原子交易不一定适合大额交易。
另外,在跨链的实现程度上,哈希时间锁有其局限性,只能实现跨链通用原子交换。,无法实现pass传输和更广泛的跨链信息传输,因此在实际跨链应用中经常与其他跨链技术结合使用。
3.2Witness
Witness,英文名为agonist,有时翻译为公证人,为了传递跨链信息。,一个用于托管跨链资产的特殊角色集。2012年,Ripple发布了InterLedge协议(ILP),首次通过第三方见证实现跨链传输。在那之后,见证机制已应用于许多主要基于BTC锚定资产的跨链项目。
不同的跨链项目对见证人的设置不同:见证人可能是单个主体,但多数情况下是多个主体;证人可能以许可的方式产生。,也可能是免费访问;为了跨越资产链,证人必须管理一个代管账户,该账户可以独立控制,也可以由多方控制;用户';证人的信任可能来自于证人';自己的信用或从证人';的过度抵押贷款。。
3.2.1最容易产生见证人的方法
是组成一个许可见证群,成员基本固定,成员的加入和退出由现任成员审核投票。这种方式相对集中。更分散的方式是自由出入,任何主体只要符合既定条件,比如抵押相应资产,都可以成为见证人。免费访问带来了额外的风险暴露,这可能会带来恶意的证人,并产生串通的风险。因此一些跨链协议选择加入随机选择机制:每次操作并不是所有证人签名,而是从合格的证人集中随机选择一组证人,这样会增加证人之间合谋的成本。
3.2.2用户基础';对证人的信任
证人可以通过过度抵押获得信任,这意味着证人抵押的价值必须大于托管账户中资产的价值。如果托管的资产遭受损失,用户将从抵押保证金中获得赔偿。。过度抵押使得用户委托的资产具有极高的安全性,但过度抵押给见证人带来资金成本,见证人的资金成本会转化为高额的跨链手续。
证人也可以凭自己的善意背书,尽管假设信任。但它的优势是跨链成本低,甚至可以免费做,所以还是吸引了大量用户。
3.2.3资产托管模式:独立控制地址和多方控制地址
见证方可以各自控制一个独立的控制地址,形成托管地址矩阵。,承接用户';信任。应当注意,独立控制地址不一定是单个签名地址。出于安全原因,证人可以使用多重签名和私钥分段技术来管理独立的控制地址。比如证人就是一个公司,链下人数众多。见证人的地址可能由公司的多个高管或股东通过多重签名和私钥分段共同管理。但是,不管用什么技术来管理地址,只要是单个主体控制的,我们就称之为独立控制地址。
更多情况下,被管理的地址是由多方控制的地址。可能是所有见证人共同管理一个地址,也可能是见证人分组,每个组共同管理一个地址。在这种情况下,必须使用多重签名或私钥分段等多方控制技术。
3.2.3.1多重签名
多重签名,或称多重签名,是多个私钥共同控制一个账户的技术。多重签名技术可以实现一个地址只有被N个名人中的M个签名才能被转移。,1MN.
在BTC,多重签名地址是P2SH类型的地址,普通BTC地址是通过公钥哈希得到的,多重签名地址是基于脚本哈希的。这种地址对n的值有限制。,N15;在以太坊等具有图灵完备性的区块链中,可以通过智能合约签署多个地址,n的值可以无限大。
3.2.3.2私钥分片
私钥分片技术,也称为分布式密钥技术。是一种理论安全性更高的多方控制技术,它基于图灵奖获得者姚期智提出的sMPC(安全多方计算),结合门限技术(TSS)。还可以实现M-of-N签名管理。这项技术支持将一个帐户的私钥分成几个部分,并将它们分发给多个签名者。当签名件的私钥数量达到阈值时,可以操作账户资产。在实践中,有许多方法可以实现私钥分片。,涉及复杂的密码学知识,本文就不展开了。
私钥分片之所以更安全,是因为分片是不断刷新的,也就是每隔一段时间就会恢复分片,给每个人的分片都会发生变化。。如果一个恶意者想通过获取拥有者的碎片来窃取资产,他必须在同一时间单位内获取不同签署者的私钥,否则驴';的嘴唇不对,不能合成完整的私钥。
3.2.3.3签约集团成员管理
无论是多重签名还是私钥分割,签名人组不可能一直是一个成员固定的组,所以会涉及到签名人组成员的增减。在私钥分片技术中,只需要将分片重新分片,分发给增减后生成的新签名者组。在多重签名技术中,分为两种情况:
在以太坊等发展成熟的区块链上,可以通过智能合约编程来设置签名人组成员的管理规则。例如,如果超过三分之二的现有签署者同意签署,新签署者可以被批准加入。,或批准删除旧签名人。
在BTC上,P2P多重签名地址的签名者组成员不可编辑。如果一个签名者';的私钥泄露或需要退出。,只能重新创建一个新的P2P多签地址,将资产转移到新地址。
3.2.4去中心化方向的改进
整体来看,见证模式是一种相对容易实现、通用性强、适应成本低的跨链模式。。最初版本的见证模型相对集中,但人们并不满意,于是通过各种方法对其进行改进,使其分散化,比如使用更分散的见证访问机制和分组机制,使用更分散的资产托管地址。从这个,产生了多种改进方案。这些改进方案在实现去中心化的同时,也带来了一定的复杂性。
3.3轻节点侧链的出现
侧链源于人';美国扩张BTC的努力。2014年10月,BlockStream团队发布了《侧链白皮书》,并提出了"锚定"首次跨链方案。盯住,有时翻译为"楔入,向锚定链表达锚定链的可读状态。这种状态也被称为"锚链是锚链的侧链"。
人们最初希望通过将BTC交易从BTC主链转移到侧链来减轻BTC主链的压力。2016年,根茎团队研发的RSK被认为是BTC最早的侧链。侧链技术的本质是通过在侧链上融合主链的轻节点来实现主链对侧链的可读性。这项技术稍加改造就可以应用到交叉链上。我们只需要在目标链上部署源链的轻节点契约,然后就可以将目标链转化为源链的侧链,实现从源链到目标链的单向跨链。
所谓轻节点,是指只存储块头信息的小节点。轻型节点不存储链中的所有事务。,但是您可以通过块标题信息验证链中是否存在事务。轻节点契约是包含轻节点的智能契约。通过在目标链中部署源链的轻节点契约,可以验证来自源链的消息的真实性。流程大致如下:
当源链A请求向目标链B发送跨链交易信息时,交易发起者向链B提交交易细节、区块高度和交易的SPV证书(指交易的Mekre路径);
部署在B链上的A链轻节点契约,通过SPV证明,重新计算块内交换的块头哈希值;
将得到的哈希值与光节点中对应的块头哈希值进行比较,如果一致。,则表明该事务确实发生在该块中。如果不一致,则表明该块中不存在该事务。
虽然任何人都可以向目标链提交交易细节和他们的SPV证书,但是在实际的跨链应用中,经常会有专门的角色来做这件事。而不是事务发起者。在本文中,我们将这个角色称为中继。除了帮助用户传递跨链消息,Relayer还需要将源链的块头传递到目标链,建立轻节点契约。
中继者和见证人一样,都有传递跨链消息的特定角色,但中继者和见证人有两个区别:
中继者不负责保管资产,如果采用侧链机制实现跨链,在跨链过程中,锁证会委托给特定的保管合同。
中继者的信任假设比见证人的信任假设更宽松。我们必须相信大多数证人是诚实的。但是,只要许多中继中至少有一个是诚实的,我们就可以相信跨链消息传递是可靠的。我们将在3.3.3节进一步讨论这一点。
Relayer在不同的跨链项目中有不同的调用。。在某些项目中,reallayer的角色是拆分的,负责传递块头的Relayer(HeadRelayer)和负责传递事务消息的Relayer(MessageRelayer)被定义为两个角色。。在一些项目中,没有专门的Relayer角色,Relayer的功能被合并到其他角色中,比如源链的验证者直接承担Relayer的角色。然而,一切都将保持不变。轻节点侧链方案的技术本质始终是:Relayer将源链的块头传送到目标链建立轻节点,然后Relayer在将交易信息从源链携带到目标链时,用轻节点上的块头信息验证交易信息的正确性。
3.3.1双向锚定
我们需要明白的是,主链和侧链的关系是相对的,两条链可以互为侧链。"来源链"和"目标链"前文中提到的也是相对概念。在跨链消息事件中,消息的来源通常称为源链,消息的接收者称为目标链。
通过互相掩埋';s光节点,链的两端可以互相读取';其他链上的信息,互相交流。这种形式被称为双向挂钩。在这种形式下,两条链变成了彼此';s侧链。继电器组负责双向相互传递信息。当然,两组中继者(BA中继者AB中继者)可能是同一批人。,合并成同一个角色,负责双向信息传递。
3.3.2侧链和子链
说到侧链,就要和另一个容易混淆的概念,即子链区分开来。子链没有自己的共识机制和本机通行证。它的安全性完全依赖于主链,并且是单向的。侧链本身是一个独立的区块链,侧链与主链的关系是一个相对的概念,是双向的。
以太坊的膨胀链有侧链形式的,也有亚链形式的。。使用等离子法和侧链法的扩展链是以太坊的侧链(等离子侧链是侧链的另一种形式,不是光节点侧链),而使用状态通道和Rollup法的扩展链是以太坊的子链。
子链可以通过将事务从主链移到子链,并定期将最终状态与主链同步,来扩展主链的性能。因此,子链也叫"提交链",比子链更接近其技术本质。
子链的目的是扩大产能。扩展的本质是节省主链的资源,所以主链不会花费计算资源去验证子链提交的交易。子链本身在提交的时候需要一个机制来证明其提交内容的真实性。其中,状态通道,最优汇总ArbitrumRollup使用欺诈证明,ZkRollup和Validium使用零知识证明生成有效性证明。
子链和主链之间的这种单向信息提交交互。在一些文献中,它也被认为是交叉链技术的一种形式,但卡帕实验室认为,尽管侧链和子链都是从扩展区块链的努力中诞生的,但子链相关技术只能用于创建扩展链,不能应用于两个独立区块链之间的交叉链。,不应该归类为跨链技术。
3.3.3轻节点侧链的优势
如果说见证机制侧重于信任,那么轻节点侧链技术侧重于验证!通过块标题验证交易信息它的可靠性由密码保证,并且通过测试知道事务的存在。[XY002][XY001]中继器传递的块头可以';不能造假,因为光节点契约可以像整个节点一样严格验证区块。错误的块标题不能被验证。轻节点的验证程序和矿商在源链网络中的验证程序完全一样。以BTC为例,需要通过以下步骤进行验证:
块的数据结构语法有效;
工作量证书验证,块头哈希值小于目标难度(确认包含足够工作量证明);
块的时间戳比校验时间早两个小时(允许时间误差);
验证块大小是否在长度限制内,即看块大小是否在设定的范围内;
第一笔交易(也只有第一笔)是coinbase交易,也就是一个区块,矿工只能奖励自己一次;
验证块中的事务并确保其有效性:验证MerkleRoot是否是从块体中的事务获得的,即重建块中Merkle树的根,看是否等于块头中的hashMerkleRoot值。
如果恶意中继者串通作恶,唯一可行的办法就是在分叉链上传递某个块的块头,但对于健康的网络来说,分叉链最终不会成为最长的链。光节点合同只需要等待足够的块的确认(对于BTC光节点,等待6个块)。对于类BFT链,轻节点契约只需要验证块的签名号就可以知道该块是否是最终的。
只有当源链或目标链本身被重组时,轻节点契约的安全性才会受到影响。Relayer最多可以通过集体罢工,让网络停止服务来对网络造成伤害。
此外,Relayer不负责管理托管资产。恶意继电器可以';不要像恶意证人一样窃取托管资产。由于跨链而锁定的资产托管在合同中。如果契约代码没有问题,那么契约中托管的资产的安全性就是链级的。
因为Relayer作恶的条件比较苛刻,危害较小,轻节点侧链的Relayer不需要像证人一样过度抵押。可以用更低的成本实现更多的跨链锚资产发行。
因此,轻节点侧链方案在跨链的成本和安全性上比见证方案更有优势,是实现两条链之间跨链优先要采用的技术方案。但是有些链不支持智能合约,无法部署轻节点合约和托管合约。在这种情况下,我们只能退而求其次。,使用见证方案。3.3.4光节点技术的发展:"瘦身"和"减负"
我们知道BTC的块大小是1M,在本文发表之前,它的块头只有80byte。,BTC';s的历史块头大小还没有超过60M(身高69万左右),但是后来诞生的以太坊的历史块头已经超过5g(身高1300万左右)。随着区块链的多元化发展,,一些新兴的区块链更注重高TPS,方块输出速度极快,其历史方块头的体积可能很快就会超过以太坊。
的趋势给轻节点侧链带来了挑战,主要体现在两个方面:
更大的块头。会使轻节点契约繁琐,占用目标链的巨大存储空间;
源链的快块弹出速度会导致轻节点契约中新块的频繁同步和验证。
两个都是,会造成目标链上轻节点契约的巨大气体消耗,严重时会使采用轻节点侧链技术实现跨链在经济上不可行。
怎么样?回到证人计划?但是轻节点侧链技术的优势是如此吸引人。我们仍然希望继续使用它。有什么方法可以在不丧失SPV验证能力的情况下,对轻节点契约进行改造和扩展?
区块链工业的研究人员在两个方向上改进了轻节点侧链技术。。首先是"瘦下来"轻节点收缩,使其体积变小,不随块数增加而线性增加。第二是要"减轻负担"在轻节点契约上,又把块验证环节移到了链上,这样轻节点契约只能做交易的SPV验证。
3.3.4.1";瘦身"光节点契约
我们需要知道一个新的协议叫做"FlyClient"。该协议是由斯坦福大学的BenediktBunz在论文《FlyClient:Super-LightClientsforCryptocurrencies》中提出的一种新的光节点协议。。Flyclientlight节点不需要存储所有的块头,只需要存储最新的块头。使用最新的块标题,所有历史块标题都可以"已恢复"任何时候。这个功能是通过一种叫做"默克尔山"。
MerkleMountainRange,缩写为MMR,是MerkeTree的变体。我们将区块链所有历史块的哈希值作为叶子节点,使用MMR算法。,生成一个MMR根值,并将该值写入最新的块头,可用于验证所有历史块头。
flyclientlight节点可以不断删除历史块头,只保留最新的块头,保持"光"。。当一个块头需要恢复时,可以通过Relayer从整个节点取回,用最新块头中的MMR根值来验证恢复的块头是否正确。
如果源链是概率最终链,当Flyclientlight节点接收到Relayer发送的最新块头时,会多一个验证步骤,即会要求Relayer随机提供某个历史块头进行抽查。。这样做是为了防止针对Flyclientlightnodes的一种独特的新形式的欺诈。具体造假方式和抽查算法比较复杂,本节先不展开。在随后的案例介绍部分,将介绍具体的跨链项目。
flyclient轻型节点真正实现了"把大象压缩成饼干",使得部署在目标链中的源链的轻节点契约变得轻巧简单,并且使得轻节点侧链的跨链更加经济可行。但是对于目前区块链的大部分地区来说,,MMR根值不是块头的固定部分,因此,Relayer必须自己运行整个节点,计算MMR根值,并将MMR值添加到块头,并传递给light节点。。一些较新的区块链已经将MMR根值作为块头的固定部分,还有一些人正在提议通过软分叉来升级现有的成熟公共链,将MMR根值添加到块头的固定结构中。块头中有固有MMR值的区块链,对跨链开发会更友好。。
3.3.4.2";减负"轻节点契约之
对于轻节点契约来说,最新块头的验证是最耗气的环节,这个环节的消耗与用户跨链请求数量无关,只与源链的块弹射速度有关。。如果源链以高速排放,则该环节中的气体消耗可能大得不可接受。
研究人员想到把耗油最多的新块验证环节移到链条上。参考以太坊第二层的扩展方案。先后提出了zkRelayer和防欺诈两种方案。ZkRelayer使用零知识证明方法生成链下的块验证证明并提交给链。防欺诈是通过一套经济激励机制来鼓励中继者提交正确的块:挑战者始终监控中继者提交的块,如果恶意中继者提交了不正确的块,就会被光节点验证。挑战者可以获得恶意接力者的保证金。如果Relayer提交的块没有被挑战,则默认为正确的块,轻节点契约不经验证直接包含。
3.4主干链
为了建立更广泛的跨链网络,更多的时候,我们需要连接的不仅仅是两条链,而是很多条链。如果每两个链之间建立上述双向楔入关系,那么随着链数的增加,连接数和适配成本将呈指数增长。于是提出了中继的思想:建立中继链,其他所有的链都连接到中继链上,就像家里的终端设备连接到路由器上一样。这样成本立马从n(n-1)/2降到了n(n为链数)。
中继方案是侧链方案的变体,用侧链分类是合理的。中继方案扩展性强,是目前应用最广泛的跨链方案。为了全面阐述中继方案,本文单独列出。有时在双链和跨链模型中,中继站将作为一个独立区块链的验证者运行,该验证者被视为一个整体来承担块头处理和跨链消息处理的功能,中继站将对其内部处理的信息达成共识。。这种独立的区块链通常被称为桥链,但它不是干线链。比如Polygon里的PoS桥,Near里的PoA彩虹桥,只是桥链,不是中继链。
区分它们的关键在于它们不同的跨链通信路径:
桥链可以理解为只是中继站的容器,其功能仍然是承载块头和跨链消息,而中继链是与所有接入链建立侧链关系的消息中转站。许多文件没有严格区分这两个概念。,但两者的本质完全不同。
3.4.1在连接现有区块链
的中继模式中,中继链的验证者往往负责中继功能,在链间转发消息。与双向锚定相比中继链模式更具扩展性,与中继链相连的链称为接入链。
为了连接现有的区块链,需要使用中继链分别适配接入链。虽然中继链模式大大节省了连接成本,但仍然面临以下挑战:
根据不同接入链的特点,需要制定不同的适配方案进行主动兼容,工作量很大;
不同链的安全性不同,会涉及到不同接入链的跨链信用,保护整个跨链网络的安全;
新区块链层出不穷。如果出现新特性的接入链,就需要制定新的适配方案3.4.2通信协议簇链协议
与主动兼容相比,创建全新的区块链链标准有更便捷的方式。根据该标准开发的区块链具有相同的密码原语、共识机制和通信架构,可以很容易地连接到中继链上,实现被动兼容。。跨链二人组Polkdot和Cosmos将这一想法付诸实践,他们都创建了一套链构建标准,PolkDot创建了Substrate,Cosmos创建了CosmosSDK。不顾对于现有的重要区块链,仍然需要主动兼容。Polkadot和Cosmos中设计了异构交叉链模块来连接以太网链和BTC链。
通信协议集群建链协议跨链项目看好。关键原因是有望一劳永逸地解决跨链问题。也许我们所期待的万链互联的愿景不是网状结构,而是树状结构,即让某条中继链成为区块链世界的0层,其他链,包括多数同构链。,少数异质链以层1、层2的形式连接.
在中继链与链相连的多链架构中,中继链不再只是一个桥,而是一个枢纽,我们可以称之为"链条枢轴"。。链枢纽在承担跨链消息传输任务的同时,还需要处理链间的消息路由和消息定时问题。
3.5共享验证器
Cosmos和wavecard,也是通信协议集群建链协议,都包含中继的思想。但是,如果我们稍微注意一下,就会发现两者有着巨大的区别。[XY002][XY001]典型的"双向锚固"在COSMOS的中心和区域与Cosmos的跨链消息协议IBC之间建立关系。,仍然依靠接收链内置的轻节点契约来做跨链消息的SPV验证,但是在Boca的跨链消息协议XCMP中,并没有采用轻节点技术来验证跨链消息的合法性,而是采用了另一种方法。卡帕实验室提取了它,并称之为"共享验证器",被列为交叉链技术的单独分类。(在下面的例子中将对XCMP和IBC进行更多的分析。)
共享验证者方案是指多个链共享同一组验证者,这些公共验证者负责验证跨链消息的方案。Boca将块的收集和验证分离成两个功能,由两组角色处理。,它们分别是整理器和验证器。每个并行链都有自己的收集器,但是并行链没有自己的验证器,中继链的验证器负责块验证。这相当于每个并行链将共识过程的一部分转移到中继链。。因此,boca卡的并行链可以像同一区块链的不同分区一样进行交互,并且不需要额外的信任机制。
需要注意的是,Boca并没有让所有的验证者验证所有的链,而是采取了更经济的方法。在特定的时刻每个并行链的验证者组是不同的。每个并行链的验证者组由中继链随机分配,每隔一段时间重新分配一次。通过这种随机分配机制,恶意验证者群体很难联合作恶。这种机制你可以拿中国古代宋朝的兵制来打个比方:兵无常,将无常。
波卡的共享验证器本质上是一种碎片机制,类似于以太坊2.0、Harmony、Near等区块链使用碎片机制来提高可扩展性。。但不同的是,碎片链和信标链是终身集成的,而博卡的并联链可以随时解耦和中继链耦合。解耦后,并联链就是一个可以独立运行的区块链。
4。跨链技术的认知框架
目前有近100个活跃的跨链项目。不同的跨链桥采用不同的跨链技术方案。采用同一类型技术方案的项目,对系统角色的设计和命名也不同,包括拆分角色功能以创建更多角色,以及合并角色功能。有些角色被省略,有些项目综合运用了多种跨链技术,可以说是眼花缭乱,但如果把跨链技术的本质理解清楚,就可以去伪存真,透彻理解。因此,我们需要一个认知框架来理解跨链技术。
我们可以从跨链要解决的难题入手:
4.1如何保证跨链事务的原子性
这个问题是指一个完整的跨链事务必须整体执行成功或者失败,不能有局部成功。,部分失效,否则使用跨链功能的用户可能面临资产损失。有两种方法可以实现这一点:一种是通过密码术将跨链交易中的多个子交易耦合起来。比如基于哈希时间锁的原子交换方案;另一种方法是让跨链交易的多个子交易有严格的时序,包含三层含义:
只有子交易1是完全成功的(完全成功是指交易被打包成块,形成最终的确定性)。,可以进行子交易2,以此类推,只有子交易2完全成功才能进行子交易3;
如果子交易3失败,则保持子交易2成功状态,用户可以重复重试子交易3;
如果子交易3总是失败,用户可以依次撤销子交易2和子交易1。
除了hashtimelock,其他跨链方案大多依靠后一种方法来保证跨链事务的原子性。这里涉及到一个问题。,如何判断一笔交易,已经形成了最后的确定性?区块链的共识机制有很多,但根据其最终确定性形成机制,可以分为可证终结和概率终结。BFT类型的块由验证者投票决定。决定的区块是最终的,不能逆转。而非BFT区块链认为最长的链是最终链,但最长的链可能会因分叉而发生变化,因此打包交易可能会反转。面对这种情况,一般的方法是等待更多的区块确认。直到交换在区块中被反转的可能性极低。
可以看出,具有可证终结性的BFT型区块链对跨链更友好,所以无论是Cosmos还是Polkadot其建链标准全部采用BFT共识机制。应该指出的是,BFT只是最终确认的一种方式和共识机制的一部分,尽管BFT区块链一般是一个PoS共识。非BFT区块链通常是一个权力共识,但没有绝对的相关性。
4.2如何感知另一个链条
一个区块链系统对于另一个区块链系统来说是封闭独立的。每个链条都是一个"围墙花园",并且无法直接感知其他链中的事务及其状态。一个链对于另一个链来说是链外系统,所以一个链对另一个链的感知其实是一个预测器问题。
因此,任何跨链技术,无论它如何演变,都可以';不要回避一个"中间人"、和系统是相互独立的。那么,发起跨链事务时,目标链如何在发出映射资产之前确认源链的锁事务已经完成??值得信赖的"中间人"将负责两个链之间跨链消息的传输和验证。这个中间人,在见证方案中,体现为单个代理或多个代理组成的见证集,在侧链/中继方案中,体现为中继集。在共享验证者方案中,它是一个共享验证者集。只有哈希时间锁技术原则上是无中介的,但交易发起方和交易对手需要同时在线。为了改善体验,我们需要一个中介来充当公共交易对手,或者我们称之为流动性提供者。。
在交易验证的环节,见证方案中,见证方通过运行节点或者连接其他节点来验证交易;在边链/中继方案中,通过在目标链上部署光节点来验证源链消息的真实性;在共享验证者方案中,,共享验证者在源链一致的过程中完成验证,目标链可以无条件信任。
4.3如何安全管理留置资产
留置资产的保管问题存在于跨链资产转移的场景中。如上所述跨链资产转移的本质是锁定源链中的资产,在目标链中生成模拟资产。那么留置资产的托管安全就是跨链安全的重要组成部分。
托管地址有四种,分别是独立控制账户和多方多签账户。、多方私钥拆分账户、契约账户、前三者和见证机制相结合,形成不同子类型的见证机制;在侧链/中继跨链方案中,留存资产由合约账户管理。事实上,侧链/中继方案也可以与非合约账户的托管方案相结合。但是几乎没有项目是这样设计的,因为合约账户安全性更高。即使一个项目实际上是这样运行的,也更有可能是托管合同开发完成之前的过渡方案。
其实在跨链资产调拨场景中,还有一种方案是不需要管理资产的。即Burn-Mint方案,不再锁定源链上的资产,而是直接销毁,然后在目标链上发出锚定资产。这个方案只适合耦合度高的链,否则烧资产可以';不要逆向投资,资产可以';穿过锁链后,不要回头。这显然是不能接受的。Burn-Mint机制用于穿过Boca的平行链。
4.4如何进行多链适配
侧链方案中多链适配的解决方案是中继方案,通过中继链。适配成本远低于建立接入链之间的关系。尽管如此,中继链主动兼容多个异构接入链还是很麻烦,需要分别适配。不如从上到下一劳永逸的建立一套传播标准和建链标准。,这样更多的新链可以是直接和被动兼容的同构链。
见证方案和哈希时间锁方案比侧链/中继链方案更通用。前者只要在新的接入链上设置托管账户,就可以完成与新的接入链的兼容。后者是兼容的,只要访问链支持散列锁和时间锁功能。
共享验证者方案只适用于同构的交叉链,不能主动兼容现有的异构链。如果需要兼容性,应该采用其他跨链方案。
4.5摘要
[XY001]通过上述跨链技术,总结出五种分类:[XY002][XY001]基于哈希时间锁的原子交换[XY002][XY001]见证机制[XY002][XY001]光节点侧链[XY002][XY001]中继链[XY]以及跨链技术的四个维度:
跨链交易的原子性
跨链消息验证
资产托管
多链适配
形成框架理解。在接下来的章节中,我们将对当前典型的跨链项目进行实例介绍和技术分析。