深度|全面分析跨链技术及应用形态

释放双眼,带上耳机,听听看~!

前言

跨链技术被认为是区块链领域的圣杯,是实现万链互操作的关键技术。人们经常将其重要性与互联网的TCP/IP进行比较。正是因为TCP/IP协议集群提供了一种点对点链接机制,以标准化数据在目的地的封装、寻址、传输、路由和接收方式,这使得全球终端连接到一个网络中,并演变为我们今天所称的互联网。

随着区块链产业的快速发展,各种公链和许可证链不断涌现,百花齐放。但由于技术、生态、竞争等原因,绝大多数链条无法互联互通,导致用户、资产、应用、数据分离,形成“孤岛效应”。从根本上讲,造成这种情况的主要原因是:用户需求的多样化和区块链可扩展性的局限性。

为了将孤岛连接到大陆,业界积极探索跨链技术。本文将阐述和分析跨链的主要技术形式,并给出致力于解决跨链问题的典区块链项目的实例。已有许多关于跨链的研究报告,但在以往研究的基础上,本文将努力深入研究技术的本质,区分混淆的概念,把握上下文框架,包括最新进展。

跨链究竟要跨什么? 通证交换

每个区块链都有自己的本地通行证。通正之所以成为价值的载体,是因为它包含了一些权益。链内的代币交换可以信任,但链间的代币交换“就像跨越链的山脉”。只有实现链间证书的可信交换,才能实现区块链作为“价值互联网”的重要作用。

目前,跨链通行证交换可以通过集中交换实现。例如,BTC可以向交易所充值,替换为ETH,然后提取到ETH钱包。然而,人们对集中式方案并不满意,希望直接在链上进行可信交换。例如,用户a希望将用户B持有的ETH与BTC交换。在这个过程中会出现问题。如果两个人同意一笔交易,但a转让后,B违背了他的承诺,那怎么办?这就要求使用跨链技术,通过系统的匹配,使两个传输可以同步进行。基于哈希时间锁的原子交换是实现这一场景的典技术。

通证传递

传递是指一条链中的原始资产循环到另一条链。这不能直接实现。任何过程只能附加到其主链。一般来说,通过锁定源链上的原始资产并发出等量的锚定资产模拟目标链上的原始资产来实现传递。如何确保这一过程的安全性和可靠性是跨链技术面临的重大挑战。

传递和传递交换都可以解决链之间的价值交换问题,但它们并不完全相同。如果a想与一个BTC交换B的10ETH,只需实现令牌交换即可。但是,如果a希望在以太坊上使用一个BTC,则需要令牌传输。除了解决价值交换问题外,传递还有额外的效用。我们可以将通行证从昂贵链转移到经济链以节省交易成本,或从慢链转移到快链以实现容量扩张,或从非私有链转移到私有链,实现交易隐私。可以说,pass可以解决的问题是pass交换可以解决的问题的超集。

信息传递

在完全意义上,跨链应该能够可靠地在链之间传输任何消息。任何跨链事务本质上都是一系列跨链消息传递的组合。例如,作为一种跨链事务,证书传递由两个跨链消息传递组成,分别是:

  • 源链传递锁仓库证书,并将锁仓库消息及其证明传输给目标链
  • 接收到信息并验证其真实性后,目标链接将强制转换映射令牌并将回执发送回源链。

因此,可以说,跨链信息传输包括跨链证书传输。跨链信息传输解决的问题是跨链证书传输的超集。

全景式解读跨链技术方案与应用形态

通过跨链信息传输,一条链可以读取和验证另一条链的状态和信息,一条链的智能合约可以将其他链的某种状态和信息作为执行的触发条件。因此,通过跨链信息传递可以实现丰富的跨链功能,如跨链借贷、跨链众筹、跨链支付、跨链衍生品、跨链Dao等。如果区块链能够灵活调用彼此的功能,使用彼此的服务,然后将链和链结合成一个巨大的服务协作网络,实现我们预期的万链互联状态。

跨链技术概览

目前的一些跨链技术只实现令牌交换,如哈希时间锁和跨链DEX;一些转发消息并通过在链上建立一组角色来验证状态。有人提出了一套通信协议来实现区块链之间的通信;一些人提出了新的系统架构和链构建协议,以支持更多的区块链访问。

由于链和链彼此独立,因此无法建立直接连接,链也无法直接感知彼此的状态变化。因此,需要建造一座沟通桥梁。在通信桥选择方面,一般分为五类:基于哈希时间锁的原子交换、见证、光节点侧链、中继链和共享验证器。第3.1-3.5小节将对此进行说明:

基于哈希时间锁的原子交换

散列时间锁是一种可以实现跨链资产交易的无信任加密方法。例如,我使用的一个BTC和您的10个ETH事务可以通过哈希锁实现事务的原子性。原则如下:

① 用户a生成随机密码R,计算散列值m=R的散列(R),并将m值发送给用户B;

② 同时,用户a发起一个事务并将1个BTC传输给用户B。交易的成功是有条件的。用户B必须显示密码r才能成功,否则交易将在预设时间后自动失败;

③ 在看到a发起的事务后,用户B也发起一个事务并将10 ETH传输给用户a。交易的成功是有条件的。用户a需要显示r才能成功。如果超过预设时间,事务也将自动失败。这里的关键是用户B不需要获取密码r的值来创建这样一个以r值表示为成功条件的事务,而只需要知道M的值。我们知道散列运算是不可逆的,M不能计算R;

④ 用户a看到B发起的交易后,显示R值使B发起的交易成功,获得B转移的10 ETH,并披露R值;

⑤ 在最后一步中,用户B还获得a提供的R值,这使得a发起的事务成功,并获得a传输的BTC。

通过上述机制,两个不同链上的事务耦合到一个事件中,该事件只能作为一个整体成功或失败。将不会有从a到B的传输成功和从B到a的传输失败,反之亦然。

A660202
该机制的实现依赖于两种技术,即“条件成功事务”和“条件失败事务”。在上述情况下,事务成功的触发条件是显示哈希图像r,事务失败的条件是在预设时间之后未显示哈希图像r。我们也可以分别称之为hashlock和time lock。

在BTC中,哈希时间锁可以通过cltv操作码或CSV操作码实现。在以太坊和其他图灵完整链中,哈希时间锁可以通过智能合约实现。事实上,与散列时间锁相比,智能合约可以实现更加多样化和复杂的条件成功事务和条件失败事务。

我们可以看到,hash时间锁实现了跨链双方在没有任何信任假设的情况下进行的原子事务。同时,我们也意识到这种交易方式在用户体验方面并不友好,主要体现在以下三个方面:

  • 双方必须同时在线,严格执行参与流程。因此,如果交易发起人无法找到在线交易对手,则必须等待。
  • 对于BTC,通过在底部创建两个事务来完成创建具有哈希时间锁的事务。由于底层机制的复杂性,它被简化为上述事务处理中的事务。如果交易成功,则必须将两个交易链接起来,并且需要支付额外的手续费。
  • 在实际交易中,会出现汇率问题。交易对手可以根据汇率是否对自身有利来选择是否完成交易。特别是当金额较大时,交易对手有强烈的动机这样做,这导致原子交易可能不适合进行大交易。

此外,在跨链实现方面,哈希时间锁也有其局限性。它只能实现跨链令牌原子交换,不能实现令牌传输和更广泛的跨链信息传输。因此,在实际的跨链应用中,它经常与其他跨链技术结合使用。

见证人

证人,英语为公证人,有时翻译为公证人,是一个特殊角色,用于传递跨链信息和信任跨链资产。2012年,ripple发布了interledge协议(ILP),该协议首次通过第三方见证实现了跨链传输。此后,见证机制已应用于许多以BTC锚定资产为主的跨链项目。

不同的跨链项目具有不同的证人设置:证人可能是单个实体,但在大多数情况下,他们是多个实体;证人的产生方式可以是允许或自由进入;为了实现资产的跨链,证人必须管理托管账户。托管账户的管理方式可以是独立控制或多方控制;使用者对证人的信任可能来自证人自身的信用或证人的超额抵押。

证人的出示方法

最简单的方法是建立一个允许的证人小组。成员基本固定。成员的进入和退出由现任成员进行审查和投票。这种方法相对集中。更去中心化的方法是自由访问。任何主体都可以成为证人,只要它符合既定条件,例如抵押相应的资产。免费访问带来了额外的风险暴露,这可能带来恶意证人和共谋的风险。因此,一些跨链协议选择添加随机抽取机制:每个操作不是由所有证人签名,而是从合格证人中随机选择一组证人。这样,证人串通的成本就会增加。

用户对证人的信任

证人可以通过超额抵押获得信任,这意味着证人抵押的价值必须大于托管账户中资产的价值。如果保管的资产丢失,用户将从抵押中获得补偿。超额抵押使用户管理的资产具有较高的安全性,但超额抵押给证人带来了资金成本,证人的资金成本将转化为较高的跨链手续费。

证人也可以依靠自己的善意来背书。虽然它包含了信任的假设,但它的优点是跨链成本低甚至免费,因此仍然吸引了大量的用户。

资产托管方式:独立控制地址、多方控制地址

证人可以各自控制一个独立的控制地址,形成托管地址矩阵,承担用户托管委托。应当注意,独立控制地址不一定是单个签名地址。出于安全原因,证人可以使用多重签名和私钥分段技术来管理独立的控制地址。例如,如果证人是一家拥有大量家族成员的公司,则证人的地址可能由该公司的多名高管或股东通过多重签名和私钥碎片共同管理。然而,无论使用什么技术来管理地址,只要它们由一个主题控制,我们就称之为独立控制地址。

通常,托管地址是由多方共同控制的地址。可能是所有证人共同管理一个地址,也可能是证人分组,每组共同管理一个地址。在这种情况下,必须使用多重签名或私钥分段。

多符号

多重签名(Multi-SIG)是一种由多个私钥共同控制一个帐户的技术。多重签名技术可以实现一个地址在传输前必须由N个签名者中的M个签名者签名,1≤ M≤ N

在BTC中,多签名地址是p2sh类的地址,普通BTC地址在公钥散列之后获得,多签名地址基于脚本散列。这种地址对N,N的值有限制≤ 15; 在以太坊和其他图灵完整区块链中,可以通过智能合约实现多个签名地址,n值也可以是无限的。

私钥分区

私钥切片技术又称分布式密钥技术,是一种理论安全性较高的多方控制技术。该技术源自图灵奖得主姚启智先生提出的安全多方计算(SMPC)。结合门限技术(TSS),还可以实现N取M签名管理。此技术支持将帐户的私钥拆分为多个片段,并将其分配给多个签名者。当签名的片段私钥数量达到阈值时,可以操作帐户资产。在具体实现方面,私钥碎片化的技术实现方法很多,涉及到复杂的密码学知识,本文将不进行扩展。

私钥碎片更安全的原因是碎片会不断刷新,也就是说,每隔一段时间碎片会重复一次,而提供给每个人的碎片都会发生变化。如果一个恶意的人想通过获取每个人的碎片来窃取资产,他必须在同一时间单元中获取不同签名者的私钥。否则,驴子的嘴唇不适合马的嘴,并且无法合成完整的私钥。

签名者组成员管理

无论是多重签名还是私钥分段,签名者组都不能总是一个成员固定的组,因此它会涉及签名者组成员的增加或减少。在私钥分片技术中,增加或减少后只需重新分片并将碎片分发给新的签名者组。在多点登录技术中,有两种情况:

在以太坊等图灵完整区块链上,可以通过智能合约编程设置签名者组成员管理规则。例如,如果超过2/3的现有签名人签名并同意,他们可以批准添加新签名人或批准删除旧签名人。

在BTC上,无法编辑具有p2sh多签名地址的签名者组成员。如果签名者的私钥受损或需要退出,则只能重新创建新的p2sh多签名地址并将资产转移到新地址。

改进去中心化

从总体上看,见证模式是一种跨链模式,实施相对容易,通用性强,适应成本低。证人模的初始版本相对集中,但人们并不满意。因此,通过各种方法对其进行了改进,使其去中心化,例如使用更去中心化的证人访问机制和分组机制,使用更去中心化的资产托管地址等。因此,产生了各种改进方案。这些改进方案不仅实现了去中心化,而且带来了一定的复杂性。

轻节点式侧链

侧链的产生源于人们对BTC扩容的努力。2014年10月,区块流团队发布了侧链白皮书,并首次提出了“锚定”跨链方案。Pegged(有时翻译为“楔入”)表示锚链相对于锚链的可读状态。这种状态也称为“锚链是锚链的侧链”。

人们首先希望通过将BTC交易从BTC主链转移到侧链来减轻BTC主链的压力。2016年根茎团队开发的RSK被认为是BTC最早的侧链。侧链技术的实质是通过在侧链上融合主链的轻节点,实现主链对侧链的可读性。只要稍加改造,这项技术就可以应用于交叉链。我们只需要在目标链的上部部署源链的轻节点契约,将目标链转化为源链的侧链,从而实现从源链到目标链的单向交叉链。

所谓的光节点是指仅存储块头信息的小节点。light节点不存储链中的所有事务,但它可以通过块头信息验证链中是否存在事务。灯光节点协定是包含灯光节点的智能协定。通过在目标链中部署源链的轻节点契约,可以验证来自源链的消息的真实性。程序如下:

① 当源链a请求向目标链B传输跨链交易信息时,交易发起人向链B提交交易详情、区块高度和交易的SPV证书(参考交易的mekre路径);

② 对于部署在B链上的A链轻节点契约,通过SPV证明重新计算块中交换的块头哈希值;

③ 将获得的散列值与light节点中对应的块头散列值进行比较。如果一致,则表示该事务确实发生在块中。如果不一致,则表示块中不存在事务。

尽管任何人都可以向目标链提交交易详细信息及其SPV证书,但在实际的跨链应用程序中,通常会有特殊角色来完成此操作,而不是交易发起人。在本文中,我们称之为角色中继。除了帮助用户传递跨链消息外,中继还需要将源链的块头传递给目标链,以建立轻节点契约。

与见证人一样,中继是为传递跨链消息而设置的特定角色,但中继人和见证人之间有两个区别:

  • 继电器不负责资产的保管。如果采用侧链机制实现跨链,则跨链流程中的仓库锁定通道将托管在特定的托管合同中。
  • 接力的信任假设比证人的信任假设宽松。我们必须相信大多数证人都是诚实的,但只要许多中继中至少有一个是诚实的,我们就可以相信跨链消息传递是可靠的。这一点将在第3.3.3节中进一步讨论。

中继在不同的跨链项目中的调用不同。在一些项目中,realyer的角色是分开的。负责传递区域块头的中继(头部中继)和负责传递事务消息的中继(消息中继)被定义为两个角色。在一些项目中,没有特殊的中继角色,中继的功能被合并到其他角色中。例如,源链的验证器直接承担中继的角色。然而,光节点侧链方案的技术实质始终是中继将源链的块头传输到目标链,建立光节点,然后当中继将事务信息从源链传送到目标链时,它使用light节点上的块头信息来验证事务信息的正确性。

双向锚定

我们需要理解主链和侧链之间的关系是相对的,两条链可以是彼此的侧链。上述“源链”和“目标链”也是相关概念。在跨链消息传递事件中,消息的源通常称为源链,消息的接收者称为目标链。

通过掩埋彼此的光节点,交叉链的两侧可以读取彼此链上的信息并相互通信。这种形式称为双向钉住。在这种形式下,两条链条成为彼此的侧链。在两个方向上都有中继组负责相互传输信息。当然,有两组继电器(B→ 中继器AMPL;A.→ reayer)也可能是同一组人,合并到同一角色中,负责双向信息传输。

侧链和子链

当谈到侧链时,有必要将其与另一个容易混淆的概念区分开来,即子链。子链没有自己的共识机制和主通道。其安全性完全依赖于主链,是单向的。侧链本身是一个独立的区块链。侧链和主链之间的关系是一个相对概念,具有双向性。

以太坊的一些扩展链以侧链的形式存在,一些扩展链以子链的形式存在。使用plasma方法和侧链方法的扩展链是以太坊的侧链(plasma侧链是另一种侧链形式,而不是轻节点侧链),而使用状态通道和Rollups方法的扩展链是以太坊的子链。

子链通过将事务从主链移动到子链,并定期将最终状态与主链同步,从而扩展主链的性能。因此,子链也称为“提交链”。提交链的名称比子链的名称更接近其技术本质。

子链的目的是扩大产能。产能扩张的实质是节约主链资源。因此,主链不会花费计算资源来验证子链提交的事务。子链本身需要一种机制来证明其提交内容在提交时的真实性。其中,状态通道、最优Rollups和任意Rollups通过欺诈证明,ZKRollups和valium通过零知识证明生成有效性证明。

这种子链和主链之间的单向信息提交交互在一些文献中也被认为是跨链技术的一种形式。然而,Paka labs认为,虽然侧链和子链都是从区块链扩容的努力中诞生的,但与子链相关的技术只能用于创建扩容链,不能应用于两个独立区块链之间的交叉链,不应将其归类为跨链技术。

轻节点侧链的优点

如果证人人机系统侧重于信任,那么轻节点侧链技术则侧重于验证。事务信息通过块头进行验证,其可靠性在密码学中得到保证。交易是否存在是已知的和确定的。

也不可能伪造继电器传递的块头,因为光节点契约可以像整个节点一样严格验证块,而伪造的块头无法通过验证。light节点的验证过程与源链网络中miner节点的验证过程完全相同。以BTC为例,需要验证以下步骤:

块的数据结构在语法上是有效的;

验证块头哈希值小于目标难度的工作量证明(确认包含足够的工作量证明);

块时间戳比验证时间早两小时(允许时间错误);

验证块大小是否在长度限制内,即块大小是否在设定范围内;

第一笔交易(且仅第一笔)是coinbase交易,即矿工只能为一块区块奖励自己一次;

验证块中的事务并确保其有效性:验证merkleroot是否来自块体中的事务,即重构块Merkle树以查看其是否等于块头中的hashmerkleroot值而获得的树根。

如果恶意中继串通作恶,唯一可行的方法是在分叉链上传递块的块头。然而,对于一个健康的网络,分叉链不会成为最长的链。光节点契约只需等待足够块的确认(对于BTC光节点,等待6块)。对于BFT链,光节点契约只需要验证块的签名数,即该块是否为最终块。

只有源链或目标链本身的重组才会影响光节点契约的安全性。中继对网络的最大危害是停止集体罢工,停止网络服务。

此外,中继不负责管理托管资产。恶意中继无法像恶意见证一样窃取托管资产。由于交叉链而锁定的资产在合同中进行管理。如果合同代码正常,则合同中管理的资产的安全性处于合同的链级别。

由于中继条件恶劣,造成的危害较小,轻节点侧链中的中继不需要像目击者一样进行过多抵押。可以以较低的成本实现更多的跨锚链资产发行。

可以看出,在跨链成本和安全性方面,轻节点侧链方案比见证方案具有更多的优势。这是实现两条链之间跨链优先的技术方案。但是,某些链不支持智能合约,无法部署轻节点合约和托管合约。在这种情况下,我们只能排在第二位,采用证人计划。

轻节点技术的发展:“瘦身”与“减负”

我们知道BTC的块大小是1m,它的块头只有80字节。在本文撰写之前,BTC历史区域的区块大小尚未超过60米(约69万高),但以太坊历史区域标头的总数(出生较晚)已超过5克(约1300万高)。随着区块链的多元化发展,一些新兴区块链更加关注高TPS,速度非常快,其历史区块的容量可能很快就会超过以太坊。

这一趋势给轻节点侧链带来了挑战,主要体现在两个方面:

  • 大的块头会使轻节点收缩繁琐,占用目标链的巨大存储空间
  • 源链的快速出站速度将导致光节点契约的新块的频繁同步和验证。

这两种情况都会导致目标链中光节点契约的巨大气体消耗。在严重情况下,使用轻节点侧链技术将无法实现交叉链。

我该怎么办?回到证人计划?然而,轻节点侧链技术的优势非常吸引人,我们仍然希望继续使用它。是否有任何方法可以在不丧失SPV验证能力的情况下转换和扩展light node合同?

区块链行业的研究人员从两个方向改进了轻节点侧链技术。第一种方法是“缩小”灯光节点,使其体积变小,并且不会随着块的增加而线性增加。二是减轻轻节点合约的负担,将区块验证环节移动到链上,让轻节点合约只做交易的SPV验证。

轻节点合同的“瘦身”

我们需要了解一个名为“flyclient”的新协议,它是斯坦福大学的Benedikt bunz在论文“flyclient:super-light clients for cryptocuries”中提出的一个新的光节点协议。flyclient light节点不需要存储所有的块头,只需要存储最新的块头。所有历史块都可以通过最新的块头随时“恢复”。此功能通过一种称为“Merkel mountains”的加密算法实现。

默克尔山脉,简称MMR,是默克树的变种。我们将区块链中所有历史块的散列值作为叶节点,通过MMR算法生成MMR根值,并将该值写入最新的块头,即我们可以使用该值来验证所有历史块头。

flyclient light节点可以连续删除历史块头并仅保留最新的块头以保持“light”。当一个块头需要恢复时,可以通过中继从整个节点检索,并且可以使用最新块头中的MMR根值来验证恢复的块头是否正确。

如果源链是概率终结链,flyclient light节点在接收到中继发送的最新块头时将有一个验证步骤,即要求中继随机提供一个历史块头进行随机检查。这是为了防止针对flyclient light节点的独特新形式的欺诈。具体的欺诈方法和抽查算法非常复杂。本节不会首先开始。在随后的案例介绍部分,将结合具体的跨链项目进行介绍。

Flyclient光节点真正做到了“将大象压缩成饼干”,使部署在目标链中的源链光节点契约能够轻载且简单,使光节点的侧链交叉链具有更好的经济可行性。但是,对于大多数区块链,MMR根值不是块头的固定部分。因此,中继必须运行整个节点,计算MMR根值,将MMR值添加到块头并将其传输到灯光节点。一些较新的区块链将MMR根值作为区块头的固定部分。现有成熟的公链也提出软分岔升级,将MMR根值添加到块头固定结构中。区块头中具有固有MMR值的区块链将更有利于跨链开发。

轻节点合同的“减负”

对于光节点合同,最新块头的验证是消耗最多气体的链路。此链接的消耗与用户的跨链请求数无关,而只与源链的出站速度有关。如果源链的阻塞速度很快,则此链路的气体消耗量可能会大得令人无法接受。

研究人员考虑将消耗气体最多的新区块的验证环节向下移动。参照以太坊2层扩容方案,先后提出了zkrelay和防欺诈方案。Zkrelay使用零知识证明的方法在链下生成块验证证明并提交给链。欺诈证明使用一套经济激励机制来鼓励中继提交正确的区块:挑战者总是监督中继提交的区块。如果发现恶意中继提交了不正确的块,经过light节点验证后,挑战者可以从恶意中继获得押金。如果中继提交的块未被质询,则默认情况下它是正确的块。light node合同直接包含,无需验证。

中继链

为了建立更广泛的跨链网络,我们通常不仅需要连接两条链,还需要连接多条链。如果在两条链之间建立上述双向楔形和侧链关系,则连接数量和适应成本将随着链数量的增加呈指数增长。因此,提出了中继的思想:建立一条中继链,所有其他链都连接到中继链,就像家中的终端设备连接到路由器一样。这样,成本立即从n(n-1)/2降低到n(n是链的数量)。

全景式解读跨链技术方案与应用形态
继电器方案是侧链方案的变体,将侧链划分为一种技术方案是合理的。中继方案具有很高的可扩展性,是目前应用最广泛的跨链方案。为了充分阐述中继方案,本文将其单独列出。

有时,在双链交叉链模中,中继将作为独立区块链的验证器运行。独立链被视为一个整体,承担块头处理和跨链消息处理的功能,中继将对其中处理的信息达成共识。这种独立的区块链通常被称为桥链,但它不是中继链。例如,POLOGAN的POS桥和near的POA彩虹桥只是桥链,而不是中继链。区分

的关键在于不同的跨链通信路径:

全景式解读跨链技术方案与应用形态
可以将桥接链理解为继电器的容器。它的功能仍然是承载块头和跨链消息,而中继链是一个消息传输站,它与每个访问链建立相互的侧链关系。许多文献没有严格区分这两个概念,但它们的本质是完全不同的。

连接现有区块链

在中继模式下,中继链的验证器通常负责中继功能和在链之间转发消息。与双向锚定相比,中继链模式具有更大的可扩展性。与中继链相连的链称为接入链。

为了连接现有区块链,需要使用中继链分别调整接入链。虽然中继链模式极大地节省了连接成本,但它仍然面临以下挑战:

  • 根据不同接入链的特点,需要制定不同的自适应方案,以实现负载较大的主动兼容
  • 不同的链具有不同的安全性,这将涉及不同接入链的跨链信用,以保护整个跨链网络的安全
  • 新的区块链层出不穷。如果存在具有新特性的接入链,则有必要开发新的自适应方案。

通信协议集群+链构建协议

与主动兼容性相比,更方便的方式是创建新的区块链制造标准。根据该标准开发的区块链具有相同的加密原语、共识机制和通信架构,可以轻松访问中继链以实现被动兼容性。跨链组合polkdot和cosmos实践了这一想法。两者都制定了一套连锁建筑标准。Polkadot创建了基底,cosmos创建了cosmos SDK。然而,现有重要区块链需要主动兼容性。Polkadot和cosmos都设计了异构交叉链模块,以连接以太坊链和BTC链。

通信协议集群+建链协议的跨链方案前景看好,其关键原因在于有望从根本上解决跨链问题。也许我们所期望的万链互联的愿景不是网状结构,而是树状结构,即使一条中继链成为区块链世界中的第0层,而其他链,包括大多数同构链和少数异构链,以第1层和第2层的形式连接。

在中继链+接入链的多链架构中,中继链不再只是一座桥梁,而是一个枢纽,可以称之为“链支点”。链支点在承担跨链消息传输任务的同时,还需要处理链间消息路由、消息定时等问题。

共享验证人

类似地,cosmos和Boca作为通信协议集群+链构建协议,包含了中继的思想,但稍加注意,我们发现它们之间的差异非常巨大。

在宇宙中心和区域之间建立了典的“双向锚定”关系。Cosmos跨链消息传递协议IBC仍然依靠内置在接收链中的光节点契约来验证跨链消息的SPV,但Boca的跨链消息传递协议xcmp没有采用光节点技术来验证跨链消息的合法性,而是采用了另一种方法。Paka实验室将其抽象并称之为“共享验证器”,它被列为跨链技术的一个单独类别(以下示例将讨论xcmp和IBC之间的更多区别)

共享验证器方案是指多个链共享同一组验证器,这些公共验证器负责验证跨链消息的方案。Boca将块的收集和验证解耦为两个函数,这两个函数负责两组角色:收集器和验证器。每个并行链都有自己的收集器,但并行链没有自己的验证器。中继链的验证器负责块验证。这相当于每个平行链将共识过程的一部分转移到中继链。因此,Boca的平行链可以像同一区块链的不同分区一样交互,不需要额外的信任机制。

应该注意的是,Boca不允许所有验证者验证所有链,而是采用了更经济的方法。在特定时刻,每个并行链的验证器组是不同的。每个并行链的验证器组由中继链随机分配,并每隔一段时间重新分配。通过这种随机分配机制,恶意验证者很难联合作恶。这种机制可以与中国古代宋朝的军事制度相比较:士兵是临时的,没有正规士兵。

Boca的共享验证器本质上是一种碎片机制,类似于以太坊2.0、harmony、near和其他使用碎片机制提高可伸缩性的区块链。然而,不同之处在于碎片链和信标链是终身集成的,而Boca的并行链可以随时与中继链解耦和耦合。分离后,平行链是一个可以独立运行的区块链。

跨链技术的认识框架

目前,有近100个活跃的跨链项目。不同的跨链桥架采用不同的跨链技术方案。采用相同类技术解决方案的项目具有不同的设计和系统角色的不同名称。有些拆分角色功能创建更多角色,有些合并角色功能省略一些角色,有些项目使用多种跨链技术,可以说是令人眼花缭乱,但如果我们理解了跨链技术的本质,我们就可以消伪存真,并有一个透彻的理解。因此,我们需要一个认知框架来理解跨链技术。

我们可以从整个链条上要解决的问题开始:

如何保证跨链事务的原子性

这个问题意味着一个完整的跨链事务必须作为一个整体成功或失败地执行,并且不能有部分成功或部分失败。否则,使用跨链功能的用户可能会面临资产损失。实现这一点有两种思路:一种是通过加密技术将跨链事务中的多个子事务耦合起来,例如基于哈希时间锁的原子交换方案;另一种方法是对跨链交易的多个子交易进行严格计时,包括三层含义:

  • 只有当子事务1完全成功时(完全成功意味着事务被打包到块中并形成最终确定性),才能执行子事务2,依此类推。只有子事务2完全成功,才能执行子事务3;
  • 如果子事务3失败,则保留子事务2的成功状态,以便用户可以重复重试子事务3
  • 如果子事务3总是失败,则用户可以依次撤消子事务2和子事务1。

除了散列时间锁,其他跨链方案大多依赖后一种方法来确保跨链事务的原子性。这里有一个问题,如何判断交易已形成最终确定性?区块链的共识机制有多种,但根据其最终确定性形成机制,可分为可证明终结性和概率终结性。BFT区块链通过验证器投票确定区块。确定的块是最终的,不能反转。然而,对于非BFT区块链,我们认为最长的链是最终链,但最长的链可能会因分叉而发生变化。因此,打包交易可能被撤销。面对这种情况,通常的方法是等待更多的区块被确认,直到区块中的交换被逆转的可能性极低。

可以看出,最终性可验证的BFT区块链对跨链更为友好。因此,cosmos和Polkadot都采用BFT一致性机制。应当指出,BFT只是最后确认的一种方式,也是协商一致机制的一部分。虽然BFT区块链通常是POS共识,而非BFT区块链通常是POW共识,但不存在绝对相关性。

如何感知另一条链

一个区块链系统是封闭的,独立于另一个区块链系统。每个链都是一个“围墙花园”,无法直接感知另一个链中的事务和状态。一条链是另一条链的链外系统,因此一条链对另一条链的感知实际上是一个预言机问题。

因此,任何跨链技术,无论其如何发展,都无法绕过“中间人”的角色。系统是相互独立的。启动跨链交易时,目标链如何在发布映射资产之前确认源链的锁定交易已完成?在两条链之间,一个可信的“中间人”将承担跨链消息传输和验证的功能。在见证方案中,该中间人体现为由单个或多个主体组成的见证集;在侧链/中继方案中,该中间人体现为中继集;在共享验证器方案中,该中间人体现为共享验证器集。只有哈希时间锁技术原则上没有中介,但交易发起方和交易对手需要同时在线。为了改善经验,我们需要一个中介机构作为公共交易对手,或者我们称之为流动性提供者。

在事务验证阶段,在见证方案中,见证人通过正在运行的节点或连接其他节点来验证事务。在侧链/中继方案中,通过在目标链的上部部署源链光节点来验证源链消息的真实性。在共享见证方案中,共享验证者在源链一致性过程中完成验证,目标链可以无条件信任。

如何安全的托管留置资产

保留资产的托管存在于跨链资产转移的场景中。如上所述,跨链资产转移的实质是让资产留在源链的锁库中,并在目标链上生成模拟资产。那么留存资产的保管安全是跨链安全的重要组成部分。

托管地址有四种类,即独立控制帐户、多方多签名帐户、多方私钥碎片帐户和合同帐户。前三种机制与证人机制相结合,形成不同的证人机制子类;在侧链/中继跨链方案中,合同账户用于信任保留资产。事实上,侧链/中继方案也可以与非合同账户的托管方案相结合,但很少有这样设计的项目,因为合同账户具有更高的安全性。即使项目实际以这种方式运作,也更有可能在托管合同开发完成之前用作过渡方案。

事实上,在跨链资产转移的场景中,还有另一个不需要托管资产的方案,即burn Mint方案。源链上的资产不再锁定,而是直接销毁,然后在目标链上发布锚定资产。该方案仅适用于耦合度高的链条。否则,被烧掉的资产将无法再进行反向铸造,资产穿过链条后也无法再返回,这显然是不可接受的。burn Mint机制用于Boca平行链之间的跨链通信。

如何进行多链适配

侧链方案中的多链自适应解决方案是中继方案。通过中继链,一个接一个地与接入链建立相互侧链之间的关系,这远低于接入链之间的关系。然而,中继链与多个异构接入链的主动兼容仍然是一个难题。它需要单独调整。最好从上到下一劳永逸地建立一套通信标准和链构建标准,以使更多的新链直接和被动兼容同构链。

见证方案和哈希时间锁方案比侧链/中继链方案更通用。前者可以与新的访问链兼容,只要在新的访问链上设置了托管帐户;后者可以兼容,只要访问链支持哈希锁和时间锁功能。

共享验证器方案仅适用于同构交叉链,不能主动兼容现有异构链。如果需要兼容性,则需要采用其他跨链方案。

小结

通过以上跨链技术概述,分为五类:

  • 基于哈希时间锁的原子交换
  • 证人机制
  • 轻节点侧链
  • 中继链
  • 共享验证器

以及交叉链技术的四个维度:

  • 跨链事务原子性
  • 跨链消息验证
  • 资产托管
  • 多链自适应

我们基本上可以准确地掌握跨链方案的上下文,并形成框架理解。

给TA买糖
共{{data.count}}人
人已赞赏
头条资讯

深度|若区块链企业涉嫌欺诈,那企业的技术人员会不会受牵连?

2021-9-3 17:21:51

头条资讯

社会代币悖论:基于排他性的社交代币社区中出现的问题

2021-9-3 17:42:02

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索