2004 年我匿名发了篇文章。因为是匿名发的,为了后续能可信地以文章作者身份和大家交流相关内容,我想出了一种匿名的署名方式。
首先,我把签名信息藏在了一个哈希里,并给出了算法:
for ($i=0; $i<$count; $i++)
{
$name = md5_hex($name);
}
同时,我还留下了 6631876c2aea042934a5c4aaeabb88e9 等一组哈希。以后要以文章作者身份匿名发消息时,可以给出其中一个哈希的 $name 和 $count,同时再发出一个新的哈希。这样,用这些哈希就可以形成信任链,持续实现可追溯到那篇文章的身份证明。
考虑到万一信任链中的某条消息如果被删除导致信任链断裂,所以我在文章中留下了 5 个这样的哈希。基于其中一个哈希的信任链中断后还可以再启用一个新的。
前阵子偶然在网上看到当年写的这篇文章,我忽然意识到自己重复发明了零知识证明……