一文读懂零知识证明区块链项目
零知识技术是密码学的一个分支,可以为许多Layer 1区块链项目解决扩容和隐私问题。区块链可以利用零知识证明技术提升交易吞吐量,在验证用户身份的同时保护用户数据隐私,实现复杂的计算,并让企业既可以利用区块链技术又能保护自身知识产权。在上述所有应用场景中,零知识证明都是不可或缺的关键技术。
什么是零知识证明(ZKP)?零知识证明可以让用户在不透露信息的前提下证明自己知道或拥有信息。“证明者”(prover)会利用某一系统输入的信息来创建证明,而“验证者”(verifier)则会验证这个证明的计算结果,但却无法得知信息的具体内容。最关键的是,零知识证明可以验证某一数据集的有效性,并同时保护数据隐私。
本文将探讨零知识证明解决方案的独特优势;区块链项目如何利用zkSNARK和zkSTARK等零知识证明技术帮助开发者打造高级的dApp,在为Web3实现扩容的同时也保护用户隐私;以及Chainlink的信任最小化服务如何帮助这些协议提升去中心化水平、可靠性以及安全性。
为什么要采用零知识证明技术构建网络?
零知识技术可以让开发者既能利用以太坊等底层区块链的安全性,又能为dApp提高交易吞吐量和速度,并同时将用户个人信息放在链下,以保护用户隐私。交易将打包上传至链上,以降低终端用户的使用成本。最终,项目可以利用这些功能打造出高级的dApp,不仅在性能上可以与Web2系统媲美,而且还能保持Web3去中心化的优势。
零知识证明方案VS Optimistic Rollup
optimistic rollup是一种Layer 2技术,是目前主流的扩容方案。据分析网站L2Beat的统计,截止至2022年6月29日,optimistic rollup占以太坊Layer 2网络总锁仓量的74.3%,而零知识证明方案则占25.9%。
零知识扩容方案和optimistic rollup最大的区别就是交易验证的方式不同。optimistic rollup采用欺诈证明(fraud proof),只有在Layer 1区块链上裁决状态变更纠纷时才需要生成欺诈证明;而零知识技术方案则是在每一批交易打包上传至链上时都会发布有效性证明(validity proof)。也就是说,采用零知识证明的协议永远都是有效的状态,而代价则是要花更多的gas费在底层区块链上验证有效性证明。
然而,将zk-rollup与链下数据结合可以有效优化gas费。这种效率更高的零知识技术方案包括“validium”和“volition”。这类方案也可以在不透露数据隐私的前提下证明状态的有效性。这将有助于提升公链在企业的应用,企业可以更好地保护用户数据和商业机密。
零知识技术方案和optimistic rollup还有一个差别,那就是资金效率。在optimistic rollup中,交易终局和取款的标准时间窗口是一周;而在零知识技术方案中,用户可以在约10分钟内取款。
要了解更多关于optimistic rollup和零知识协议的差异,请观看以下视频。视频中,来自Offchain Labs、Polygon Hermez、Matter Labs、Metis DAO以及Optimism的负责人共同讨论了以太坊Layer 2的未来发展前景:
不同类型的零知识技术方案
基础架构
zk-Rollup
zk-rollup会将多笔交易打包在一起,并发布到Layer1区块链上,同时还会发布一个验证计算有效性的证明。发布到链上的证明也被称作“有效性证明”。有效性证明分为SNARKs和STARKs两类。一旦这些证明在底层区块链上得到了验证,zk-rollup的状态就会更新。
Validium
Validium结合了有效性证明和链下数据存储,以提升可扩展性。有效性证明发布在底层区块链上,而数据则储存在链下。这将大幅提升吞吐量并降低gas费。
虽然Validium在效率和可扩展性方面远超zk-rollup,但是却可能由于受到攻击导致数据不可用,或用户无法取出资金。不过这个数据可用性问题可以通过PoS系统来解决,采用经济激励机制确保数据储存在各个节点中,并且随时可用。值得一提的是,攻击者虽然有可能暂停交易,但却无法直接盗走用户资金。
Volition
Volition结合了zk-rollup和validium,用户可以自由选择使用zk-rollup或validium方案,这两种方案共享同一个状态根(state root)。即使validium被攻破,zk-rollup上的资金也仍然是安全的。
因此,机构愿意支付更高的费用来换取zk-rollup的安全保障,而个人用户则更倾向于交易成本较低的validium,两者在volition上可以无缝交互。比如DEX中做市商提供了几亿美元的流动性,因此会选择zk-rollup;而散户持仓相对较小,因此会选择validium。
有效性证明
SNARK
SNARK的全称是“zero-knowledge succinct non-interactive argument on knowledge”(中文为“简洁的非交互式零知识证明”)。这是一种加密证明,文件很小而且很容易验证。它利用椭圆曲线生成一个加密证明,该椭圆曲线假设无法从一个公开的基点找到随机椭圆曲线元素的离散对数。椭圆曲线的计算成本低于STARK的哈希函数,因此SNARK协议的gas成本更低。
STARK
STARK全称是“zero-knowledge scalable transparent argument of knowledge”(中文是“零知识的可扩展、透明知识证明”)。这种加密证明几乎不需要证明者和验证者之间产生任何交互。STARKs相比SNARKs的最大优势在于证明时间更短,而且更容易扩展。另外,由于STARKs采用哈希函数,因此也可以抗量子攻击。
值得一提的是,STARKs的发明者是Eli Ben-Sasson,此人是StarkWare的联合创始人,这个团队也开发了StarkEx和StarkNet。
采用零知识技术的区块链项目
采用zk-STARK的项目
StarkEx
StarkEx 是以太坊上的Layer 2扩容方案,采用STARK证明来验证自托管的交易,并在上面开发交易和支付应用。基于StarkEx的项目包括DeversiFi、Sorare和dYdX,目前已完成了几亿笔交易并实现了几千亿美元的交易额。 然而,StarkEx无法支持智能合约功能,因此无法实现功能完备的dApp。
StarkNet
StarkNet 是一个通用平台,开发者可以使用StarkNet在以太坊的zk-rollup上部署智能合约。以太坊主流的dApp Aave和Maker都计划在StarkNet上发布。值得注意的是,StarkEx的zk-rollup也可以在StarkNet上发布,以提高应用的可扩展性。
为了充分利用STARK在计算和可扩展性方面的优势,StarkWare开发了Cairo语言,这是一种高效且图灵完备的编程语言,专门用于创建STARK证明。这意味着StarkWare需要开发文档、框架和其他工具来激活其开发者生态。
Immutable X
Immutable X是一个NFT平台,用于铸造和交易NFT和通证。该平台使用StarkEx打造专属的zk-rollup。Immutable X平台上NFT铸造和交易量达到数百万,而且即使在以太坊网络拥堵期间也可以保持较低的成本。
Immutable X也将在StarkNet上发布。有效性证明不会直接发布到以太坊上,而是先发布到StarkNet上,然后再通过StarkNet的rollup发布到以太坊上。Immutable X可以利用StarkEx在StarkNet上发布应用链,为项目提供layer 3扩容方案。
采用zk-SNARK的项目
Zcash
Zcash前身是ZeroCash。名字中的“zero”指使用零知识证明技术来实现隐私交易。Zerocash是早期出现的加密项目之一,推动了零知识证明技术在行业中的应用。
Loopring
Loopring 是以太坊上的DEX,支持订单簿交易,并且不托管用户资产。Loopring接入了Chainlink Price Feeds,服务几十万用户,交易量高达数十亿。
zkSync 1.0
zkSync 1.0是以太坊上的rollup。它与StarkEx一样,都支持通证转账和兑换,但不支持智能合约。该协议由Matter Labs开发。
zkSync 2.0
zkSync 2.0与StarkNet一样,也是以太坊的Layer 2扩容方案。采用了volition基础架构,可以支持智能合约。zkSync采用zk-SNARK来验证交易,并采用PoS系统zkPorter来保障数据可用性。zkSync 2.0和StarkNet的主要区别除了有效性证明之外,还有前者可以兼容EVM。1inch、Alchemix和Curve都计划在zkSync 2.0上发布。
ZigZag
ZigZag 是一个去中心化交易平台,采用订单簿模式交易ERC-20通证。相比之下,大多数DEX采用的都是自动做市商(AMM)模式。ZigZag的订单簿模式得益于zk-rollup强大的可扩展性。zkSync注册表中的任何通证都可以在ZigZag中交易。该协议目前在zkSync 1.0上运行,但计划在zkSync 2.0和StarkNet上发布。
Mina
Mina 是轻量级区块链,采用SNARKs创建容量最大为22kb的区块。项目可以在Mina上开发部署应用,并可以实现全部智能合约功能。
零知识证明协议如何提升去中心化水平、可靠性和安全性
零知识证明协议可以使用Chainlink去中心化的预言机服务提升安全保障并实现自动化。Web3生态中的各个协议可以使用Chainlink信任最小化的服务来访问任何外部API,并利用安全的链下计算来打造更高级的应用。
零知识证明协议可以使用以下服务来提升dApp性能。
- 精准的市场数据——Chainlink Price Feeds为DeFi经济保驾护航,为去中心化的稳定币、借贷协议以及交易平台等各种用例提供极其可靠且精准的市场数据。
- 可验证的随机数——Chainlink VRF可以创建随机数以及加密证明,并一起上传至链上进行验证。NFT平台可以利用随机数,以公平可验证的方式铸造NFT。区块链游戏可以利用随机数打造无法预测的游戏体验。
- 智能合约自动化——Chainlink Keepers是去中心化的交易自动化服务,可以自动触发关键的智能合约功能,比如结算限价单交易、执行清算以及rebase通证等。
- 储备金证明——Chainlink储备金证明可以基于加密事实自动验证储备资产,为零知识证明协议降低风险,提高透明性并避免DeFi系统性风险。
- 跨链通信——跨链互操作性协议(CCIP)为协议提供通用的开放标准,用于打造安全的跨链应用,在Web3世界中传输通证、发送消息并触发交互。
DECO为任何区块链项目提供助力
项目要采用零知识证明技术,除了zk-rollup、validium或volition以外,还可以选择Chainlink DECO。目前,DECO正在开发中,该方案利用零知识证明技术,在HTTPS/TLS系统之间传输数据时可以保障数据隐私和防篡改性。
预言机节点可以证明数据来自可信服务器,并在链上隐藏数据内容。另外,由于维护了TLS托管链,因此还可以证明数据源。这项技术可以实现一系列高级用例,比如CanDID等去中心化身份(DID)协议可以让用户自己管理身份信息,而不用通过第三方进行管理。另外,DECO还可以接入权威机构,确认用户的信用分数是否达标,并同时不透露用户的任何个人信息,以此为DeFi平台实现低抵押贷款。
最终,DECO可以为用户提供安全保障,用户可以安全地在链上使用个人信息,并且不将数据上链。
总结
零知识证明与底层区块链和去中心化的预言机网络相结合,势必将推动区块链行业转型,项目团队将开发出可扩展性和成本效益极高的应用,并同时保障用户隐私。
虽然其他的Layer 2解决方案可能会为某些应用提供更好的基础架构,但随着区块链行业的不断发展,zk-rollup、validium和volition势必将获得更多个人用户和企业的青睐。
如果你是一名开发者,并希望集成Chainlink的信任最小化服务,请查看我们的技术文档,在Discord中提问,或与Chainlink专家进行电话沟通。