[tor-talk] Avoiding DoS inside the Tor network (Was: Anonymous to attacks Hidden Wiki and othershiddenservice)

Jeroen Massar jeroen at unfix.org
Mon Oct 24 13:47:25 UTC 2011


On 2011-10-24 15:29 , Eugen Leitl wrote:
> On Mon, Oct 24, 2011 at 02:40:26PM +0200, Jeroen Massar wrote:
> 
>> If you would introduce something like hashcash, does the source node or
>> the intermediate node have to do this hashcash calculation?
> 
> Like in BitCoin, only at minting stage would you need to generate
> payment tokens. In fact, the tokens could be generated by Tor
> developers themselves as we implictly trust them when we verify
> the signed code on official released packages. This would do at
> least initially.

That would also require them to distribute those coins and to first of
all mint them.

How does one distribute those coins? That is, how do you know how much
to give to a certain user? The nice thing about bitcoin is that the
minting is done by the user, if you can mint a lot then you can use a lot.

> The problem would be with overhead of network tracking transactions
> to prevent double spending. That would be probably prohibitive, as
> currently BTC tranactions take some time to clear. It's probably a
> stupid idea.

There is no such thing as a stupid idea, there are ideas though that
don't apply all too well to the situation ;)

I think it is interesting but quite infeasible to do this.

>> I do hope that verifying the hashcash is then factors lighter than
>> generating it. Do note though that some
> 
> Verifying is easy, preventing double spending without centralism
> is hard.

And to be able to verify you don't only need a centralized mechanism,
but you would also need to setup a connection to that location to be
able to verify that you can setup a connection, which would need a ... ;)

Also, people sometimes already complain that Tor is slow, this won't
help with that too much.

Note that if one does this payment thing, will that pay for a single hop
or for the full circuit? How would one crypt that payment thus avoiding
the node steal it and pay it's own traffic with it?

On the Internet one also only pays their direct peers, thus for the
Tor/Bitcoin model one would then best be off only paying the direct
peers and the peer could then use that bitcoin to pay the link to the
next hop.

>> If the source has to do it you are going to transfer a bit of text from
>> the source to the intermediary node and thus the intermediary node might
>> learn that way what the real source is.
> 
> The idea is that you have to spend some tokens if you want to push
> a lot of data (or else there would be backpressure/throttling), which 
> you would have to earn by being a good relay or exit. 

If you ratelimit regular streams then that could mean that the regulars
who never pay are thus flooded and the others are easily identified as
they add a payment token (which need to be per-hop).

Greets,
 Jeroen


More information about the tor-talk mailing list