Anonymous credentials: rate-limit bots and agents without compromising privacy

eleye | 101 points

What problem is this trying to solve exactly?

If a computer (or “agent” in modern terms) wants to order you a pizza it can technically already do so.

The reason computers currently can’t order us pizza or book us flights isn’t because of a technical limitation, it’s because the pizza place doesn’t want to just sell you a pizza and the airline doesn’t want to just sell you a flight. Instead they have an entire payroll of people whose salaries are derived from wasting human time, more commonly know as “engagement”. In fact those people will get paid regardless if you actually buy anything, so their incentive is often to waste more of your time even if it means trading off an actual purchase.

The “malicious” uses of AI that this very article refers to are mostly just that - computers/AI agents acting on behalf of humans to sidestep the “wasting human time” issue. The fact that agents may issue more requests than a human user is because information is intentionally not being presented to them in a concise, structured manner. If Dominos or Pizza Hut wanted to sell just pizzas tomorrow they can trivially publish an OpenAPI spec for agents to consume, or even collaborate on an HPOP protocol (Hypertext Pizza Ordering Protocol) to which HPOP clients can connect (no LLMs needed even). But they don’t, because wasting human time is the whole point.

So why would any of these companies suddenly opt into this system? Companies that are after actual money and don’t profit from wasting human time are already ready and don’t have to do anything (if an AI agent is already throwing Bitcoin or valid credit card details at you to buy your pizzas, you are fine), and those that do have zero incentive to opt in since they’d be trading off “engagement” for old-school, boring money (who needs that nowadays right?).

Nextgrid | 2 days ago

This is something I’ve been saying for a while[0,1]:

Services need the ability to obtain an identifier that:

- Belongs to exactly one real person.

- That a person cannot own more than one of.

- That is unique per-service.

- That cannot be tied to a real-world identity.

- That can be used by the person to optionally disclose attributes like whether they are an adult or not.

Services generally don’t care about knowing your exact identity but being able to ban a person and not have them simply register a new account, and being able to stop people from registering thousands of accounts would go a long way towards wiping out inauthentic and abusive behaviour.

[0] https://news.ycombinator.com/item?id=41709792

[1] https://news.ycombinator.com/item?id=44378709

The ability to “reset” your identity is the underlying hole that enables a vast amount of abuse. It’s possible to have persistent, pseudonymous access to the Internet without disclosing real-world identity. Being able to permanently ban abusers from a service would have a hugely positive effect on the Internet.

JimDabell | a day ago

1. AI scrapers are now a common source of DDoS attacks.

2. Cloudflare is one of the largest DDoS prevention providers.

3. Cloudflare is now, or soon will be, providing AI scraping services, per the linked article.

I would add that other large tech companies in the same problem spaces aren't innocent here, but given 1-3 it does seem like there is potential for monopolistic behavior here.

gradientsrneat | 2 hours ago

It seems like the tl;dr is:

Cloudflare is helping to develop & eager to implement an open protocol called ARC (Anonymous Rate-Limited Credentials)

What is ARC? You can read the proposal here: https://www.ietf.org/archive/id/draft-yun-cfrg-arc-01.html#n...

But my summary is:

1. You convince a server that you deserve to have 100 tokens (probably by presenting some non-anonymous credentials)

2. You handshake with the server and walk away with 100 untraceable tokens

3. At anytime, you can present the server with a token. The server only knows

  a. The token is valid

  b. The token has not been previously used
Other details (disclaimer, I am not a cryptographer):

- The server has a public + public key for ARC, which is how it knows that it was the one to issue the tokens. It's also how you know that your tokens are in the same pool as everyone else's tokens.

- It seems like there's an option for your 100 tokens to all be 'branded' with some public information. I assume this would be information like "Expires June 2026" or "Token Value: 1 USD", not "User ID 209385"

- The client actually ends up with a key which will generate the 100 tokens in sequence.

- Obviously the number 100 is configurable.

- It seems like there were already schemes to do this, but providing only one token (RFC 9497, RFC 9474) but I'm not sure how popular those were.

tennysont | 2 days ago

> In order to use Privacy Pass for per-user rate-limiting, it's necessary to limit the number of tokens issued to each user (e.g., 100 tokens per user per hour). To rate limit an AI agent, this role would be fulfilled by the AI platform. To obtain tokens, the user would log in with the platform, and said platform would allow the user to get tokens from the issuer. The AI platform fulfills the attester role in Privacy Pass parlance.

If it's up to the AI platform to issue limited tokens to users, and it's also the AI platform making the web requests, I'm not understanding the purpose of the cryptography/tokens. Couldn't the platform already limit a user to 100 web requests per hour just with an internal counter?

Ukv | 2 days ago

This article was published on Oct 30th, but it refers to IETF draft-yun-cfrg-arc-01, a draft that was superseded by draft-yun-privacypass-crypto-arc-00 <https://datatracker.ietf.org/doc/draft-yun-privacypass-crypt...> on Oct 20th, i.e. more than a week before the article was published.

teddyh | 2 days ago

This blog post is offensive to me on three levels:

1. It is clearly not written with a desire to actually convey information in a concise, helpful way.

2. It is riddled with advertisements for Cloudflare services which bear absolutely no relevance to the topic at hand

3. The actual point of the article (anonymous rate limiting tokens) is pointlessly obscured by an irrelevant use case (AI agents for some reason)

Of course, the second two points seem to be heavily related to the first.

This is barely any better -- in terms of respect for the reader's intelligence and savviness -- than those "Apple just gave ten million users a reason to THROW AWAY THEIR IPHONES" trash articles. Just slop meant to get you to click on links to Cloudflare services and vaguely associate Cloudflare with the "Agentic AI future", with no actual intention whatsoever of creating a quality article.

notorious_pgb | a day ago

Could this help solve the pesky problem of anonymous age attestation (i.e. the "I'm acting on behalf of someone who's over 18") by having some attestator that only issues time-linked tokens (you're not allowed to use more than X in any given span of time, so users are significantly deterred from sharing tokens with others) to persons who are verifiably over 18?

zozbot234 | a day ago

There's a few comments asking for further info on the motivation.

I'll explain my understanding.

Consider what problem CAPTCHA aims to solve (abuse) and how that's ineffective in an age of AI agents: it cannot distinguish "bot that is trying to buy a pizza" vs "bot that is trying to spider my site".

I don't understand Cloudflare's solution enough to explain that part.

I'm glad to see research here, because if we don't have innovation solutions, we might end up with microtransactions for browsing.

chocalot | 2 days ago

these Cloudflare blog posts are so verbose it's insane....

orliesaurus | 2 days ago

Probably not the best example... Without a credit card involvement the case is much much stronger.

andreapaiola | 2 days ago

CF = no thanks.

They have the nickname Crimeflare for a reason. They allow hundreds of thousands of criminals to use their services maliciously and its a huge hassle to report them only to be met with their stance of "we are only routing traffic not hosting it" and they wont remove the most blatant phishing and malicious pages.

edm0nd | 2 days ago

I don’t understand the problem they are trying to solve, and this article is long, so apologies if they actually get around to explaining.

I have a credit card, and an agent. I want a pizza.

These credentials do what, exactly? Prevent the pizza place from taking my money? Allow me to order anonymously so they don’t know where to deliver it?

Also, they are security professionals, so when they say anonymous, they don’t mean pseudonymous, so my agent can produce an unlimited number of identities, right? How do they keep the website from correlating time and IP addresses to link my anonymous requests to a pseudonym?

My cynical take is that the pizzeria has to pay cloudflare a few pennies to process the transaction. What am I missing?

hedora | 2 days ago

I dont get this…

donperignon | 2 days ago
[deleted]
| a day ago

Wild future that Cloudflare is making their own crypto to shill.

anothernewdude | 2 days ago

[dead]

Trishar | 2 hours ago

[dead]

JNz4mapL6XO | a day ago

[flagged]

donald6 | 16 hours ago