Ngày 1 tháng 9 năm 2026, CrowdSec 1.8 đã ra mắt — và trong WAF mã nguồn mở, được cài đặt trên máy chủ của bạn chỉ với một helm install, đã có hai điều đến cùng một lúc: nhận diện dấu vân tay trình duyệt và proof-of-work. Đến nay, tường PoW chủ yếu được gặp trong các git-forges và lưu trữ thư phát. Giờ đây, lớp như vậy có thể xuất hiện trên bất kỳ trang web nào với năm trăm lượt truy cập mỗi ngày.
Chúng ta cùng tìm hiểu xem điều gì đã thay đổi, tại sao việc phát hiện đã chuyển sang hướng "trả tiền bằng CPU", và — điều quan trọng nhất — tại sao hash trong cấu trúc này lại là vấn đề nhỏ nhất.
Điều gì đã xảy ra: PoW đã xuống từ git-forges đến các trang web thông thường
CrowdSec là một hệ thống tự lưu trữ: tác nhân đọc nhật ký, WAF đứng trước ứng dụng, các "bouncer" chặn lại. Trong bản phát hành 1.8, đội ngũ đã thêm vào WAF một cơ chế không trả lời câu hỏi "IP này có xấu không?", mà là câu hỏi "đây có phải là trình duyệt của con người hay một bot đang giả vờ?". Câu trả lời được thu thập từ dấu vân tay (đặc điểm của trình duyệt và chữ ký TLS) và proof-of-work — một bài toán tính toán mà khách hàng phải giải quyết trước khi backend thấy yêu cầu.
Động lực mà các tác giả đưa ra không hề có tính ngoại giao: bot trung bình của năm 2026 đến với Chrome thật, dấu vân tay TLS nhất quán, IP cư trú — và nó có nhiều kiên nhẫn hơn kỹ sư trực ca. Sự công nhận từ phía phát hiện này có giá trị hơn bất kỳ phân tích nào: địa chỉ cư trú và TLS chính xác không còn là dấu hiệu phân biệt. Khi mà theo danh tiếng IP và bắt tay, bot không còn khác biệt với con người, bảo vệ tìm kiếm một dấu hiệu rẻ cho trình duyệt và đắt cho công viên máy móc.
Song song, trên Hacker News vào những ngày đó, POWBlock đã xuất hiện — "microservice proof-of-work cho bất kỳ máy chủ nào". Một bản phát hành có thể được coi là trùng hợp, nhưng hai tín hiệu độc lập trong một tuần — đã là một hướng đi.
Cách hoạt động của tường PoW qua ví dụ Anubis
Tiêu chuẩn của thể loại — Anubis: reverse proxy trên Go dưới giấy phép MIT, được viết bởi Xe Iaso dưới thương hiệu Techaro từ tháng 1 năm 2025. Ý tưởng trực tiếp từ hashcash của Adam Back năm 1997: khách hàng thử nghiệm các giá trị cho đến khi SHA-256 cho ra hash với số lượng số không dẫn đầu cần thiết. Giải quyết — nhận được cookie JWT đã ký (techaro.lol-anubis-auth) và quyền truy cập tạm thời. Không giải quyết — backend sẽ không biết về bạn.
Độ khó được đặt bởi quản trị viên. Theo mặc định, Anubis thách thức tất cả những gì giống như trình duyệt — tức là tất cả những gì có chuỗi Mozilla trong User-Agent. Mỗi cấp độ có giá trị như thế nào được thể hiện qua các phép đo:
- Độ khó 1 — dưới 100 ms.
- Độ khó 4 (mặc định) — khoảng 1,35 giây trên Intel Core Ultra 7 165H, tương đương khoảng 87.600 hash mỗi giây trong trình duyệt.
- Độ khó 8 — khoảng 11 giây.
- Độ khó 10 — khoảng 114 giây.
Giữa cấp độ bốn và mười, sự khác biệt khoảng 84 lần. Danh sách những người đã triển khai trông rất ấn tượng: lưu trữ thư phát của nhân Linux và máy chủ git của nhân, sourcehut, FFmpeg, GitLab dự án GNOME, Wine, sourceware.org, FreeCAD, ScummVM, Enlightenment, UNESCO. Tại Đại học Duke, thử nghiệm vào tháng 6 năm 2025 đã chặn hơn 4 triệu yêu cầu HTTP không mong muốn mỗi ngày — khoảng 90% lưu lượng rác — và trong một tuần, 12 người đã phàn nàn về các vấn đề.
Những tường này không xuất hiện vì sự ác ý. Tại Read the Docs, một crawler duy nhất đã tải xuống 73 TB trong một tháng; sau khi bị chặn, lưu lượng hàng ngày giảm từ 800 GB xuống 200 GB, tiết kiệm khoảng 1500 đô la mỗi tháng. Drew DeVolt đã mô tả rằng cuộc chiến với các crawler đã tiêu tốn từ 20 đến 100 phần trăm của một số tuần riêng lẻ. Trong bối cảnh lưu lượng tự động tăng 23,51% trong năm 2025 và gần gấp ba lần lưu lượng AI trong một năm, các quản trị viên đã bắt tay vào những gì hoạt động nhanh chóng.
Chuyển biến: chống lại việc phân tích công nghiệp, PoW hầu như không hoạt động
Và bây giờ là phần khó chịu mà hiếm khi được viết trong các thông cáo báo chí. Proof-of-work dựa vào sự bất đối xứng "dễ kiểm tra, khó giải quyết". Trong web, sự bất đối xứng này không được triển khai theo đúng hướng.
Người truy cập trung thực xem hash như một JavaScript chậm trong trình duyệt. Người đến để lấy dữ liệu xem chúng như mã gốc. Tavis Ormandy đã viết một trình giải quyết chỉ với 25 dòng C: bài toán độ khó 5 được giải quyết trong khoảng 0,017 giây — nhanh hơn khoảng 200 lần so với SubtleCrypto trong trình duyệt. Trên GPU, sự chênh lệch còn lớn hơn, khoảng trăm lần trở lên. Kết quả của phép toán đơn giản: đối với một nhà cung cấp lớn, việc vượt qua tất cả các trang web Anubis có giá gần như bằng không.
Đây không phải là lý thuyết. Codeberg đã thông báo từ tháng 8 năm 2025 rằng nhiều bot scraper đã học cách giải quyết các thách thức Anubis. Tường này không trở nên vô dụng — trong vài tháng, nó đã chặn hầu hết các yêu cầu — nhưng như một rào cản cho những ai sẵn sàng dành một buổi tối cho một trình giải quyết gốc, nó không giữ được.
Người dùng thực sự vẫn phải trả tiền. Độ khó 5 — khoảng 2 giây trên một MacBook mới, hàng chục giây trên một laptop cũ và lên đến hai phút trên điện thoại. Tại GitLab GNOME, đã ghi nhận trường hợp bị kẹt nửa giờ trong Firefox — một trường hợp ngoại lệ, nhưng rất đáng chú ý. Thêm vào đó là những ngoại lệ nghiêm ngặt: theo mặc định, Anubis yêu cầu JavaScript, vì vậy các trình đọc RSS, curl, wget và Lynx đều bị loại bỏ. Dự án này đang sửa chữa điều đó — trong phiên bản 1.20.0 đã xuất hiện một con đường không cần JS thông qua meta-refresh, — nhưng trong 1.22.0 đã xuất hiện Proof of React, điều này lại làm tăng yêu cầu đối với trình duyệt.
Cũng cần biết về tính bền vững của chính dự án: khoảng một nửa mã được cam kết bởi một người, và trong số hơn 80 người đóng góp chỉ có một nhà phát triển khác vượt qua mốc mười cam kết. Thêm vào đó, Anubis tích hợp dịch vụ trả phí Thoth cho lọc GeoIP và BGP — tức là dự án mở có hàng xóm thương mại.
Nơi PoW thực sự gây khó khăn: phiên bản thương mại được thiết kế khác
Đây là nơi ẩn chứa sự thay đổi khái niệm chính. Kasada, hCaptcha và Cloudflare Turnstile cũng sử dụng proof-of-work — nhưng không giống như Anubis.
Với Anubis, câu đố có tường: thực hiện JS, tính hash — đã qua. Một tín hiệu, một rào cản. Với các hệ thống thương mại, PoW hoạt động như chứng nhận. Với Kasada, bài toán chỉ mất vài mili giây — quá ít đến mức như một rào cản là vô nghĩa. Ý nghĩa ở chỗ: để giải quyết nó, khách hàng phải chạy một máy ảo bị làm khó, bên trong đó diễn ra việc phát hiện thực sự. Nếu bạn tính hash mà không thực hiện tất cả những điều khác, — bạn sẽ không nhận được gì. hCaptcha chồng PoW lên trên phán quyết về hình ảnh, tăng giá tính toán cho các khách hàng nghi ngờ, Turnstile coi PoW là một tín hiệu trong số nhiều tín hiệu môi trường.
Sự khác biệt là nguyên tắc. Tường mở có thể bị phá bởi một trình giải quyết gốc rẻ. Tường thương mại không bị phá bởi hash, mà bởi sự cần thiết phải thực hiện một cách trung thực mã bị làm khó của người khác và không bị phát hiện trong môi trường — và điều này là đắt đỏ, vì việc làm khó thường xuyên được thay đổi. CrowdSec 1.8 thú vị đúng vào chỗ nó kéo logic lai này (dấu vân tay bên cạnh PoW) vào thế giới tự lưu trữ, nơi trước đây chỉ có giới hạn tốc độ theo IP.
Điều này thay đổi gì trong thực tế
Nếu bạn thu thập dữ liệu một cách hợp pháp — theo dõi giá cả, theo dõi thương hiệu của mình, thực hiện nghiên cứu, — những kết luận trở nên khá cụ thể.
- Vấn đề không nằm ở hash, mà ở lớp trình duyệt. Hash được tính một cách tự nhiên trong mili giây. Dấu vân tay, máy ảo bị làm khó và môi trường chính xác không được tính. Sự chuyển dịch thực tế: nơi trước đây chỉ cần một HTTP-client, giờ đây cần một động cơ trình duyệt thực sự. Điều này tốn kém hơn về CPU và bộ nhớ, và cần phải lập kế hoạch ngay từ đầu cho điều này.
- Kinh tế chuyển từ lưu lượng sang thời gian và CPU. Trước đây, chi phí được tính bằng IP và gigabyte. Giờ đây, nó được cộng thêm giây trên mỗi trang và tải của các lõi. Cần đo không phải giá mỗi gigabyte, mà là chi phí cho một bản ghi thành công — với tường PoW, hai chỉ số này đặc biệt khác biệt.
- Phiên trở thành tài sản. Anubis phát cookie JWT theo thời gian. Nếu bạn thay đổi IP sau mỗi yêu cầu, bạn phải trả PoW thuế một lần nữa trên mỗi trang. Các phiên dính trên proxy cư trú ở đây mang lại lợi ích không phải ở "ẩn danh", mà chính xác trong tính toán: một giải quyết bài toán được phân bổ trên hàng chục trang. Việc xoay vòng mạnh mẽ trong thế giới PoW trở thành một thực tiễn tốt trở thành lãng phí.
- Trình giải quyết không thay thế hành vi. Cùng một logic mà các trình giải quyết captcha đã không còn giải quyết được vấn đề: bạn giải quyết một bài toán rõ ràng, nhưng phán quyết được đưa ra dựa trên các tín hiệu không nhìn thấy xung quanh nó.
- Giảm tần suất — điều này rẻ hơn bất kỳ tường nào. Làn sóng PoW đã phát triển từ những câu chuyện như 73 TB trong một tháng từ một crawler. Cache, các yêu cầu có điều kiện, khoảng thời gian hợp lý và tôn trọng robots.txt sẽ đưa bạn ra khỏi radar trước khi thách thức được kích hoạt. Các địa chỉ trung tâm dữ liệu rẻ và headless ở tần suất tối đa — chính xác là hồ sơ mà các tường được thiết lập.
Kết luận
CrowdSec 1.8 không phải là "kết thúc việc thu thập dữ liệu", và Anubis cũng không trở thành như vậy: trình giải quyết gốc đóng bài toán độ khó 5 trong 0,017 giây, trong khi người sống trên một chiếc điện thoại cũ phải chờ đến hai phút. Tin tức thực sự nằm ở chỗ khác. Thứ nhất, phát hiện đã công nhận rằng IP cư trú và TLS sạch không còn chứng minh được gì nữa. Thứ hai, lớp "chứng minh rằng bạn là trình duyệt" không còn là đặc quyền của các nền tảng lớn với ngân sách cho Kasada và đã chuyển sang mã nguồn mở, được cài đặt trên các trang web thông thường.
Cần chuẩn bị không phải cho cuộc chiến với các hash, mà cho việc rằng sơ đồ rẻ "nhiều IP cộng với HTTP-client nhanh" sẽ không còn hiệu quả trên các mục tiêu ngày càng nhỏ hơn. Cấu hình ngược lại sẽ thắng: ít yêu cầu hơn, trình duyệt thực sự, phiên dài và địa chỉ chất lượng ở nơi cần một lối đi đáng tin cậy, không phải hàng ngàn nỗ lực rẻ tiền.
