Proof of work - 工作量证明
来源:互联网 发布:淘宝怎么看买家退款率 编辑:程序博客网 时间:2024/05/06 17:48
简述:
在垃圾邮件防范和DOS系统中,可能会用到“工作量证明”这个工具。简而言之,就是一份证明,它能够说明你为此工作了一定量的时间了。
当然,这只是对于一方而言的,游戏的另一方应该有一个很简单的办法验证你的答案是否正确。
举例子:
B给A出了一个难题,或者A自己找来一个难题,A花费了10分钟时间证明一个问题,然后把答案发送给B,B只要1秒钟不到就验证了答案是否正确。
这样在计算机系统中,可以用于这样的情形:
A请求一个B的服务,如果A可以段时间大量的请求,可能会造成B的崩溃,于是B对于服务的请求者出题,或者约定一种“解答-验证”协议
,这个题需要花费一定的时间去计算,计算好了以后,发送个B验证,B瞬间可以验证完毕,验证通过,再给A提供服务。
如果A是一个攻击者,这个时间花费×它要攻击的对象n是一笔可观的cpu计算量投入,因此可以有效阻止恶意攻击。
“工作量证明”工具:
Here is a list of known proof-of-work functions:
Integer square root modulo a large prime[8]
Weaken Fiat–Shamir signatures[8]
Ong–Schnorr–Shamir signature broken by Pollard [8]
Partial hash inversion[9][10][11][12] as Hashcash
Hash sequences[13]
Puzzles[14]
Diffie–Hellman-based puzzle[15]
Moderate[4]
Mbound[5]
Hokkaido[6]
Merkle tree based[16]
Guided tour puzzle protocol[7]
Hashcash
比如说,Adam Back提出的HASHCASH工具,启发比特币分布式货币系统。
hashcash可以用于防止垃圾邮件。
发信者需要对邮件头head,附加一个random,然后对这个string进行sha1-160,如果hash的前20个bit是0,那么就算solved,于是发送邮件给receiver。
收信人拿到以后,也对这个由sender发现的string进行hash,发现前20个bit确实是0,于是认为sender确实做了辛苦的hash搜索工作,于是相信sender不是一个垃圾制造者,sender可能是一个正常的邮件对象发送过来的。
这个案例中,工作量大概是,2的20次方个随间random搜索以后,大概可以找到一个前20bit是0的hash,也就是答案。因为前20个bit,每一bit是0的概率都是1/2,所有总的概率就是1/(2的20次方)。
而接收方的验证是极其简单的。
- Proof of work - 工作量证明
- Proof of work - 工作量证明
- Proof of work - 工作量证明
- Proof of work - 工作量证明
-  
-
- Deleting work items in TFS
- HDOJ 1010 Tempter of the Bone
- resource is out of sync with t…
- 用python阐释工作量证明(proof of work)
- Description of FIR Filters
- matlab out of memory
- identifier of an …
- linux profile of env
- The Sound of Silence
- Lesson 86 Out of control
- Commands Of Oradebug
- Dreams of Robots
- 爱不爱只有自己知道,变没变只有自…
- error MSB8031: Building an MFC project for a non-Unicode character set is deprecated.
- 平庸:说白了你就是管不住自己
- 平衡的生活真能心安吗?
- 操作系统的共享设备调度算法
- Proof of work - 工作量证明
- makecert 制作数字证书
- Revit 2017 编程需要用Visual Studio2015 +.NET Framework 4.52
- 澳大利亚警方突袭比特币发明者住宅
- 美比特币挖矿公司利用庞氏骗局诈骗…
- 山寨币制作
- 山寨币怎么制作
- 就让”中本聪“消失在历史里吧
- 扩展比特币研讨会参后感