Page 356 - 《软件学报》2026年第4期
P. 356

苏航 等: 高效的区块链中可监管身份隐私保护方案                                                        1797


                    由于本文中的      RRIPP  方案和  RSIPP  方案的技术路线与文献      [34] 中的方案均类似, 本节基于实验测试结果重
                 点给出本文的方案与文献         [34] 方案的整体性能对比.
                  6.2.1    理论层面对比
                    为了便于比较, 本节设置文献          [28,33,34] 和本文中的方案安全强度均为        128 bit, 结合各文献中的设置实例化
                 各方案, 在此基础上对比分析方案性能, 即文献             [33,34] 采用  Pbc 库  [41] 中的类型  A  配对   e(G 1 ×G 1 ) → G T , 群   G 1 、G T
                 阶的位长设置为      256 bit, 文献  [28] 与本文采用  P256  椭圆曲线  G, 群  G  阶的位长设置为  256 bit. 文献  [28] 中的  zk-
                 SNARK  选用具有   128 bit 安全强度且零知识证明长度较短的         Groth16 方案  [14] 进行实例化, zk-SNARK  证明长度约为
                 1 526 bit. 各类元素的长度如表    3  所示. 基于  Go  语言  Pbc 库、Crypto  库实例化上述配对  e 与椭圆曲线    G, 通过执行
                               G  上的各类主要耗时运算各         1 000  次, 计算各类主要耗时运算平均执行时间, 结果如表             3  所示.
                 配对   e 与椭圆曲线
                 由于文献   [28] 中未给出  l 的建议取值, 考虑到交易接收者隐私保护和方案效率之间的平衡, 此处设                     l=3. 根据  Monero
                 中的设置令    RSIPP  算法环签名成员数量为       16. 符号定义如表    3  所示.

                                                      表 3 符号定义

                        符号                        含义                          长度或平均单次执行时间
                     |G|, |G 1 |, |G T |  分别表示群  G、G 1 、G T  中的元素长度      |G|=512 bit,  |G 1 | =1024 bit,  |G T | =1024 bit
                      q, q 1 , q T     分别表示群    G、群  G 1  和群  G T  的阶             位长为256 bit




                                      分别表示有限域     Z q 、Z q 1
                      Z q , Z q 1                   中的元素长度                Z q  =256 bit,   Z q 1  =256 bit
                     |zk-SNARK|           zk-SNARK零知识证明长度                       |zk-SNARK|=1536 bit
                        BP           执行1次  e(G 1 ×G 1 ) → G T  配对运算的时间              1.31 ms
                       PM G            执行1次群   G 中标量乘法运算的时间                         0.07 ms
                       PM G 1          执行1次群  G 1  中标量乘法运算的时间                       1.84 ms
                        M G T           执行1次群   G T  中模幂运算的时间                       0.18 ms
                        HTP              执行1次hash to point运算的时间                     1.87 ms
                         l              用于隐藏真实接收者的账户数量                                3
                         n                    环签名成员数量                                 16

                    RRIPP  方案与已有类似方案的性能对比如表             4、表  5  所示. 本文中的  RRIPP  方案较文献   [28,34] 中的方案具
                 有较短的长度与较高的运算效率.

                                         表 4 RRIPP  方案与已有类似方案的消息长度对比

                                字段类型                        文献[28]            文献[34]          本方案

                    接收者地址长度 (含接收者身份监管信息)                3l|G|+|zk-SNARK|     5|G 1 |+4Z q 1     4|G|+3Z q


                             实际长度 l=3 (bit)                  6 144             6 144           2 816

                                         表 5 RRIPP  方案与已有类似方案的运算效率对比

                               效率对比项                        文献[28]            文献[34]          本方案
                             交易接收计算量                      l(BP+2HTP)          2PM G 1          2PM G
                          交易接收时间近似值 (ms)                     ≈15.15            ≈3.68           ≈0.14
                         交易接收者身份监管计算量                        lPM G 1          2PM G 1          PM G
                      交易接收者身份监管时间近似值 (ms)                    ≈5.52             ≈3.68           ≈0.07

                    RSIPP  方案与已有类似方案的性能对比如表            6  和表  7  所示. 本文中的  RSIPP  方案较文献  [33,34] 中的方案具
                 有较短的长度与较高的运算效率. 文献             [33] 方案中的交易生成和交易验证算法执行时间不随环签名成员数量线
                 性增长, 当环签名成员数量         n>105  时, 文献  [33] 方案中的一些算法效率优于         RSIPP  方案中的相应算法. 当前
                 Monero  中环签名成员数量设置为        16, 可在保证发送者身份匿名性的同时避免消息长度和运算效率的过度增加,
                 在当前及未来的一段时间内, RSIPP         方案的性能较文献      [33] 中的相应方案仍具有较大优势.
   351   352   353   354   355   356   357   358   359   360   361