比特币官网

一文说透密码学历史、工作原理、零知识证明及潜在影响

  很明显,零知识证明的一个主要特征是,它们能够在保证隐私的同时证明信息被知晓,但是零知识证明系统系统更有趣的地方在于,它们越来越简洁,这一点经常被忽视。零知识证明系统能够比其他方法更简洁地证明信息。验证一个证据的时间,比重演一个计算以验证其正确性所需的时间要指数级的短得多,而后者是目前各种变动中的计算所最常用的方法。

  重演计算代价高昂,需要时间和资源。(请注意,这与验证算法或程序的正确性不同――验证计算的完整性则完全是另一个范畴。)

  更重要的是,这意味着执行计算本就效率低下的区块链,应该被用于验证计算的证据,而不是用于一般的计算本身。

  快进到今天的大环境,我们有几种不同的零知识证明系统的实用案例:

  在此,我们将简要讨论 :

  ZK-SNARKs

  ZK-STARKs

  防弹证明

  ZK-SNARKs

  ZK-SNARKs 是「零知识简洁的非交互式知识论证」(zero knowledge succinct non-interactive arguments of knowledge)的缩写,Zcash采纳了这种方法,Zcash 现在叫 Electric Coin Company,用这种方法将加密货币的支付匿名化。(注:Zcash 区块链实际上是比特币区块链的一个分叉。)

  在 Zcash 区块链中,矿工不需要知道:

  1. 谁在发送 Zcash (因此也无需知道他们拥有多少 Zcash)。

  2. 谁在收取 Zcash.

  3. 被传递的 Zcash 的数量。

  不过,矿工依然能够证实交易。

  使用 ZK-SNARKs,矿工证实的事情包括,没有发送者发送或创建比他们当前拥有的 Zcash 更多的 Zcash,接收方只收到发送方试图发送的金额。以这种方式,Zcash 成了一个真正的匿名系统。在比特币和包括以太坊在内的大多数公共区块链上,所有交易信息都是公开的,发送地址、接收地址和金额都是已知的。此外,每个单独帐户中持有的币都是已知的。

  (应该提醒的是,实际上 Zcash 有两种不同的地址格式。T 地址是公开的,从这些地址发送和接收的信息可以被视为比特币区块链。Z 地址是私密的,如果一个 Z 地址将 Zcash 发送到另一个 Z 地址,那么该信息将完全保持私密状态。不过,如果一个 Z 地址将 Zcash 发送到一个 T 地址,信息将成为公共状态。据估计,Zcash 区块链上只有 1% 的交易使用完全私密交易。在 2018 年底 Sapling 升级之前,由于规模和内存等要求,Zcash 区块链上的私人交易只能在笔记本电脑上进行。现在,私人交易只需要 2 - 3 秒 , 理论上可以从移动设备上完成交易,这是相当惊人的。想一想,不到两年前的 2017 年 Scarbrough 感恩节时,我和我从事网络安全的兄弟展开过一次隐私大辩论,我们都没有想到,零知识交易在如此短的时间可以发展到如此快的交易速度。我输掉了那场辩论,但公平地说,只是对方获得的支持人数比我多。)

  ZK-SNARKs 具体如何运作?

  ZK-SNARKs 背后的数学理论是精细和密集的,但是可以(稍微)用正确的原理和定理进行浓缩。以下是 Christian Reitweissner 的「SNARKs in a Nutshell」论文的一个压缩版本。

  首先,问题被编码并压缩成一组多项式等式,作为一个二次运算程序。

  t(x)h(x) = w(x)v(x)

  利用这些方程,证明者的目标是使验证者相信等式成立。

  这些多项式可以是好几个项,如果对大量的点进行等式检查,效率会相当低。为了引入简洁性,ZK-SNARKs 依赖于 Schwartz-Zippel 辅助定理,即不同的多项式在大多数点的求值是不同的,因此只要检查少量的点,其实就可验证证明者使用的多项式是否正确。这样,求值只需要在点的一个子集来证明等式,而这些求值点是随机和秘密的。随机性和秘密点通常被称为 ZK-SNARKs 可信设置的有毒废物。设置阶段生成一个公共引用字符串 (common reference string ,CRS),该字符串生成一个随机点 s,从该点求值多项式,并生成一个秘密数字 α,来「移位」多项式的值以保持机密性。s 和 α 在设置阶段之后立即销毁,于是恶意行为者就不会得到它们,从而只能在自己的基础上构造出错误的证据。

  验证者现在可以检查,在一个随机点 s 处下列多项式保持相等:

  t(s)h(s) = w(s)v(s)

  接下来,就是掩盖随机性、秘密求值点,并允许验证者将使用同态加密形式的证据拼成完整拼图。在同态加密中,值的加密方式是这样的:可以对这些值执行数学运算,然后解密以显示一个值,就好像最初的数字被用在求值中一样。换句话说,它允许您数字、执行一次求值并取消,就像您对原初的、未的数字进行操作一样 (在本例中不是所有的数学操作,而是某一些)。

此文由 比特币官网 编辑,未经允许不得转载!:首页 > 比特币行情 » 一文说透密码学历史、工作原理、零知识证明及潜在影响