---
title: PoW 验证码来了！Cap 用比特币同款算法完成 CAPTCHA 人机验证
date: 2025-06-05T03:59:12Z
modified: 2025-06-05T08:13:39Z
permalink: "https://www.appinn.com/cap-pow-captcha/"
type: post
status: publish
excerpt: ""
categories:
  - 在线应用
tags:
  - 在线应用
  - CAPTCHA
  - 开发者
  - 开发者工具
  - 比特币
featured_image: "https://www.appinn.com/wp-content/uploads/2025/06/Copy-of-appinn-homework-10.jpg"
author: 青小蛙
timestamp: 2025-06-05T08:13:39Z
---

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

**Cap** 是一个轻量级的开源 **CAPTCHA** 人机验证工具，只有 20kb，与传统验证码主要考验人类不同，它无需用户拼图、选字，只需一键验证，仅仅消耗1秒钟左右。@[Appinn](https://www.appinn.com/cap-pow-captcha.md)

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

![](https://www.appinn.com/wp-content/uploads/2025/06/Copy-of-appinn-homework-10.jpg)

## 直接上演示

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

## Cap 工作原理

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

![](https://www.appinn.com/wp-content/uploads/2025/06/1-3.avif)

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

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

## 一反常态

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

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

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

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

妙啊。

## 基准测试

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



| Tier | 设备 | Chrome 消耗时间 | Safari 消耗时间 |
| --- | --- | --- | --- |
| Low-end | Samsung Galaxy A11 | 4.583s | – |
| Low-end | iPhone SE (2020) | – | 1.282s |
| Mid-range | Google Pixel 7 | 1.027s | – |
| Mid-range | iPad (9th gen) | – | 1.401s |
| High-end | Google Pixel 9 | 0.894s | – |
| High-end | MacBook Air M3 | 0.312s | 0.423s |

测试条件：

- 挑战难度： 4
- 挑战数量： 50
- 盐/挑战大小： 32
- 基准数量： 50

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

## 获取

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

- [Cap 官网](https://capjs.js.org/)

---

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

想要推荐自己的应用：[https://meta.appinn.net/c/faxian/10](https://meta.appinn.net/c/faxian/10)

爱发电：[https://afdian.com/a/qingxwa](https://afdian.com/a/qingxwa) （打赏我们，让我们更好的创作）

## Topics

**分类目录:** [在线应用](https://www.appinn.com/category/online-tools/?output_format=md)

**标签:** [CAPTCHA](https://www.appinn.com/tag/captcha/?output_format=md), [开发者](https://www.appinn.com/tag/%e5%bc%80%e5%8f%91%e8%80%85/?output_format=md), [开发者工具](https://www.appinn.com/tag/%e5%bc%80%e5%8f%91%e8%80%85%e5%b7%a5%e5%85%b7/?output_format=md), [比特币](https://www.appinn.com/tag/%e6%af%94%e7%89%b9%e5%b8%81/?output_format=md)