干货 | zkSNARKs(零知识证明)简述

  • A+
所属分类:以太坊
广告也精彩

艾伯特AI人工智能(公众号:aibbtcom)按:

(编者按:本文首发于知乎,经作者授权之后转载。)


zkSNARKs 的成功实现让我们印象深刻,因为你可以在不执行,甚至不知道执行的具体内容是什么的情况下确定某个计算的结果是否正确 -- 而你唯一知道的信息就是它正确的完成了。但是不幸的是,大多数关于 zkSNARKs 的解释都浮于表面,而且他们往往会遗留下一些『魔法』,并暗示只有最聪明的人才能懂得 zkSNARKs 是如何工作的。实际上,zkSNARKs 可以总结为 4 个简单的技术,本篇博客将会逐一解释这些技术。任何懂得 RSA 加密系统工作原理的人都会对当前使用的 zkSNARKs 有一个更好的理解和认识。让我们拭目以待!

先做一个简单的摘要,我们当前使用的 zkSNARKs 包含 4 个主要的部分(在接下来的文章里我们会详细解释每个部分):

A) 编码成一个多项式问题

把需要验证的程序编写成一个二次的多项式方程:t(x) h(x) = w(x) v(x),当且仅当程序的计算结果正确时这个等式才成立。证明者需要说服验证者这个等式成立。

B) 简单随机抽样

验证者会选择一个私密评估点 s 来将多项式乘法和验证多项式函数相等的问题简化成简单乘法和验证等式 t(s)h(s) = w(s)v(s) 的问题。

这样做不但可以减小证明的大小,还可以大量的减小验证所需的时间。

C) 同态(Homomorphic)编码 / 加密

  • 微信
  • 扫一扫
  • weinxin
  • 微信公众号
  • 扫一扫
  • weinxin
广告也精彩
iPhone 配件
新款宽松斗篷
Y40 便携头戴式耳机
宽松衬衫
广告也精彩

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: