Presenter: Jake
2024-11-12
Referece: B. Bunz, et. al., “Proofs for inner pairing products,” ASIACRYP2021
Let $\bold{A}=(A_0,\cdots,A_{m-1})\in\mathbb{G}1^m$ and $\bold{B}=(B_0,\cdots,B{m-1})\in\mathbb{G}_2^m$.
TIPP problem: Consider the following outsourcing of computation:
$$ \bold{A}*\bold{B}=\prod _{i=0}^{m-1}e(A_i,B_i)=? $$
A client (verifier) outsources this computation to a server (prover).

Recall a Groth16 statement: $(\text{crs},D,\pi)$, where
$$ e(A,B)=e([\alpha]_1,[\beta]_2)e(C,[\delta]_2)e(D,[\gamma]_2). $$
Consider multiple Groth16 statements: $(\text{crs}_i,D_i,\pi_i)$ for $i=0,\cdots,m-1$.
Multiple Groth16 verification equations can be aggregated by a random $r\in\mathbb{F}$ as follow,
$$ \prod_{i=0}^{m-1}e(r^iA_i,B_i)=\prod_{i=0}^{m-1}e([\alpha_i]_1,[\beta_i]2)^{r^i}\prod{i=0}^{m-1}e(r^iC_i,[\delta_i]2)\prod{i=0}^{m-1}e(r^iD_i,[\gamma_i]_2) $$
By letting $G'_i=r^iG_i$ for $G_i\in\{A_i,C_i,D_i\}$, this becomes a TIPP problem.