Re: [tor-relays] Exiting only port 8333

2014-03-23 Thread Mike Hearn
Thanks Roger, that does indeed clear things up.

For background, I maintain the bitcoinj project which is a widely used Java
Bitcoin implementation. We are planning on bundling the Orchid Tor client
and switching on Tor by default for Bitcoin wallets that are based on this
library, if we can. We'll see how it goes but if the UX impact is not too
bad then we might be adding approximately 750,000 to 1M clients after the
update fully rolls out everywhere (which would take a while). About half a
million of those are Androids that would be waking up at least every 24
hours and sometimes more frequently.

I guess we can tweak Orchid so that it uses port 8333 in the policy rather
than the exit flag for selection of its exit nodes. Should not be difficult.

I've looked at the bandwidth graphs and see that since September Tor has
been adding more bandwidth capacity than usage, and Bitcoin SPV is low
bandwidth anyway so that seems fine. Though I'm curious what happened in
September - correlated with Snowden revealing that Tor wasn't cracked yet?
But, I couldn't find any graphs of CPU capacity. Seems like the impact of
lots of Bitcoin wallets building circuits would mostly be on the CPU side
rather than the bandwidth side. Orchid supports NTor so I'm hopeful the
impact would be fairly low, perhaps even lost in the noise.

If you have any thoughts, I'd be happy to hear them.
___
tor-relays mailing list
tor-relays@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays


Re: [tor-relays] Exiting only port 8333

2014-03-23 Thread Roger Dingledine
On Mon, Mar 17, 2014 at 09:39:05PM +0100, Mike Hearn wrote:
> I would like to be an exit for port 8333 only. I have configured my relay
> to do this, but I am not being listed with the relay flag and do not see
> any traffic exiting my node (at least not using arm). I saw an FAQ that
> says this is because you have to exit web traffic to get marked as an exit.
> I do not wish to do this.
> 
> Is there any way to exit just one port?

Your exit policy means that you would allow a stream to exit if a
client asked you for it. The trouble is that most Tor clients build
their circuits preemptively -- before they know what destination stream
they'll be asked to connect to. The Exit flag is an approximation for
"probably will be able to handle whatever stream request shows up".

So your relay will actually get used in practice for exiting, in
the case where the client doesn't have any currently open, adequately
fresh circuits that would allow exit to port 8333. In that case it will
make a new circuit, choosing from all exits whose exit policies allow
that stream. But so long as things are going smoothly, there should be
preemptive circuits around and ready, so this case should be rare.

Another reason for the Exit flag is to help clients do load balancing --
e.g., avoid putting traffic for the first and second hop on relays that
probably have other clients putting traffic on them for the third hop.

https://gitweb.torproject.org/torflow.git/blob/HEAD:/NetworkScanners/BwAuthority/README.BwAuthorities
https://gitweb.torproject.org/torflow.git/blob/HEAD:/NetworkScanners/BwAuthority/README.spec.txt

In that sense, you actually don't want the Exit flag for your relay,
because it would make clients less likely to use you for their first and
second hop, because they'd figure you're busy handling exit streams for
other people.

The challenge there is that to do this load balancing more accurately,
we have to have an accurate model for what total network load to expect
for a given exit policy, so clients can take it into account. Since
it's hard to know what that model should be in practice (see
e.g. http://freehaven.net/anonbib/#cset12-modeling for more discussion
there), and also it's especially hard to predict how it should change
over time, it seems to me that a really simple approximation is more
likely to be robust.

Hope that helps to explain the tradeoffs,
--Roger

___
tor-relays mailing list
tor-relays@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays


Re: [tor-relays] Exiting only port 8333

2014-03-19 Thread David Serrano
On 2014-03-18 21:20:37 (+0100), Mike Hearn wrote:
> 
> The globe page for my node shows "exit probability: 0" so I guess I'm
> indeed not being sent any.

I saw that in my initial "some ports allowed but no Exit flag" period too. So
I guess it's actually "exit probability to 80/443/6667 destinations".


-- 
 David Serrano
 GnuPG id: 280A01F9


signature.asc
Description: Digital signature
___
tor-relays mailing list
tor-relays@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays


Re: [tor-relays] Exiting only port 8333

2014-03-18 Thread grarpamp
On Tue, Mar 18, 2014 at 4:20 PM, Mike Hearn  wrote:
> +Roger, as I'm curious as to the rationale.

There was a pretty big thread debate a couple years back about
people only wanting to offer cleartext ports being seen as
(whether falsely or not) doing it purely so they can cheaply
steal content/tokens off the wire. I don't know if the current spec
has any commit relation to that.

> Yes, and allowing people to exit only Bitcoin traffic seems beneficial in
> other ways:  you're not likely to get abuse reports from just allowing port
> 8333, so the cost of being an exit for that is much lower. And it'd indeed
> take bandwidth pressure off other nodes.

Good point regarding lowering potential headache cost for those not
wanting that much of it. There's probably value in offering say all
ports but 80/443/25/torrent and whatever else is left out of 'reduced'.

>> The atlas graphs do show traffic for such nodes
>> providing essentially just 8333. They're usable manually,
>> just not automagically by the client I think. I forget
>> how their traffic is picked up.
>
> The globe page for my node shows "exit probability: 0" so I guess I'm indeed
> not being sent any.
>
>> There are 850+ nodes allowing 8333.
>> Have you considered running an onion:8333 seed node
>> to both serve btcnet and keep traffic off the exits?
>
> Yes but it doesn't get any traffic for reasons I haven't bothered to figure

Being an onion there'd be no tor mechanics preventing traffic.
It may just be the proportion of IP vs. onion nodes the btc client sees
is small so as not to make contact. You can 'setevents stream'
and see btc contacting onions. And can -onlynet, -connect, etc
the btc client to test.

> out yet. Anyway we can't run all of Bitcoin over Tor because it'd kill off
> our (admittedly quite weak) anti-sybil defences.

In that you presumably have to pay for commercial node farms
where tor nodes are free (and more bandwidth limited). On the other
hand, abundant crime money will probably be paying for those
farms anyway. So this could be mooot.

My motivation comment was if you were doing publishable
research or simply production for fun.
___
tor-relays mailing list
tor-relays@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays


Re: [tor-relays] Exiting only port 8333

2014-03-18 Thread grarpamp
> If I'm not mistaken, you need to open two of the ports 80, 443 and 6667
> to gain the Exit flag

It's in dir-spec.txt as such. Probably under some rationale of
making nodes most widely beneficial. I'd think soaking up btc
traffic would be useful, if exit traffic stats supported that
need... is it 20GB per thick btc client now?, plus ongoing...

> but not having that flag doesn't mean that you're not
> an exit
> Try waiting some days to see if there's some traffic on port 8333.

The atlas graphs do show traffic for such nodes
providing essentially just 8333. They're usable manually,
just not automagically by the client I think. I forget
how their traffic is picked up.

There are 850+ nodes allowing 8333.

Have you considered running an onion:8333 seed node
to both serve btcnet and keep traffic off the exits? There's
an index on bitcoin.it for those. And iirc the btc client will
learn them over the btcnet then use them within tor.

What is the motivation?
___
tor-relays mailing list
tor-relays@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays


Re: [tor-relays] Exiting only port 8333

2014-03-18 Thread Mike Hearn
+Roger, as I'm curious as to the rationale.

On Tue, Mar 18, 2014 at 9:12 PM, grarpamp  wrote:

> > If I'm not mistaken, you need to open two of the ports 80, 443 and 6667
> > to gain the Exit flag
>
> It's in dir-spec.txt as such. Probably under some rationale of
> making nodes most widely beneficial. I'd think soaking up btc
> traffic would be useful, if exit traffic stats supported that
> need... is it 20GB per thick btc client now?, plus ongoing...
>

Yes, and allowing people to exit only Bitcoin traffic seems beneficial in
other ways:  you're not likely to get abuse reports from just allowing port
8333, so the cost of being an exit for that is much lower. And it'd indeed
take bandwidth pressure off other nodes.


> > but not having that flag doesn't mean that you're not
> > an exit
> > Try waiting some days to see if there's some traffic on port 8333.
>
> The atlas graphs do show traffic for such nodes
> providing essentially just 8333. They're usable manually,
> just not automagically by the client I think. I forget
> how their traffic is picked up.
>

The globe page for my node shows "exit probability: 0" so I guess I'm
indeed not being sent any.


> There are 850+ nodes allowing 8333.
>
> Have you considered running an onion:8333 seed node
> to both serve btcnet and keep traffic off the exits?


Yes but it doesn't get any traffic for reasons I haven't bothered to figure
out yet. Anyway we can't run all of Bitcoin over Tor because it'd kill off
our (admittedly quite weak) anti-sybil defences.
___
tor-relays mailing list
tor-relays@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays


Re: [tor-relays] Exiting only port 8333

2014-03-17 Thread David Serrano
On 2014-03-17 21:39:05 (+0100), Mike Hearn wrote:
> 
> I would like to be an exit for port 8333 only. I have configured my relay
> to do this, but I am not being listed with the relay flag and do not see
> any traffic exiting my node (at least not using arm). I saw an FAQ that
> says this is because you have to exit web traffic to get marked as an exit.
> I do not wish to do this.
> 
> Is there any way to exit just one port?

I just enabled some exit ports in my relay so I have this issue fresh in my
mind. If I'm not mistaken, you need to open two of the ports 80, 443 and 6667
to gain the Exit flag, but not having that flag doesn't mean that you're not
an exit (ie. I believe that FAQ to be wrong). Initially I didn't open two of
that three ports but I saw outgoing connections to some of the accepted ports
nevertheless, so I was being an exit node despite not having the flag. Try
waiting some days to see if there's some traffic on port 8333. FWIW I check
outgoing connections using netstat instead of arm :).

HTH,


-- 
 David Serrano
 GnuPG id: 280A01F9


signature.asc
Description: Digital signature
___
tor-relays mailing list
tor-relays@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays


[tor-relays] Exiting only port 8333

2014-03-17 Thread Mike Hearn
I would like to be an exit for port 8333 only. I have configured my relay
to do this, but I am not being listed with the relay flag and do not see
any traffic exiting my node (at least not using arm). I saw an FAQ that
says this is because you have to exit web traffic to get marked as an exit.
I do not wish to do this.

Is there any way to exit just one port?
___
tor-relays mailing list
tor-relays@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays