DKLS23:MPC 阈值签名协议

随着 MPC(Multi-Party Computation)钱包 在加密资产托管、机构签名、半托管钱包中的广泛应用,阈值签名协议逐渐从“学术正确”走向“工程可落地”。

DKLS23(Damgård–Keller–Lund–Scheller, 2023) 正是在这一背景下提出的下一代 MPC 签名协议。

本文将从工程视角介绍 DKLS23 的设计理念、核心技术,以及它为何正在成为 GG18 / GG20 之后的新主流选择。


一、MPC 阈值签名的工程困境

以 GG18 / GG20 为代表的经典阈值 ECDSA 协议,在安全性上已经非常成熟,但在实际工程中却面临一些长期存在的问题:

  • 协议轮次多、消息复杂
  • DKG 和签名阶段通信成本高
  • 实现复杂,对工程稳定性要求极高
  • 在移动端、弱网络、高并发场景下体验不佳

这些问题并非理论缺陷,而是 协议设计与现实系统之间的摩擦

DKLS23 的目标很明确:

在不牺牲恶意安全和无可信方前提下,让 MPC 签名真正“好用”。


二、DKLS23 是什么?

DKLS23 是一种面向 ECDSA / Schnorr恶意安全阈值签名协议,其核心特点包括:

  • 无可信第三方(No TTP)
  • 支持两方与多方阈值签名
  • 高性能、低通信复杂度
  • 强工程可实现性

它特别适合 2PC(2-of-2)n-of-n 的 MPC 钱包模型。


三、核心设计思想

1. 从“多项式”到“OT 驱动”的秘密共享

与传统 GG 系列协议大量依赖 Shamir 多项式秘密共享 不同,DKLS23 采用了:

  • Oblivious Transfer(OT)
  • OT Extension / VOLE

来完成密钥生成和中间值共享。

这种设计带来的好处是:

  • 通信复杂度显著降低
  • 协议结构更扁平
  • 更容易实现和调试
  • 更适合云端 + 客户端架构

2. 更“便宜”的零知识证明

DKLS23 仍然提供 恶意安全(Malicious Security),但采用了更加轻量的零知识一致性检查机制:

  • 验证密钥生成正确性
  • 防止参与方注入畸形数据
  • 保证签名过程不可偏置

在保持安全性的同时,大幅降低了计算与通信成本。


3. 极简的 Online 签名阶段

DKLS23 明确区分:

  • Offline(预处理)阶段
  • Online(签名)阶段

大量昂贵计算可提前完成,使得在线签名阶段具备以下特性:

  • 低延迟
  • 少轮次
  • 少消息

这对 高频交易签名移动端交互 极其重要。