Zordle:基于ZKP的Wordle应用

1. 引言

Zordle,为基于 Halo2库 和 Plonkish proving system 实现了零知识证明的Wordle应用。

开源代码见:

  • https://github.com/nalinbhardwaj/zordle(Rust&Javascript)

Wordle 为今年初开始流行的每天一猜字谜游戏。最多有6次猜测机会,以色块来标识字母的正确性,易于分享。
Zordle:基于ZKP的Wordle应用_第1张图片

不过存在的一个问题是,玩家可修改字块的颜色,以显得比其他玩家更聪明。如何来判断玩家确实是凭实力达成了其所声称的分数呢?——答案就是zkSNARKs。

借助Zordle,当完成每日Wordle时,用户可额外生成ZK proof来证明其知道其所分享的字块背后的字集。

Halo2采用row-column操作模式,主要有4种类型的column:

  • Instance columns:为public inputs。
  • Advice columns:为private inputs 以及 circuit的computation trace,为witness。
  • Fixed columns:为计算中用到的常量值,为“compile time”值。
  • Selector columns:为二进制值,用于“select”特定的advice cells 和 instance cells,并在这些cells之间定义约束。

此外,还有lookup column,可用于高效查找set membership,但是最好将其看成是巨大的fixed set,而不是a circuit table column。

参考资料

[1] Zordle: Wordle, but with ZK proofs for your shared grid!

你可能感兴趣的:(隐私应用,零知识证明)