LayerZero 的核心设计思想在于Oracle (预言机)和 Relayer(中继者)的分离,在 LayerZero 中,Relayer 负责传递消息及消息证明,Oracle 负责根据消息所在区块,按需从源链获取区块头,然后目标链上的终端根据 Oracle 获取的区块头验证 Relayer 传递的交易。只要二者不串通,就可以保证跨链的安全。 需要注意,尽管 Layerzero 将其技术方案称为超轻节点(Ultra Light Node),但方案与Light Client有本质上的不同。LayerZero 通过 Oracle 提供的区块头来验证 Relayer 提供的交易证明,验证过程在目标链的终端发生,属于原生验证,但是对区块头本身的验证却是由作为外部验证人的第三方 Oracle 网络来完成的,验证过程发生在链下。 跨链解决方案3:有质押多签 在MPC的基础上增加了一层权益证明,典型项目有Celer, Axelar, deBridge, Hyperlane, Thorchain。 如果作恶,验证者的质押将被大幅削减,在经济上实际增加了验证者的欺骗成本。 PoS 桥要面对的一个问题是验证者的不均衡性,为了缓解该问题,Axelar 采用了二次方投票的方案,签名权重将与验证人质押的 $AXS 数量的平方根成正比;Hyperlane 则采用“可验证欺诈证明”方案,验证人联合作恶将立即被发现并执行 Slash;pNetwork 和 Bool Network 则直接要求所有节点质押相同数额的 Token。 跨链解决方案4:乐观验证(optimistic validation) 运用了博弈论知识,通过用户间的博弈场景提高用户作恶风险,典型项目有 Nomad, Synapse。 乐观验证的基本逻辑是:在外部验证的基础上,设置一批挑战者和一个挑战窗口期,对不正确的验证进行挑战,验证者需要抵押,当其行为不当时,挑战者将提出挑战,并提供欺诈证明。若挑战成功,验证者的抵押金将成为挑战者的赏金。 Nomad项目设置的挑战窗口期是30分钟。对于乐观验证方案,只需要至少有一个挑战者是诚实的,而且有经济激励去进行挑战。这相比外部验证而言,是更小的信任假设,在这样的信任假设下,攻击者无论付出多大的经济代价,都不能保证攻击一定成功。 原本跨链方案到此就结束了,但ZKP零知识证明技术的发展,为跨链桥的安全和效率两难困境带来了新的解决方案。 什么是ZK Bridge? ZK Bridge是使用零知识证明技术的跨链桥,不引入信任假设,适配多种同构/异构链,链下生成零知识证明,链上只负责验证,大大降低链上计算和存储成本,具有零信任、无许可、可拓展、高效率的特性。 我们先对轻客户端的原理做一个基本概述。轻客户端,也称轻节点,在链上往往以轻智能合约的形式呈现。轻客户端跨链的基本原理是在目标链部署源链的轻节点合约,对源链来的消息进行验证。如果要实现双向跨链,就需要在两条链上互相部署对方链的轻节点合约。 相比全节点,轻节点是轻量化的节点,它不存储完整区块的序列,而仅存储区块头的序列。尽管区块头体积很小,但它包含了对区块中完整数据的密码学概括。当轻节点需要知道某个交易是否被包含在链中时,可以通过该交易所在区块的区块头及该交易的 Merkle 路径,对该交易执行 SPV 验证。 下图中,绿色方块的合集,就是蓝色方块的默克尔路径。 为了维护目标链上部署的源链轻节点,需要由链下代理将源链的区块头不断同步到目标链。轻节点合约对负责同步区块头的链下代理并没有信任假设。因为轻节点合约会对其同步的区块头执行验证,链下代理无法欺骗轻节点。 轻节点验证区块头的逻辑,与全节点、矿工节点别无二致,分为有效性验证和最终性验证两部分。 LK Venture 投研团队认为,对于 PoW 链来说,有效性验证主要是指验证区块的工作量证明,最终性验证则是看该区块头后面有没有更多的有效区块被追加(在 BTC 链中,一般认为 6 个区块的追加可以确认一个区块的最终性,在以太坊中,则一般认为 25 个区块的追加可以确认一个区块的最终性)。 对于 PoS 链而言,有效性验证是指验证该区块是否由被随机选中的出块人生成,最终性验证则是看该区块是否被 2/3 以上投票权重的验证人签名。但 PoS 的轻节点并不需要验证有效性,只需要验证最终性。因为PoS链中,最终的区块一定有效,PoW链则未必。 ZK Bridge的实现,与轻节点加中继的方案流程相同,只是略有变化。ZK Bridge中,依然需要链下的中继者监听源链,将源链的区块信息转发到目标链。但是转发的不仅是区块头,还有使用ZK-SNARK算法生成的有效性证明。而在目标链上,轻节点也不是通过直接根据区块头进行计算去验证交易的有效性,而是根据有效性证明在链上验证,减轻计算负担。 ZK Bridge的实现技术路径 为什么ZK Bridge有望终结跨链大战? 在目前以完成部署投入使用的跨链桥中,有多个项目都曾经遭受过严重的安全攻击,被盗金额非常巨大,在当时造成大规模的恐慌,时至今日大家仍对各大跨链桥的安全性抱有怀疑态度。人们愈发需要一个安全、零信任、去中心化的跨链桥,为未来的全链生态打下坚实基础。 2022年度部分跨链协议损失资金及追回资金统计 图片来源: DeFiyield (https://defiyield.info/) 在LK Venture 投研团队看来,ZK Bridge为跨链桥的安全和效率难以兼顾的困境带来了新的解决方案,即通过在链下生成对区块头的零知识证明,源链区块头的正确性由ZK-SNARK算法生成的证明去验证,因此没有增加任何外部的信任假设,唯一信任的是数学。 而且,零知识证明在链上的验证过程较原有的轻节点验证方案,将显著降低计算和存储成本。 ZK Bridge部分项目介绍 Succinct by Succinct Labs Gnosis Chain Omnibridge是Ethereum与Gnosis之间的跨链桥,使用的是MPC的主流方案。 Gnosis团队成员希望能够探索不依赖中心化实体的跨链设计,Succinct Labs和Gnosis团队就此展开合作,Gnosis DAO提供grant用于R&D。 以太坊的验证过程主要包括以下内容的验证:区块头的Merkle证明;同步委员会中验证者的Merkle证明;正确轮换同步委员会的BLS签名等。这里的核心思想是使用zk-SNARK(Groth16)生成大小恒定的有效性证明,可以在Gnosis上进行高效的链上验证。 Succinct跨链解决方案图解 图片来源: Succinct官网 (https://www.succinct.xyz/) Succinct Labs的跨链方案能够在任意两条Ethereum兼容的PoS链间传递任意消息。当前实现了Ethereum与Gnosis之间的跨链Demo,Ethereum上部署了bridge deposit合约,允许用户储蓄。bridge deposit会传递消息给arbitrary message bridge (AMB),AMB在合约中存储该消息。Operator负责获取同步委员会的证明,为有效的BLS签名验证生成SNARK证明,并向Gnosis链轻客户端提交更新。 在Gnosis Chain上,存款交易所在的以太坊区块被确认(通常2 epochs,约12分钟),并且轻客户端已经更新到高度大于或等于该块的区块后,Relayer会自动向Gnosis AMB提交一个executeMessage交易。executeMessage交易包含针对轻客户端已更新的插槽的Merkle存储证明。在executeMessage期间,AMB使用轻客户端获取所请求插槽的以太坊状态根,并验证Merkle存储证明,以显示消息已在AMB的另一侧上send。然后,AMB使用消息中指定的calldata调用接收智能合约。 出于技术栈成熟程度和链上验证开销的考虑,团队选择使用当前最成熟的Circom语言和链上验证最便宜的Groth16证明系统来生成ZK-SNARKs,而没有使用更新更快的PLONK + KZG or FRI。 值得注意的是,该项目虽然上了测试网,但是可用性较差。经作者测试,Goerli测试网的Succincts token经过bridge数量减少,但是Gnosis网络未收到token,同时网站上的dashboard没有bridge记录显示。而且需要注意现在的跨链是单向的。只能从Goerli到Gnosis,而不能反过来。 zkBridge by BerkleyRDI zkBridge通过ZK-SNARKs证明远程区块链的区块头的正确性,因此不会引入任何外部信任假设。事实上,只要连接的区块链和基础轻客户端协议是安全的,并且区块头中继网络中存在至少一个诚实的节点,zkBridge就是安全的。当然,值得注意的是,虽然至少一个诚实节点就能保证安全性,但是不诚实节点过多会显著降低跨链桥的可用性,light client会频繁拒绝传来的proof,而无法获取真实信息。 zkBridge跨链解决方案图解 图片来源: https://rdi.berkeley.edu/zkp/zkBridge/zkBridge.html 具体来说,zkBridge主要由区块头中继网络Block Header Relay Network和更新者合约Updater Contract组成。在区块头中继网络中,中继从发送者区块链 C1 中检索区块头,生成区块头有效性证明,并将区块头及证明发送到设置在接收者区块链 C2 上的更新器合约中。对于更新器合约,一旦相关证明通过验证,C1 的相应区块头将被存储。此外,更新器合约还维护一个轻客户端状态。一旦添加新的区块头,合约就像 C1 上的其他轻客户端一样更新轻客户端状态,并更新 C1 的当前主链。更新器合约还向应用程序公开一个功能,通过该功能,C2 上的应用程序可以获取 C1 上给定高度的区块头。在获得区块头信息后,应用程序可以进行更多的验证(例如特定交易)并构建自己的应用。 为了使底层 zk-SNARK 系统与链上使用兼容,需要快速证明生成和低链上证明验证成本。zkBridge 的主要创新是: deVirgo:采用分布式的方法来生成 ZK-SNARK 证明,且无需信任假设。deVirgo方法通过将计算工作进行拆分,分配给更多的设备,大幅度提升了在链下生成 ZK-SNARK 证明的时间。 递归证明:为了降低链上成本,zkBridge 使用递归证明,通过两次递归,将 ZK-SNARK 证明的体积压缩到 131 字节左右。第一步生成deVirgo证明,第二步使用Groth16证明生成器进行压缩。Groth16验证器生成执行deVirgo电路的完整性证明。 批处理:zkBridge 实现了一个区块头的更新合约,它以区块高度为输入,返回相应区块头。但 zkBridge 并不会在每个新区块产生时,调用更新合约,证明者可以先收集 N 个区块头,生成一个单一的证明。N 值可以设置,N 越大,用户等待时间越长但系统运行成本越低。 目前 zkBridge 已经以 Solidity 在以太坊上实现了一个 Cosmos Client 的实例,据测试,可以在 2 分钟内生成一个 Cosmos Zone 区块头的 ZK-SNARK 证明,然后在以太坊端,验证费用是小时230k gas的常量,对比来看,如果不用 ZK-SNARK 证明,这个费用将是 64 Million Gas 。 需要注意,中继网络计算将遭受与MPC相同的通信复杂性,这将严重影响证明时间。 GKR多层求和检查协议的通信复杂度为O(N log2(签名数量)),其中N台机器在中继网络中。即使对于32个签名的情况,中继网络中有32台机器,也可能导致网络中大量顺序通信,损害分布式计算带来的性能。 zkIBC by Electron Labs 具体而言,zkIBC希望模拟Cosmos主权链使用的无信任通信协议——Inter Blockchain Communication Protocol (IBC),并将使用拓展到Ethereum。 zkIBC使用ZK-SNARKs进行轻客户端状态验证,快速证明Ethereum上交易,跟上Tendermint共识链的出块时间。 主要的难点在于在Cosmos SDK中使用的Tendermint轻客户端运行在Ed25519曲线上,而以太坊区块链不支持该曲线,在以太坊的BN254曲线上验证Ed25519签名昂贵和低效。 项目路线图分为五个阶段:调研-ed25519签名证明的实现-测试网-递归Snark实现减少冗余-主网。2023年2月2日,Positron testnet正式面向公众上线,支持Near和Ethereum之间的跨链。当前的测试网需要等待约20-30分钟才能实现最终性,其中包括Goerli网络最终性(15-20分钟)、ZK-Proof生成(5-8分钟)、Near链上铸造(10-20秒)。 该项目宣称完全开源,经过测试,跨链过程使用流畅,UI/UX设计良好,且支持双向跨链。 思考 区块链技术发展到一定阶段,通常会演化成为关于取舍的哲学。在公链中,有着安全-可拓展-去中心化的三难困境;而在跨链中,可能也存在着安全-效率的两难困境:追求效率,则会引入第三方信任假设,导致安全性受损;追求安全,使用完全轻节点与中继的方案,则会招致高昂的链上严重费用。 但是实际上,从制度设计上来看,即使是信任程度最高的无质押MPC方案,其实也在绝大多数情况下保证了跨链桥的安全。之所以多个跨链桥被盗,反而是因为追求透明将代码开源,复杂代码中隐藏的漏洞让黑客有了可乘之机。 LK Venture认为,随着技术不断进步,ZK方案可用性逐渐增强,ZK Rollup有望在2023年下半年将投入大规模使用,ZK Bridge也方兴未艾。希望ZK Bridge技术的成熟,能够打破跨链当前面临的安全-效率两难困境,让万链互联的愿景得以实现。 关于LK Venture: 蓝港互动 (08267.HK) 旗下聚焦Web3领域的加密投资与研究机构,前身为共识实验室(Consensus Lab),侧重投资市场前沿的基础设施、交易平台、技术协议和金融工具,曾投资FTX、Polkadot、Filecoin、Casperlabs、Coin98等来自北美、亚洲、欧洲等国家地区的百余个项目。 参考资料: 1. zkBridge: Trustless Cross-chain Bridges Made Practical(https://rdi.berkeley.edu/zkp/zkBridge/zkBridge.html) 2. Bridging the Multichain Universe with Zero Knowledge Proofs(https://medium.com/@ingonyama/bridging-the-multichain-universe-with-zero-knowledge-proofs-6157464fbc86) 3. Exploring ZK Bridges(https://zkvalidator.com/exploring-zk-bridges/) 4. Overall Comaprison Between Multiple Blockchains(https://dune.com/springzhang/cross-blockchain-comparison-overview) 免责声明: 本文介绍的信息及资料均源于公开渠道,本公司对其准确性和完整性不作任何保证。涉及对未来情况的描述或者预测均属前瞻性陈述,任何建议及观点仅供参考,不构成对任何人的投资建议或者暗示。本公司可能采取的策略,与读者根据本文自行推测的策略,可能相同、相反或者毫无关系。 来源:金色财经lg...