SEC:ZK 跨链通信协议:安全低成本构建全链 DApp 的未来_DAP

作者:Yiping,IOSGVentures

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实例可以相互通信,并可以定期将数据同步到一个实例。该实例获取所有数据并可以修改其他实例上的参数。

Layer2 ZK Rollup的NFT市场Mint Square上线.stark域名:9月17日消息,基于以太坊Layer2 ZK Rollup的NFT市场Mint Square上线由Starknet.id提供支持的.stark域名。.stark个人资料URL现已支持Mint Square测试网,主网即将推出,目前可按长度过滤或按类别进行搜索浏览。[2022/9/17 7:02:48]

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

当下

大多数区块链网络相互隔离,无法直接交换资产或代币。跨链资产桥允许用户在不同的区块链网络之间转移资产或代币。

随着Wormwhole、cbridge和Stargate等项目的推出,跨链资产桥的概念在过去几年开始受到关注。这些项目旨在创建可互操作的区块链桥,用户可以无缝地交换资产和代币。

跨链资产桥无法满足开发者的需求。开发人员正在寻找一种更通用的跨链方法,即跨链消息协议。

为了满足开发者的需求,这些跨链桥大多都有自己的跨链消息协议,例如CelerIM、LayerZero、Multichain的anyCall、Connext的xcall。他们提供了类似这样的API

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

跨链消息通信协议仍处于早期阶段。没有大型全链DApp完全建立在这些跨链通信协议之上。

为什么需要ZK?

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

ZK Rollup 订单簿 DEX ZigZag 疑似已在以太坊上部署“ZZ”代币合约,总量 1 亿枚:6月20日消息,ZK Rollup 订单簿 DEX ZigZag 疑似已在以太坊上部署代币“ZZ”的智能合约,总量 1 亿枚。此前 ZigZag 发推“24th June”,疑似暗示代币发行的相关时间节点。

此前报道,6 月 14 日 ZigZag 在 GitHub 上提交代币源代码。[2022/6/20 4:39:45]

一年内,跨链桥在黑客事件中的总损失约为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用于汇总和验证区块中的交易。每笔交易都经过哈希处理并添加到树中,哈希值以特定方式组合形成单个根哈希值,然后添加到区块头中。这允许以一种高效且安全的方式来验证区块中大量交易的有效性,而无需单独验证每个交易。如果交易中的任何数据发生变化,根哈希也会发生变化,表明数据已被篡改。

路印协议 Steve Guo:短期Optimistic 或胜出,中长期ZK Rollup将胜出:3月11日,在以《Layer2百花齐放, DeFi 们如何“站队”?》为主题的AMA中,路印协议CTO Steve Guo、Synthetix大中华区负责人Dorothy、Huobi Global商业战略总监哲叔、Starks Network联合创始人张晓关于即将到来的Layer2展开了精彩的对话。

Steve Guo表示,路印协议的设计考量最重视安全性。zkRollup相比于Optimistic Rollup来说,最大的好处就是在于能保证用户资产结算的最终确定性时间比较短,能做到分钟级别,而Optimistic Rollup则需要1周以上的时间。

Steve Guo认为“在短期内,对于通用EVM计算而言,Optimistic Rollup可能会胜出,随着ZK-SNARK技术的改进,在中长期而言,ZK Rollup将在所有用例中胜出。”在接下来2年左右的时间,会多个Layer2共存。一些严重受限于Layer1资源的一些应用场景会在Layer2上得到更大的爆发,比如DEX,去中心化的永续合约,去中心化的期权等项目。[2021/3/11 18:36:52]

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中以节省资源。

Balancer联合创始人:100%专注于以太坊 扩展方案Zk Rollups最有前途:10月28日,Balancer联合创始人兼CTO Mike McDonald发推阐述其对Balancer以及扩容解决方案的看法。他表示,重要的是要明确我们100%专注于以太坊。 尽管Balancer已经为一些第三方提供了小额赠款,帮助他们在其他L1网络上实施Balancer协议,但这只是处于研究目的,所有的内部努力仍在以太坊上。与此同时他还表示,Zk Rollups是最有前途的扩展方案,并且也是Balancer目前在内部探索的唯一的扩展路径。 话虽如此,但从L2演示应用迈向具有有意义的资金锁定状态的共存的L2仍然需要大量时间和持续开发。[2020/10/28]

中继ZKP

为了安全地将相关承诺,如状态根或相关的ZKP传递到目标链,我们需要设计一个共识机制。

中继ZKP有3种常见的方式:

消息传递:使用一些消息传递协议传递ZKP,并通过OPCODE获得相关承诺

共识验证:通过运行共识算法来验证相关承诺

OptimisticMPCrelayer:部分思路与我们在很多跨链资产桥和OPRU设计中看到的类似。初始链和目标链之间有一个委员会。委员会的参与者决定中继承诺的有效性。任何人都可以挑战有效性。但是当挑战发生时,桥不能像Rollup那样回滚。需要一组单独的挑战者真正阻止恶意消息的传递。在这种情境下,挑战成本高,且延迟高,因为这涉及不断将根哈希和所有CALLDATA上传到初始链。并且它也只能以点对点的方式工作。

中继ZKP最为重要的是以下因素:

延迟

成本

信任

链下计算

消息传递的延迟相当高,因为消息传递需要时间来确认。在区块产生后,用户才能确认传递成功。在成本方面,消息传递需要与两个链进行交互,因此比较高。这种方式需要的信任较少,因为安全性等同于链的安全性。这种方式没有进行任何的链下计算。

共识验证是一种可行的方法。它与信息传递具有类似的延迟,信任假设和成本。然而,它必须在链外验证签名。这引入了大量链外计算的开销。但共识验证今天也可以通过ZKP完成。

OptimisticMPCrelayer牺牲了一些信任,但获得了更低的延迟。用户只需要将交易发布到中继器网络。具体的延迟取决于具体的optimisticMPCrelayer机制。挑战期可能会导致更大的延迟。用户需要对中继网络有最小的信任。这种方式没有大量的链外计算,但需要在中继网络中进行通信和欺诈证明。

展开承诺

V神:ZK Rollup和Optimistic Rollup均取得巨大进展:以太坊创始人V神刚刚发推表示,Rollups(包括ZK Rollup和Optimistic Rollup)已经存在并继续取得巨大进展。虽然分片(sharding)仍在快速发展,但我们并不依赖于分片来实现1000+的链上TPS。在eth2中,分片和Rollups的缩放增益将成倍增加。[2020/5/21]

在得到承诺后,目标链上的用户可以展开承诺,访问初始链过去的状态。

三种常见的展开方式是:

链上积累

链上压缩

链下压缩

链上积累是一种在区块链网络中展开承诺的方法。在这种方法中,从承诺中重新创建区块头的整个过程直接在区块链上执行。正确编码的区块头作为交易中CALLDATA,由区块链来执行计算。这种方法的好处是在证明时间方面没有额外开销。并且延迟很低,因为证明不需要在区块链之外进行验证。然而缺点是成本可能很高,因为计算可能是消耗很多资源。

链上压缩是一种减少需要存储在区块链上数据量的方法。它用于最小化在区块链上存储大量数据的成本。链上压缩背后的想法是使用压缩算法来减小数据的大小,从而减少它在区块链上占用的空间。这可以通过从数据中删除冗余或不必要的信息,或使用针对空间效率优化的数据结构来完成。然后将压缩后的数据存储在区块链上,需要使用时可以解压。

链上压缩具有降低存储成本和提高区块链可扩展性的优势。但是,它也有一些缺点。例如,压缩和解压缩数据的过程在计算上可能很昂贵,这会增加区块链的延迟。此外,所使用的压缩算法可能会对数据的安全性产生负面影响,因为它可能容

易受到篡改或攻击。

链下压缩和链上压缩类似。

下面是这三种方法的对照表:

相关项目

很多ZK桥项目希望能提高不同链的互操作性,降低潜在的黑客风险。

这一领域有很多项目,例如:

SuccinctLabs

Lagrange

zkBridge

Herodotous

=nil;Foundation

SuccinctLabs使用轻客户端方法。它使用轻客户端在目标链验证起始链共识层的共识。ZKP用于生成共识证明。

LagrangeLabs构建非交互式跨链状态证明。LagrangeAttestationNetwork负责创建状态根。每个LagrangeNode都包含一部分分片私钥,用于证明特定链的状态。每个状态根都是一个阈值签名的VerkleRoot,可用于证明特定链在特定时间的状态。状态根是完全通用的,可以在状态证明中使用,以证明链中任何合约或钱包的当前状态。

Herodotus使用ZKP的存储证明来为智能合约提供对来自以太坊的链上数据的访问。它有一个MPCOptimisticRelayer来中继承诺。它采用链下压缩,在链下展开中继的区块链标头并创建证明。

zkBridge使用MPC中继网络生成区块头的ZKP并将其中继到目标链。它使用deVrigo和递归证明来实现非常快的证明时间,但MPC部分有较高的复杂度。

第一个用户发起跨链消息请求。初始链中的发送者接着将区块头转发到中继网络。中继网络中的验证者生成区块头的证明,并将其传递给更新合约。更新合约验证证明后,接受证明。更新合约将证明转发给接收者,接收者将其转发给目标链中的应用程序和用户。

=n

il;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协议合作,并接受更多不同链上不同代币的存款。

链上衍生品将在流动性方面受到很大益处。通过安全的跨链通信,衍生品市场可以接触到更多不同链上的潜在客户,并且聚集更多的流动性。这可以提供更好的交易体验。

资金管理应用可以访问更多来自不同链上的资产。他们还可以访问来自不同链上的衍生品。这使理财经理可以使用更多的投资策略。

应用链

应用链或自定义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的影响。作为连接不同区块链的跨链通信协议,它将与全球化一样具有影响力。

戳这里调戏AI?

https://glazec-zkbridge-streamlit-app-ord6v2.streamlit.app/

参考

https://medium.com/@ingonyama/bridging-the-multichain-universe-with-zero-knowledge-proofs-6157464fbc86

https://www.youtube.com/watch?v=8mE_0qZNVjo

https://www.ingonyama.com/blogs/bridging-the-multichain-universe-with-zero-knowledge-proofs

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

大币网

[0:0ms0-7:739ms