[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-bugs] #4666 [Company]: Write proposal for proof-of-work service
#4666: Write proposal for proof-of-work service
-----------------------+----------------------------------------------------
Reporter: mikeperry | Owner: mikeperry
Type: task | Status: new
Priority: normal | Milestone:
Component: Company | Version:
Keywords: | Parent:
Points: | Actualpoints:
-----------------------+----------------------------------------------------
aagbsn and I dreamed up a simple proof-of-work service a week or two ago.
It would work like this:
1. A web service runs at a url and provides signed or HMACed products-of-
primes combined with a timestamp and a unique sequence number. The primes
should be chosen such that factoring their product takes on the order of
several seconds on most hardware.
2. Torbutton periodically fetches batches of these products-of-primes over
Tor and factors them into their component integers in a background thread,
until a reserve pool is met.
3. DoS-sensitive websites can advertise an additional header and/or accept
N factored products issued from within the last T minutes in exchange for
captcha-free/unblocked service. The products are encoded as either
cookies, GET parameters, or POST parameters.
4. Factored products can be reused on a site until the user either clicks
"New Identity" or they become too old for use at a particular site.
This system provides two knobs for sites to throttle traffic in response
to current scraping levels. On days where scraping query volume is low,
sites can be lenient in terms of how many proof of work units they require
for use, and how recently they must have been issued. If scraping volume
increases, sites can increase N and/or reduce T, to change the amount of
work that must be done by scrapers in order to receive service.
Alternatively or in addition, we can investigate using a Nymble-like (or
possibly simpler) system to allow the creation of single identifiers in
exchange for some number of proof-of-work units as well. Converting units
of work into identifiers (and preventing re-use of work using sequence
numbers) may simplify implementation on the DoS-sensitive service side, by
enabling the service to concern itself only with limiting the rate of
queries per identifier.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/4666>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs