Donncha O'Cearbhaill:
Thanks everyone for all the feedback I've received about OnionTip. It was originally created in a rush during a hackathon so there is definitely room for improvement.
Mike Perry, as Mike Cardwell has said, it is currently possible to select a subset of relays to receive donations by using the filters (Country, Exit flag, Guard flag) at the the top of the OnionTip page. I'd like to expand these filters and maybe tweak the defaults to provide a greater share to exits. Exit bandwidth is more valuable to the network, and I believe it should be incentivised accordingly.
Ah, it was in no way clear to me that I was actually restricting my donation to these nodes as opposed to just viewing them. I suppose I may be dense, but I expect many others will think similarly, especially since the UI for selection says "Only show ..." and not "Only donate to ...".
I completely agree that it's important the service and its payments are externally auditable. From an implementation point of view, when a user filters a particular set of relays and clicks the donate button, a new bitcoin keypair and address is derived and stored in the database along with the list of relays they've selected. Creating a new address for each donation is the simplest way of ensuring a users donation goes to the correct set of relays they select. Forwarding the donation directly from that one-time-use address to the receiving relay operators also allows the user to easily and immediately confirm on the blockchain that their donation was forwarded correctly.
Ah, I see. Ok. Makes sense.
From an external point of view, next week I'll add a page to the site where anyone can view all previously sent transactions. I'll also publish the master public key which corresponds to the addresses I'm generating along with a script to confirm they are being generated without any tricks.
Ok. I can't speak for everyone at Tor, but I think this kind of verifiability is what will make it much easier for us to agree to add a link to OnionTip on our donations page.
There's a few other issues in the current implementation which I have outlined on the Github repo (https://github.com/DonnchaC/oniontip/issues). I'll send a post to the list early next week with my proposed solutions and and look for some feedback before I implement them.
Great! Keep us in the loop.