Anubis में WebAssembly शिप करने में एक साल लगा

Anubis जैसे proof-of-work challenges, CAPTCHAs के विकल्प के रूप में, दुरुपयोग वाले web scraping और bot traffic को सीमित करने के लिए उभर रहे हैं; अब ये WebAssembly और memory-hard functions (Argon2) का उपयोग करके आधुनिक browsers और hardware के साथ बेहतर तालमेल बिठाते हैं। टिप्पणीकार इस पर बहस करते हैं कि क्या यह तरीका बड़े, अच्छी तरह वित्तपोषित scrapers को वास्तव में रोकता है या मुख्यतः सामान्य उपयोगकर्ताओं को दंडित करता है—खासकर पुराने devices पर, जिनमें JavaScript/WASM बंद हो, या जिनकी privacy सेटिंग्स सख़्त हों। यह चर्चा “बर्बाद” compute की पारिस्थितिक और आर्थिक लागत, browsers और devices के बीच compatibility trade-offs, और residential proxy networks तथा आक्रामक AI-driven scraping के युग में IP blocking और robots.txt जैसे पारंपरिक उपकरणों की सीमाओं को भी उजागर करती है।

प्रूफ़‑ऑफ़‑वर्क की भूमिका और अर्थशास्त्र

  • PoW को एक आर्थिक थ्रॉटल के रूप में पेश किया गया है: स्क्रैपिंग को पूरी तरह खत्म करने के लिए नहीं, बल्कि दुरुपयोग वाले ट्रैफ़िक को इतना महंगा बनाने के लिए कि वह व्यावहारिक न रहे।
  • कुछ लोग इसे संसाधनों की बर्बादी मानते हैं, खासकर जलवायु चिंताओं को देखते हुए; दूसरे कहते हैं कि अगर इससे denial‑of‑wallet–शैली की स्क्रैपिंग रुकती है तो लागत उचित है।
  • इस पर बहस है कि memory‑hard फ़ंक्शन (argon2id) क्या वास्तव में अच्छी तरह वित्तपोषित AI स्क्रैपर्स को बाधित करते हैं, या मुख्यतः छोटे “skiddy” बॉट्स और सामान्य उपयोगकर्ताओं को नुकसान पहुँचाते हैं।

उपयोगकर्ताओं, डिवाइसों और गोपनीयता पर प्रभाव

  • उपयोगकर्ता बताते हैं कि मोबाइल डिवाइस गरम हो जाते हैं या चुनौतियाँ हल करने में काफ़ी समय लेते हैं; डेस्कटॉप और VPS इन्हें जल्दी संभाल लेते हैं।
  • कॉन्फ़िगरेशन मायने रखती है: कम कठिनाई और cookie reuse सामान्य ब्राउज़िंग में PoW को लगभग अदृश्य बना सकती है, लेकिन कठोर सेटिंग्स पुराने या कम‑शक्ति वाले डिवाइसों को तोड़ सकती हैं।
  • जो लोग गोपनीयता के लिए JS, WASM, या cookies बंद रखते हैं, उन्हें अक्सर Anubis अनुपयोगी लगता है; दूसरे कहते हैं कि “सामान्य” वेब धारणाओं को तोड़ने से ऐसा घर्षण पैदा होता है।
  • यह चिंता भी उठाई गई कि service‑worker precomputation और IP‑binding गोपनीयता उपकरणों, गतिशील IPs, और नेटवर्क बदलावों से टकरा सकते हैं।

बॉट्स और स्क्रैपर्स के विरुद्ध प्रभावशीलता

  • समर्थकों का कहना है कि वास्तविक deployments में दुरुपयोग वाले बॉट ट्रैफ़िक में बड़ी कमी दिखी है, खासकर rotating‑IP scrapers से जो search या git web UIs पर हमला करते हैं।
  • संशयवादियों का तर्क है कि गंभीर स्क्रैपर्स के लिए प्रति चुनौती computation cost नगण्य है और वे अनुकूलित हो सकते हैं (sessions reuse करना, रणनीति बदलना)।
  • PoW को defense‑in‑depth की एक परत के रूप में प्रस्तुत किया गया है, जो तब पारंपरिक तकनीकों का पूरक बनती है जब विशाल proxy networks के कारण IP blocking काम नहीं करती।

Robots.txt, “good bots,” और static content

  • कुछ लोग पूछते हैं कि robots.txt पर निर्भर क्यों न रहा जाए; दूसरे जवाब देते हैं कि केवल “good” bots ही इसका पालन करते हैं, इसलिए restrictive नीतियाँ बहुत सुरक्षा नहीं देतीं।
  • Static‑जैसे दिखने वाले पेज भी वास्तविक CPU और bandwidth लागत पैदा कर सकते हैं, और कई deployments नीति के कारण external CDNs का उपयोग नहीं कर सकते।
  • “बेईमान” bots को रोकने की इच्छा और वैध archiving या research crawlers को अनावश्यक रूप से नुकसान न पहुँचाने के बीच तनाव है।

Implementation details: WASM, JS, और Rust tooling

  • Anubis अत्यधिक optimized WASM का उपयोग करता है, साथ ही उन वातावरणों के लिए wasm‑to‑JS fallback भी है जहाँ WASM उपलब्ध नहीं है; backward compatibility (पुराना Chrome, Firefox ESR, smart TVs) पर काफ़ी प्रयास किया गया है।
  • मौजूदा extensions भी हैं जो WASM या WebGPU के माध्यम से solving को तेज़ करते हैं; argon2 स्वयं GPU‑accelerable है, जिससे “GPU‑proof” दावों को जटिलता मिलती है।
  • Rust tooling की समस्याएँ wasm32-unknown-unknown, MVP बनाम non‑MVP features, और build-std के आसपास चर्चा में हैं; कुछ लोग wasm32v1-none जैसे वैकल्पिक targets सुझाते हैं।

“उपयोगी” या monetized काम के विचार

  • कई टिप्पणीकार pure waste को इन चीज़ों से बदलने का सुझाव देते हैं:
    • Micro‑payments या token systems, जहाँ sites PoW से कमाती हैं।
    • साइटों के बीच PoW credits का आदान‑प्रदान (मज़ाक में “crypto को फिर से बनाना”)।
    • PoW को सामाजिक रूप से उपयोगी कार्यों में मोड़ना (जैसे वैज्ञानिक computing, distributed fuzzing), हालांकि task granularity इसे कठिन बनाती है।