工作量证明在验证码中的实际应用

这篇具有很好参考价值的文章主要介绍了工作量证明在验证码中的实际应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

工作量证明(Proof-of-Work,以下简称“PoW”)在维基百科的介绍中指一般要求用户进行一些耗时适当的复杂运算,并且答案能被服务方快速验算,以此耗用的时间、设备与能源做为担保成本,以确保服务与资源是被真正的需求所使用。

在实际生活中可以例举为:学生进行考试,答题需要一定时间;考试结束后,老师可以迅速判断出学生答案的正确性。在这一过程中,学生即用户,老师代表了服务方,试卷就是学生进行答题的工作量证明。

工作量证明的实际应用

在搜索引擎输入“工作量证明”或“pow”的关键字后,页面百分之九十以上会出现与区块链相关的内容。的确,作为区块链网络的共识算法机制,近年来PoW在区块链行业将其作用发挥到了极致。在以太坊、比特币这种去中心化区块链的生态系统中,任何加密交易都需要通过共识机制来验证真实性,这样才能成为链上的一部分。PoW具有高难度的协议程序代码,既可以使去中心化系统中的节点安全运作,又能保证区块链网络免受黑客行为的恶意攻击。

pow 验证码,互联网交互安全,安全,区块链,哈希算法,共识算法

区块链的流行使PoW出现在大众视野并逐渐被了解,但实际上在区块链行业出现以前PoW就已经有实际应用。1993年工作量证明就已被提出,后来它被应用于抗DDOS攻击和反垃圾邮件。像互联网巨头公司微软就将其应用在Hotmail、Exchange、Outlook 等电邮服务上,要求所有收到的邮件都使用强PoW附件,以此预防大量垃圾邮件发出。

工作量证明与验证码

鉴于PoW能有效阻隔高频交互及其具有的独特优越性,极验的研发团队将其应用到了行为验4.0中。在计算机系统中,PoW中的验证者为服务器,工作者为请求方,但请求方极有可能是破坏业务安全的黑灰产,他们利用计算机在短时间内发送大量垃圾请求,导致企业业务受损。考虑到这种情况的发生,极验引入PoW工作量证明,在请求方发出请求时给对方出题,请求方需付出一定时间和资金成本给出结果交给验证方验证。

极验的工作量证明主要采用一种哈希运算的方法,在详细为大家介绍PoW是如何应用到极验的验证码中之前,这里讲解一下哈希算法,以便后续理解。

哈希算法,指安全散列算法(英语:Secure Hash Algorithm,缩写为SHA)是一个密码散列函数家族,是美国联邦信息处理标准所认证的安全散列算法。能计算出一个数字消息所对应到的长度固定的字符串的算法。且若输入的数据不同,它们对应到不同字符串的机率很高。

极验工作量证明业务流程

在极验验证码的工作量证明的业务流程中,加载验证资源时,极验服务器下发PoW参数到客户端,参数中包含PoW的计算难度、哈希运算方法、业务流水号等关键部分,客户端在验证时除了需要完成验证码的答案还需要额外计算PoW结果。客户端根据下发的参数,凭借满足条件的随机字符串进行哈希运算,通过哈希运算的不可预测性和随机字符串的随机性进行多次运算最终得出符合条件的结果,最后将结果提交到极验服务端进行校验,答案正确方可通过验证。

pow 验证码,互联网交互安全,安全,区块链,哈希算法,共识算法

 

在这一过程中,客户端需要二次回答,即用户除了需要回答出验证码的正确结果,如将滑块移动到正确的位置、按照正确的顺序依次点选文字,还需要客户端回答出正确的PoW结果。相比以往的验证码只验证一个回答,PoW的应用提高了验证码对客户端的要求,安全性也随之提高。

因正常用户的客户端一次只需通过一个验证码,其请求量少,相应的计算也很少,平均一个字符串的平均查找的时间在数十毫秒,这对正常的客户端的影响可忽略不计,但是对于恶意的客户端他们必须多花费CPU找到相应的串来通过检测,这样就可以限制恶意客户端的行为。

PoW提高验证码安全性的表现

随机生成、无法篡改:在加载验证请求时,字符串与验证码请求返回的验证ID、流水号、消息生成时间有关,因此任意一个PoW参数都无法被随意篡改。极端情况下,就算黑产了解了字符串的生成规则,试图通过伪造篡改请求参数,来越过POW机制。极验也可在服务端进行校验时第一时间发现异常并立即将发起的请求标记或封禁拦截。

规避提前计算:PoW参数在加载验证码时会下发跟验证流水号相关的参数,必须先加载验证码,获取资源,获取流水号后才能进行后续运算。极验的业务安全专家也表示这是核心的一点,在此过程中一旦出现预计算,PoW便形同虚设。

抵抗客户端破解: 很多时候安全产品需要在客户端进行环境检测,黑客的反侦察亦是如此, 他们会投入资源以破解产品逻辑,规避环境检测。但是应用了PoW的验证码即使在客户端逻辑被破解, 也不能被黑客绕过,因为所有的校验逻辑都需在服务端进行。

与风控系统高度融合:PoW与极验的风控体系结合用以判别异常账号,我们通过IP频率、设备频率等风控策略判断用户风险,面对正常、低风险用户降低计算难度;面对异常、中高风险的请求提高难度。这种策略使黑灰产在时间和CPU上产生高消耗,从而阻拦异常流量;为企业提供更安全、更便捷、更智能的用户运营。

无法逆向推出答案:客户端生成的随机字符串组成Hashcash msg,需要使用散列算法来对此进行散列,但因散列算法不可逆,所以任何客户端只能进行多次尝试找到目标串。

通过以下两个计算题举例:1+4=5;2+3=5

我们知道题目从而得出答案为“5”,却不能因为答案为“5”推出题目一定是“1+4”,其还有“2+3”、“1.5+3.5”等无数个可能。

结语

在大家都将目光聚焦到比特币中的PoW时,极验选择另辟蹊径将这一共识算法应用到行为验证4.0中,这一创新无疑使验证码的安全性得到了更高的保证。在极验创立的十年以来,一直致力于以创新作为发展的驱动力,除PoW工作量证明外,极验行为验4.0还首创了七层动态安全防御体系,动态防御使极验在与黑灰产的博弈中占据主动权,二者共同打造了安全的行为验4.0

pow 验证码,互联网交互安全,安全,区块链,哈希算法,共识算法文章来源地址https://www.toymoban.com/news/detail-791984.html

到了这里,关于工作量证明在验证码中的实际应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 动手学区块链学习笔记(二):区块链以及工作量证明算法

    紧接上文,在介绍完区块链中的加密解密以及公钥私钥等算法后,本篇开始正式进入区块链概念与一个简单区块链系统的实现过程介绍。 什么是区块链? 区块链,就是一个又一个区块组成的链条。每一个区块中保存了一定的信息,它们按照各自产生的时间顺序连接成链条。

    2024年01月17日
    浏览(52)
  • 区块链基础知识7-比特币挖矿原理/工作量证明

    在前面《区块链基础知识6-区块链记账原理》我们了解到记账是把交易记录、交易时间、账本序号、上一个Hash值等信息计算Hash打包的过程。 我们知道所有的计算和存贮是需要消耗计算机资源的,既然要付出成本,那节点为什么还要参与记账呢?在中本聪(比特币之父)的设

    2024年04月28日
    浏览(50)
  • 竞赛python区块链实现 - proof of work工作量证明共识算法

    🔥 优质竞赛项目系列,今天要分享的是 python区块链实现 - proof of work工作量证明共识算法 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 学长以比特币的结构向大家详解区块链的组成部分 previous hash

    2024年02月05日
    浏览(52)
  • 区块链中怎么惩罚虚假信息的矿工,工作量证明POW,共识算法

    目录 区块链中怎么惩罚虚假信息的矿工 工作量证明POW 什么是工作量证明? 现在出现了另一个问题:如果其他人偷看了小明的答案并且抢答了怎么办?  为什么区块可以安全广播? 共识算法 小结 1. 共识机制惩罚:矿工通过提交多个区块的作弊行为,扣除该矿工的所有抵押币

    2024年02月11日
    浏览(40)
  • 竞赛保研 python区块链实现 - proof of work工作量证明共识算法

    🔥 优质竞赛项目系列,今天要分享的是 python区块链实现 - proof of work工作量证明共识算法 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 学长以比特币的结构向大家详解区块链的组成部分 previous hash

    2024年02月04日
    浏览(46)
  • 【毕设教程】python区块链实现 - proof of work工作量证明共识算法

    Hi,大家好,这里是丹成学长,今天向同学们介绍如何构建一个区块链系统作为毕设,区块链的原理 🧿 选题指导, 项目分享: https://gitee.com/dancheng-senior/project-sharing-1/blob/master/%E6%AF%95%E8%AE%BE%E6%8C%87%E5%AF%BC/README.md 学长以比特币的结构向大家详解区块链的组成部分 previous hash(前

    2024年01月21日
    浏览(46)
  • 挑战杯 python区块链实现 - proof of work工作量证明共识算法

    🔥 优质竞赛项目系列,今天要分享的是 python区块链实现 - proof of work工作量证明共识算法 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 学长以比特币的结构向大家详解区块链的组成部分 previous hash

    2024年02月21日
    浏览(61)
  • 计算机竞赛python区块链实现 - proof of work工作量证明共识算法

    🔥 优质竞赛项目系列,今天要分享的是 python区块链实现 - proof of work工作量证明共识算法 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 学长以比特币的结构向大家详解区块链的组成部分 previous hash

    2024年02月05日
    浏览(55)
  • 互联网加竞赛 python区块链实现 - proof of work工作量证明共识算法

    🔥 优质竞赛项目系列,今天要分享的是 python区块链实现 - proof of work工作量证明共识算法 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 学长以比特币的结构向大家详解区块链的组成部分 previous hash

    2024年02月04日
    浏览(44)
  • sass变量+函数,简化代码工作量

    2024年02月08日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包