比特币作业量证明(POW)机制是要求对方服务前,有必要要出据某种作业证明的机制。主要用于避免拒绝服务进犯和反垃圾信息。通常这种“作业证明”会花费必定的时间核算才干得到。最常见的比如是CAPTCHA。另外用于避免DoS和垃圾信息的机制是HashCash,比特币使用的原理就类似于HashCash。

哈希现金(hashcash )的创意来自于这样一个想法,即一些数学成果难于发现而易于校验。一个众所周知的比如是因数分解一个大的数字(尤其是因数较少的数字)。将数字相乘来取得它们的积的价值是低价的,但首要找到那些因数的价值却要高得多。
对交互式质询来说,因数分解足以担任。比如,期望客户端能象征性地为其付出价值方能拜访在线资源。这个时候可以界说协议,首要服务器向客户端发送一个消 息,说“只要您能因数分解这个数,我将让您得到这个资源”。没有诚心的客户端将无法得到我的资源,只有那些可以证明自己有满足的兴趣、付出一些 CPU 周期来答复这个质询的才干得到这个资源。
不过,有一些资源无法很方便地进行交互式洽谈。比如电子邮件反垃圾或许支付买卖,怎样才干避免邮箱不被垃圾邮件所占据?“我并不介怀陌生人给我写信,但 是,我期望他们能以略微仔细的态度,亲身通过对我有价值的邮件与我取得联系。至少,我不期望他们是垃圾邮件制造者,那些人向我和上百万的其他人发送包括同 样消息的邮件(double-spending),期望咱们中的某些人能购买某种产品或许落入一个骗局。”而对于电子钱银,内容的复制几乎是没有价值的, 如何保证电子钱银(内容)没有被买卖(发送)屡次?这和反垃圾邮件是相同的问题。
hashcash的解决之道就是:在电子邮件的消息头中,增加一个 hashcash 戳记(hashcash stamp)散列值;该散列中包括收件人地址,发送时间,salt,该散列值特别之处在于它至少前20位有必要是0才是一个合法的hashcash戳记。为 了得到合法的散列值,发送者有必要经过许屡次测验(改变salt值)才干取得。一旦生成戳记,不期望每一个给我发送邮件的垃圾邮件制造者都能重复使用它。所 以,hashcash 戳记要带一个日期。这样可以指定时间更早的戳记是不合法的。另外 hashcash 的接收端要完成一个double-spending数据库,用来记载戳记的前史信息。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注