TRA:详解ZK跨链通信协议:安全低成本构建全链DApp的未来

TL;DR

ZK为跨链通信提供了一种安全,低成本的方式跨链通信协议仍处于早期阶段,但有望允许DApp访问不同链上的数据DeFi,全链DApp将从跨链DApp的发展中受益跨链DApp的影响预计在未来几年内会非常大,就像全球化的影响一样。开发人员正在努力探索构建跨链DApp的最佳模式延迟,安全和成本是ZK跨链信息协议的主要指标ZK跨链协议四个主要的组件是:生成存储证明,结合存储证明和ZKP,中继ZKP,展开承诺文末还提供了由本文训练的AI,你可以提出与本文有关的任何问题。前言

以前只有以太坊和比特币。他们拥有最多的流动性,最多的用户,最多的应用和最多的交易。2020年后,出现了许多新的区块链,如Avalanche,Polygon和BSC。在这些链的主网推出后,我们看到了从以太坊和比特币到ALTChain的范式转变。用户从以太坊转移到ALTChain来寻找新的机会。开发者从以太坊转移到ALTChain来分叉现有项目。这些开发者为寻求高回报的用户创造了新的机会。以太坊曾经拥有加密货币世界中除比特币之外的所有流动性。在2020年底,以太坊TVL占比急剧下降到60%左右。以下是165个链的TVL数据。

今天,各大链TVL饼图看起来是这样的。以太坊占据了大部分的流动性。Tron和BSC占据第二和第三的位置。

在将资产和流动性分散到不同的链上后,用户开始考虑如何在不同的链上管理和移动资产。资产发行者也考虑如何通过扩展到不同的链来扩展他们的用户。跨链资产桥在2022年开始流行。用户不再使用CEX作为跨链桥,而是尝试转向去中心化的跨链桥。资产跨链桥有时会卡住,并容易受到攻击,但它更容易使用和用来转移大量资金。然而,资产跨链桥还处于早期阶段,并且不能满足DApp开发者的需求。资产跨链桥只能让相同的资产在不同的网络之间流动。这对于开发者来说用处过于局限。开发者正在寻找一种更加通用的跨链方式。跨链通信拥有强大的自定义性。开发者完全可以基于跨链通信开发全链DApp。DApp构建者希望在不同链之间传递消息并获取必要的区块信息。有了这些的特性,全链DApp的构建范式从互不通信,转向分布式的设计。在互不通信,相互独立的模型中,不同链上的Dapp实例无法彼此共享数据。在分布式设计中,Dapp实例可以相互通信,并可以定期将数据同步到一个实例。该实例获取所有数据并可以修改其他实例上的参数。

借助ZK驱动的跨链通信,因为ZKP可以提供简洁的证明,它可以消耗更少的存储,将源链状态中继到目标链。此外,在目标链上验证SNARK证明相对便宜。ZKP的这两个重要特性可以实现低成本的跨链消息和状态传递。在目标链上的验证源链状态可以实现IBC风格的跨链桥接。这大大增加了跨链的安全性。当下

大多数区块链网络相互隔离,无法直接交换资产或Token。跨链资产桥允许用户在不同的区块链网络之间转移资产或Token。随着Wormwhole、cbridge和Stargate等项目的推出,跨链资产桥的概念在过去几年开始受到关注。这些项目旨在创建可互操作的区块链桥,用户可以无缝地交换资产和Token。

跨链资产桥无法满足开发者的需求。开发人员正在寻找一种更通用的跨链方法,即跨链消息协议。为了满足开发者的需求,这些跨链桥大多都有自己的跨链消息协议,例如CelerIM、LayerZero、Multichain的anyCall、Connext的xcall。他们提供了类似这样的API

跨链消息通信协议是基于其跨链资产协议实现的。通过一些修改,这些跨链资产协议现在可以在链之间传递消息。这使得他们很难为跨链消息协议实现定制功能,因为整体设计需要兼容跨链资产转移。它们缺乏构建跨链应用程序的一些关键功能,例如将消息从一条链广播到不同链上的所有其他部署合约。这使得开发人员很难构建实用的全链DApp。跨链消息通信协议仍处于早期阶段。没有大型全链DApp完全建立在这些跨链通信协议之上。为什么需要ZK?

虽然这些跨链桥带来了很多便利好,例如提高资金利用率和改善用户体验,但它们也带来了安全风险。针对跨链桥的攻击给用户造成了巨大的经济损失。这使得安全性成为跨链桥开发的重中之重。这些攻击使用户损失了超过15亿美元。

一年内,跨链桥在黑客事件中的总损失约为13亿美元。跨链桥的使用手续费用在5左右。Multichain是跨链桥中的头部项目。Multichain的30天交易量为$1.7B,手续费收入为$635K。那么一年的交易量约为204亿美元,手续费收入为760万美元。按照这样预估,跨链桥市场的手续费总收益远小于被黑客盗走的资金。通过验证源链区块头,ZKP跨链消息协议可以缓解部分安全问题。用户可以直接在目标链上访问源链证明并自行验证证明。如果没有ZKP,这将很难做到。在传统项目中,这种验证成本太高,用户无法承受。设计

在这一部分,我们将讨论ZKP是如何实现低成本,安全的跨链信息通信。将ZKP用来中继消息的想法很直观,但详细设计可能很复杂。整个工作流程可以分解为以下步骤:决定将哪些数据传递给目标链获取存储证明根据存储证明生成ZK证明将ZK证明从起始链传递到目标链在目标链上展开ZK证明在目标链读取跨链信息生成存储证明

大多数EVM兼容链都提供了这个功能。一旦用户明确了存储槽位,他们就可以使用RPC调用此方法来生成存储证明。

EVM兼容链使用MerkleTree来存储账户和数据。这使得创建MerkleProof来验证这些数据变得相对简单。MerkleTree是计算机科学中使用的一种数据结构。在密码学和区块链中的使用较多。它以其发明者RalphMerkle的名字命名,也被称为二叉哈希树。MerkleTree背后的基本思想是将大量数据分成较小的部分,对每个部分进行哈希处理,然后组合哈希值以形成单个根哈希值。此根哈希充当整个数据集的指纹,允许对数据的完整性进行高效和安全的验证。在区块链中,MerkleTree用于汇总和验证区块中的交易。每笔交易都经过哈希处理并添加到树中,哈希值以特定方式组合形成单个根哈希值,然后添加到区块头中。这允许以一种高效且安全的方式来验证区块中大量交易的有效性,而无需单独验证每个交易。如果交易中的任何数据发生变化,根哈希也会发生变化,表明数据已被篡改。Merkle证明,也称为Merklepath,是一种密码学证明,证明特定数据包含在MerkleTree中。MerkleTree证明提供了一种验证交易或其他数据真实性的方法,而无需下载和验证整个MerkleTree。在Merkle证明中,用户提供了从MerkleTree底部到根哈希的一系列哈希,以及要验证的具体数据。通过从特定数据开始并沿着树向上,接收者可以计算根哈希并将其与存储在块头中的根哈希进行比较。如果计算出的根哈希值与存储的根哈希值匹配,则接收者可以确信特定数据包含在块中并且未被更改。Merkle证明是确保区块链网络的效率和可扩展性的重要组成部分。通过允许在无需下载和验证整个MerkleTree的情况下验证特定数据。MerkleProof减少了需要传输和处理的数据量,从而提高了网络的整体性能。结合存储证明和ZKP

将整个存储证明发布到目标链上是不切实际的,因为它太大了,大约4kb。对于证明进行验证也很昂贵。在以太坊上进行验证需要600kgas。如果gas价格为30gwei,则总费用为0.018ETH。在这种情况下,ZKP可以提供压缩和可组合性。开发者可以基于MerkleTreeProof创建ZKP。这可以大大减少证明的大小,并且使证明更容易验证。验证Plonk大约需要290kgas。如果gas价格为30gwei,则总费用为0.009ETH。一次Groth16验证使用了大约210kgas。如果gas价格为30gwei,则总费用为0.006ETH。借助可组合性,开发人员甚至可以将不同的存储证明组合到一个ZKP中以节省资源。中继ZKP

为了安全地将相关承诺,如状态根或相关的ZKP传递到目标链,我们需要设计一个共识机制。中继ZKP有3种常见的方式:消息传递:使用一些消息传递协议传递ZKP,并通过OPCODE获得相关承诺共识验证:通过运行共识算法来验证相关承诺OptimisticMPCrelayer:部分思路与我们在很多跨链资产桥和OPRU设计中看到的类似。初始链和目标链之间有一个委员会。委员会的参与者决定中继承诺的有效性。任何人都可以挑战有效性。但是当挑战发生时,桥不能像Rollup那样回滚。需要一组单独的挑战者真正阻止恶意消息的传递。在这种情境下,挑战成本高,且延迟高,因为这涉及不断将根哈希和所有CALLDATA上传到初始链。并且它也只能以点对点的方式工作。中继ZKP最为重要的是以下因素:延迟成本信任链下计算

消息传递的延迟相当高,因为消息传递需要时间来确认。在区块产生后,用户才能确认传递成功。在成本方面,消息传递需要与两个链进行交互,因此比较高。这种方式需要的信任较少,因为安全性等同于链的安全性。这种方式没有进行任何的链下计算。共识验证是一种可行的方法。它与信息传递具有类似的延迟,信任假设和成本。然而,它必须在链外验证签名。这引入了大量链外计算的开销。但共识验证今天也可以通过ZKP完成。OptimisticMPCrelayer牺牲了一些信任,但获得了更低的延迟。用户只需要将交易发布到中继器网络。具体的延迟取决于具体的optimisticMPCrelayer机制。挑战期可能会导致更大的延迟。用户需要对中继网络有最小的信任。这种方式没有大量的链外计算,但需要在中继网络中进行通信和欺诈证明。展开承诺

在得到承诺后,目标链上的用户可以展开承诺,访问初始链过去的状态。三种常见的展开方式是:链上积累链上压缩链下压缩链上积累是一种在区块链网络中展开承诺的方法。在这种方法中,从承诺中重新创建区块头的整个过程直接在区块链上执行。正确编码的区块头作为交易中CALLDATA,由区块链来执行计算。这种方法的好处是在证明时间方面没有额外开销。并且延迟很低,因为证明不需要在区块链之外进行验证。然而缺点是成本可能很高,因为计算可能是消耗很多资源。链上压缩是一种减少需要存储在区块链上数据量的方法。它用于最小化在区块链上存储大量数据的成本。链上压缩背后的想法是使用压缩算法来减小数据的大小,从而减少它在区块链上占用的空间。这可以通过从数据中删除冗余或不必要的信息,或使用针对空间效率优化的数据结构来完成。然后将压缩后的数据存储在区块链上,需要使用时可以解压。链上压缩具有降低存储成本和提高区块链可扩展性的优势。但是,它也有一些缺点。例如,压缩和解压缩数据的过程在计算上可能很昂贵,这会增加区块链的延迟。此外,所使用的压缩算法可能会对数据的安全性产生负面影响,因为它可能容易受到篡改或攻击。链下压缩和链上压缩类似。下面是这三种方法的对照表:

相关项目

很多ZK桥项目希望能提高不同链的互操作性,降低潜在的黑客风险。这一领域有很多项目,例如:SuccinctLabsLagrangezkBridgeHerodotous=nil;FoundationSuccinctLabs使用轻客户端方法。它使用轻客户端在目标链验证起始链共识层的共识。ZKP用于生成共识证明。LagrangeLabs构建非交互式跨链状态证明。LagrangeAttestationNetwork负责创建状态根。每个LagrangeNode都包含一部分分片私钥,用于证明特定链的状态。每个状态根都是一个阈值签名的VerkleRoot,可用于证明特定链在特定时间的状态。状态根是完全通用的,可以在状态证明中使用,以证明链中任何合约或钱包的当前状态。

Herodotus使用ZKP的存储证明来为智能合约提供对来自以太坊的链上数据的访问。它有一个MPCOptimisticRelayer来中继承诺。它采用链下压缩,在链下展开中继的区块链标头并创建证明。zkBridge使用MPC中继网络生成区块头的ZKP并将其中继到目标链。它使用deVrigo和递归证明来实现非常快的证明时间,但MPC部分有较高的复杂度。第一个用户发起跨链消息请求。初始链中的发送者接着将区块头转发到中继网络。中继网络中的验证者生成区块头的证明,并将其传递给更新合约。更新合约验证证明后,接受证明。更新合约将证明转发给接收者,接收者将其转发给目标链中的应用程序和用户。

=nil;Foundation也致力于ZK跨链消息协议。它使开发人员能够在以太坊上访问Mina的状态。他们在2021年底推出了一个演示,可以在以太坊上验证Mina状态。该基础设施允许以太坊上的智能合约验证Mina状态的有效性。有了这个基础设施,智能合约就有能力识别无效的跨链交易。Mina有自己的状态证明,但在以太坊上验证它们的成本很高。=nil;Foundation使用自己的Placeholder证明系统来生成辅助状态证明,这种证明在以太坊上验证起来很便宜。该基础设施使以太坊智能合约能够完全在链上验证Mina状态证明。未来跨链应用可以直接通过这个基础设施来验证跨链交易的合法性。一个基于此的资产跨链桥将包含以下几个步骤:跨链桥在Mina上锁定$Mina此基础设施生成Mina状态证明此基础设施将Mina状态证明提交至以太坊上以太坊链上合约验证状态证明的有效性以太坊链上合约接收并存储Mina状态证明,如果证明有效跨链桥在以太坊链上检验Mina和交易状态,释放$WMINA后来=nil;Foundation正在努力解决单向性问题。之前的demo中只支持单向的跨链通信。现在他们理论上支持双向桥接。初始链上的状态证明将在Placeholder证明系统中生成,并再次用Kimichi证明系统生成一个证明。然后再将证明提交给Mina验证者。验证者会将起始链状态证明视为Mina原生zkApp生成的证明。=nil;Foundation还发布了ProofMarket。用户/项目方在其中购买/出售大部分SNARK证明。目前有两种交易对,ARITHMETIC-EXAMPLE和MINA-STATE。这是这些项目的详细比较:

应用场景

借助基于ZK的跨链消息中继协议,开发者可以轻松地将应用扩展到不同的区块链。过去,合约部署主要集中在一条链上。当扩展到另一个链时,必须重新部署应用程序。使用基于ZK的跨链消息中继协议,将实现从单链应用到跨链应用的范式转变。大型项目可以轻松扩展到不同的链。这将产生与全球化类似的效果。我们希望看到更多的国际公司或大型跨链DApps。低延迟/实时和低成本的跨链消息中继协议将打开具有多种可能性的市场。DeFi、DID,治理和开发将从中受益DeFi

DeFi可以从中获益良多。跨链消息中继协议可以帮助DeFi产品整合来自不同链的流动性。DEX、跨链交易和聚合器可以提供更好的用户体验、更低的滑点和更高的交易对流动性。不同链上的同一个交易对将有一个统一的流动性池。不同链DEX之间的价格差异会更小。DEX显然可以聚集更多的流动性并提供堪比CEX的用户体验。Farming可以有更灵活的策略。他们现在可以在不同的链上寻找更多的获利机会。借贷协议可以与不同链上的更多DeFi协议合作,并接受更多不同链上不同Token的存款。链上衍生品将在流动性方面受到很大益处。通过安全的跨链通信,衍生品市场可以接触到更多不同链上的潜在客户,并且聚集更多的流动性。这可以提供更好的交易体验。资金管理应用可以访问更多来自不同链上的资产。他们还可以访问来自不同链上的衍生品。这使理财经理可以使用更多的投资策略。应用链

应用链或自定义Rollup为Dapps提供了更多的自由。Dapp开发人员可以自定义应用链以满足他们自己的需求,例如性能或一些技术特性。Dapp开发人员还可以自定义手续费结构以激励用户。Cosmos上有很多应用链,因为Cosmos具有更好的互操作性。ZK支持的跨链协议将是连接非Cosmos应用链与EVM或layer2生态系统的更好工具。许多正在开发的RollupSDK可以受益于ZK支持的跨链协议。Cosmos生态在APP链上领先于其他所有主要生态。Cosmos在跨应用链共享安全方面取得了良好进展。ZKP可能会促进Cosmos生态系统的扩展。Composablefinance正在努力将Cosmos扩展到Polkadot和NEAR。ElectronLabs和zkBridge正在将Cosmos带到以太坊。利用不同链的特性

没有一条区块链是完美的。它们以牺牲其他功能为代价为一个目的而优化。借助跨链消息传递协议,开发人员可以利用每个区块链的优势并避免其缺点。DApp开发人员可以在不同的链中部署他们的DApp组件。例如,由于计算费用低,某些链可能是计算的不错选择。一些链可能针对隐私进行了优化,这将作为Dapp的隐私功能。有些链可以托管文件,有些则适合提供前端。跨链消息传递协议可以将这些组件粘合在一起,并允许开发人员充分利用每个区块链。总结

ZKP为跨链通信提供了一种全新的方式。它虽然不能完全解决传统跨链桥的安全问题,但借助ZKP的力量,安全的跨链消息通信现在大大降低了成本。证明的大小比以前小得多。链上验证成本也降低了很多。能够在目标链上验证源链状态,可以实现类似IBC式的共享安全性。在过去是不可能低成本的实现的。ZK跨链通信协议赋予不同链上协议互相交流的能力。开发者能够基于ZK跨链协议开发全链DApp。DeFi,应用链将从中受益。跨链通信协议仍处于起步阶段。开发人员正在努力开发这些协议,诸如如何在不同链之间实时同步状态等问题仍然没有解决。调试跨链DApp也可能很痛苦。开发者在探索构建跨链Dapp的最佳模式,我们将在未来几年看到跨链Dapp的影响。作为连接不同区块链的跨链通信协议,它将与全球化一样具有影响力。原地址

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

链链资讯

[0:15ms0-7:154ms