前言

隐衷学院【PrivacyIN】第一期ZK训练营课程精讲内容上线啦,本期课堂邀请到美国德州农工大学(Texas A&M University)计算机科学与工程学院的助理传授张宇鹏,次要介绍ZK实践及相干利用,课堂主题为《Basics of ZK Cryptography & Research Overview》。

此次授课采取小班授课,邀请了数十名来自国内外密码学及相干畛域的专家学者作为学员,加入了高强度的90分钟的密码学培训课堂。

课程精讲全文

零常识证实(Zero-Knowledge-Proofs)由Goldwasser、Micali和 Rackoff在1985年提出,零常识证实是一种在证实者和验证者之间的密码学协定,证实者向验证者证实其领有一个解(witness)可能解决某个计算问题(statement),同时又不泄露任何对于该解(witness)的额定信息。

零常识证实(Zero-Knowledge-Proofs)既不泄露隐衷又保障正确性的能力,使得零常识证实成为一个弱小的工具,并广泛应用各种畛域中,如电子投票、匿名凭证、群签名、可验证外包计算等,尤其随着WEB3技术的倒退,数字货币与区块链技术十分严密地分割起来。

本期课堂中张宇鹏老师围绕零常识证实开展,次要内容有:证实零碎和零常识证实定义、零常识证实发展史、零常识证实及区块链利用等。

张宇鹏老师首先以证实「勾股定理」为范例形容了传统意义上的证实问题,即给出一个B为直角的三角形ABC,证实正确,证实的办法是通过B点画一条垂直线交AC于D点,而后通过三角形类似关系证实勾股定理关系满足。

这里即证实的申明statement,证实的过程(推演步骤)即prove。statement能够示意任何计算问题,传统statement证实是通过提供所有的证实推演步骤,而后进行正确性检测验证来实现的,这里会泄露信息(常识knowledge)。

在证实零碎中,prover/verifier交互证实计算模型是十分典型的,张宇鹏老师例举一个色彩测验的例子,该证实中prover宣称「晓得一张领有不同色彩的纸」作为statement。

通过引入随机挑战,verifier生成随机数以确定是否翻动纸张来进行随机挑战,prover收到挑战则答复是否翻动了纸张,如果是诚恳的prover将总是可能以正确(100%的概率)答复verifier是否翻动了纸张,否则盲猜只有1/2的概率可能正确答复verifier的挑战。反复该过程很屡次(比方100次或以上),如果prover每次都可能正确答复verifer的挑战,则极大概率(简直为100%)地证实了prover晓得正确的答案,即证实了prover宣称的「晓得一张领有不同色彩的纸」statement;如果prover不晓得答案,则prover将以极低的概率(如100次挑战,猜对的概率简直能够疏忽)猜对,则证实其prover在扯谎或是作恶者。

规范的证实零碎中,次要有证实者prover、验证者verifier和公共计算C,其中prover领有数据data,prover生成一个证实proof示意其应用计算表达式C计算失去后果result,而后将计算证实proof发送给verifer;verifer收到计算证实proof进行验证证实是否正确。

证实零碎具备次要特点:

正确性(correctness):诚恳的证实者能够以极高的验证正确性(简直为1)

齐备性(soundness):如果证实者不诚实或作恶,则通过验证的概率是极小的(能够疏忽的概率)

一个高效的证实零碎的次要指标高效的验证工夫和较小的证实proof大小,也即具备succinct个性。

基于证实零碎上,构建一个既能证实计算正确性,proof中又不泄露任何prover原来的数据,即具备零知识性(zero-knowledge),这样的证实零碎就是零常识证实ZKP零碎。

课程中张宇鹏老师回顾了零常识证实问题的发展史,介绍了最早由Goldwasser、Micali和 Rackoff的提出零常识证实零碎以及晚期相干的简单计算实践,包含交互证实(Interactive Proof)、概率检测证实(Probabilistically checkable proofs)、零常识(Zero-knowledge)等。


零常识证实零碎比拟里程碑意义的冲破则是Pinocchio协定,Pinocchio协定是第一个靠近实用的简洁、非交互的零常识证实零碎zkSNARK(SNARK=Succint Non-interactive ARgument of Knowledge),它反对通用计算,将计算问题转换为R1CS(Rank1 Constraint System)模式,而后将R1CS转换到QAP(Quadratic Arithmetic Programs)来实现简洁的多项式证实和验证,Pinocchio协定的呈现标记着零常识证实开始由实践倒退到实用阶段,这也是Groth16协定的根底。

接着,张宇鹏老师对以后零常识证实零碎依靠的密码学技术进行分类,次要分为:双线线性配对(Bilinear Pairing)、平安多方计算(Secure Computation)、离散对数(Discrete-log)、交互式谕示证实Interactive oracle proof、交互式证实Interactive proof、格明码(Lattice)等。

目前零常识证实零碎性能曾经靠近实用,以后最佳的证实零碎在百万级别计算电路上体现曾经性能十分好了(比方生成证实),但另外一方面证实大小和验证工夫则跟具体密码学技术结构形式有很大关系。

进一步地,张宇鹏老师简略摸索了明码货币、认证和区块链的特点,并针对Bitcoin隐衷性,剖析了波及的隐衷泄露问题,示意其隐衷保护性是数据公开的、弱伪匿名,提出能够应用零常识证实来创立数据合法性证实来解决问题的思路。


张宇鹏老师还剖析了以后区块链的扩容问题(Scalability),即区块链零碎解决交易的能力十分低效(比方Bitcoin: 5tx/s,Ethereum: ~30 tx/s)的问题,并介绍了十分炽热的ZK-Rollup技术,示意其次要是应用高效零常识验证算法,将批量交易聚合构建简洁证实,并执行高效的验证来实现的。

邻近课堂完结,张宇鹏老师持续剖析和探讨了隐衷链ZCash和ZK-Rollup的一些差别,帮忙大家进一步了解它们的特点、概念和设计指标。

自在探讨环节,张宇鹏急躁地为学员解答了一系列密码学根底和零常识证实的相干问题。

对于PrivacyIN

PrivacyIN 隐衷学院 (Privacy Institution) 由LatticeX基金会发动,致力于建设凋谢的明码和隐衷技术布道和钻研社区。联结寰球顶尖的学者、隐衷技术开发者推动ZK(零常识证实)、MPC(平安多方计算)、FHE(全同态明码)的翻新和落地。