Vector Commitments with Efficient Proofs学习笔记

1. 背景知识

Markulf Kohlweiss和Alfredo Rial 2012年文章《Vector Commitments with Efficient Proofs》和相应的ppt《Vector Commitments with Efficient Proofs
初始motivation为 2010年《Privacy-Preserving Smart Metering》提到的智能计量的隐私保护。在该智能计量场景中,存在:计量meter方MM,服务提供provider方PP,*机构government agency AA,以及用户user UU

  • MM 测量 UU 的消费(如水或电),将测得的值前面后发送给UU【基本格式为: a consumption value, a consumption time interval and a signature on both the consumption and the time.】。
    Vector Commitments with Efficient Proofs学习笔记
  • PP 将已签名的收费政策发送给UU【含:the price per unit of consumption for each time interval.】。
    Vector Commitments with Efficient Proofs学习笔记
  • AA 将另一份的已签名的收费政策发送给UU【该收费政策可对每个用户都不一样,签名时包含了特定用户UU的身份信息】。
    Vector Commitments with Efficient Proofs学习笔记
  • 在计算费用的时候,用户UU会从AAPP给的收费政策中选择每个时间段更低的收费标准,从而形成用户UU专属的收费中间表:
    Vector Commitments with Efficient Proofs学习笔记
  • 目标:
    用户UU需要证明其缴纳的费用是正确计算的,但是同时要保护其专属的收费中间表不对外公布。该证明过程包含一个OR statement where UU proves that, for each interval, the employed rate was signed either by PP or by AA。传统的OR argument生成的proof size grows with the number of tariff policies involved。

本文采用vector commitment机制来commit to a vector (x1,,xn)(x_1,\cdots,x_n) and open it to xi(i[1,n])x_i(i\in [1,n]) with cost independent of nn

UU commit to the vector of其专属的收费中间表,并提供相应的证明,如:for each vector component, UU proves that it was signed either by PP or by AA
为了证明费用计算的正确性,UU 需证明其采用的rate was committed in the correct vector component。

2. 基于accumulator构建的vector commitment

Vector Commitments with Efficient Proofs学习笔记


可参见博客 Vector Commitments and their Applications学习笔记 中第2.2节内容“基于RSA的Vector Commitment实现”。


3. 基于SDH assumption的vector commitment

将[kzg10]2010年论文《Polynomial Commitments*》【精简版本为《Constant-Size Commitments to Polynomials and Their Applications*》】中实现的polynomial commitment【基于SDH assumption】扩展为vector commitment。扩展方式为,对于vector (x1,,xn)(x_1,\cdots,x_n),基于Lagrange插值{(1,x1),,(n,xn)}\{(1,x_1),\cdots,(n,x_n)\}构建polynomial,对position ii进行polynomial evaluation返回的值即为xix_i
对[kzg10]论文polynomial commitment的代码实现可参见博客:

polynomial commitment转vector commitment的详细思路可参见2015年论文《Composable & Modular Anonymous Credentials:Definitions and Practical Constructions》中第三节内容:【博客 vector commitment 中有提及。】
Vector Commitments with Efficient Proofs学习笔记
Vector Commitments with Efficient Proofs学习笔记

4. 基于DHE assumption的vector commitment

2010年Benoît Libert和Moti Yung 的论文《Concise Mercurial Vector Commitments and Independent Zero-Knowledge Sets with Short Proofs》中基于DHE assumption构建的vector commitment。

详情参见博客 Concise Mercurial Vector Commitments and Independent Zero-Knowledge Sets with Short Proofs 学习笔记

5. 基于CDH assumption的vector commitment

Catalano和Fiore 2011年论文《Concise vector commitments and their applications to zero-knowledge elementary databases》【又名《Vector Commitments and their Applications》】中提出了基于CDH assumption的vector commitment实现。详情参见博客 Vector Commitments and their Applications学习笔记 中第2.1节内容“基于CDH的Vector Commitment实现”。