PVMark: Enabling Public Verifiability for LLM Watermarking Schemes

📄 arXiv: 2510.26274v1 📥 PDF

作者: Haohua Duan, Liyao Xiang, Xin Zhang

分类: cs.CR, cs.CL, cs.LG

发布日期: 2025-10-30

备注: This work has been submitted to the IEEE for possible publication


💡 一句话要点

PVMark:一种支持LLM水印方案公开可验证性的框架

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: LLM水印 零知识证明 公开可验证性 模型溯源 安全隐私

📋 核心要点

  1. 现有LLM水印检测方案依赖私有密钥,导致检测过程不透明,无法被第三方验证,存在信任问题。
  2. PVMark利用零知识证明,在不泄露密钥的情况下,使水印检测过程的正确执行能够被公开验证。
  3. 实验表明,PVMark在多种水印方案、哈希函数和ZKP协议组合下均有效,且不影响水印性能。

📝 摘要(中文)

大型语言模型(LLM)的水印方案旨在识别生成文本的来源,从而减轻模型盗窃带来的潜在威胁。然而,当前的水印解决方案难以解决信任问题:非公开的水印检测无法证明其检测的真实性。这主要是因为水印检测中使用的密钥通常是秘密的——它不能公开,否则攻击者可能会利用该密钥发起移除攻击;也不能私有,否则水印检测对公众是不透明的。为了解决这个难题,我们提出了PVMark,一个基于零知识证明(ZKP)的插件,使第三方可以在不泄露任何密钥的情况下公开验证水印检测过程。PVMark依赖于水印检测“正确执行”的证明,并在此基础上构建了一组ZKP约束,包括映射、随机数生成、比较和求和。我们用Python、Rust和Circom实现了PVMark的多个变体,涵盖了三种水印方案、三种哈希函数和四种ZKP协议的组合,以表明我们的方法在各种情况下都能有效工作。实验结果表明,PVMark有效地实现了最先进的LLM水印方案的公开可验证性,且不影响水印性能,有望在实践中部署。

🔬 方法详解

问题定义:现有LLM水印方案的水印检测过程通常依赖于私有密钥,这导致了两个主要问题。首先,如果密钥泄露,攻击者可以轻易地移除水印。其次,由于检测过程不公开,第三方无法验证检测结果的真实性,从而引发信任问题。因此,需要一种方法能够在不泄露密钥的情况下,实现水印检测结果的公开可验证性。

核心思路:PVMark的核心思路是利用零知识证明(ZKP)技术,证明水印检测过程的“正确执行”。具体来说,PVMark构建了一系列ZKP约束,确保水印检测的每个步骤,例如映射、随机数生成、比较和求和,都按照预定的逻辑执行,而无需透露任何敏感信息,如私有密钥。这样,任何第三方都可以验证水印检测的正确性,而无需信任执行检测的一方。

技术框架:PVMark作为一个插件,可以集成到现有的LLM水印方案中。其主要流程包括:1) 水印检测:使用现有的水印检测算法生成检测结果。2) ZKP约束生成:根据水印检测的步骤,生成相应的ZKP约束。3) ZKP证明生成:使用ZKP协议生成证明,证明水印检测的正确执行。4) ZKP证明验证:第三方使用ZKP协议验证证明,从而验证水印检测的正确性。PVMark支持多种水印方案、哈希函数和ZKP协议的组合,具有很强的灵活性。

关键创新:PVMark的关键创新在于它首次将零知识证明技术应用于LLM水印方案的公开可验证性问题。通过构建一系列ZKP约束,PVMark能够在不泄露密钥的情况下,证明水印检测过程的正确执行,从而解决了现有方案的信任问题。与现有方法相比,PVMark不需要修改现有的水印检测算法,只需添加一个ZKP插件即可实现公开可验证性。

关键设计:PVMark的关键设计在于ZKP约束的构建。论文针对水印检测过程中的不同步骤,设计了相应的ZKP约束,包括:1) 映射约束:确保水印token到候选token的映射是正确的。2) 随机数生成约束:确保随机数生成过程是安全的。3) 比较约束:确保比较操作是正确的。4) 求和约束:确保求和操作是正确的。此外,PVMark还考虑了不同ZKP协议的性能和安全性,选择了合适的ZKP协议来实现高效的证明生成和验证。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,PVMark能够有效地实现LLM水印方案的公开可验证性,且不影响水印性能。论文实现了PVMark的多个变体,涵盖了三种水印方案、三种哈希函数和四种ZKP协议的组合。实验结果表明,PVMark在各种情况下都能有效工作,证明生成和验证的时间开销是可以接受的,从而验证了PVMark在实践中部署的可行性。

🎯 应用场景

PVMark可应用于各种需要验证LLM生成文本来源的场景,例如版权保护、内容溯源、虚假信息检测等。通过提供公开可验证的水印检测,PVMark可以增强LLM水印方案的可靠性和可信度,促进LLM技术的健康发展。未来,PVMark可以进一步扩展到其他类型的生成模型,例如图像生成模型和音频生成模型。

📄 摘要(原文)

Watermarking schemes for large language models (LLMs) have been proposed to identify the source of the generated text, mitigating the potential threats emerged from model theft. However, current watermarking solutions hardly resolve the trust issue: the non-public watermark detection cannot prove itself faithfully conducting the detection. We observe that it is attributed to the secret key mostly used in the watermark detection -- it cannot be public, or the adversary may launch removal attacks provided the key; nor can it be private, or the watermarking detection is opaque to the public. To resolve the dilemma, we propose PVMark, a plugin based on zero-knowledge proof (ZKP), enabling the watermark detection process to be publicly verifiable by third parties without disclosing any secret key. PVMark hinges upon the proof of `correct execution' of watermark detection on which a set of ZKP constraints are built, including mapping, random number generation, comparison, and summation. We implement multiple variants of PVMark in Python, Rust and Circom, covering combinations of three watermarking schemes, three hash functions, and four ZKP protocols, to show our approach effectively works under a variety of circumstances. By experimental results, PVMark efficiently enables public verifiability on the state-of-the-art LLM watermarking schemes yet without compromising the watermarking performance, promising to be deployed in practice.