Skip to main content

GG18 vs GG20

理解你的需求,确实需要更具体的细节来说明 GG20 协议的改进。下面我将更详细地解释 GG20 协议在并行计算、通信优化和安全性增强方面的具体改进。

1. 并行计算的具体改进

在 GG20 协议中,并行计算主要体现在以下几个方面:

1.1 随机数生成和共享

在签名生成过程中,需要生成一个随机数 kk,并将其分成多个份额 kik_i 进行共享。在 GG18 中,这个过程是串行的,需要多轮通信。而在 GG20 中,这个过程被优化为可以并行进行:

  • 并行生成份额:每个参与者可以同时生成自己的随机数份额 kik_i,而不需要等待其他参与者。
  • 并行共享份额:每个参与者可以同时将自己的份额 kik_i 共享给其他所有参与者,而不需要等待其他人的份额。

1.2 部分签名的计算

在 GG18 中,部分签名 sis_i 的计算是一个串行过程,需要等待其他步骤完成后才能进行。而在 GG20 中,通过并行计算,可以同时进行多个计算步骤:

  • 并行计算 RiR_i:每个参与者可以同时计算 Ri=kiGR_i = k_i G 并广播 RiR_i
  • 并行计算部分签名:在广播 RiR_i 后,每个参与者可以同时计算部分签名 si=ki1(exi+rxi)s_i = k_i^{-1} (e x_i + r x_i)

2. 通信优化的具体改进

GG20 通过减少通信轮数和优化信息交换方式,显著减少了通信开销:

2.1 通信轮数减少

在 GG18 中,生成随机数 kk 和部分签名 sis_i 需要多轮通信。而在 GG20 中,通过优化协议设计,减少了这些步骤的通信轮数。例如:

  • 生成 kk 的通信轮数减少:在 GG20 中,生成随机数 kk 的过程被优化为只需要一轮通信即可完成,而在 GG18 中需要多轮通信。
  • 部分签名的通信轮数减少:在 GG20 中,计算和交换部分签名 sis_i 的过程被优化为只需要一轮通信即可完成,而在 GG18 中需要多轮通信。

3. 安全性增强的具体改进

GG20 在安全性方面的改进主要体现在引入零知识证明和增强的抗攻击性机制:

3.1 零知识证明

在 GG20 中,零知识证明的引入是一个关键改进。零知识证明允许参与者在不泄露具体值的情况下,证明其计算的正确性。例如:

  • 证明部分签名的正确性:在生成部分签名 sis_i 时,参与者可以使用零知识证明来证明其计算的 sis_i 是正确的,而不泄露 sis_i 的具体值。
  • 证明随机数份额的正确性:在生成随机数 kk 的过程中,参与者可以使用零知识证明来证明其生成的随机数份额 kik_i 是正确的,而不泄露 kik_i 的具体值。

3.2 增强的抗攻击性

GG20 引入了更强的抗攻击性机制,特别是针对恶意参与者的攻击。例如:

  • 防止恶意参与者篡改数据:通过使用零知识证明和更复杂的多方计算协议,GG20 能够防止恶意参与者篡改数据,确保协议的安全性。
  • 鲁棒性机制:GG20 设计了更健壮的协议流程,能够在部分参与者失效或掉线的情况下继续完成签名生成过程,确保协议的可靠性。

总结

GG20 相较于 GG18,在并行计算、通信优化和安全性增强方面进行了多项具体改进。这些改进包括并行生成和共享随机数、并行计算部分签名、减少通信轮数、引入零知识证明和增强的抗攻击性机制。这些改进使得 GG20 协议在效率和安全性方面都有显著提升。