用 hashcash 打击垃圾邮件
2007-03-29 12:40:11 来源:WEB开发网RSA 公钥密码系统就是基于这种因数分解特性的。如果应答者能够回答因数分解质询(Challenge),则说明他已经做了相当多的工作(或者偷偷地从生成那个组合的人那里得到了因数)。
对交互式质询来说,因数分解足以胜任。比如,我有一个在线资源,希望您能象征性地为其付出代价。我可以向您发送一个消息,说“只要您能因数分解这个数,我将让您得到这个资源”。没有诚意的人将无法得到我的资源,只有那些能够证明自己有足够的兴趣、付出一些 CPU 周期来回答这个质询的人才能得到这个资源。
非交互式质询
不过,有一些资源无法很方便地进行交互式协商。
我的电子邮件收件箱是我非常重视的一个资源。但不期而至的消息占用了我的一些磁盘空间和带宽,最糟糕的是,它们吸引了我的注意力。我并不介意陌生人给我写信,但是,我希望他们能以稍微认真的态度,亲自通过对我有价值的邮件与我取得联系。至少,我不希望他们是垃圾邮件制造者,那些人向我和上百万的其他人发送包含同样消息的邮件,期望我们中的某些人能购买某种产品或陷入一个骗局。
为了实现非交互式的“支付(payment)”,hashcash 让我向所有想给我发送电子邮件的人都分发一个 标准质询。在您的消息头中,必须包括一个合法的 hashcash 戳记(hashcash stamp);具体地说,该标志中包含我的收件人地址。
hashcash 提出质询的方式是,当通过安全散列算法(Secure Hash Algorithm)进行散列时,要求“minters”生成一个字符串(戳记,stamps),在它们的散列中有很多前导零。所找到的前导零的数目就是特定戳记的比特值。给定 SHA-1 的一致性与加密强度,找出给定比特值的 hashcash 戳记的惟一已知途径是平均 2^b 次运行 SHA-1。
更多精彩
赞助商链接