隐私方案ZK² Rollup:如何在以太坊上实现高速、廉价的隐私交易

关键词:区块链 6751 2020-04-01

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

隐私方案ZK² Rollup:如何在以太坊上实现高速、廉价的隐私交易

对于ZK rollup方案,一些读者可能已经有所了解,那这个ZK-ZK rollup,又是个啥呢?我们来看Aztec官方给出的解释:

  啥是ZK² Rollup  

Aztec团队正在为PLONK证明进行ZK-ZK Rollup的研发工作,以减少在以太坊主网上进行隐私交易的gas成本。

传统的ZK Rollup利用了SNARKs的“简洁性”属性来扩展公共区块链,这种技术允许将大量交易“汇总”为一笔聚合交易,因此以太坊可以一次执行100笔或1000笔交易,而所消耗的gas成本就相当于一笔以太坊交易的花费。

所以ZK-SNARKs也可以是一种用于扩容的核心工具,此外,我们已经认识到用户可以使用ZK-SNARKs来保护隐私。那两者可以同时兼得吗?

答案是:“yes”。

Aztec目前正在积极部署ZK-ZK Rollup,或简称ZK²,因为它包含了两层或多层SNARKs: “低层”ZK-SNARKs每个都代表了一笔隐私交易; “上层”ZK-SNARKs(即Rollup SNARK),则简洁地证明了低层SNARK的正确性; 注意:这个术语有点粗糙,因为实际上不需要将“上层”汇总为ZK(零知识),一旦创建了“低层”SNARKs(隐私交易),这些交易的隐私就得到了保证。事实上,Rollup只依赖于缩写“SNARK”中的“S”属性,意思就是“简洁”。我们需要花费高昂的成本来检查隐私交易,并用一个简洁的rollup证明来替换它们,然后它的成本就会分摊给所有的交易。

隐私方案ZK² Rollup:如何在以太坊上实现高速、廉价的隐私交易

100笔交易“汇总”到单个SNARK证明

Aztec很快就会允许你在以太坊主网上以100 tps的速度发送隐私交易,这同时兼顾了余额隐私和用户隐私。

而在理想情况下,rollup理论上是可以达到2,000 tps的。

那为何隐私rollup交易会如此困难呢?

  是什么使ZK² Rollup如此困难?   1、递归:证明的证明 在标准的ZK rollup中, rollup SNARK证明是非常适合SNARK的数学推理,围绕公共token传输的逻辑可以很容易地转换为“算术电路”。

但是对于ZK² Rollup而言,你需要在另一个SNARK电路(上层Rollup SNARK)中验证一个SNARK证明(下层隐私SNARK)。

这就被称为递归(指在SNARKs中证明SNARKs的行为)

而递归是很困难的,因为你要么需要非常特殊的数学条件,要么你就会面临像山一样庞大的计算量。

具体来说,你需要以下条件之一: 要找到所谓的“配对友好”曲线循环,而这是非常罕见的存在,而且在它们存在的地方,其安全性是非常低的,你需要选择非常大且计算成本很高的数字系统来描述它们(例如,MNT4和MNT6曲线),或者 模拟电路中的二进制算术,而二进制算术又可以用于模拟素数域运算。这需要大量使用范围证明(range proofs),而范围证明(range proofs)是很消耗成本的; 2、状态更新 除了计算上的不利因素之外,状态更新的管理比公共ZK Rollup要具有更多的开销。ZK² Rollups需要更多的状态更新,并且需要发送更多的数据: 对于标准(公开)ZK Rollup而言,用户可以使用基于帐户的模型,这需要每笔交易进行2次状态更新。但是,为了防止统计攻击,保护隐私的ZK² Rollups 就需要用到2倍的数据,其中2个状态变量被添加到状态树中,另外2个变量被添加到nullifier树中。 也许一个更大的瓶颈,是数据传输要求,传统的rollup涉及每笔交易4–8字节的负载,而隐私隐蔽rollup涉及每笔交易32–64字节的负载,而在以太坊的数据,仍然是昂贵的。 3、可证明随机性 Aztec还需要验证随机性的来源(将“交互式证明”转换为“非交互式证明”的魔法,这样你就不必每次在花钱时都要忍受与以太坊进行痛苦的交互)。

这种随机性意味着哈希。而在SNARKs中的哈希就是一个真正的问题: 对SNARK友好的哈希算法(例如Pedersen哈希)缺乏传统哈希函数的伪随机性:将输入的一部分更改为Pedersen哈希,你就会知道输出会发生什么。 由于缺少此属性,我们无法轻松生成证明者无法操纵的数字; 我们可以转向不太被广泛接受的SNARK友好哈希函数(例如Poseidon, Rescue),但“已定型”和“广泛采用”这两大属性,是我们对密码学原语信心的基础,而在有价值的密码学系统中部署这些未被证明的哈希函数,可能还为时过早; 因此,我们别无选择,只能求助于对SNARK“不友好”哈希算法(例如Blake2 或SHA256),而它们大量使用了二进制逻辑和范围证明(range proof)。 然而,Aztec在2020年已取得了一些关键的研发突破,这包括其最新发表的研究论文PLOOKUP,这使得实践者能够在SNARKs高效地进行一些对SNARK非友好的任务。

在结合其他创新的情况下,递归的大门就被打破了。

  PLONK: 一种新的ZK标准  

据悉,Aztec的SNARK证明是使用该公司 CTO Zac Williamson和现任首席科学家Ariel Gabizon创建的称为PLONK的最新数学成果构建的。

在过去的几个月里,一些领先的扩展性和隐私项目选择加入了PLONK生态系统,其中包括: Dusk Network最近宣布他们改用PLONK; Matter Labs正在透明设置环境中实现PLONK; Aztec的通用SNARK系统描述了一种连接电路的新方法(R1CS是现有的标准),而转换标准总是要付出代价的,这需要重写行业标准代码库。随着TurboPLONK的推出,关于“自定义门”的选择公认标准,目前仅是在形成的初期阶段。

>快讯
4月19日 星期五
相关资讯