Well how about asking tor users to sign a message from the bitcoin address they registered with instead?
Each time they log in they could be given a unique code and asked to sign a message containing it. That wouldn't cost them anything, and signing a message would be faster than going through endless cloudflare captchas.
Not every wallet has the ability to sign messages. Also, one registers for a forum account using an email address, not a Bitcoin address.