2 releases
0.1.0-alpha.2 | Oct 30, 2022 |
---|
#11 in #proof-of-work
30KB
619 lines
comproxity
Simple Proof of Work (PoW) HTTP proxy
__
_(\ |@@|
(__/\__ \--/ __
\___|----| | __
\ }{ /\ )_ / _\
/\__/\ \__O (__
(--/\--) \__/
_)( )(_
`---''---`
Algorithm
Request attempt:
sequenceDiagram
Client ->>+ Comproxity: request
alt Has token
Comproxity ->>+ Server: Request
Server ->>- Comproxity: Response
Comproxity ->> Client: Response
else
Comproxity ->>- Client: Redirect to verification, put nonce and request ID into Cookies
end
Verification process:
sequenceDiagram
Client ->>+ Verifier: Initial request
Verifier ->>- Client: Verification UI
Note right of Client: Performs computationally complex task
Client ->>+ Verifier: Answer
alt Correct Answer
Verifier ->> Client: Redirect by request ID with signed token put into Cookies
else
Verifier ->>- Client: Retry verification
end
Credits
ASCII arts for this README and default HTML pages are taken from ASCII Art Archive.
Dependencies
~12–20MB
~280K SLoC