零知识证明与隐私计算

共 56 题
📑 题目列表 56 题
#
★★★

1. zk-SNARK(Groth16)证明大小 O(1)、验证 O(1) 的 succinctness 工程价值?

zk-SNARK(如 Groth16)的证明大小 O(1)、验证时间 O(1) 的 succinctness 特性具有怎样的工程价值?

  • succinctness 的定义
  • 证明/验证与计算规模无关
  • 在区块链与隐私验证中的应用

zk-SNARK 的 succinctness 意味着证明大小和验证时间只与电路的安全性参数相关,而与计算(电路)规模无关,即无论被证明的计算有多复杂,证明都只有约 200 字节、验证只需常数时间。工程价值巨大:在区块链中,链上只需验证这个小证明即可确认复杂的链下计算,从而大幅降低链上 Gas 成本与验证延迟,这是 zk-rollup 的核心。Groth16 的证明是 3 个群元素,验证是常数个配对运算。

succinctness 是 zk-SNARK 区别于其他 ZKP 的关键。它把"昂贵计算"打包成"廉价验证",适合强调验证效率、计算可外包的场景。

#
★★

2. Threshold BLS 在 t-of-n 签名聚合的工程价值?

Threshold BLS(门限 BLS)在 t-of-n 签名聚合中的工程价值是什么?

  • BLS 签名的可聚合性
  • 门限签名的构造
  • 分布式密钥的应用

BLS 签名具有"可聚合"特性:多个签名可合并为一个签名,且无需交互即可验证。Threshold BLS 利用 Shamir 秘密共享,将签名私钥分成 n 份,任意 t 份即可联合生成一个有效签名,少于 t 份无法伪造。工程价值在于:无需知道是哪些参与方签名,只需 t 份即可合成单个签名,适用于多签钱包、区块链验证者、去中心化预言机等场景,显著减少签名存储与验证开销。

门限签名把"谁签"与"签了多少"解耦,聚合后是单个标准签名。工程上,Threshold BLS 在 Dfinity、链上多签、随机信标等场景中广泛使用,是分布式信任的核心原语。

#
★★

3. BLS 在密钥聚合(aggregate public key)与签名聚合(aggregate signature)的工程价值?

BLS 在密钥聚合(aggregate public key)与签名聚合(aggregate signature)中分别有怎样的工程价值?

  • 密钥聚合与签名聚合
  • BLS 的双线性配对
  • 与 Schnorr 的对比

BLS 基于双线性配对,天然支持两类聚合:一是密钥聚合,多个公钥可合并为一个聚合公钥(用于验证多个签名者的联合签名);二是签名聚合,多个独立的签名可合并为一个签名,验证时只需一个配对运算。工程价值在于:极大压缩多签名场景的存储与验证成本,例如受托人签名、区块聚合签名、跨链消息。相比 Schnorr 多签需交互,BLS 聚合是非交互的,但需注意"流氓密钥攻击"(rogue key)的防御。

BLS 的聚合能力来自配对的双线性性质。工程上,它用于链上签名聚合(如 Ethereum 验证者、Chia、Dfinity),以摊薄多签的带宽与验证成本。

#
★★

4. BFV(Brakerski-Fan-Vercauteren)与 CKKS(Cheon-Kim-Kim-Song)scheme 的工程差异,精确整数 vs 近似浮点如何取舍?

BFV 与 CKKS 两种同态加密方案在工程上的差异是什么(精确整数 vs 近似浮点)?

  • BFV 的精确整数运算
  • CKKS 的近似浮点运算
  • 适用场景差异

BFV 和 CKKS 都是基于 RLWE 的层级同态加密(HE)方案,都能执行加法和乘法,但语义不同。BFV 做"精确整数"运算,明文是整数模 p,解密结果精确,适合计费、统计、需要精确结果的场景。CKKS 做"近似浮点"运算,明文被编码为带噪声的复数/浮点,解密结果近似但有界误差,适合机器学习、数据处理等对精度不敏感的场景。工程上,CKKS 通过缩放(scaling)处理小数,效率更高但需容忍误差;BFV 更安全可靠但处理小数不便。

选择取决于是否需要精确结果。工程上,BFV 用于精确整数运算(如数据库求和、拍卖),CKKS 用于近似计算(如加密模型推理、统计)。两者都受噪声增长限制,需用 bootstrapping 或参数留余量。

#
★★

5. DKG 在 t-of-n key share 重建(Key refresh)的工程边界?

DKG(分布式密钥生成)在 t-of-n 密钥分片重建(key refresh)中的工程边界是什么?

  • DKG 与 key refresh
  • 分片更新与安全
  • 参与方数量与流程

DKG 让多个参与方协作生成一个密钥而无任何单一实体掌握完整密钥。Key refresh 是定期重新生成分片(share)而不改变底层密钥,以抵御部分分片泄露、提升前向安全。工程边界包括:需要至少 t 个参与方在线才能重建/刷新,需要两轮异步通信(Pedersen 承诺 + 验证),且须防止恶意参与方提交错误分片(需公开验证)。工程上,DKG 的复杂度随参与方数量增加,且对网络假设(同步/异步)敏感。

Key refresh 的价值在于"分片轮换":即使旧分片泄露,新分片也改变密钥分享结构,泄密者无法继续使用。工程边界主要是参与方可用性、通信复杂度与恶意行为的检测。

#
★★

6. DKG(Distributed Key Generation)协同生成的 key 无 single point of trust 的工程价值?

DKG(分布式密钥生成)协同生成的密钥因为没有单一信任点(single point of trust)而具有怎样的工程价值?

  • 无单一信任点
  • 密钥分布式持有
  • 抗合谋与单点故障

DKG 将密钥的生成与持有分散到多个参与方,任何单一实体(或少于 t 个参与方)都无法单独掌握或使用密钥,从而消除 single point of trust 与 single point of failure。工程价值在于:提升了密钥托管的安全性(即使某节点被攻破,整体密钥仍安全)、支持去中心化治理(如多方共同控制金库)、并提高可用性(部分节点离线不影响密钥使用)。这是门限签名、去中心化钱包与跨链桥的关键基础。

无单一信任点意味着攻击者必须同时攻破至少 t 个参与方才能获得密钥,攻击面显著扩大。工程上,DKG 常配合门限签名实现"多签的信任分散"。

#
★★

7. STARK 证明大小(几十 KB)相对 SNARK(~200 bytes)在 on-chain data 成本的工程价值?

STARK 证明大小(几十 KB)相对 SNARK(约 200 字节)在链上数据(on-chain data)成本上的工程价值是什么?

  • STARK 与 SNARK 的证明大小
  • 链上存储成本
  • 场景权衡

SNARK 证明约 200 字节,链上存储成本极低,适合频繁上链验证(如 zk-rollup 每日状态更新);STARK 证明几十 KB,链上存储成本显著更高,但无需可信设置、抗量子,且无需预计算电路。工程取舍在于:链上数据成本(每字节 Gas)与可信设置/透明性之间的权衡。对于大数据量、低频上链场景,STARK 的可接受性增强;对于高频小额交易,SNARK 更划算。

证明大小直接换算为链上 Gas 成本。工程上需综合评估频率、成本与透明性需求。StarkNet 等用 STARK 但通过压缩(如 Cairo 证明递归)降低最终上链大小。

#
★★

8. PIR(Private Information Retrieval)在不暴露 query 的下载数据工程价值?

PIR(Private Information Retrieval)在不暴露查询(query)的情况下下载数据的工程价值是什么?

  • PIR 的定义
  • 查询隐私保护
  • 与 ORAM 的对比

PIR 允许客户端从一个公开数据库下载一条记录,而服务器无法得知客户端查询了哪条记录,从而保护查询隐私。工程价值在于:在公共数据库(如证书透明日志、区块链交易、DNS 记录)中,客户端可隐藏其访问意图,防止被追踪或推断。相比 ORAM(隐藏访问模式但需本地存储),PIR 是"仅服务器通信"的对称隐私,适合服务器掌握数据、客户端想隐藏查询的场景。

PIR 的隐私边界是"服务器不学习查询索引"。工程上,信息论 PIR 需要服务器复制多副本,计算 PIR 性能更优但依赖计算假设。其应用包括:隐私保护的网络地址查询、区块链轻客户端。

#
★★

9. trivial PIR(客户端下载所有数据)vs computational PIR(如 CPIR)的工程取舍?

trivial PIR(客户端下载所有数据)与 computational PIR(如 CPIR)之间的工程取舍是什么?

  • trivial PIR 的带宽开销
  • computational PIR 的加密开销
  • 场景权衡

trivial PIR 通过客户端下载整个数据库来隐藏查询,隐私完美但带宽随数据库大小线性增长,不适合大数据集。computational PIR(CPIR)基于同态加密等计算假设,让客户端只下载目标记录,带宽小但计算与服务器开销高。工程取舍在于:数据库小且带宽充裕时用 trivial,数据库大时用 CPIR 以节省带宽,但需权衡服务器计算成本与延迟。混合方案常平衡两者。

这是"带宽 vs 计算"的权衡。工程上,PIR 的实用瓶颈是服务器端计算与预处理成本,因此常结合数据库切分、批处理与缓存优化。

#
★★

10. Path ORAM 在递归 query 与 block stash 的工程价值?

Path ORAM 在递归查询(recursive query)与块存储(block stash)中的工程价值是什么?

  • Path ORAM 的结构
  • 递归 ORAM
  • stash 与访问模式隐藏

Path ORAM 是一种 ORAM 方案,通过"树 + 路径读写 + stash"结构隐藏访问模式。每次访问时读取并重写一条完整路径,将真实块放入 stash,并把真实块位置记录在树节点的位置图中。递归 ORAM(recursive ORAM)把位置图本身也放入 ORAM 以缩小客户端存储,从而降低通信开销。工程价值在于:递归用较小 ORAM 存储元数据,减少恒定状态;stash 平衡了访问效率与溢出风险。Path ORAM 是许多加密数据库与安全 CPU 的 ORAM 基础。

ORAM 的核心是让所有访问呈"均匀随机"的路径读写,攻击者无法区分真实与虚拟访问。递归降低客户端对位置图的存储,stash 允许临时缓冲溢出块。

#
★★

11. TSS 相对 MPC 的工程边界,TSS 仅签名 key 而 MPC 可处理任意 function?

TSS(门限签名)相对 MPC 的工程边界是什么:TSS 只处理签名密钥,而 MPC 可执行任意函数?

  • TSS 与 MPC 的定位
  • 功能范围差异
  • 部署复杂度对比

TSS(Threshold Signature Scheme)是 MPC 的一种特化,只针对"分布式生成与使用签名密钥"这一任务,输出特定签名(如 ECDSA、BLS 签名)。MPC 则是通用框架,可安全计算任意函数(如联合建模、数据处理、隐私聚合)。工程边界在于:TSS 更简单、协议更成熟、性能更好,适合密钥管理场景;MPC 更通用但复杂、通信昂贵、部署难。工程上,TSS 用共享密钥做签名,MPC 用共享输入做任意计算。

TSS 相当于"MPC 的专用子集",针对签名优化。工程选型时,若目标只是分布式签名,优先 TSS(成熟高效);若需任意隐私计算,才用通用 MPC。

#
★★

12. ORAM 通过 obliviouse shuffling 隐藏访问模式的密码学工程价值?

ORAM 通过混淆洗牌(oblivious shuffling)隐藏访问模式的密码学工程价值是什么?

  • 访问模式泄露
  • oblivious shuffling 机制
  • 防御侧信道

即使数据加密,攻击者仍能通过观察内存访问模式(如访问了哪些地址、频率)推断敏感信息。ORAM 通过 oblivious shuffling 重排数据,使每次访问都表现为"均匀随机"的访问,从而隐藏真实访问模式。工程价值在于:保护加密数据库、安全 CPU、TEE 等场景中"访问模式"这类元数据,防止基于访问信息的推断攻击。混淆洗牌是 ORAM 的核心机制,通过重排 + 随机化使访问序列与真实数据无关。

访问模式是"元数据泄露"的典型。ORAM 工程上的价值是把访问模式也纳入保护范围,代价是 O(log n) 的通信放大。应用包括加密数据库、云端数据隐私。

#
★★

13. ORAM 在 enclave 安全数据库的工程应用?

ORAM 在 enclave(可信执行环境)安全数据库中的工程应用是什么?

  • enclave 数据库
  • 访问模式防护
  • 与 TEE 的结合

在 enclave(如 Intel SGX、ARM TrustZone)中运行安全数据库时,即使数据在 enclave 内解密处理,攻击者仍可通过观察内存访问模式(如缓存缺失、页表、控制流)推断数据。ORAM 把数据库访问封装为 oblivious 访问,使攻击者无法从访问模式提取信息。工程价值在于:结合 TEE 的可信计算与 ORAM 的访问模式保护,实现真正端到端的数据库隐私。代价是性能开销(ORAM 的通信放大),因此常需吞吐优化。

这是"TEE 的边界防护"——TEE 保护计算与数据,ORAM 保护访问模式。工程实践(如 enclave 数据库、ORAM 引擎)证明两者结合可防御物理侧信道推断。

#
★★

14. BLS12-381 curve 的 pairing in Ethereum 2.0 beacon chain 工程应用?

BLS12-381 曲线的配对(pairing)在以太坊 2.0 信标链(beacon chain)中的工程应用是什么?

  • BLS12-381 曲线
  • 配对与 BLS 签名
  • 验证者聚合

Ethereum 2.0 的共识层使用 BLS12-381 曲线上的 BLS 签名,通过双线性配对实现签名聚合。每个验证者用 BLS 签名投票,多个验证者的签名聚合成一个签名,验证只需一个配对运算。工程价值在于:极大降低信标链上数百万验证者的签名存储与验证成本,使每个 epoch 的共识消息可高效聚合验证。BLS12-381 提供了 128 位安全级别,兼顾性能与安全。

配对聚合是 Eth2 可扩展性的关键。工程上,BLS12-381 的配对运算(如 G2 预计算)经过优化,聚合验证在毫秒级完成,支撑高层级的验证者数量。

#
★★

15. Dfinity、Chia、Algorand 在 BLS threshold signature 的工程实现?

Dfinity、Chia、Algorand 在 BLS 门限签名(threshold signature)上的工程实现有何异同?

  • 各项目的门限签名应用
  • BLS 聚合与多签
  • 共识与随机性

Dfinity 使用 BLS 门限签名实现随机性信标与共识,节点用门限签名生成不可预测的随机数;Chia 使用 BLS 聚合签名实现区块链签名与聚合;Algorand 使用可验证随机函数(VRF)与门限机制实现无领导共识。三者都依赖 BLS 的可聚合/门限特性,但应用侧重点不同:Dfinity 侧重随机信标与分布式阈值,Chia 侧重签名聚合,Algorand 侧重 VRF 与门槛选择。工程实现都需注意门限签名密钥管理、聚合验证与曲线优化。

这些项目展示了 BLS 门限签名的通用性——既能做随机信标,也能做签名聚合与领导选择。工程上,BLS 的门限特性与可聚合性是其核心竞争力。

#
★★

16. STARKs vs SNARKs 在 post-quantum security 的工程边界?

STARKs 与 SNARKs 在后量子安全(post-quantum security)上的工程边界是什么?

  • 抗量子特性差异
  • 哈希 vs 椭圆曲线假设
  • 场景权衡

STARK 的安全性基于哈希函数(如 SHA-256、Keccak)与 FRI 协议,哈希函数对量子计算有较高抗性,因此 STARK 天然抗量子。SNARK 多数基于椭圆曲线配对(如 Groth16、PLONK),依赖离散对数/配对假设,受量子计算威胁,需选用后量子友好的组合(如基于哈希的 SNARK 或递归)。工程边界在于:STARK 抗量子、透明(无可信设置)但证明大;SNARK 证明小、效率高但依赖可信设置与椭圆曲线假设。抗量子场景应优先 STARK。

后量子安全性影响长期部署。工程上,STARK 的 hash-based 安全性使其成为抗量子 ZKP 的首选,但其证明大,需在透明性/抗量子与证明大小之间权衡。

#
★★

17. Groth16(验证 O(1),prover O(n log n))与 PLONK(universal trusted setup)的工程取舍?

Groth16(验证 O(1)、prover O(n log n))与 PLONK(通用可信设置)之间的工程取舍是什么?

  • Groth16 的每电路设置
  • PLONK 的通用设置
  • 证明大小与性能对比

Groth16 需要为每个电路单独进行可信设置(per-circuit setup),但证明最小(3 个群元素)、验证最快,是 zk-SNARK 中最优的证明效率。PLONK 使用通用可信设置(universal setup,一次设置可服务多个电路),通过多项式承诺与自定义门(gate)支持更灵活的实现,但证明更大、验证稍慢。工程取舍在于:若电路固定且频繁使用,Groth16 的每电路设置成本可摊薄,性能最优;若电路频繁更新或需可编程性,PLONK 的通用设置更灵活。

Groth16 是"性能优先",PLONK 是"灵活性优先"。工程上,PLONK 族(含 Halo2、PlonkUp)成为主流因无需每电路仪式,且有透明与递归变体。

#
★★

18. zk-STARK 的 FRI(Fast Reed-Solomon IOP)底层证明系统的工程性能?

zk-STARK 的 FRI(Fast Reed-Solomon IOP)底层证明系统的工程性能如何?

  • FRI 协议
  • 证明与验证复杂度
  • 哈希与多项式承诺

FRI 是 zk-STARK 的核心,通过在 Reed-Solomon 码上做折叠(folding)与低度测试(low-degree test)来证明多项式关系,无需椭圆曲线配对。FRI 的 prover 复杂度为 O(n log n),verifier 为 O(log^2 n),被证明在哈希上安全。工程性能上,prover 需要大量哈希计算(因此较慢),但 verifier 极快且无需可信设置。FRI 还支持递归折叠,使证明可压缩。工程上,STARK 的 prover 成本是主要瓶颈,需优化哈希与 NTT。

FRI 的工程价值是"透明 + 抗量子 + 验证高效",代价是 prover 计算密集与证明较大。工程优化集中在哈希函数选择、折叠参数与并行化。

#
★★

19. FHE(Fully Homomorphic Encryption)的加法同态、乘法同态、自举(bootstrapping)、近似同态 4 个密码学性质?

全同态加密(FHE)的四个密码学性质——加法同态、乘法同态、自举(bootstrapping)、近似同态——分别是什么?

  • 同态加密层级
  • bootstrapping 的作用
  • 精确与近似同态

FHE 的四个性质:加法同态指密文相加等于明文相加的加密;乘法同态指密文相乘等于明文相乘的加密;自举(bootstrapping)指在密文上运行解密电路以刷新噪声,使任意深度电路可执行;近似同态(如 CKKS)指运算结果在噪声范围内近似正确。其中加法与乘法是基础,自举是实现"任意函数"的关键,近似同态则牺牲精度换取效率。工程上,这四个性质共同决定 FHE 能执行的运算范围与性能。

自举是 FHE 从"部分/层级同态"走向"全同态"的里程碑。工程上,自举极昂贵,因此常优先用纯 Add/Mul 层级同态,仅在必要时自举。

#
★★

20. 全同态加密的 bootstrapping 噪声管理为何成为性能瓶颈,它如何刷新密文噪声?

全同态加密的自举(bootstrapping)噪声管理为何是性能瓶颈,它如何刷新密文噪声?

  • 噪声增长问题
  • bootstrapping 的原理
  • 性能代价

同态加密中,每次乘法都会使密文噪声增长,当噪声超过阈值时无法解密。自举通过在密文上同态计算解密函数,把噪声"重置"回低位,从而允许任意深度计算。但自举本身极昂贵(计算解密电路,开销是普通乘法的万倍),因此成为性能瓶颈。工程上,自举需在"噪声预算"与自举频率之间权衡:噪声预算高则无需频繁自举但参数大,自举频繁则性能差。工程优化(如 FHE 库、自举加速)是 FHE 可用的关键。

自举是"用大规模计算换无限计算深度"。工程上,CKKS/BFV 等通过留足噪声预算延缓自举,并通过降模、参数优化与硬件加速降低自举成本。

#
★★

21. FHE 在 private inference(加密模型推理)与加密查询的工程边界?

FHE 在私有推理(加密模型推理)与加密查询中的工程边界是什么?

  • 模型推理与查询的加密
  • 性能瓶颈
  • 与 TEE/MPC 的对比

FHE 可用在加密数据上执行模型推理或数据库查询,客户端把数据加密后发送到服务器,服务器在密文上计算并返回加密结果,从而实现"数据不出客户端"的隐私计算。工程边界在于:FHE 推理极度昂贵(尤其非线性激活函数如 ReLU、比较),需要把计算转成多项式/同态友好形式,且自举开销大。相比 TEE(需信任硬件)与 MPC(交互多),FHE 是"非交互 + 强隐私",但性能是主要瓶颈。工程上常结合近似函数、预计算与硬件加速。

工程边界是"性能-隐私-信任"的三方权衡。FHE 隐私最强但最慢,适合对隐私要求极高、计算可外包的场景。

#
★★

22. 不经意传输(Oblivious Transfer)为何是多数 MPC 协议的基础构件,OT 扩展如何摊薄其开销?

不经意传输(Oblivious Transfer)为何是多数 MPC 协议的基础构件,OT 扩展如何摊薄其开销?

  • OT 的定义
  • OT 作为 MPC 基础
  • OT 扩展

不经意传输(OT)允许发送方从一对消息中发送一条,接收方选择接收一条但无法得知另一条,发送方也不知接收方选了哪条。它是许多 MPC 协议(如 Yao 混淆电路、GMW)的基础构件,因为混淆电路的"求值方选择解码密钥"本质就是 OT。OT 扩展(OT extension)用少量基础 OT(如 128 个)通过对称加密生成大量有效 OT,从而降低通信开销,使 OT 成本从"每个门一次"摊薄到"每个门一次对称操作"。这使得基于 OT 的 MPC 在性能上可行。

OT 扩展是"用少量公钥加密换取大量对称加密"的经典技巧。工程上,OT 作为最底层的隐私原语,决定了 MPC 的通信与计算效率。

#
★★

23. SPDZ 协议如何在离线/在线两阶段拆分计算,牺牲(sacrifice)与 MAC 如何保证恶意安全?

SPDZ 协议如何在离线/在线两阶段拆分计算,牺牲(sacrifice)与 MAC 如何保证恶意安全?

  • SPDZ 的两阶段结构
  • 预计算三元组
  • 恶意安全的 MAC 与 sacrifice

SPDZ 是恶意安全的 MPC 协议,分为离线(offline)与在线(online)阶段。离线阶段预计算乘法三元组(Beaver triple)与 MAC 密钥,在线阶段用三元组做本地乘积并验证 MAC,从而检测恶意参与方。MAC(消息认证码)对每个共享值加认证,牺牲(sacrifice)通过产生额外三元组并公开检查来验证三元组的正确性,防止恶意方提交错误三元组。这样即使有恶意参与方,也能保证计算正确性。工程价值在于:SPDZ 把昂贵预计算与在线计算分离,在线计算高效。

离线/在线分离是 SPDZ 的核心工程思想:把重计算前移,在线阶段只做轻量操作。MAC 与 sacrifice 共同保证恶意安全,是"预处理 + 验证"典范。

#
★★

24. MPC 在联邦学习与跨机构数据协作中的通信开销瓶颈主要来自哪里,如何随参与方数量扩展?

MPC 在联邦学习与跨机构数据协作中的通信开销瓶颈主要来自哪里,如何随参与方数量扩展?

  • 通信瓶颈来源
  • 参与方数量的扩展性
  • 优化手段

MPC 的通信开销主要来自每个乘法/门需要多方交换部分掩码与验证值,以及安全比较、排序等复杂运算。通信量通常随参与方数量 n 以二次或更高阶增长(如全对全通信),因此参与方越多,开销越大。在联邦学习聚合中,每轮梯度聚合都需 MPC 通信,成为瓶颈。工程上通过:减少通信轮次、使用 OT 扩展、批处理、树形/星形拓扑、以及预计算(如三元组)来缓解。扩展性上,参与方数通常局限在 10-100 数量级。

通信是 MPC 而非计算的主要瓶颈。工程上,规模越大越需优化拓扑与轮次,这也是 MPC 联邦学习难以大规模落地的原因。

#
★★

25. 半诚实(semi-honest)与恶意(malicious)安全模型对 MPC 协议的开销与复杂度差异有多大?

半诚实(semi-honest)与恶意(malicious)安全模型对 MPC 协议的开销与复杂度差异有多大?

  • 半诚实与恶意的定义
  • 恶意安全的额外开销
  • 协议选择

半诚实模型假设参与方"诚实但好奇",会遵守协议但试图从消息推断信息;恶意模型假设参与方可能偏离协议、提交错误输入。恶意安全需要额外机制(如 MAC、承诺、牺牲、零知识证明)来检测与惩罚偏离,因此协议更复杂、通信与计算开销显著更高(往往数倍到数十倍)。工程取舍在于:半诚实协议简单高效,适合信任度较高的场景;恶意协议安全但昂贵,适合对抗性强的场景。实际部署常采用恶意安全但优化过的协议。

这是"安全强度 vs 性能"的经典权衡。工程上,SPDZ 等恶意安全协议通过预处理降低在线开销,但总的复杂度仍高于半诚实。

#
★★

26. Shamir 秘密共享的门限(t-of-n)特性如何支撑门限签名与密钥托管,与 MPC 在线计算如何衔接?

Shamir 秘密共享的门限(t-of-n)特性如何支撑门限签名与密钥托管,并与 MPC 在线计算衔接?

  • Shamir 秘密共享
  • 门限特性
  • 与 MPC 的衔接

Shamir 秘密共享把秘密分解为多项式上的 n 个点,任意 t 个点可重构秘密,少于 t 个无法获取信息。这一门限特性直接支撑门限签名(t 个分片协作签名)与密钥托管(密钥由多方共同持有,防止单点泄露)。在 MPC 中,Shamir 共享作为数据表示方式,参与方各自持有共享值,通过 MPC 协议在共享上执行加法与乘法(乘法需额外交互),实现在线计算。工程上,Shamir 共享的加性/门限特性使多数 MPC 计算可直接在共享域进行。

秘密共享是"门限授权"与"MPC 计算表示"的统一基础。工程上,Shamir 的 t-of-n 提供了容错与防合谋,MPC 在其上叠加计算协议。

#
★★

27. 在真实部署中,MPC 与可信执行环境(TEE)如何在性能与信任假设上互为替代或互补?

在真实部署中,MPC 与可信执行环境(TEE)如何在性能与信任假设上互为替代或互补?

  • MPC 与 TEE 的信任模型
  • 性能对比
  • 互补使用

MPC 通过密码学在多参与方间分布计算,信任假设是"不串通的多方",无需信任硬件,但通信与计算开销大。TEE(如 SGX、TrustZone)在硬件隔离的可信环境中执行计算,信任假设是"信任硬件厂商",性能好但需信任 CPU 与固件。两者互为替代:隐私要求极高且无法信任硬件时用 MPC,追求性能且可接受硬件信任时用 TEE。工程上常互补:用 TEE 加速 MPC 的某些环节,或 MPC 保护 TEE 外的数据,达到性能与信任的平衡。

这是"信任模型 vs 性能"的权衡。工程上,混合方案(如用 TEE 做安全聚合、MPC 做互不信任协作)可兼顾两者优势。

#
★★

28. 零知识证明(ZKP)的 completeness、soundness、zero-knowledge 三性质的工程语义?

零知识证明(ZKP)的完备性(completeness)、可靠性(soundness)、零知识(zero-knowledge)三个性质的工程语义是什么?

  • 三性质的定义
  • 工程含义
  • 与正确性/安全的关系

完备性:如果声明为真,诚实的证明者总能被验证者接受"证明",即真实声明不会失败。可靠性:如果声明为假,恶意证明者无法(概率上)构造被接受的证明,防止虚假证明。零知识:验证者从证明中无法学到除"声明为真"外的任何信息,即证明不泄露 witness。工程语义上,完备性保证正确交互,可靠性保证安全性(防伪造),零知识保证隐私。三者共同定义了 ZKP 的"正确 + 安全 + 隐私"三角。

工程上,可靠性通常以"可忽略概率"(soundness error)表达,需要足够的安全参数。零知识则保证 witness 的机密性。

#
★★

29. ZKP 的交互式(interactive)与非交互式(NIZK)的工程取舍,Fiat-Shamir heuristic 如何参与?

ZKP 的交互式(interactive)与非交互式(NIZK)的工程取舍是什么,Fiat-Shamir heuristic 的作用是什么?

  • 交互式与 NIZK
  • Fiat-Shamir 变换
  • 哈希作为随机预言

交互式 ZKP 需要证明者与验证者多轮通信,不适合异步与单消息场景。Fiat-Shamir heuristic 通过用哈希函数计算挑战(challenge = H(commitment, statement)),把交互式证明变成非交互式(NIZK),证明者只需发送一个证明,验证者用同一哈希重算挑战。工程取舍在于:NIZK 更适合区块链、签名、一次性证明等场景,但依赖随机预言模型(RO)假设;交互式在 RO 不成立时更安全。工程上,Fiat-Shamir 是几乎所有实用 zk-SNARK 的基础。

Fiat-Shamir 把"随机挑战"替换为"哈希输出",从而消除交互。工程价值是使证明可公开验证、可批量、可上链。缺点是对哈希的随机预言假设。

#
★★

30. ZKP 的 statement vs witness 的关系,NP 语言中 statement 是公开、witness 是私密?

ZKP 中 statement 与 witness 的关系是什么:在 NP 语言中 statement 是公开、witness 是私密?

  • statement 与 witness 定义
  • NP 语言关系
  • 隐私语义

在 NP 语言中,statement 是要证明的公开声明(如"存在一个哈希为 H 的 preimage"),witness 是满足声明的秘密证据(如具体的 preimage)。证明者知道 witness 并证明"statement 为真",验证者只看到 statement 与证明,学不到 witness。工程语义上,statement 是公开可验证的事实,witness 是私密数据,ZKP 保证"既证明 statement 为真,又不泄露 witness"。这是 ZKP 在身份、隐私交易等场景的核心。

"statement 公开、witness 私密"是 ZKP 的隐私本质。工程上,通过把计算表示为 statement 的电路,witness 作为秘密输入,即可实现"证明计算正确而不泄露输入"。

#
★★

31. Sigma protocols(Schnorr、Chaum-Pedersen)的 3 轮(commit、challenge、response)工程语义?

Sigma 协议(Schnorr、Chaum-Pedersen)的三轮(commit、challenge、response)结构有何工程语义?

  • Sigma 协议的三轮结构
  • commit/challenge/response
  • 应用与 Fiat-Shamir

Sigma 协议是三轮交互式证明:证明者先发送承诺(commitment,随机遮蔽),验证者发送随机挑战(challenge),证明者给出响应(response),验证者据此验证。Schnorr 用于证明离散对数知识,Chaum-Pedersen 用于证明两个离散对数相等(如群元素相等)。工程语义上,这三轮保证可靠性(挑战不可预测)与零知识(承诺遮蔽响应),且通过 Fiat-Shamir 可转为非交互式签名。Schnorr 是许多签名与多签协议的基础。

Sigma 协议是"最简洁的 ZKP 模板"。工程上,commit 需一次性使用、challenge 需随机、response 需线性组合,三者共同保证不泄露秘密。

#
★★

32. zk-SNARK(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge)的 succinctness,证明 O(1) 大小、验证 O(1) 时间如何实现?

zk-SNARK 的 succinctness 特性(证明 O(1) 大小、验证 O(1) 时间)的工程含义是什么?

  • succinctness 定义
  • 证明与验证的常数开销
  • 外包计算验证

zk-SNARK 的 succinctness 指证明大小与验证时间都是常数(O(1)),与电路规模无关。这意味着无论计算多大,证明都只有恒定大小(如 Groth16 约 200 字节),验证只需常数时间。工程价值在于:验证方无需重复昂贵计算,只需验证小证明即可确认真实计算,是 zk-rollup、区块链可扩展性的核心。工程上以"证明生产成本"换取"验证的低成本",适合计算外包、验证受限的场景。

succinctness 使"可验证计算"成为可能:不信任执行者,信任其证明。工程上,prover 成本高(O(n log n))但验者极快,支撑链上高效验证。

#
★★

33. zk-SNARK 的 trusted setup(Powers of Tau、phase 2)的工程价值与 MPC ceremony?

zk-SNARK 的可信设置(Powers of Tau、phase 2)的工程价值与 MPC ceremony 是什么?

  • 可信设置的必要性
  • Powers of Tau 与 phase 2
  • MPC ceremony 与安全

许多 zk-SNARK(如 Groth16)需要可信设置:生成公共参考串(CRS)时使用一个必须被丢弃的"有毒废料"(toxic waste),若保密则证明可被伪造。Powers of Tau 是通用设置(phase 1),生成仅依赖安全参数的通用 CRS,可服务多个电路;phase 2 是针对特定电路的设置。MPC ceremony 是多方参与的设置仪式,任何一方诚实参与即可保证安全,从而避免单一信任点。工程价值在于:通过多方协作与公开验证,使可信设置的安全性建立在"至少一方诚实"之上。

可信设置是 SNARK 的信任弱点是"假设有毒废料被销毁"。工程上,MPC ceremony 通过多方安全生成,降低被单一作恶者污染的风险,是 Zcash 等项目的关键实践。

#
★★

34. zk-SNARK 的 R1CS(Rank-1 Constraint System)电路与 QAP(Quadratic Arithmetic Program)代数化过程?

zk-SNARK 的 R1CS 电路与 QAP(二次算术程序)代数化过程是什么?

  • R1CS 表示
  • QAP 转换
  • 多项式商与证明

R1CS(Rank-1 Constraint System)是用形如 <a,x>*<b,x>=<c,x> 的约束方程组表示计算的语言,每条约束对应一个门。QAP(Quadratic Arithmetic Program)把 R1CS 约束"代数化"为多项式:构造多项式 A(x)、B(x)、C(x),使得对每个有效赋值,存在商多项式 H(x) 满足 A(x)B(x)-C(x)=H(x)Z(x),其中 Z(x) 是目标多项式。证明者通过证明 D(x)=A(x)B(x)-C(x) 能被 Z(x) 整除(即进行多项式商),从而证明计算被正确执行。工程上,这是把"计算"变成"多项式身份"的关键步骤。

R1CS 到 QAP 的代数化使证明可以借助多项式承诺与配对实现 succinct。工程上,电路编译(R1CS)与 QAP 构造是 zk-SNARK 工具链的核心。

#
★★

35. ZKP 在区块链 L2(zk-rollup)、身份验证、供应链溯源的工程价值?

ZKP 在区块链 L2(zk-rollup)、身份验证、供应链溯源中的工程价值是什么?

  • zk-rollup 的扩展性
  • 身份验证的隐私
  • 供应链溯源的可验证性

ZKP 在 zk-rollup 中把大量 L2 交易聚合成一个有效性证明,链上只验证证明,从而大幅提升吞吐、降低 Gas(可扩展性);在身份验证中,用户可证明"年满 18 岁"或"持有某凭证"而不泄露具体身份数据(隐私);在供应链溯源中,可证明"产品来自合规渠道、未被篡改"而不泄露内部数据(可验证性)。工程价值在于"以证明替代数据":既验证事实,又保护隐私、降低链上负担。

ZKP 的通用价值是"证明计算正确而不泄露输入"。工程上,zk-rollup 是规模最大的应用,身份与溯源则强调隐私与可审计性。

#
★★

36. MPC 秘密共享在联邦学习安全聚合中的协议开销主要来自何处,如何随参与方数扩展?

MPC 秘密共享在联邦学习安全聚合中的协议开销主要来自何处,如何随参与方数量扩展?

  • 安全聚合的通信开销
  • 秘密共享的扩展性
  • 优化策略

在联邦学习安全聚合中,每轮梯度聚合都需要参与方共享各自的梯度并协作计算聚合结果。MPC 秘密共享的开销主要来自:共享值在多方间的通信、乘法(聚合中的加权)所需的额外交互、以及安全验证(MAC)。开销随参与方数量 n 增长,通信量常为 O(n) 或更高(全对全),导致参与方多时难以扩展。工程优化包括:减少通信轮次、用聚合拓扑(如环形/树形)、批处理梯度、以及用更低开销的加性秘密共享(聚合求和只需加法)。

安全聚合的瓶颈是通信而非计算。工程上,加性秘密共享对求和聚合高效,参与方数通常受限于通信带宽与轮次。

#
★★

37. MPC(Secure Multi-Party Computation)的两方 Yao 加密电路(Garbled Circuit)的工程语义?

MPC 的两方 Yao 混淆电路(Garbled Circuit)的工程语义是什么?

  • Yao 混淆电路的结构
  • 混淆值与解码表
  • 混淆者/求值者角色

Yao 的混淆电路(GC)是两方(2PC)MPC 的基础方案。混淆者(garbler)把电路中的每个布尔门用随机密钥"混淆"成加密表,求值者(evaluator)通过不经意传输(OT)获得自己输入对应的密钥,然后逐门求值得到输出。整个过程中双方都看不到对方输入,且混淆值不泄露门的真实输入。工程语义上,通信轮次与电路深度相关(每层一轮),混淆表大小与门数成正比。GC 是两方安全计算的经典方案,也是许多 2PC 库的基础。

GC 的核心是"混淆值 + 解码表 + OT 输入"。工程上,混淆表生成与 OT 开销是主要成本,优化聚焦于减少门数、用免费 XOR(如 Free-XOR)与行规约。

#
★★

38. MPC 的 GMW(Goldreich-Micali-Wigderson)协议与 secret sharing 的工程取舍?

MPC 的 GMW 协议与秘密共享(secret sharing)之间的工程取舍是什么?

  • GMW 协议
  • 秘密共享与布尔电路
  • 与 Yao 的对比

GMW 协议是一种基于秘密共享的多方 MPC,每方把输入共享为密钥随机分片,通过对共享值执行与、或、非等布尔运算(乘法需交互)实现电路求值。与 Yao 混淆电路相比,GMW 支持任意多方、通信轮次与电路深度相关但不随参与方数量增加(每层一轮),且天然适合多参与方。工程取舍在于:GMW 的通信轮次与电路深度成正比,深度大时延迟高;但无需混淆表,且共享天然支持多方。工程上常与 OT 结合优化。

GMW 用"秘密共享 + 布尔电路"实现安全计算。工程上,二方用 Yao(计算密集小轮次),多方用 GMW/SPDZ(共享型),按场景选择。

#
★★

39. MPC 的 secret sharing,Shamir(t,n)threshold 与加性 secret sharing 的工程差异如何?

MPC 的 secret sharing 中 Shamir(t,n)门限与加性秘密共享(additive secret sharing)的工程差异是什么?

  • Shamir 门限共享
  • 加性秘密共享
  • 容错与恢复能力

Shamir(t,n)共享把秘密表示为多项式上的 n 个点,任意 t 个可重构,少于 t 个无信息,支持容错(部分参与方离线/恶意不影响)。加性秘密共享把秘密分解为 n 个随机分片之和,所有 n 个分片相加即得秘密,加法运算天然支持(分片相加即共享之和),但重构需要所有 n 个分片(无门限)。工程差异在于:Shamir 具备门限容错与可恢复性,但乘法需额外交互;加性共享简单高效、适合求和(如安全聚合),但无容错。工程上按"是否需要容错"选择。

加性共享擅长求和(联邦学习聚合),Shamir 擅长门限容错。工程上,加性共享的"加法免费"是安全聚合的关键优势。

#
★★

40. MPC 的 SPDZ(preprocessing + online phase)在机器学习推理的工程价值?

MPC 的 SPDZ(预处理 + 在线阶段)在机器学习推理中的工程价值是什么?

  • SPDZ 的预处理
  • 在线推理的高效
  • 恶意安全

SPDZ 的预处理阶段离线生成大量三元组与随机值,在线阶段进行机器学习推理时,只需用三元组做本地乘法与 MAC 验证,从而在线计算高效、与电路深度无关。工程价值在于:把昂贵的预处理(大数、三元组)与用于推理的在线计算分离,使加密推理尽量接近明文速度。同时 SPDZ 的 MAC 保证恶意安全,适合多机构联合推理场景。工程上,模型推理需转成同态友好的算术电路,预计算量庞大但可复用。

"预处理 + 在线"是 SPDZ 的工程核心:把重计算前移,在线只做轻量操作。工程上,SPDZ 用于 ML 推理时,预处理可离线完成,在线推理吞吐可观。

#

41. Halo2+STARK(Plonky2/Plonky3)snark-friendly + transparent 结合的工程价值?

Halo2 与 STARK(Plonky2/Plonky3)结合"snark-friendly + transparent"的工程价值是什么?

  • Halo2 的递归与自定义门
  • Plonky2/3 的 STARK 与透明性
  • 无需可信设置的高效证明

Halo2 支持递归证明与自定义门(custom gates),能用小型电路验证大电路;Plonky2/Plonky3 把 SNARK 与 STARK 结合,用 FRI 的透明性(无需可信设置)与递归折叠实现高效证明,且通过小域(如 64 位)优化性能。结合的工程价值在于:无需可信设置(透明)、可递归压缩证明、在 snark-friendly 域上高效实现,从而兼顾证明效率与部署便利。这使链上验证与递归 rollup 更可行。

这是"借用 STARK 的透明性与 SNARK 的紧凑性"。工程上,Plonky2/3 用递归 + 小域 + 自定义门,在性能与去信任设置间取得平衡。

#

42. zk-SNARK 在 zkSync、Polygon zkEVM、RISC Zero 的工程应用?

zk-SNARK 在 zkSync、Polygon zkEVM、RISC Zero 中的工程应用是什么?

  • zk-rollup 的证明
  • zkEVM 电路
  • RISC Zero 的通用证明

zkSync 使用 zk-SNARK 生成 L2 交易的聚合有效性证明,链上验证后实现扩容;Polygon zkEVM 用 zk-SNARK 证明 EVM 执行结果,使以太坊合约在 zk 证明下运行;RISC Zero 把任意 RISC-V 程序编译成 zk 电路,用 zk-STARK 证明程序执行,实现通用可验证计算。三者的工程价值都在于"用 zk 证明替代信任执行",实现链上可验证的扩展与通用计算。工程上,核心挑战是电路编译、证明生成性能与递归压缩。

这些项目展示了 zk-SNARK/STARK 的规模化落地:zkSync 与 Polygon zkEVM 侧重链上扩容,RISC Zero 侧重通用程序证明。工程核心是电路与证明性能优化。

#

43. PIR 在 Oram、Jiffy 与 Mulster 在 SEAL/Oblivious Operator 的工程应用?

PIR 在 Oram、Jiffy 与 Mulster 在 SEAL/Oblivious Operator 中的工程应用是什么?

  • PIR 在具体库中的实现
  • 与 HE 库结合
  • 隐私查询

PIR 在工程库中常与同态加密(HE)结合实现。Jiffy 是 Google 的 PIR 库,用 SEAL(微软 HE 库)构造多服务器/单服务器 PIR,通过同态加密实现"客户端只下载目标记录";Oram 等项目用 PIR 做隐私数据库访问;Mulster 等研究实现 oblivious 操作符。工程价值在于:把 PIR 的查询隐私与 HE 的计算能力结合,用于隐私保护的数据查询、数据库访问与安全索引。工程上,PIR 的服务器端计算与通信优化是关键。

这些库展示了 PIR 的工程化路径:以 HE 为底层,实现带宽与计算间的权衡。工程上,PIR 的实际限制是服务器端预处理与计算开销。

#

44. DP-SGD 通过 gradient clipping + Gaussian noise 的 (ε, δ)-DP 训练工程价值?

DP-SGD 通过梯度裁剪(gradient clipping)与高斯噪声(Gaussian noise)实现 (ε, δ)-DP 训练的工程价值是什么?

  • DP-SGD 的机制
  • 梯度裁剪与噪声
  • (ε, δ)-DP 保证

DP-SGD(差分隐私随机梯度下降)在训练时对每个样本的梯度做裁剪(clipping,限制梯度范数),再对聚合梯度添加高斯噪声,从而满足 (ε, δ)-差分隐私。裁剪控制单个样本对梯度的影响(灵敏度),噪声掩盖样本级信息,两者共同保证"无法推断单个样本是否在训练集中"。工程价值在于:在不泄露隐私的前提下训练模型,实现隐私保护机器学习。工程上,需权衡隐私预算(ε)与模型精度(噪声越大精度越低)。

DP-SGD 是"以噪声换隐私"的经典实践。工程上,ε 越小隐私越强但精度损失越大,需结合隐私会计(accountant)追踪预算。

#

45. DP-SGD vs Federated Learning 的工程取舍?

DP-SGD 与联邦学习(Federated Learning)的工程取舍是什么?

  • DP-SGD 的隐私机制
  • 联邦学习的分布训练
  • 加密与噪声的取舍

DP-SGD 通过添加噪声实现差分隐私,原始数据不出设备,但噪声会降低模型精度;联邦学习通过本地训练 + 聚合更新,原始数据不出设备,但聚合阶段可能泄露梯度信息(需 MPC 或可信聚合)。工程取舍在于:DP-SGD 提供形式化的隐私保证(ε, δ)但影响精度,联邦学习保护数据但需额外机制(如安全聚合、差分隐私)防梯度泄露。两者常结合:联邦学习 + DP-SGD 同时获得分布训练与隐私保证。

两者都是"数据不出设备"的隐私机器学习,但 DP-SGD 侧重差分隐私保证,联邦学习侧重分布训练。工程上常叠加使用。

#

46. zk-STARK 在 StarkNet、Polygon Miden 的应用工程?

zk-STARK 在 StarkNet、Polygon Miden 中的应用工程价值是什么?

  • zk-STARK 的链上应用
  • 递归与证明压缩
  • 透明与抗量子

StarkNet 与 Polygon Miden 都是基于 zk-STARK 的 L2 扩容方案。它们用 zk-STARK 证明 L2 交易/状态执行,链上验证后实现扩容。zk-STARK 的透明性(无需可信设置)与抗量子特性是其优势,但证明较大,因此通过递归证明(把多个证明递归压缩成一个)与 Cairo 语言(专用 zk 语言)优化链上验证成本。工程价值在于:用 STARK 的透明/抗量子特性实现可验证的 L2 扩容,同时证明压缩降低成本。

工程核心是"证明生成性能 + 递归压缩 + 上链成本"。StarkNet 的 Cairo 与 Miden 的 Miden VM 都专注把执行环境编译为 STARK 电路。

#

47. MPC 在联邦学习(federated learning)与跨机构数据协作的工程边界?

MPC 在联邦学习与跨机构数据协作中的工程边界是什么?

  • MPC 联邦学习的通信
  • 参与方规模
  • 与传统联邦学习的对比

MPC 在联邦学习中用于安全聚合梯度或训练,保护参与方的数据隐私。工程边界在于:通信开销大、参与方数量受限(通常 10-100)、需要额外协调与容错,且计算复杂(尤其乘法、非线性)。相比传统联邦学习(明文聚合,需可信聚合器),MPC 提供更强的隐私保证但性能和扩展性受限。工程上,MPC 联邦学习适合参与方少、数据敏感、需强隐私的场景,并通过安全聚合、批处理与预处理优化。

MPC 联邦学习的边界是"隐私强度 vs 性能扩展"。工程上,当参与方多、通信贵时,可退化为带差分隐私的明文聚合或 TEE 聚合。

#

48. zk-STARK(Scalable Transparent Argument of Knowledge)的 transparency,无 trusted setup 的工程价值何在?

zk-STARK 的透明性(transparency,无需可信设置)具有怎样的工程价值?

  • transparency 的定义
  • 无可信设置的优势
  • 部署便利性

zk-STARK 的透明性指其公开参数是公开、可验证、随机生成的,无需像 zk-SNARK 那样的可信设置(MPC ceremony 或有毒废料)。工程价值在于:消除了"可信设置被污染"的信任风险,部署更简单、更安全,无需管理仪式或销毁秘密;同时证明可公开验证、可升级。透明性使 STARK 适合去中心化、无需信任的场景,也是其抗量子性的来源之一。工程上,透明性换来了更大的证明与较慢的 prover。

透明性意味着"无信任锚点"。工程上,对需要去中心化信任或无法承担可信设置仪式的项目,STARK 的透明性是最优选择。

#

49. zk-STARK vs zk-SNARK 的证明大小,STARK 几十 KB vs SNARK ~200 bytes 与后量子抗性如何对比?

zk-STARK 与 zk-SNARK 的证明大小对比(STARK 几十 KB vs SNARK 约 200 字节)及后量子抗性如何?

  • 证明大小差异
  • 后量子抗性差异
  • 场景权衡

zk-SNARK 证明约 200 字节,很小但依赖椭圆曲线配对(受量子威胁);zk-STARK 证明几十 KB,较大但基于哈希(抗量子)。工程取舍在于:SNARK 证明小、链上成本低,但需可信设置且不抗量子;STARK 证明大、链上成本高,但透明、抗量子、无需可信设置。工程上,对带宽敏感选 SNARK,对长期安全与去信任选 STARK,或用递归把 STARK 证明压缩后上链。

这是"证明大小 vs 抗量子/透明性"的权衡。工程上,StarkNet 等用递归压缩 STARK 证明,兼顾两者。

#

50. zk-SNARK 与 zk-STARK 在证明大小、验证时间与是否需要可信设置上如何量化对比?

zk-SNARK 与 zk-STARK 在证明大小、验证时间与是否需要可信设置上如何量化对比?

  • 证明大小
  • 验证时间
  • 可信设置

量化对比:证明大小,SNARK 约 200 字节、STARK 几十 KB;验证时间,SNARK 约几毫秒(常数时间)、STARK 也较快(log^2 n)但常数更大;可信设置,SNARK 需(每电路或通用)可信设置,STARK 无需。prover 时间,SNARK 与 STARK 都约 O(n log n),但 STARK 常数更大。工程上,SNARK 在证明大小与验证效率上占优,STARK 在透明性与抗量子上占优。选型取决于链上成本、信任模型与安全需求。

这是 ZKP 选型的核心量化对比。工程上,综合"证明大小、验证时间、可信设置、prover 成本"四维评估,按场景选择。

#

51. zk-STARK 的 prover time O(n * polylog(n))、verifier O(log^2 n) 的工程含义?

zk-STARK 的 prover 时间 O(n·polylog(n))、verifier 时间 O(log^2 n) 的工程含义是什么?

  • prover 复杂度
  • verifier 复杂度
  • 工程性能含义

zk-STARK 的 prover 复杂度为 O(n·polylog(n)),随计算规模 n 近线性增长,但常数很大(需大量哈希与多项式运算),因此 prover 成本高、是性能瓶颈;verifier 复杂度为 O(log^2 n),随 n 增长极慢,验证极快。工程含义是:适合"计算外包、验证高频"的场景——prover 负责昂贵计算,verifier 只需快速验证。工程上,prover 可通过并行、专用哈希与域优化加速,验证则天然轻量。

复杂度表明 STARK 的"生产贵、验证廉"。工程上,prover 是主要成本,需优化哈希与折叠;verifier 的 log^2 n 保证链上验证高效。

#

52. FHE 的 bootstrapping 操作将 noisy ciphertext refresh 的工程成本,是否每次乘法后必须 bootstrapping?

FHE 的 bootstrapping 操作将含噪密文"刷新"的工程成本如何,是否每次乘法后都必须 bootstrapping?

  • bootstrapping 的成本
  • 噪声预算与级别
  • 是否每次乘法都自举

bootstrapping 通过在密文上运行解密电路来刷新噪声,成本极高(约为普通同态乘法的数千到数万倍)。但它并非每次乘法后都必须执行:同态加密(如 BFV、CKKS)采用"层级"设计,在噪声预算耗尽前可连续执行多次加/乘法(所谓同一层级内),只有在预算耗尽或需要更多乘法深度时才自举。工程上通过:设置足够大的噪声预算(大参数)、合理排序运算、以及延迟自举来降低自举频率与成本。TFHE 则相反,几乎每个门后自举(gate-by-gate)。

bootstrapping 频率是 FHE 性能的关键。工程上尽量用纯 Add/Mul 层级同态,必要时才自举,以平衡精度与性能。

#

53. TFHE(Torus FHE)gate-by-gate bootstrapping 在 boolean circuit 的工程价值?

TFHE(Torus FHE)的 gate-by-gate bootstrapping 在布尔电路(boolean circuit)中的工程价值是什么?

  • TFHE 的布尔门操作
  • gate-by-gate 自举
  • 程序化自举与性能

TFHE 在环面(Torus)上实现 FHE,每个密文对应一个比特,支持 NAND、AND、OR 等布尔门操作,且每个门操作后通过自举(bootstrapping)刷新噪声,从而支持深度任意大的布尔电路。工程价值在于:无需担心噪声深度,可编程门(如可编程自举 PBS)甚至能直接对密文执行查找表,适合加密的逻辑运算、条件分支、比较与机器学习中的非线性。缺点是每个门自举成本高、性能较慢,但通过并行与硬件加速可改善。

TFHE 的"每门自举"换取"无限深度 + 可编程逻辑"。工程价值在于它把 FHE 变成可编程的布尔计算引擎,适合逻辑密集计算。

#

54. Yao 混淆电路(Garbled Circuit)与秘密共享(Shamir/SPDZ)两类 MPC 范式在通信轮次与计算结构上有何工程取舍?

Yao 混淆电路与秘密共享(Shamir/SPDZ)两类 MPC 范式在通信轮次与计算结构上有何工程取舍?

  • Yao 的通信轮次
  • 秘密共享 MPC 的轮次
  • 计算结构差异

Yao 混淆电路的通信轮次与电路深度成正比(每层一轮),计算结构是"混淆表 + OT",适合两方、深度的布尔电路;秘密共享类(Shamir/SPDZ)的通信轮次与计算深度相关但不随参与方数量增加,计算结构是"共享 + 交互乘法",适合多方、算术电路。工程取舍在于:Yao 在两方且计算密集(深度大)时轮次多、延迟高;SPDZ 等以预计算换在线效率,支持多方但通信总量大。工程上按"参与方数与电路类型"选择。

Yao 是"二方布尔"范式,秘密共享是"多方算术"范式。工程上,2PC 用 Yao/GC,多方用 SPDZ/GMW,各取所长。

#

55. MPC 相对 ZKP 与 FHE 在隐私计算中的适用边界是什么,各自更适合哪类威胁模型与计算形态?

MPC 相对 ZKP 与 FHE 在隐私计算中的适用边界是什么,各自更适合哪类威胁模型与计算形态?

  • 三种技术的边界
  • 威胁模型
  • 计算形态

MPC 适合多参与方共同计算、互不信任、但需协同的场景(如联合建模、安全聚合),威胁模型是"多方不串通",计算形态是分布式交互式;FHE 适合单服务器在密文上计算、数据不出客户端的场景,威胁模型是"服务器不可信",计算形态是非交互的单方计算(但性能慢);ZKP 适合"证明计算正确"而不泄露输入的场景,威胁模型是"证明者不可信",计算形态是证明-验证。工程上按计算参与方、信任假设与性能需求选择,三者常结合。

这是隐私计算三巨头的边界:MPC 多方协同、FHE 单方密文计算、ZKP 可验证证明。工程上按"谁算、谁信任、多快"选型。

#

56. 为何 MPC 通常对乘法操作收取主要代价,乘法三元组(Beaver triple)如何把乘法转为本地运算?

为何 MPC 通常对乘法操作收取主要代价,Beaver 三元组如何把乘法转为本地运算?

  • 乘法的交互成本
  • Beaver triple
  • 加法 vs 乘法

在秘密共享 MPC 中,加法只需各自本地求和(无需交互),而乘法需要跨参与方交互(如重新共享、OT 或配对),因此乘法是主要代价。Beaver triple 用预先生成的三元组 (a, b, c)(满足 c=a·b)把乘法转为本地运算:参与方先本地计算差值,公开后组合,从而一次乘法只需一轮本地掩码运算。工程价值在于:把昂贵的乘法交互"前移"到预计算阶段,在线乘法变轻量,是 SPDZ 等协议高效的核心。

Beaver triple 是"以预计算换在线乘法效率"的经典技巧。工程上,三元组生成在离线阶段完成,在线阶段乘法仅需一轮通信。