IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    PoW 验证码来了!Cap 用比特币同款算法完成 CAPTCHA 人机验证

    青小蛙发表于 2025-06-05 03:59:09
    love 0

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

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

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

    PoW 验证码来了!Cap 用比特币同款算法完成 CAPTCHA 人机验证 1

    直接上演示

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

    Cap 工作原理

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

    测试条件:

    • 挑战难度: 4
    • 挑战数量: 50
    • 盐/挑战大小: 32
    • 基准数量: 50

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

    获取

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

    • Cap 官网

    原文: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://weibo.com/appinncom
    • B站:https://space.bilibili.com/10979326
    • 小红书:https://kutt.appinn.com/6QwshF
    • Facebook:https://www.facebook.com/appinncom/
    • BlueSky:https://bsky.app/profile/appinn.bsky.social
    • X:https://x.com/appinn
    • 微信公众号:搜索「小众软件」
    • TG频道:@appinnfeed

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

    [ 点击前往获取链接 ]




沪ICP备19023445号-2号
友情链接