小众软件 06月05日 12:05
PoW 验证码来了!Cap 用比特币同款算法完成 CAPTCHA 人机验证
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Cap 是一种轻量级的开源CAPTCHA人机验证工具,它颠覆了传统的验证码模式。Cap 采用与比特币相同的SHA-256工作量证明算法,通过消耗浏览器或机器人的算力来阻止机器人访问,从而降低成本。用户只需一键验证,过程仅需1秒左右,体验流畅。Cap 的验证过程高效安全,无需用户识别复杂的图片或文字,而是通过算力来区分人类与机器人。该工具已开源,感兴趣的同学可以进一步研究。

🖱️ Cap 验证码的核心在于使用SHA-256工作量证明算法。当用户点击验证码后,浏览器会进行计算,这个过程消耗算力,类似于比特币的“挖矿”过程。

⚙️ Cap 的工作流程包括初始化、发起验证、计算答案和兑换令牌。验证码组件通过Shadow DOM技术与页面隔离,验证时服务器提供挑战集合,用户通过计算找到符合要求的哈希值,服务器验证通过后发放令牌。

⏱️ Cap 验证速度快,基准测试显示,现代手机完成计算只需约1秒。验证难度可调,能有效提升机器用户成本。

💡 Cap 颠覆了传统验证码的思路,不再依赖用户识别文字或图片,而是利用算力。正常用户访问消耗的算力可以忽略不计,但机器人访问大量页面时消耗的算力成本极高。

这大概是比特币除了赚钱以外,最有用的一集啊。

Cap 是一个轻量级的开源 CAPTCHA 人机验证工具,只有 20kb,与传统验证码主要考验人类不同,它无需用户拼图、选字,只需一键验证,仅仅消耗1秒钟左右。@Appinn

Cap 采用与比特币相同的 SHA-256 工作量证明算法,通过消耗机器(浏览器或机器人)的算力,有效提升机器刷流量成本,从根本上减少机器人访问。

直接上演示

通过鼠标点击验证码之后,会有一个计算的过程。这个过程就是正在进行的 SHA-256 工作量证明:

Cap 工作原理

    初始化
      当 Cap 加载时,会在网页中注册一个专属的验证码组件,并通过 Shadow DOM 技术与页面其他部分隔离,保证安全和独立性。
    发起验证
      当需要验证时,Cap 会向服务器请求生成一个包含多个挑战的“挑战集合”。每个挑战包含一个独特的“盐值”(salt)和一个哈希目标前缀。用户需要找到一个“随机数”(nonce),把它和盐值组合后,经过 SHA-256 算法哈希,要求结果以指定前缀开头。Cap 会同时产生多个挑战,以便更快、更稳定地计算和显示进度。
    计算答案
      Cap 利用浏览器中的 Web Worker 并行计算,加快解题速度。计算方式就是不断尝试不同的随机数(nonce),把它与盐值拼在一起,用 SHA-256 算法算出哈希值,检查前缀是否符合目标。成功找到符合要求的哈希值后,解题过程结束。
    兑换令牌
      成功解题后,Cap 会把结果发送回服务器进行验证。验证通过后,服务器会发放一个令牌,作为人机验证成功的证明。

Cap 用和比特币“挖矿”类似的方式,要求你的浏览器做一小段运算,通过后就证明你不是机器人,整个过程高效、安全、无需传统验证码的繁琐操作。

注意:用后即抛,无需担心用户浏览器的挖矿问题,Cap 需要自己部署在自己的服务器中。

一反常态

Cap 的验证过程非常有意思,它不再要求用户证明自己是人类,可以看懂人类的文字、图片,因为现在 AI 也能看懂了。反而要求用户使用算力,无需证明什么。

这样的情况下,正常用户访问几个页面所消耗的算力可以忽略不计,但机器人用户同时访问成千上万个页面所消耗的算力,就需要真金白银了。

而眼下,算力就是黄金啊。

这将从根本上提升机器用户成本,让其得不偿失。

妙啊。

基准测试

Cap 文档提供了一个基准测试结果,在不同设备下:

Tier设备Chrome 消耗时间Safari 消耗时间
Low-endSamsung Galaxy A114.583s
Low-endiPhone SE (2020)1.282s
Mid-rangeGoogle Pixel 71.027s
Mid-rangeiPad (9th gen)1.401s
High-endGoogle Pixel 90.894s
High-endMacBook Air M30.312s0.423s

测试条件:

意味着一台比较现代的手机,大概会消耗1秒钟的时间,就能完成以上测试条件下的计算。难度可调。

获取

感兴趣的同学,可以前往研究。


原文:https://www.appinn.com/cap-pow-captcha/

CAPTCHA 是什么?

全自动区分计算机和人类的图灵测试(英语:Completely Automated Public Turing test to tell Computers and Humans Apart,简称 CAPTCHA),又称验证码或确认码,是一种区分用户是机器或人类的公共全自动程序。在 CAPTCHA 测试中,作为服务器的计算机会自动生成一个问题由用户来解答。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于机器无法解答 CAPTCHA 的问题,回答出问题的用户即可视为人类。

实际上,在 Cap 下的 CAPTCHA,可能需要换一个名字了

PoW 是什么?

工作量证明(Proof-of-Work,PoW)是一种对应服务与资源滥用、或是拒绝服务攻击的经济对策。

一般要求用户进行一些耗时适当的复杂运算,并且答案能被服务方快速验算,以此耗用的时间、设备与能源做为担保成本,以确保服务与资源是被真正的需求所使用。此概念最早由Cynthia Dwork和Moni Naor于1993年的学术论文提出,而工作量证明一词则是在1999年由Markus Jakobsson与Ari Juels. 所发表。现时此技术成为了加密货币的主流共识机制之一,如比特币所采用的技术。

关注我们

爱发电:https://afdian.com/a/qingxwa (打赏我们,让我们更好的创作)

[ 点击前往获取链接 ]


Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Cap CAPTCHA SHA-256 工作量证明 验证码
相关文章