On 29/03/14 19:43, adilson_lanpo@8AEGotJKXJ4ABJy1gKjls4SrrzpshQNoEMAbu0IFA94 wrote:> On Sat, 29 Mar 2014 18:41:19 -0000 > toad-notrust@h2RzPS4fEzP0zU43GAfEgxqK2Y55~kEUNR01cWvYApI wrote: > >> On 29/03/14 15:26, >> adilson_lanpo@8AEGotJKXJ4ABJy1gKjls4SrrzpshQNoEMAbu0IFA94 wrote: >>> On Sat, 29 Mar 2014 12:59:34 -0000 >>> toad-notrust@h2RzPS4fEzP0zU43GAfEgxqK2Y55~kEUNR01cWvYApI wrote: >>> >>>> I very much doubt that this is the case. Computing power - CPU, >>>> bandwidth, CAPTCHAs, IP addresses, geeks, etc - have significant >>>> economies of scale, and are very cheap in bulk. Whereas the >>>> costs scale linearly if you have a pay-per-join scheme. >>> >>> Of course that pay to join fee only needs to be paid once while >>> bandwidth and electricity is a recurring expense (admittedly ones >>> that will decline in cost over time as lines get upgraded and >>> computers get more efficient). >>> >>> For running 10,000 nodes (order of magnitude of current opennet) >>> would thus only cost $50,000 under a $5 to join fee system, petty >>> cash for basically any intelligence agency or even many medium >>> sized companies and organized crime can surely steal that if they >>> want to attack us for some reason. >> >> It's within the budget of some university research projects even, >> depending on what they hope to get out of it (e.g. there is some >> really expensive equipment). But the big questions are: >> 1) Is the cost per node greater than $5 (or what we could plausibly >> ask of new users)? >> 2) Do you need that many nodes? Can you just MAST? (See my other mail) > > We do tell people who need to insert something that adversaries may > expect them to insert to use SSKs.
Right. So that leaves e.g. forum posts. Lets assume that a user posts 10 messages a day and each message is 1 SSK and 1 CHK. Hopefully we can improve that to 1 jumbo-sized SSK in the medium term. > >>>> Seriously, how many nodes can you run on one system? Especially >>>> if you can centralise the datastores and so on. And how much does >>>> it cost to buy *one* remote server with 1TB/mo transfer? >>>> Computing power is *very* cheap. Very much cheaper than a $5 per >>>> join fee for opennet IMHO, but if you want to look into the >>>> numbers then please do. >>> >>> You could probably fit a few nodes on a multi-GHz core but will >>> need some serious memory, say a half a Gig for each node (assuming >>> a minimal Linux VM for each node), if we go with a 4 core system >>> and 3 minimal nodes on each core that is 6 GiB RAM, that's >>> something like a pretty normal desktop system today. >> >> Have you tried it? What you need for a node with WoT and Sone and >> downloads is not the same as what you need for a node that's just >> routing, and our CPU usage for just routing is relatively low. > > I was assuming no plugins and people who have tried running Freenet on > R.Pis have reported trouble (but that it's better with an optimized > JVM) along with the 256 MiB version being a bit of a problem. > >> Also there's some duplication. And on the subject of economies of >> scale, if you have more nodes, you can 1) hire geeks to improve >> performance and 2) have a large shared datastore across many nodes. >> >> Also, you don't need a VM for each node. You can quite happily run >> them all on the same system image, even all in the same VM (which >> makes sharing a datastore easier). > > That would improve efficiency, but I'm not sure how a shared datastore > is meant to work (personally I'd just set it really small, if memory > were cheap enough set it to RAM, also has the 'advantage' (from their > point of view) of not helping data persistence). No, IMHO they'd want it to work efficiently, to avoid having to do extra work to stay connected, and to surveil everyone in their false sense of security. > >>> For 12 nodes I'm pretty sure it'll cost more than $5 per virtual >>> node (can you buy quad core desktops for $60?). >> >> You can buy a reasonable server with 1TB/mo transfer for $70/mo IIRC, >> but I don't recall where. Anyone? Of course they will prohibit p2p, >> but whether they enforce this is less clear. And then there's >> connectivity - I mentioned the cost of unique IP addresses in my other >> mail. You can have 2% of the network (two connections per online node) for ~ $2500/month, on fairly pessimistic assumptions (fairly high end hoster, one IP address per evil node, less than the explicit transfer limit, etc). However it may be possible to do it with much less than this. There are lots of "unlimited" deals, what that means in practice is anyone's guess. > > Enforcement could just be a matter of whether they get complaints > about you from copyright holders. > > But there's the question of how powerful such a system would be? Indeed! If we have 1% of the network, and every insert goes to 20 nodes, then the attacker has a 1% chance of getting each post at its initial entry point, and a 20% chance of seeing it at all. Seeing the request at the initial entry point several times gives him a very strong hint; even without MAST, or with random routing for say 7 hops at the beginning of an insert, he can do some statistics, add more connections to those nodes he's receiving most hits through, and rapidly accelerate. However, MAST (Mobile Attacker Source Tracing) is devastating: When the attacker receives a request, he knows (at least in an ideal world where routing works) that the request originator is on the keyspace arc from the attacker to the point opposite to the target key. This cuts down the keyspace by at least 50%, so he can focus his resources on the remaining keyspace. Hence we get a geometric progression, and if on average he sees the first hint in time T, he'll find the source in time 2T. Ouch! Obviously he will need some fraction of the network to begin with, depending on how many correlatable keys are being inserted and how long he has to wait. Actually it may not be quite that bad. We reach the ideal node in ~ 7 hops, so arguably only the first 7 hops are usable; after that, the attacker isn't reliably on one side or other of the key being inserted, so we get very little information. But this only increases the time to get the first usable sample (and hence the overall time) by a factor of 3 or so. So MAST is ridiculously cheap. And the only way to make Freenet into what we want it to be - a distributed storage network with good anonymity - is to add a tunneling layer. Options for this on opennet: - Entry via Tor, possibly using a "transient mode" protocol, and possibly with many such entry nodes and using a flag in the directory for service discovery. Needs some cooperation from Tor people for a clean decentralised implementation, which may or may not be forthcoming given filesharing. - Implement PISCES over opennet as well as on darknet. Unclear what the issues are with using PISCES on opennet; it's designed for social graphs. We need to research this. - Implement ShadowWalker on opennet, and use PISCES on darknet. ShadowWalker appears to provide acceptable anonymity up to ~ 20% of the network owned by attackers, though it relies on a "secure lookup" (we may need a separate set of connections for this). Need to dig into this further. If the bad guys need 20% of the network, rather than 1%, then it's worth thinking about Sybil countermeasures that increase cost only slightly. For example: - IP addresses. - CAPTCHAs. - Only use fast, established, high uptime nodes for tunnels (=> bandwidth and uptime). (Might allow for actively excluding non-malicious nodes, consider carefully) - Gmail accounts, hardware crypto tokens, etc. Note that IP address based limits and the limited capacity of the seednodes may allow us to detect some kinds of DoS attacks, and thus deter them. I don't think we should give up merely because Freenet needs a tunneling layer and you could put anything on a tunneling layer; Freenet has some unique selling points such as darknet, and anyway, there aren't many alternative distributed datastores out there, even that use tunnels. >> Partly it's a question of attacker modeling - do you want to >> constantly monitor everyone forever? Do you want to avoid getting >> caught at all costs? Do you know somebody's going to insert something >> sensitive soon (say this month) and you just want to catch them? Or if >> they will insert it in the very near future you could certainly use a >> botnet - how long do they last anyway on average? > > Botnets can last quite a bit of time. > ... >> I'd be very interested in any serious estimates as to cost. > > It's looking like it might be cheaper than I first thought. > Maybe.
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Devl mailing list Devl@freenetproject.org https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl