作者:Varun Shenoy

来源:推特

零知识证明(ZKP)将彻底改变我们对隐私和扩展计算的看法。

本文将为你提供一份快速的入门指南。

尽管ZKP最近才在加密领域中流行起来,但它有着丰富的历史。

1987年,James Gleick在《纽约时报》上发表了一篇题为“发现一种保护秘密的新方法”的文章。

甚至在区块链出现之前,Gleick就描述了ZKP的可能用途,如保护信用卡号和军事访问代码。

文章中提到的几位研究人员在几十年后因为他们在密码学方面的努力获得了图灵奖。

由于缺乏软件工具、快速硬件和替代方案,ZKP直到现在也没有成为主流。

这类似于计算和软件的进步如何使神经网络蓬勃发展,尽管这些算法已经存在了一段时间。

但ZKP是如何工作的呢?

让我们将ZKP看作一个黑箱,允许某人证明他们知道一些信息,但不会泄露。

此外,即使相关的计算需要很长时间才能完成,ZKP也可以非常快地得到验证。

例如:Alice、Bob和Carol正在谈话。Alice问Bob一个问题,但不想让Carol知道答案。

Bob可以用ZKP来回答,这将证实他知道答案,而不会泄露答案。

ZKP总是输出真或假,从不说谎。

回到现在, ZKP承诺了三个用例。

1. 保护用户隐私

2. 实现新的透明度

3. 验证分布式计算的新范式

让我们一个一个来分析。

先看看最流行的智能合约区块链。

以太坊上的所有交易都是公开的。如果世界金融系统一夜之间转移到以太坊,你可以看到每个人的工资、交易以及他们与谁互动。

这是一个大问题!

想象一下,如果你所有的Venmo交易都是公开的——这就是以太坊的样子。

只不过交易不仅仅是朋友之间分配食物。它们可能包括向在受制裁国家的家人汇款或支付医疗费用。

但在Venmo上,你可以选择将一些交易保密。

ZKP允许区块链参与者灵活选择他们想要公开和隐藏的交易。

ZcashMonero等Layer 1区块链默认使用ZKP,并考虑到这些问题。

它们的核心是抵制政府的支付机制。

金融机构可以在不泄露alpha的情况下私下进行加密货币投资。

与针对国会议员的投资法类似,ZKP可以在一定时间内隐藏投资,然后通过智能合约在链上将其披露。

而且不仅仅是加密领域。

Watson Ladd描述了Cloudflare正在研究如何使用ZKP通过硬件安全密钥进行更私密的用户身份验证。

Cloudflare可是一家为数百万个网站服务的上市公司!

转述Katherine Wu在Coinbase的Around the Block播客上说的话:比特币之于可编程货币,就像零知识之于可编程隐私。

这是一个完全新颖的概念!

ZKP还可使财务透明度达到全新的水平。

公司可以有选择地公开某些付款,以便进行审计追踪,同时隐藏有关机密客户、员工工资、承包商、供应商和投资的信息。

此外,金融实体可以被迫提供偿付能力证明。

每隔几周,监管机构就可以要求银行公布一份ZKP,向所有人证明它们的资产超过负债。

现在,让我们来看看可验证计算中的ZKP。

如果你想把一项艰巨的任务交给更适合做这件事的机器,该怎么办呢?如果你不相信那台机器的结果,因为它是由第三方运行的呢?

你可以要求机器提交一份ZKP!

目前,区块链的一个大问题是可扩展性。使用rollup是一种解决方案。

区块空间是昂贵的。ZK-rollup将原本位于主链上的计算转移到成本更低的计算环境中。最后,只有简短的ZKP被提交到主链。有的L1区块链专门使用ZKP的简捷性进行扩展,如Mina Protocol

想象一下,区块链的整个状态存储在一组跨节点共享的ZK证明中,并以并行方式更新。你可以在几秒钟内设置一个新的节点!

但是天下没有免费的午餐。ZKP的优势是什么,为什么现在是它们的时代?

还有其他替代方案。例如,optimistic rollup(ArbitrumOptimism)为已经上线主网的zk-rollup提供了更可扩展的选择。

一旦ZKP达到更快的证明速度,我们就可以看到zk-rollup超越其他选择。

ZKP涉及复杂的计算,其中许多是以前没有必要进行的计算。这使得硬件成本高昂。

例如,在以太坊上验证单个ZKP的成本可能高达~500K gwei。

由于类似的原因,ZKP验证的成本也很高。

工程师们正从两个方面努力解决这些问题。

1. 为ZKP设计更好的定制硬件。

2. 为ZKP构建性能更高(更容易使用)的软件和工具。

这两个拐点将为ZK的未来提供完美的助力。

gakonst正在Paradigm探索使用FPGA和ASIC实现ZKP硬件加速。

Ingo_zk有一整套用于在AWS上使用FPGA的工具包,可以使ZK更加便宜和快速。

AleoHQStarkware正在为构建ZK电路开发更好的工具和语言。

小结:

在用户隐私方面,ZKP提供了新的选择层。

分布式计算的未来将依靠ZKP以一种去信任的方式将密集的工作交给第三方。

ZKP开发者工具仍然很新。现在是开始构建的最佳时机。