# 我们为什么需要zk跨链桥

By [Eric OUOU](https://paragraph.com/@eric-ouou) · 2023-02-10

---

未来一定是多链的世界，而跨链桥会成为核心基础设施之一。目前市场上跨链产品众多，但各类跨链桥攻击事件也层出不穷。根据SlowMist Hacked数据，2022年跨链桥安全事件共发生15起，损失高达12.1亿美元。本文将介绍主流跨链桥模式，并尝试引入跨链桥领域的“不可能三角”，说明为什么zk（零知识证明）有可能引发跨链桥领域的下一波叙事。

1.  **_什么是跨链桥_** 每条区块链都是独立运行的，彼此均不知晓对方的状态，当用户想实现区块链间的讯息传递，如资产转移，就必须用到跨链桥。跨链桥的核心是如何让一条区块链相信另一条区块链传递来的讯息是真实有效的，这也是各跨链桥协议的技术差异体现。值得注意的是，本文不会去探讨跨链完成后的资产生成模式，市场主流方法是资产封装映射或建立跨链资产流动池。
    
2.  **_主流跨链桥模式_** 目前主流跨链桥可以分类为可信中继器（又称外部验证）、乐观验证、原生验证和本地验证四种： **（1）可信中继器** 可行中继器，或外部验证，顾名思义就是引入第三方来监控跨链需求，并验证跨链消息。用户对该模式的信任假设是必须相信中继器是可靠的，且中继器可能非去中心化运营。中继器的呈现形式是多样的，包括多签、MPC、预言机和上游链等。值得注意的是，LayerZero也算是可信中继器，虽然其采用预言机（Chainlink）从源链读取区块头和中继器交易证明共同验证的方式，但本质上还是需要对预言机和中继器不会串谋进行信任假设。 可信中继器的问题十分明显，即信用成本很高，容易出现安全事故，典型案例包括PolyNetwork、Wormhole被盗。但可信中继器由于验证简单（仅验证签名）和中心化，理论上也能为用户提供更快跨链速度和更低跨链成本。目前，采用可信中继器模式的代表项目包括：Multichain、Wormhole、LayerZero、Ronin Bridge等。 **（2）乐观验证** 类似op-rollup，乐观验证也是先假设跨链信息是真实有效的，但设置挑战者和挑战期，对不正确的跨链信息进行挑战。乐观验证代表案例是Nomad，其协议中有三个角色：更新者（Updater）、中继器（Relayer）和监督者（Watcher）。其中，更新者负责对跨链信息签名并质押代币保证不会作恶；中继器负责将跨链信息和更新者签名发送至目标链上（不同于可信中继器模式，乐观验证模式下不需要对中继器有信任假设）；监督者负责监督更新者，如更新者作恶，则需要在挑战期内将证据，即更新者对伪造信息的签名，发送给源链，并罚没更新者的质押代币。值得注意的是Nomad确定的挑战期是30分钟，远低于op-rollup的7天，这主要是由于以太坊并不自然保有Layer2的交易信息，而乐观验证跨链下的源链自然保有跨链信息，能很快对伪造信息进行验证。 乐观验证的缺点也很明显，一方面，存在挑战期，跨链转态最终确认的及时性一般；另一方面，要相信监督者不会作恶，即监督者不会选择作废一笔正常跨链交易，但这可以通过引入多个监督者来规避。 **（3）原生验证** 原生验证的逻辑是在目标链部署轻节点（链下或链上智能合约），通过中继器实时同步储存源链的区块头信息。原生验证模式下，无需对中继器有信任假设，因为轻节点会对区块头信息进行验证。原生验证典型项目是Cosmos IBC和Near Rainbow Bridge。 但原生验证的问题在于：一方面，轻节点需要对区块头进行共识机制验证，这个过程计算量较大，特别是对于PoS共识，而且在智能合约储存PoS区块验证者公钥相当昂贵；另一方面，每条链的最终性确认时间存在差异性，如BTC需要等待6个区块（约1小时），以太坊需要等待25个区块（大概需要5分钟），我们称为“概率最终性”，而Cosmos可即时实现最终性确认，我们称为“绝对最终性”，这可能造成不同跨链体验差异。 **（4）本地验证** 本地验证指由交易方本人进行验证，典型方式是HTLC（Hashed TimeLock Contract，哈希时间锁）。假设甲想用链A上的代币A交换乙在链B上的代币B，则HTCL的基本过程是：一、甲生成随机字符串S，并对字符串计算哈希值；二、甲将哈希值发送至乙的HTLC合约；三、甲在HTLC合约中锁定约定数量的代币A，设置一锁定时间T1，并规定如乙可以提供哈希值的原始字符串S，就可以获得约定数量的代币A；四、乙在HTLC合约中锁定约定数量的代币B，设置一锁定时间T2（T2需小于T1），并规定如甲能提供哈希值的原始字符串S，就可以获得约定数量的代币B；五、甲将字符串S发送至乙的HTLC合约，获得约定数量的代币B；六、乙将甲提供的字符串S发送至甲的HTLC合约，获得约定数量的代币A。值得注意的是，如果锁定时间T2结束时，乙未解锁代币A，则会将代币B退回给乙；同理，如锁定时间T1结束时，甲未解锁代币B，则会将代币A退回给甲。 本地验证优点是非常安全，但局限性也十分明显：首先，区块链要基于相同的哈希算法并兼容HTLC合约，且不支持Wrap桥；其次，跨链用户必须持续在线；再次，跨链发起方需被动等待对手方响应跨链请求，如对手方因故无法进行交易，则必须等锁定时间后才能退款；最后，只能做资产交换，不能传递信息。本地验证典型项目是cBridge v1和Connext。
    
3.  **_为什么zk能突破跨链不可能三角_** 通过对目前主流跨链桥模式的总结，我们可以发现，尚未有某种跨链桥模式能同时实现及时性（快速实现跨链动作）、安全性（无需信任假设）和通用性（支持任何信息跨链）。那么，上述四种主流跨链桥模式是否仍有优化空间来在某种程度上突破“跨链不可能三角”呢？ 首先，可信中继器模式的前提就是引入第三方信任假设，所以很难在安全性方面取得突破性进展。其次，乐观验证如缩短挑战期，则提高了不实跨链信息未被监督者发现的风险。再次，本地验证在适配更多区块链、传递跨链信息和及时性方面均存在固有限制。最后，对于原生验证模式，其最大短板是跨链验证成本较高，有没有技术能解决这个问题呢？有，答案就是zk（零知识证明）。 zk（零知识证明）是一种在不暴露事件本身的情况下证明事件有效性的方法。根据其定义，我们可知zk有两个特点：隐私性和扩展性。隐私性是指zk可通过消除信息披露来证明声明是真实的；而扩展性则是指zk只需要声明（体积小）本身，而非原始信息（体积大），即可证明声明是真实的。原生验证模式就可以用到zk的扩展性，来将需要跨链验证的信息形成零知识证明，降低链上验证成本、提高链上验证速度。具体而言，传统原生验证模式下在链间传递信息的中继器将变成zk中继器，向目标链传递源链区块头的零知识证明，提前部署在目标链上的智能合约只需验证零知识证明，即可确定跨链信息真实性。 目前，探索zk跨链桥的项目主要有Succinct Labs、zkBridge（Berkeley RDI）、Way Network和Multichain于2023年1月刚公布的zkrouter。其中，Succinct Labs的目标是做以太坊转PoS共识后与其他链间的资产跨链，现已发布从以太坊Goerli网至Gnosis的单向资产跨链demo；而zkBridge（Berkeley RDI）、Way Network和Multichain更想做底层协议，让有跨链需求的dApps在其上运行。
    
4.  **_zk还能为跨链桥带来什么？_** zk赋能于跨链桥不仅限于更强的可扩展性和效率，还有隐私跨链和大文件跨链。 **（1）隐私跨链** 由于区块链链上信息的公开性，私密信息保护在Web3世界有刚性需求。zk在隐私保护方面优势较为突出，因其可通过完全不泄漏任何信息的证明来完成事件验证，同时支持大规模交易。著名混币器项目Tornado Cash就运用到了zk来验证存款有效性。未来跨链隐私交易、隐私身份验证，甚至跨链监管检查等领域，相信都会看到zk的身影。 **（2）大文件跨链** 去中心化储存明星项目Filecoin技术底层就是zk，即矿工将用户有储存需要的文件储存在链下，并生成基于zk的储存证明，供Filecoin主链验证矿工的实际储存状态。基于Filecoin的技术底层，可以打造跨链的大文件传输体系。具体而言，可以通过IPFS储存大文件，并利用zk形成索引该大文件的唯一ID进行跨链传递，打造zk大文件跨链网络。
    

如与本文有相异观点，欢迎联系本人讨论交流！

微信：42194723

Twitter：sq0281

---

*Originally published on [Eric OUOU](https://paragraph.com/@eric-ouou/zk)*
