可验证延迟函数(VDF)是什么?给区块链一个没人能作弊的时钟 图 1
可验证延迟函数(VDF)是什么?给区块链一个没人能作弊的时钟 · 图 1

区块链缺一类现实世界理所当然的东西:“排队一小时就是排队一小时”的可靠等待。密码学里几乎所有环节都在拼计算速度,唯有时间本身最难证明。可验证延迟函数(Verifiable Delay Function,VDF)填补的正是这个缺口:输出只有在走完一段不可跳步的串行计算后才能得到,而结果可被快速验证——并行堆硬件无法跳过过程,实际还能提速多少,取决于具体构造与硬件。

原理:串行迷宫加一张证明

VDF 对输入做一段必须逐次迭代的运算(典型构造在类群上做连续求平方,第 N 步必须等第 N-1 步完成,设计上不给并行留捷径),同时生成一份简短证明,让验证者不必重跑 N 步就能确信输出正确。两个性质缺一不可:延迟性——设计目标是让计算时长由串行步数决定,加并行核心数收益甚微,而不同硬件的实际耗时仍随单机性能与构造参数变化;可验证性——验证成本远小于计算成本。这与 零知识证明(ZKP)是什么?为什么能不透露信息也能证明 家族互补:ZKP 证明“我知道”,VDF 证明“我等到”。它也与哈希时间锁形成对照:HTLC 的“时间”靠链上区块高度近似(闪电网络用它,见 闪电网络 HTLC 是什么?跨通道怎么锁支付),粒度粗且可被出块者轻微操纵;VDF 提供的是与链脱钩的纯密码学时间。

为什么共识需要“不能作弊的钟”

  • 出块调度防挤占:若 leader 抽签的结果要等一段强制延迟才揭晓,参与者就无法在知道“这轮轮到我”之后临时决定要不要公布,抽签被即时操纵的空间被压缩;
  • 随机信标补最后一刀:RANDAO、阈值签名类随机源都可能被末位参与者故意弃投轻微偏置(见 公链随机性怎么产生?VRF 与 Beacon RANDAO 原理),叠加 VDF 强制延迟后,“知道当前值再决定合入与否”的策略失效,这是 Chia 等链把 VDF 写进共识层的理由之一;
  • 挑战期与时间锁:治理或桥的等待窗口若用 VDF 计时,就不依赖链上时间戳这种由矿工/验证者书写、精度有限的数字。

快速问答

  • “VDF 和 PoW 都能‘浪费’计算,区别在哪?“PoW 的收益随并行算力近似线性增长;VDF 的收益主要在串行步数上,并行加成有限——目的不是选出最快的人,而是给所有人一个大致等长的等待,这个“大致”多大取决于构造。
  • “硬件真的一点用没有?“也不能这样概括:计算本质串行意味着堆核心省不了过程本身,但更快的单机仍会缩短每步耗时,不同硬件的实际时长差会随单机性能拉开,没有放之四海的加速上限可引用。“抗 ASIC”的提法要按这个尺度理解——被限制住的主要是并行与专用化的路径,不是保证所有人耗时相同。
  • “和可验证随机函数 VRF 什么关系?“VRF 证明“这个随机值按我的密钥算无可指摘”,回答可归属性;VDF 回答时序性。两者常拼在一起做防操纵抽签。
  • “现在哪些链在真实使用?“Chia 的协议把 VDF 写进出块节奏规则,官方文档有专门章节,可据此核对当前版本;以太坊的随机信标研究中包含叠加 VDF 的方案,是否及何时启用请以官方当前文档为准。

常见误区

  • 误区一:把“延迟不可压缩”当魔法。串行性不等于抗ASIC,也不给出一个与硬件无关的固定耗时:延迟效果依赖具体构造、参数与执行硬件,评估项目时要读构造细节,而非只看“用了 VDF”这句话。
  • 误区二:认为 VDF 能替代时间锁合约。智能合约的时间锁绑定链上时间戳与区块进度,VDF 是独立时钟源,两者场景不同,桥与合约仍以后者为主。
  • 误区三:把 VDF 当隐私工具。输入输出都是公开的,它与匿名性无关。

小结

VDF 给密码学补上了“等待”这一原语:过程不能靠并行跳过,结果可以快速验证。共识设计里几乎所有“先等等再看”的规则——抽签揭晓、挑战窗口、领导者轮换——过去都靠链上时间戳近似,VDF 把等待从“可被出块者书写的近似值”收紧为“由串行步数规定、只受构造与硬件影响的量”。看项目时记住:值得问的不是它快不快,而是它有没有把“谁能在什么时候提前知道”这件事设计掉。

风险提示:本文不构成投资建议。协议机制以各项目官方文档为准。