我计划实现一个收到反馈的公共邮箱,我想使用基于哈希的工作证明来挫败垃圾邮件发送者。
首先,我们希望使用320位容量Gimli置换作为基于海绵的散列函数的底层基元,因为
第二,对于每条消息,都会有一个基于时间的挑战(服务器将允许一个小的错误窗口)加到每条消息的前面,对其进行散列和发送,以阻止计算前的攻击。
然而,有几件事我并不自信。即:
发布于 2018-03-10 00:19:35
我同意E-寿司的观点,PoW确实能工作,但是HashCash使用的原语对对手来说太友好了。正如OP指出的那样,我们需要上下文约束的挑战和响应,这些挑战和响应不能被重用或预先计算。
我们不能阻止工作被委派;但是我们可以使PoW比ASIC友好的散列函数更昂贵。argon2 KDF家族非常适合这一点,特别是为PoW设计的argon2d;而argon2i则是为秘密密码设计的。
内存和cpu参数可以单独调优,这样不会给真正的用户带来太大的不便,并且服务器在负载下不会不堪重负。
不需要100%的时间计算PoW,您可能只在服务器负载时才需要它。这可能不适用于您的用例。
优势:
缺点:
替代办法:
发布于 2018-03-09 02:44:13
发布于 2018-03-10 00:01:50
我不得不反驳丹宁牛的另一个答案错误地指出POW (工作证明)在这里不起作用。
确实如此。
事实上,你即将重新发明轮子。请看HashCash,它正是为了做到这一点而发明的。
引用维基百科相关文章:
哈希现金是一种工作证明系统,用于限制电子邮件垃圾邮件和拒绝服务攻击,最近,它作为挖掘算法的一部分在比特币(和其他加密货币)中得到了广泛的应用。最初的想法是Cynthia Dwork和Moni Naor和Eli Ponyatovski在他们1992年的论文“通过处理或打击垃圾邮件定价”中提出的。后来,亚当·巴克( Adam )在1997年提出了一项类似的建议,名为哈希现金。
如欲进一步阅读,请参阅
正如我在我的意见中提到的
一切都可以自动完成,甚至可以自动完成。看看像Google的ReCaptcha这样的captchas服务有多频繁地被逆向工程,他们的captchas被黑了,你最好还是用一两个可调整的参数来使用POW。
https://crypto.stackexchange.com/questions/53867
复制相似问题