前言
隐衷学院【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(全同态明码)的翻新和落地。