图灵奖系列 · DoggyDad 原创

Shafi Goldwasser & Silvio Micali:他们让密码学从"艺术"变成"科学",从零知识证明到可证明安全,重塑现代密码学的数学基础

Shafi Goldwasser & Silvio Micali:他们让密码学从"艺术"变成"科学",从零知识证明到可证明安全,重塑现代密码学的数学基础

ANSWER-FIRST SUMMARY

本文回答什么问题

Shafi Goldwasser & Silvio Micali:他们让密码学从"艺术"变成"科学",从零知识证明到可证明安全,重塑现代密码学的数学基础

  • 主题分类:图灵奖系列
  • 关键词:图灵奖、计算机历史、算法、人工智能、密码学
  • 人物实体:Shafi Goldwasser & Silvio Micali

图灵奖第四十七届(2012)| Shafi Goldwasser & Silvio Micali:他们让密码学从”艺术”变成”科学”,从零知识证明到可证明安全,重塑现代密码学的数学基础

一句话概括:当所有人都在设计复杂的加密算法时,他们问了一个更深刻的问题——“什么叫安全?” 他们用数学严格定义了安全性,发明了零知识证明(证明你知道秘密而不泄露秘密本身),创造了伪随机数生成器理论,让密码学从依赖直觉的”黑魔法”进化为可证明的科学。

🏆 获奖简介

Shafi Goldwasser(沙菲·戈德瓦塞尔,1958-)和Silvio Micali(西尔维奥·米卡利,1954-)是现代密码学理论的奠基人,零知识证明和可证明安全的发明者

Shafi Goldwasser

  • 出生时间:1958年
  • 出生地点:美国纽约(父母是以色列移民)
  • 成长地点:以色列特拉维夫
  • 主要成就:零知识证明共同发明者、可证明安全的先驱、MIT和魏茨曼科学研究所教授

Silvio Micali

  • 出生时间:1954年10月13日

  • 出生地点:意大利西西里岛巴勒莫

  • 主要成就:零知识证明共同发明者、伪随机函数理论创始人、MIT教授、Algorand区块链创始人

  • 获奖年份:2012年(共同获奖)

  • 获奖原因:在复杂性理论基础上,为密码科学建立数学严格的基础,包括交互式证明、零知识证明以及伪随机数生成器

为什么他们是第四十七位? 1980年代之前,密码学更像是艺术而非科学——人们设计加密算法,但很少能严格证明其安全性。Goldwasser和Micali彻底改变了这一局面。他们在1982年提出了”语义安全”的严格定义,在1985年发明了革命性的”零知识证明”(你能证明知道一个秘密,却不泄露关于秘密的任何信息!),并建立了伪随机数生成器的理论基础。他们的工作不仅影响了学术界,更塑造了今天的互联网安全、区块链、隐私计算等领域。从你在网上购物的HTTPS加密,到区块链的智能合约,再到正在兴起的零知识隐私保护技术,都建立在他们奠定的数学基础之上。

🚀 Goldwasser & Micali的重大贡献

1. 语义安全:重新定义”什么叫安全”

背景(1980年代早期):

  • 混乱状态:密码学家设计加密算法,但缺乏严格的安全定义
  • 传统观念:“安全”=“敌人无法完全破解密文”
  • 问题:即使无法完全破解,泄露部分信息(如明文的奇偶性)也是失败

语义安全的革命性定义(1982,Goldwasser-Micali论文):

核心思想:

一个加密系统是安全的,当且仅当: 从密文中计算出关于明文的任何函数,都不比完全不看密文更容易。

数学表达:

对于任何多项式时间算法 A 和任何函数 f:
Pr[A(E(m)) = f(m)] ≈ Pr[A() = f(m)]

(看密文 vs 不看密文,计算 f(m) 的成功率”几乎一样”)

为什么这是革命?

之前的错误例子

假设加密系统:
- 明文是偶数:密文 = 2*明文
- 明文是奇数:密文 = 2*明文 + 1

问题:敌人从密文可以知道明文的奇偶性!
虽然无法得知具体值,但泄露了信息。

语义安全拒绝这种系统: 任何信息泄露都是失败,哪怕只是一个比特。

技术突破:概率加密

Goldwasser-Micali概率加密方案(1982):

密钥生成

  1. 选择两个大质数 p, q
  2. 计算 n = p*q(类似RSA)
  3. 选择一个二次非剩余 x(即 x 不是模 n 的平方数)
  4. 公钥:(n, x) 私钥:(p, q)

加密过程(加密一个比特 b):

  1. 随机选择 r ∈ [1, n-1]
  2. 如果 b=0:密文 c = r² mod n(二次剩余)
  3. 如果 b=1:密文 c = x·r² mod n(二次非剩余)

解密过程: 利用 p, q 判断 c 是否为二次剩余,从而恢复 b

为什么安全?

  • 二次剩余问题(QRP)的困难性:
    • 给定 n=p*q,判断一个数是否为二次剩余,困难!
    • (但知道 p, q 的人可以轻易判断)
  • 随机性:同一个明文比特的多次加密结果完全不同
    • 加密 0 十次,得到十个不同的密文
    • 敌人无法通过比较密文推断明文是否相同

影响

  • 开启概率加密时代:随机性成为安全的核心
  • 理论与实践桥梁:首个可证明安全的公钥系统
  • 后续发展
    • ElGamal加密(基于离散对数)
    • Paillier加密(支持同态运算)
    • 今天的混合加密系统

2. 零知识证明:知识的”完美魔术”

问题的起源(1985):

一个看似矛盾的需求:

“我想证明我知道一个秘密(例如密码、私钥、数学定理的证明),但又不想泄露秘密本身。”

传统方法的困境

  • 选择1:告诉你秘密 → 你知道了,但秘密泄露了
  • 选择2:不告诉你 → 你无法验证我真的知道

零知识证明的神奇解决: 存在一种互动协议,让我能说服你”我知道”,但你却学不到秘密的任何信息!

经典例子:阿里巴巴洞穴(Ali Baba Cave)

场景

  • 有一个环形洞穴,中间被一扇魔法门隔开
  • 只有知道咒语的人才能打开门
  • Peggy声称知道咒语,要向Victor证明,但不想泄露咒语

协议

  1. Victor在洞外等待,Peggy进入洞穴,随机走向A或B岔路
  2. Victor进入洞口(但看不到Peggy走向哪边),随机喊”从A出来”或”从B出来”
  3. Peggy使用咒语穿过门(如果需要),从Victor指定的一侧出来
  4. 重复多轮(例如20轮)

为什么这是零知识?

  • 完备性:如果Peggy真知道咒语,她总能从指定侧出来(成功率100%)
  • 可靠性:如果Peggy不知道咒语,她每轮猜对的概率只有50%
    • 连续20轮都猜对:概率 = (1/2)²⁰ ≈ 百万分之一
  • 零知识:Victor学到了什么?只知道”Peggy很可能知道咒语”
    • 但关于咒语本身:一无所知!
    • Victor甚至无法向别人证明Peggy知道(可能是合谋演戏)

数学化:图的三色问题

背景

  • 图的三色问题(NP-complete):给图的每个节点染色(红/绿/蓝),使相邻节点颜色不同
  • Peggy有一个图的三色方案,要向Victor证明她有解,但不泄露具体染色

协议

  1. 承诺阶段
    • Peggy随机打乱颜色(红→蓝,绿→红,蓝→绿)
    • 用承诺方案(commitment)隐藏每个节点的颜色
    • 发送所有承诺给Victor
  2. 挑战阶段
    • Victor随机选择一条边 (u, v)
    • 要求Peggy打开节点u和v的承诺
  3. 验证阶段
    • Victor检查u和v的颜色是否不同
  4. 重复:多轮(例如,对于n条边,重复3n轮)

为什么这是零知识?

  • 完备性:Peggy有真正的三色方案,总能通过验证
  • 可靠性:Peggy作假,每轮被抓住概率至少1/m(m是边数)
  • 零知识:每轮Victor只看到一条边的两个颜色
    • 且每轮Peggy随机打乱,Victor无法拼出完整方案
    • 数学证明:Victor可以自己模拟这些交互(模拟器存在定理)

理论意义:GMW定理(1986)

Goldwasser-Micali-Wigderson定理

对于NP中的任何语言(任何可验证的问题),都存在零知识证明协议。

含义

  • 几乎所有实际问题(只要是NP)都能零知识证明!
  • 例如:
    • 证明知道离散对数(密码学基础)
    • 证明知道大数的因子分解
    • 证明两个密文加密了相同的明文
    • 证明计算过程正确(可验证计算)

构造方法: 由于图三色是NP-complete,任何NP问题都可归约到它,因此:

  1. 将问题A归约为图三色问题B
  2. 对B做零知识证明
  3. 归约过程本身是公开的,不泄露信息

3. 交互式证明系统:重新定义”证明”

传统证明(数学):

  • 证明是一串逻辑推导
  • 验证者自己检查每一步
  • 静态、非交互

交互式证明(Goldwasser-Micali-Rackoff, 1985):

定义:

  • Prover(P):拥有无限计算能力(但不可信)
  • Verifier(V):计算能力有限(多项式时间)
  • 交互:多轮对话,V发送随机挑战,P回应
  • 结果:V最终接受或拒绝

性质

  1. 完备性:如果命题为真,诚实的P能说服V(高概率)
  2. 可靠性:如果命题为假,任何作弊的P都无法说服V(高概率)

复杂性类IP

定义: IP = 所有拥有交互式证明的语言集合

惊人结果(Shamir, 1990):

IP = PSPACE

(交互式证明能解决所有多项式空间可解的问题!)

意义

  • 交互和随机性极大扩展了可证明性的边界
  • 远超传统的NP(非确定性多项式时间)

应用:可验证计算

场景

  • 你的手机(弱设备)需要做复杂计算
  • 外包给云服务器(强大但不可信)
  • 如何确保云返回的结果是正确的?

解决

  1. 云服务器计算结果,并生成一个”证明”
  2. 手机用交互式证明协议验证
  3. 验证时间远小于计算时间(例如:计算1小时,验证1秒)

实际系统

  • Pinocchio(微软研究院):可验证外包计算
  • Bulletproofs:区块链中的简洁证明
  • zk-SNARKs:零知识简洁证明(下文详述)

4. 伪随机函数与密码学基础

问题: 密码学需要大量随机数,但:

  • 真随机:难以生成、存储、传输
  • 伪随机:用算法生成,但如何保证”看起来随机”?

Goldreich-Goldwasser-Micali理论(1984-1986):

伪随机生成器(PRG)

严格定义: 一个函数 G: {0,1}ⁿ → {0,1}ᵐ(m > n)是PRG,如果:

  1. 扩展性:从短种子生成长输出
  2. 伪随机性:任何多项式时间算法都无法区分 G(s)(s随机)和真随机串

数学表达:

对于任何多项式时间区分器 D:
|Pr[D(G(s))=1] - Pr[D(r)=1]| < ε(n)
(ε是可忽略函数)

伪随机函数(PRF)

更强的概念(Goldwasser-Goldreich-Micali, 1984):

  • PRG只生成固定字符串
  • PRF是一个函数族 {fₖ},k是密钥
  • fₖ: {0,1}ⁿ → {0,1}ⁿ
  • 性质:多项式时间算法无法区分 fₖ 和真随机函数

构造(基于GGM树):

给定PRG G: {0,1}ⁿ → {0,1}²ⁿ
将输出分为两半:G(s) = (G₀(s), G₁(s))

定义PRF fₖ(x)(x是n比特):
从根节点k开始
对于x的每一位bᵢ:
  如果bᵢ=0,走左子树:应用G₀
  如果bᵢ=1,走右子树:应用G₁
最终叶节点值就是fₖ(x)

应用

  • 分组密码(AES的理论基础)
  • 消息认证码(MAC)
  • 密钥派生函数(KDF)

理论意义:One-Way Functions

核心假设

存在单向函数(容易计算但难以逆向)

Goldwasser等人证明: 如果单向函数存在,则:

  1. PRG存在
  2. PRF存在
  3. 语义安全的加密存在
  4. 数字签名存在
  5. 零知识证明存在

反过来(部分): 如果这些原语存在,则单向函数存在

结论: 单向函数是现代密码学的”最小假设” —— 几乎所有密码学工具都等价于它!

5. 安全多方计算:互不信任的协作

问题(Yao’s Millionaires’ Problem): 两个百万富翁想知道谁更富,但都不想透露自己的财富。

推广: n个参与方,各有私有输入 x₁, …, xₙ 想共同计算函数 f(x₁, …, xₙ) 要求:

  1. 正确性:得到正确结果
  2. 隐私性:除了结果,学不到其他参与方的输入

Goldreich-Micali-Wigderson协议(1987):

核心思想:秘密分享 + 加密电路

步骤(简化版):

  1. 秘密分享
    • 每个参与方将输入xᵢ拆成n份:xᵢ = s₁⁽ⁱ⁾ ⊕ s₂⁽ⁱ⁾ ⊕ … ⊕ sₙ⁽ⁱ⁾
    • 将sⱼ⁽ⁱ⁾发送给参与方j(加密传输)
  2. 加密电路评估
    • 将函数f表示为布尔电路
    • 使用Yao的加密电路(Garbled Circuit)
    • 各方协作评估电路,但看不到中间值
  3. 输出重建
    • 各方合并结果份额
    • 得到f(x₁, …, xₙ)

安全性证明

  • 使用”模拟器范式”(Simulation Paradigm)
  • 证明:真实协议中,参与方看到的信息
    • 可以由模拟器仅根据输入和输出生成
    • 因此没有泄露额外信息

应用

  • 隐私保护的数据分析
    • 多家医院联合训练AI模型,但不共享病人数据
  • 安全拍卖
    • 投标者出价,只公布赢家和价格,其他出价保密
  • 区块链
    • 智能合约的隐私版本
    • 例如:保密投票、暗池交易

🌍 对世界的深远影响

对密码学的影响

范式转变

  • 之前:设计→攻击→修补(打地鼠)
  • 之后:定义安全→归约证明→可证安全

方法论

  1. 精确定义安全目标(语义安全、CCA安全等)
  2. 假设困难问题(因子分解、离散对数等)
  3. 归约证明:攻破方案→解决困难问题
  4. 结论:在假设下,方案是安全的

影响的算法

  • RSA-OAEP:RSA的安全填充(证明CCA安全)
  • ElGamal:基于离散对数的语义安全
  • Cramer-Shoup:首个实用的CCA2安全方案

对区块链和Web3的影响

zk-SNARKs:零知识的现代形式

全称:Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge

  • Zero-Knowledge:零知识
  • Succinct:简洁(证明小,验证快)
  • Non-Interactive:非交互(一次性证明,无需多轮)

应用

  • Zcash:隐私币
    • 交易金额和参与方完全隐藏
    • 但仍可验证交易有效(没有凭空造币)
  • zkSyncStarkNet:以太坊Layer 2
    • 将数千笔交易打包,生成一个简洁证明
    • 主链只验证证明(而非每笔交易)
    • 大幅提升吞吐量
  • Tornado Cash:混币器
    • 切断链上地址关联
    • 保护隐私(虽引发监管争议)

实际案例:Algorand

背景: Silvio Micali在获图灵奖后,创立了Algorand区块链(2017)

核心创新

  • Pure Proof-of-Stake:纯权益证明
    • 使用VRF(可验证随机函数)选举出块者
    • 无需挖矿,节能高效
  • 密码抽签
    • 每个代币持有者私密地自我检查是否被选中
    • 基于Micali的密码学研究
  • 即时确定性
    • 区块一旦生成,立即最终确认
    • 无分叉风险

意义: 图灵奖得主亲自将理论转化为实践,影响数十亿美元资产。

对隐私计算的影响

联邦学习与MPC

场景: 多家企业联合训练AI模型,但不能共享原始数据(法律或竞争原因)

技术

  • 联邦学习(Federated Learning):
    • 各方本地训练
    • 只共享模型更新(梯度)
  • 安全聚合(Secure Aggregation):
    • 使用MPC协议
    • 服务器只看到聚合后的梯度,看不到单个参与方的
    • 基于Goldreich-Micali-Wigderson的MPC框架

实际应用

  • Google Gboard
    • 学习用户输入习惯
    • 但不上传具体输入内容
  • 金融业
    • 联合反洗钱、信用评估
    • 不泄露客户数据

可验证计算

场景: 云计算时代,用户外包计算,但如何信任结果?

技术

  • 基于交互式证明和零知识证明
  • 云返回结果+简洁证明
  • 用户快速验证(无需重新计算)

应用

  • 区块链轻节点
    • 不下载全部区块链数据
    • 只验证简洁证明
  • 可信AI
    • 证明模型是用特定数据训练的
    • 证明推理过程没有后门

对互联网安全的影响

TLS/SSL

  • 今天你访问HTTPS网站,使用的密钥交换(ECDHE)和认证
  • 安全性证明依赖Goldwasser-Micali的语义安全框架

数字签名

  • 你的电子签名、代码签名
  • 理论基础包括单向函数和伪随机函数(GMM理论)

双因素认证

  • 零知识证明的简化应用
  • 证明”我知道密码”而不传输密码本身(避免中间人攻击)

🏆 获奖理由(通俗版)

ACM官方表彰:“在复杂性理论基础上,为密码科学建立数学严格的基础,包括交互式证明、零知识证明以及伪随机数生成器。”

更通俗的理解

Goldwasser和Micali回答了三个根本问题

  1. 什么叫安全?

    • 不是”黑客猜不到”,而是”哪怕有超级计算机也算不出”
    • 用数学严格定义,可以证明
  2. 如何证明我知道一个秘密,却不泄露它?

    • 零知识证明:魔术般的数学技巧
    • 应用从密码到区块链到隐私AI
  3. 随机数如何生成?

    • 伪随机函数理论:从小种子生成”看起来随机”的大量数据
    • 现代密码学的燃料

他们共同:将密码学从”匠人手艺”提升为”数学科学”,让我们能信任数字世界的安全基础。

👤 个人生平与传奇

Shafi Goldwasser(1958-)

早年

  • 1958年:出生于纽约(父母是以色列移民)
  • 童年:在以色列特拉维夫长大
  • 教育
    • 卡内基梅隆大学数学学士(1979)
    • UC Berkeley计算机科学硕士(1981)
    • UC Berkeley计算机科学博士(1984,Manuel Blum指导)

学术生涯

  • 1983年:加入MIT(博士还没毕业就被聘用!)
  • RSA教席:MIT电气工程与计算机科学系教授
  • 双重身份:同时任以色列魏茨曼科学研究所教授
    • 每年在MIT和以色列各工作半年

荣誉

  • 图灵奖(2012)
  • Gödel奖(1993,2001):理论计算机科学最高奖,两次获得!
  • 美国国家科学院院士
  • 美国艺术与科学院院士
  • 以色列总统科学奖

性格

  • 严谨:对数学证明要求极高
  • 合作精神:多数重要工作是合作完成
  • 跨文化桥梁:连接美国和以色列学术界

趣事: 1985年发表零知识证明论文时,很多审稿人起初不理解——“证明知道却不泄露信息,怎么可能?” 她和合作者不得不多次改写论文,用更多例子解释,最终说服了学术界。

Silvio Micali(1954-)

早年

  • 1954年:出生于意大利西西里岛巴勒莫
  • 教育
    • 罗马大学数学学士(1978)
    • UC Berkeley计算机科学博士(1982,Manuel Blum指导)

学术生涯

  • 1983年:加入MIT
  • 持续至今:MIT计算机科学与AI实验室(CSAIL)教授
  • 创业:2017年创立Algorand,将理论应用于实践

荣誉

  • 图灵奖(2012)
  • Gödel奖(1993,2012):也是两次获奖!
  • RSA奖(2004)
  • 美国国家科学院院士

性格

  • 富有激情:演讲时充满感染力
  • 理论与实践并重:既做最深刻的理论,也关心实际应用
  • 创新者:不满足于论文,更要改变世界

趣事: Micali在MIT的办公室墙上挂着一幅西西里岛的地图,他常说:“我从地中海的小岛来,但密码学让我的思想影响全球。” 创立Algorand时,他已经60多岁,许多人劝他”享受退休”,他却说:“图灵奖不是终点,是新起点!“

两人的合作

黄金组合

  • 1982年在MIT相遇,一见如故
  • Goldwasser的数学深度 + Micali的直觉洞察
  • 合作30多年,联合发表数十篇奠基性论文

经典论文

  1. Probabilistic Encryption(1982):语义安全
  2. Zero-Knowledge Proofs(1985,与Charles Rackoff):零知识
  3. Proofs that Yield Nothing But Their Validity(1986):零知识的完整理论

共同导师: 他们的博士导师都是Manuel Blum(1995年图灵奖得主)

  • Blum开创了密码学复杂性理论
  • Goldwasser和Micali将之发扬光大

学术家族

  • 导师:Manuel Blum
  • 同门师兄弟:Lenore Blum, Gary Miller等
  • 学生:Ran Canetti, Rafail Ostrovsky, Chris Peikert等
  • 影响深远的学术谱系!

💭 为什么他们值得纪念?

1. 他们让密码学成为科学

之前

  • 设计师靠直觉:“这个算法看起来很复杂,应该安全”
  • 攻击者靠运气:“试试能不能破解”
  • 没有理论保证

之后

  • 严格定义安全性(语义安全、CCA安全等)
  • 基于数学困难问题(因子分解、离散对数等)
  • 归约证明:攻破方案 = 解决困难问题
  • 可证明安全成为金标准

类比: 就像物理学从炼金术进化为科学,密码学从黑魔法进化为数学分支。

2. 零知识证明:思想的革命

哲学意义

  • 挑战了”证明=传递信息”的常识
  • 证明可以”说服但不泄露”

技术意义

  • 从隐私保护到可验证计算
  • 从区块链到安全多方计算
  • 几乎所有现代密码学协议的核心工具

未来潜力

  • 隐私AI:证明AI模型训练合规,不泄露训练数据
  • 可验证投票:电子选举,结果公开可验证,选票隐私
  • 合规匿名:既保护隐私,又能证明合法(如年龄、资质)

3. 他们的工作经得起时间考验

1982年的论文,2024年仍在引用

  • 语义安全:今天教科书的标准定义
  • 零知识证明:从理论到实践(zk-SNARKs)
  • 40多年,不仅没过时,反而越来越重要

原因: 他们不追逐短期热点,而是挖掘根本问题:

  • 什么叫安全?
  • 什么叫证明?
  • 什么叫随机?

4. 理论到实践的典范

不仅是论文

  • Goldwasser:影响TLS、数字签名标准
  • Micali:创立Algorand,市值数十亿美元

证明了: 最深刻的理论可以产生最广泛的实践影响。

🔍 技术深度:零知识证明的现代形式

zk-SNARKs详解

全称:Zero-Knowledge Succinct Non-Interactive Argument of Knowledge

核心性质:

  1. 零知识(Zero-Knowledge)

    • 验证者除了”陈述为真”,学不到其他信息
  2. 简洁(Succinct)

    • 证明大小:O(1) 或 O(log n)(n是陈述大小)
    • 验证时间:O(1) 或 O(log n)
    • 远小于原始计算
  3. 非交互(Non-Interactive)

    • 不需要多轮对话
    • 证明者生成一个证明,发送给验证者
    • 验证者一次性验证
  4. 可靠(Argument)

    • 对计算受限的作弊者安全
    • (相比”Proof”,后者对无限算力的作弊者也安全)

技术路线:

预处理阶段(Setup):

  • 生成公共参考串(CRS):一对公钥-验证钥
  • 挑战:可信设置(Trusted Setup)
    • 需要销毁某些”有毒废料”(toxic waste)
    • 如果泄露,可以伪造证明
    • 解决:多方计算仪式(MPC Ceremony)
      • 例如Zcash的”Powers of Tau”,数千人参与
      • 只要有一人诚实销毁,就安全

证明生成(Prove):

  1. 将计算表示为算术电路(R1CS或更高级的表示)
  2. 使用多项式编码
  3. 应用椭圆曲线配对(Pairing)
  4. 生成简洁证明(几百字节)

验证(Verify):

  • 用验证钥检查证明
  • 几毫秒完成

实际性能(Groth16方案):

  • 证明大小:约200字节(3个群元素)
  • 验证时间:约5毫秒
  • 证明生成时间:几秒到几分钟(取决于电路大小)

应用

  • Zcash:隐藏交易细节
  • Filecoin:证明存储了数据(不泄露数据本身)
  • zkRollups:以太坊扩容

zk-STARKs:下一代

全称:Zero-Knowledge Scalable Transparent Arguments of Knowledge

改进

  • Transparent:无需可信设置!
    • 只需公开随机性(如区块哈希)
  • Scalable:证明生成几乎线性时间
  • 后量子安全:抗量子计算机攻击

代价

  • 证明更大(几十KB到几百KB)
  • 验证稍慢(仍是次线性)

应用

  • StarkNetStarkEx:以太坊Layer 2
  • 零知识机器学习:证明AI推理正确

实用技巧:Fiat-Shamir启发式

问题: 交互式零知识证明很强大,但:

  • 需要多轮对话
  • 不适合区块链(无法交互)

Fiat-Shamir变换(1986): 将交互变为非交互:

  1. 原本:验证者发送随机挑战 c
  2. 变换:证明者用哈希函数自己生成 c = H(承诺)
    • H是密码学哈希(如SHA-256)
    • 随机预言机模型(Random Oracle Model)假设H是”理想随机函数”

效果

  • 交互协议→非交互协议
  • 证明可以写入区块链、发送电子邮件等

安全性

  • 在随机预言机模型下安全
  • 实践中广泛使用,未发现攻击

🧪 实践意义:从理论到代码

零知识证明库

Circom + SnarkJS(前端友好):

// 定义电路(Circom语言)
template Multiplier() {
    signal input a;
    signal input b;
    signal output c;
    c <== a * b;
}

// 证明"我知道两个数的乘积是15,但不告诉你是哪两个数"
// 生成证明
const proof = await snarkjs.groth16.fullProve(
    {a: 3, b: 5},  // 私有输入
    "circuit.wasm",
    "circuit.zkey"
);

// 验证
const verified = await snarkjs.groth16.verify(
    verificationKey,
    {c: 15},  // 公开输出
    proof
);

libsnark(C++,高性能):

  • Zcash和Filecoin使用
  • 支持Groth16、GM17等方案

gnark(Go):

  • ConsenSys开发
  • 适合以太坊生态

MPC框架

MP-SPDZ(学术):

  • 支持多种MPC协议
  • Python式的高级语言

SCALE-MAMBA(布里斯托大学):

  • 工业级MPC
  • 用于金融业实际部署

应用案例: 丹麦糖尿病研究(2008):

  • 多家医院联合分析病人数据
  • 使用MPC,不共享原始数据
  • 首个大规模MPC实际应用

📚 延伸阅读

书籍

  • Goldreich: “Foundations of Cryptography”(2卷)

    • 现代密码学理论的圣经
    • Goldreich是Goldwasser和Micali的亲密合作者
  • Katz & Lindell: “Introduction to Modern Cryptography”

    • 教科书,深入浅出
    • 大量使用Goldwasser-Micali的框架

论文(必读)

  1. Goldwasser & Micali: “Probabilistic Encryption” (JCSS 1984)

    • 语义安全的奠基之作
  2. Goldwasser, Micali, Rackoff: “The Knowledge Complexity of Interactive Proof Systems” (STOC 1985)

    • 零知识证明诞生
    • 1993年Gödel奖
  3. Goldreich, Goldwasser, Micali: “How to Construct Random Functions” (JACM 1986)

    • 伪随机函数理论

视频课程

  • Boaz Barak: “Introduction to Theoretical Computer Science”

    • 哈佛公开课,有零知识证明章节
  • Dan Boneh: “Cryptography” (Coursera)

    • 斯坦福课程,语义安全详解

实践资源

  • ZK Whiteboard Sessions(YouTube):

    • zkSNARKs/STARKs视频教程
  • Zcash Protocol Specification

    • 零知识证明的工业实现

🌟 精神遗产

Goldwasser:“安全必须严格定义”

在一个世界中,我们的生活越来越依赖数字系统(银行、医疗、通信),“看起来安全”是不够的。Goldwasser教会我们:

  • 用数学语言精确定义安全
  • 用归约证明建立信心
  • 不信任直觉,只信任证明

这种严格性不仅适用于密码学,也适用于所有关键系统的设计。

Micali:“理论应该解决真问题”

Micali不满足于发表论文,他要让理论改变世界:

  • 从零知识证明到Algorand区块链
  • 从伪随机函数到实际的安全协议
  • 70岁仍在创业,将理论转化为产品

他提醒我们:最好的理论是能解决实际问题的理论。

共同遗产:“隐私与验证可以共存”

在大数据和AI时代,人们常说”要么隐私,要么功能”。Goldwasser和Micali用零知识证明和MPC告诉我们:

  • 不是二选一,而是两者兼得
  • 可以既保护隐私,又验证正确性
  • 可以既协作计算,又不泄露数据

这是对未来数字社会至关重要的愿景。


总结语:Shafi Goldwasser和Silvio Micali是现代密码学的建筑师。他们不仅发明了零知识证明这样的”魔法工具”,更重要的是,他们建立了一套完整的方法论——如何精确定义安全、如何严格证明系统安全、如何将理论转化为实践。

从你在浏览器地址栏看到的小锁图标,到区块链上的隐私交易,从云计算的可验证性,到未来的隐私AI,他们的思想无处不在。他们证明了:最深刻的数学理论可以产生最广泛的实际影响,最抽象的证明概念可以保护最具体的个人隐私。

在一个数字化的世界里,Goldwasser和Micali建造了信任的数学基础。这束始于1980年代MIT和Berkeley的可证明安全之光,至今仍照亮着我们走向更安全、更私密、更可信的数字未来。


最后更新: 2024年12月 本文为图灵奖系列文章,旨在以通俗方式介绍计算机科学先驱的贡献

DISCUSSION

评论与补充