mpc 和 门限共享 有什么区别

· 11min · Paxon Qiao

mpc 和 门限共享 有什么区别

MPC(多方计算,Multi-Party Computation)门限共享(Threshold Secret Sharing) 都是为了实现分布式环境中多个参与方之间的安全计算与数据保护,但它们在目标、应用方式和实现机制上有所不同。以下是两者的主要区别:

1. 定义和目标

  • MPC(多方计算)

    • 目标是使多个参与方能够在不暴露各自私有输入数据的情况下,联合完成某些计算。即使某些参与方不可信或试图作恶,计算结果依然是安全的。MPC的核心思想是实现一个共同计算,参与方的输入对其他方保密,但计算结果是正确的,且最终可以共同得出。
    • 应用场景:隐私保护的数据分析、联合训练模型、加密货币的多签名钱包、电子投票等。
  • 门限共享(Threshold Secret Sharing)

    • 目标是将一个秘密(通常是私钥或其他敏感数据)分割成多个部分,并分配给多个参与方。只有当至少达到门限数量的参与方合作时,才能恢复出原始的秘密。少于门限数量的参与方无法恢复秘密。
    • 应用场景:密钥管理、加密货币钱包的多重签名、分布式密钥生成等。

2. 核心机制和原理

  • MPC

    • 数据隐私性:每个参与方只知道自己的输入,并且通过特定的协议(如秘密分享、同态加密等)参与计算,不泄露其他方的数据。
    • 计算过程:MPC侧重于计算,即多个参与方共同完成某个任务(例如求和、平均、加密货币交易验证等)。计算过程中,各方会交换某些信息(如加密数据、中间结果),而不透露原始数据。
    • 结果合并:MPC的计算结果可以是多个参与方共同得出的结果,所有参与方可以在不泄露私密输入的前提下验证该结果。
  • 门限共享

    • 数据分割:门限共享主要聚焦于将一个秘密(如私钥)分割成多个份额并分配给多个参与方。每个参与方只知道自己的份额。
    • 恢复秘密:只有当至少达到门限数量的参与方协作时,才能通过合并他们的份额来恢复出原始的秘密。每个份额是通过数学方式(如Shamir的秘密共享)生成的,并且只有在合适的门限数量的参与方联合时才能还原出秘密。
    • 没有计算过程:门限共享本质上不涉及多个方共同计算某个函数,它只是在参与方之间分配秘密并保障该秘密的安全。

3. 隐私保护与计算

  • MPC

    • 隐私保护:MPC确保在计算过程中,各方的输入数据不会泄露,即使在协作计算时,也不会暴露任何参与方的输入。每个参与方的计算可以在加密数据或秘密分享的数据上进行。
    • 共同计算:所有参与方可以基于各自的输入数据进行联合计算,最终得出一个结果。例如,在多个银行合作评估客户信用时,每个银行都可以参与计算,但彼此之间并不会泄露客户的详细信息。
  • 门限共享

    • 隐私保护:在门限共享中,参与方无法从他们获得的秘密份额中推算出其他参与方的份额,因此,只有达到门限数量的参与者才能恢复出完整的秘密。
    • 没有计算过程:门限共享并不涉及多方计算,而是通过分割一个秘密并确保其安全来防止单点故障或恶意泄露。每个参与者的秘密份额无法揭示完整秘密,只有门限数量的份额联合才能恢复原始秘密。

4. 应用场景

  • MPC

    • 联合计算:MPC主要用于需要多方共同参与计算的场景,特别是在多方合作的环境中,需要保护各方隐私的数据分析。例如,医疗机构联合进行疾病预测模型训练,而不泄露患者数据。
    • 隐私计算:在金融、保险、广告等行业,MPC可用于数据共享和隐私保护,进行联合计算而不泄露个别数据。
  • 门限共享

    • 密钥管理:门限共享常用于加密货币钱包中的多重签名方案,确保私钥的分割存储和安全使用。多个节点共同控制私钥,只有达到门限数量的节点参与时,才能进行签名操作。
    • 分布式密钥生成:在分布式环境下,通过门限共享可以避免单点故障,增加系统的安全性,适用于密钥生成、加密解密等场景。

5. 协议与计算复杂度

  • MPC

    • 协议复杂性:MPC的协议通常涉及更多的计算和复杂的协议设计,如同态加密、加法秘密共享、Yao的加密电路等。其实现可能需要较高的计算和通信开销。
    • 计算复杂度:MPC的计算复杂度较高,特别是在参与方数量较多时,因为需要多次交换加密信息或中间结果。
  • 门限共享

    • 协议复杂性:门限共享协议相对较简单,通常只需要使用数学方法(如Shamir的秘密共享)来分割和恢复秘密。
    • 计算复杂度:门限共享协议的计算复杂度较低,特别是用于密钥管理等场景时,主要的计算是在生成份额和恢复秘密时进行。

6. 安全性和容错性

  • MPC

    • 容错性:MPC的容错性取决于协议的实现和参与方的数量。例如,某些协议可以容忍一定比例的恶意参与者,而仍然保证计算结果的正确性。
    • 安全性:MPC协议保证各方的数据隐私,即使有恶意参与者试图通过访问其他参与方的数据进行攻击,协议也能保证正确性和隐私。
  • 门限共享

    • 容错性:门限共享的容错性是通过设置门限数来保证的。只要有足够数量的参与方合作(即达到门限数),原始秘密就可以恢复。如果参与方少于门限数,无法恢复秘密。
    • 安全性:门限共享可以有效防止单点故障或恶意泄露,只要恶意参与者的数量低于门限数,秘密仍然是安全的。

7. 总结

特性MPC(多方计算)门限共享
目标多方联合计算,同时保持输入隐私将一个秘密分割成多个份额,只有达到门限才能恢复
计算方式多方计算共同结果,确保隐私保护分割秘密,参与方只能恢复原始秘密
隐私性每个参与方的输入数据保密每个参与方的份额保密,不能推算其他份额
应用场景隐私计算、联合数据分析、多签名钱包等密钥管理、多重签名、分布式密钥生成
协议复杂度较高,涉及加密、交换中间结果等复杂协议较低,主要涉及数学分割和恢复秘密
安全性确保隐私保护,容忍恶意参与者(取决于协议)保证秘密安全,容忍一定比例的参与者泄露秘密
计算复杂度较高,尤其是大规模计算时较低,主要是生成和恢复秘密

简而言之,MPC 更侧重于在多个参与方之间进行隐私保护的共同计算,而 门限共享 更侧重于将一个秘密分割并确保只有在一定数量的参与方合作时才能恢复该秘密。两者可以结合使用,尤其是在需要进行复杂计算的同时保护敏感数据的场景中。