离线可分割硬币组合消费的技术解析
1. 硬币组合基础调整
在相关方案中,对 $b’$ 的生成方式进行了调整。原本 $b’ = bst(m’)v \mod p$,现在变为 $b’ = Bs \mod p$,其中 $B = btmv \mod p$,并且客户会保留 $B$ 用于后续的组合操作。由于 $m’ \equiv ms \pmod p$,所以生成的 $b’$ 值实际上并未改变。
2. 单层组合方法
当要组合两个具有相同价值且由同一客户提取的硬币时,采用单层组合方法。假设两个硬币的签名分别为 $Sig(m’ 1, T_1) = (a’_1, b’_1, z’_1, r’_1)$ 和 $Sig(m’_2, T_2) = (a’_2, b’_2, z’_2, r’_2)$,客户会按之前描述计算并保留相关值 $(\gamma_1, B_1)$ 和 $(\gamma_2, B_2)$。
具体步骤如下:
1. 计算单层组合树的根值 $T {1,1}$:$T_{1,1} = H (T_1 \parallel T_2)$。
2. 进行一系列计算:
- $M_{1,1} = m’ 1 \cdot m’_2 \mod p$
- $Z {1,1} = z’ 1 \cdot z’_2 \mod p$
- $\Gamma {1,1} = H_2 (M_{1,1}, Z_{1,1}, a’ 1, a’_2, B^{(1)}_1, B^{(1)}_2)$
- $R {1,1} = C_{1,1} \cdot r’ 1 + r’_2 \mo
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



