了解 zk-SNARK 技术:ZK-Rollup 如何同时解决区块链扩展与隐私问题

随着基于区块链开发的项目数量不断增加,围绕扩展的网络问题也随之增加。

这是由于区块链公链自诞生以来,虽然大大降低了信任的门槛,但一直面临着一个效率问题:即 TPS (每秒处理交易量) 不高。例如比特币每秒仅支持 7 笔交易,而目前的以太坊每秒支持的交易数也与传统交易方式相差几个量级。这样的 TPS 很难能够支持大型应用。比特币和以太坊两个网络都受困于拥堵、交易延迟和费用高企等难题。

这也是为什么全世界的许多技术人员都在致力于区块链的扩容问题。而区块链的扩容解决方案也层出不穷,常见的解决方案有状态通道、Plasma、分片以及最近非常流行的 ZK Rollup。

据以太坊联合创始人 Vitalik 表示,隐私协议团队 AZTEC 正在研发所谓的 ZK² Rollup 方案,以在以太坊主网上实现每秒数百笔的隐私交易,同时可降低每笔隐私交易的成本。

那么 ZK Rollup 是如何解决区块链的扩展问题的呢?

ZK Rollup 由 Barry Whitehat 于 2018 年末提出,并在 Matter Labs 和 Iden3 的支持下开发,是一种 双层扩展解决方案 ,它使单个链上的交易能够验证使用侧链存储的多个交易,即将链上的相当一部分工作量转移到链下来完成。

由于 Vitalik Buterin 和以太坊基金会的支持, ZK Rollup 受到了很多关注。

了解 zk-SNARK 技术:ZK-Rollup 如何同时解决区块链扩展与隐私问题

为什么需要分层

对于区块链分布式账本的分层问题,首先需要理解的是,什么是所谓的“层(layer)”。

在分布式分类账技术的语境中,“层”是指在现有分类账之上构建的框架,以提高其交易吞吐量。分层技术提供了一个分类帐主链之外的地址,可以在其中记录交易并将其批量添加到分类帐中,以防止网络阻塞。

Layer 1

Layer 1 也被称为“主链”或“主网”,是指区块链或分布式分类帐本身。Layer 1 扩展解决方案通过直接更改网络的共识算法来解决扩容问题。

Layer 2

Layer 2 有时被称为“侧链”,Layer 2 解决方案是构建在区块链之上的解决方案,因此它们不需要对核心协议进行任何更改。它们用于提高在主链之上的吞吐量和可扩展性。

双层扩展解决方案并非以太坊独有。部署在比特币上的闪电网络也是双层扩展解决方案中一个典型例子。

双层扩展解决方案有何不同

双层扩展解决方案的开发导致了两个主要的开发过程:状态通道和侧链。

状态通道提供了链下通信层,用户可以可以在此进行价值交换等交易,并把结果在链上进行结算。

而侧链则是是用于记录多个交易的独立分类账,这些交易由主链上记录的单个交易打包并引用。

虽然诸如闪电网络之类的状态通道已在比特币上流行,但基于侧链的解决方案(如 Loom,Plasma 和 ZK Rollup)在扩展以太坊方面已占主导地位。

状态通道快速且私密,但要求参与者保持在线状态,这给用户体验带来了很多风险和问题。而侧链可能更难建立,因为它们需要矿工提高安全性,但仍然是相比较而言更加易于使用。

ZK-Rollup 背后的原理

ZK-Rollup 的本质是将链上的用户状态压缩存储在一棵 Merkle 树中,并将用户状态的变更转移到链下来,同时通过运营商必须为每个状态转换生成一个简洁的零知识证明(SNARK),并由主链上的 rollup 合约进行验证。此 SNARK 证明上存在一系列由所有者正确签名的交易,这些交易以正确的方式更新了帐户余额,并由此导致了账户状态在旧的 Merkle 根上的更新。因此,操作员不可能提交无效的或被更改的状态。

了解 zk-SNARK 技术:ZK-Rollup 如何同时解决区块链扩展与隐私问题

在链上直接处理用户状态的变更成本是比较高的,而仅仅利用链上的智能合约来验证一个零知识证明是否正确,成本是相对低很多。并且必要的转账信息也会被和证明一起提交到合约,方便用户查账。

ZK-Rollup 的独特之处

从目前的情况来看,ZK Rollup 不会将每个令牌转移都算作一笔交易,而是可以将数百笔合并到一个交易中。

安全性

在 ZK-Rollup 中,每次状态转换都必须先通过智能合约进行验证,然后才能生效。运营商绝对不可能窃取资金或破坏 rollup 状态。因此,需任何人来监视:验证区块后,即使操作员恶意操作,也可以始终保证能收回用户资金。

因此,ZK-Rollup 更充分地体现了加密技术的基本理念:通过用密码学技术和博弈论的激励机制取代受信方来实现安全性。

但是,ZK-Rollup 也具有特有的一些 潜在风险 ——可信设置问题,这个问题我们之前也有过讨论,如果您感兴趣可以关注我们之前关于 zk-SNARK 的文章。

如果在 ZK-Rollup 中使用的 ZKP 需要通用的 可信 设置 ,则根据“ N 分之 1 诚实参与者”假设。根据参与者的数量和质量,这可能存在可接受的风险,也可能存在不可接受的风险。这就是为什么我们对高效无可置信要求的 SNARK 的最新进展感到兴奋的原因,因为我们可以利用像 Supersonic 这样的技术彻底解决这个问题。

隐私的成本

目前正在积极研发部署的 ZK-ZK Rollup,或简称 ZK²,包含了两层或多层 SNARKs:

简单的来说可以通过底层的 ZK-SNARKs 代表每一笔隐私交易,而上层 ZK-SNARKs (即 Rollup SNARK),简洁地证明低层 SNARK 的正确性;

事实上,在 Rollup 中,只需要依赖于缩写「SNARK」中的「S」属性,意思就是「简洁」。我们不再需要花费比较高昂的成本来检查隐私交易,而是采用一个简洁的 Rollup 证明来替换它们,因为它的成本就会分摊给所有的交易。

当前 ZK Rollup 在专用应用平台方面已经更加成熟,随着完全通用的智能合约的发展,ZK Rollup 将更加循序渐进的前进。在目前的技术发展速度下,将任何基于 EVM 和 WASM 的智能合约移植到 ZK Rollup,可能不会太久的时间。

** 点击链接,查看更多精彩文章 **

[

密码学解读:去中心化交易所跨链交易的基础,原子交易的内部逻辑

2020-05-10

了解 zk-SNARK 技术:ZK-Rollup 如何同时解决区块链扩展与隐私问题](http://mp.weixin.qq.com/s?__biz=MzI0MTE5MjY4OA==&mid=2247484002&idx=1&sn=eb0055095365b15ad9a88ccbbd71e559&chksm=e90e19fdde7990eb9afe64cfd19a28203dcccc2e2b6bbdce4e4667f167f5c2cb9d1b0faace74&scene=21#wechat_redirect)[

了解 zk-SNARK 技术—— 零基础详解防弹证明与 supersonic

2020-05-04

了解 zk-SNARK 技术:ZK-Rollup 如何同时解决区块链扩展与隐私问题](http://mp.weixin.qq.com/s?__biz=MzI0MTE5MjY4OA==&mid=2247483963&idx=1&sn=ac725756c6605ad4d74fc1f6e029ff96&chksm=e90e19a4de7990b256b179a2546e36bc054b4b2ef3e492959c8b754a19411f07e00e5fa8d4bd&scene=21#wechat_redirect)[

“DCEP+Libra”,为你解读数字价值体系下传统企业如何数字化转型

2020-05-01

了解 zk-SNARK 技术:ZK-Rollup 如何同时解决区块链扩展与隐私问题](http://mp.weixin.qq.com/s?__biz=MzI0MTE5MjY4OA==&mid=2247483956&idx=1&sn=e363ec189b38e6269cd826a51c8fba75&chksm=e90e19abde7990bd4bf408da9cbfde595eed64ceb3a632b82247ce5d89cb3a2a273f3c63f15e&scene=21#wechat_redirect)

了解 zk-SNARK 技术:ZK-Rollup 如何同时解决区块链扩展与隐私问题

来源链接:mp.weixin.qq.com