WEB开发网
开发学院软件开发Python 用 hashcash 打击垃圾邮件 阅读

用 hashcash 打击垃圾邮件

 2007-03-29 12:40:11 来源:WEB开发网   
核心提示: http://somewhere.net/wiki?action=edit&id=SomeTopic 在一个假定使用 bashcash 进行保护的 Wiki 中,可能需要使用不同的 URL,用 hashcash 打击垃圾邮件(8),比如: http://somewhere.net/wiki

http://somewhere.net/wiki?action=edit&id=SomeTopic

在一个假定使用 bashcash 进行保护的 Wiki 中,可能需要使用不同的 URL,比如:

http://somewhere.net/wiki?stamp=1:24:040928:SomeTopic:edit:KG4E9PaK2VLjKM2Z:0000Zbrc

在允许编辑之前,Wiki 服务器可以校验该戳记。不过,进行编辑不需要创建一个帐号和透露任何个人信息。double spending 和(可能持续时间较短)过期校验进一步为真正要进行编辑的行为提供了保证。对我而言,生成上面的 URL 并不难,使用下面的命令即可:

hashcash -mCb 24 -x edit SomeTopic

不过,通常,为了确保更少的延迟,Web 浏览器可能会选择在后台生成类似的戳记。例如,当我正在读取资源时,上述 URL 可能已经创建在高速缓存中:

http://somewhere.net/wiki?SomeTopic

或许还将缓存其他一些编辑戳记,将它们用于当前 Wiki 页所链接的页面。

检验 CPU 资源

hashcash 的一个交互式应用可能是用于分布式处理任务中。一些项目(比如 Great Internet Mersenne Prime Search(GIMPS))和 SETI@home 及其任务(比如蛋白质折叠和密码方面的难题)有时会借用大量的志愿者机器,这里只列出了其中少数项目和任务的名称。每个志愿者都只需要下载一些代码,并将其作为一项大任务的一部分来运行,然后将中间计算发回中央服务器即可。这些工作是对空闲 CPU 周期的极好利用。

我所知道的所有分布式任务几乎都允许任何人加入。不过,不难想像,对于有协同要求的任务而言,如果一个节点不能在期望的时间段内完成其任务,那么这个行动迟缓的节点对整体计算造成的损害要比它所做贡献多一些。

在这种情况下,应该要求每一个参与节点都有最小限度的 CPU 速度。虽然使用具体类型的计算来检验速度更为精确,不过,hashcash 还提供了一个相对通用的 CPU 基准。SHA-1 是一种非常典型的数学计算。如果参与节点 已经安装了 hashcash(而不是一些定制的软件工具),那么,对 hashcash 质询的回答就可以作为一种“必须达到某种高度才能登堂入室(you must be this tall to enter this ride)”风格的校验。

上一页  3 4 5 6 7 8 9 10  下一页

Tags:hashcash 打击 垃圾

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接