PDA

View Full Version : More Efficient Ants Network



Hornet
October 9th, 2005, 07:04 AM
To make Ants P2P faster, use less bandwidth and be more scalable it needs to be a small world network.

Freenet has published a method to determine if a network is small world. It involves giving each node a circle number using the Kleinberg algorithm. A node can then test if it is in small world network by comparing its circle number with that of its neighbors. If it is not then it can make new connections and retest.

This should lead to nodes being fewer hops apart without affecting anonymity.

See below for application of Kleinberg algorithm to Ants P2P taken from Freenet Las Vagas Paper (http://www.math.chalmers.se/~ossa/defcon13/vegas1_print.pdf).


From Freenet Paper

Overview of “Peer to Peer” networks
• Information is spread across many interconnected computers
• Users want to find information
• Some are centralized (e.g. Napster), some are semi- centralized (e.g. Kazaa), others are distributed (e.g. Ants p2p)

The Small World Phenomenon
• In "Small world" networks short paths exist between any two peers
• People tend to form this type of network (as shown by Milgram experiment)
• Short paths may exist but they may not be easy to find

Navigable Small World Networks
• Concept of similarity or “closeness” between peers
• Similar peers are more likely to be connected than dissimilar peers
• You can get from any one peer to any other simply by routing to the closest peer at each step
• This is called “Greedy Routing”
• Ants P2P and “Distributed Hash Tables” rely on this principal to find data in a scalable decentralized manner

Dark or “Friend to Friend” P2P
Networks
• Possible for peers only communicate directly with “trusted” peers
• Examples: Waste and Ants P2P (node connected to trusted peers only)
• Advantage: Possible for only your trusted friends to know you are part of the network (if in Ants you don’t use IRC or web cache and use only trusted peers)
• Disadvantage: Networks are disconnected and small, they typically don’t scale well

Application
How can we apply small world theory to routing in a Dark peer to peer network like Ants p2p?
• A Darknet is, essentially, a social network of peoples trusted relationships.
• If people can route in a social network, then it should be possible for computers.
• Jon Kleinberg explained in 2000 how small world networks can be navigable.

Kleinberg’s Result
• The possibility of routing efficiently depends on the proportion of connections that have different lengths with respect to the “position” of the nodes (In other words to get from start node to destination node efficiently you need the majority of nodes to be directly linked, clustered and a minority to be not directly linked with several hops separating start and destination nodes. http://img220.imageshack.us/img220/5099/image0026yd.jpg
• If the positions are in a ring (in other words you imagine the nodes placed in a ring with their arrangement corresponding to how close they are to each other in terms of hops), the proportion of connections with a certain length should be inverse to the length (In other words most connections will be short between nodes near to each other on circle. Fewer connections will span circle to connect distant nodes. High number of hops few connections, small number of hops or directly connected a lot of connections):
• In this case a simple greedy routing algorithm performs in O(log2 n) steps (In other words this is scalable).
http://img220.imageshack.us/img220/9718/image0040ov.jpg

But in a social network, how do we see if one person is closer to the destination than another?

Is Alice closer to Harry than Bob?
• In real life, people presumably use a large number of factors to decide this. Where do they live? What are their jobs? What are their interests?
• One cannot, in practice, expect a computer to route based on such things.
• Instead, we let the network tell us! (In other words use Ants P2P routing method to route over a scalable small world net)
• Kleinberg’s model suggests: there should be few long connections, and many short ones. (So using the model a node can detect if it is in a small world net and then make or break connections to optimize that net.)
• We can assign numerical identities placing nodes in a circle, and do it in such a way that this is fulfilled. (In other words a network of nodes can be represented by nodes arranged in a circle with each nodes position dependant on minimizing overall the length of connections (Chords).
• Then greedy route with respect to these numerical identities. (Or form new connections so that most lengths (chords) small and a few long to make net scalable small world net that Ants P2P can route over.)

The Method (to place nodes on circle such that their position on circle reflects how closely connected they are to other nodes.)
• When nodes join the network, they choose a position on the circle randomly.
• They then switch positions with other nodes, so as to minimize the product of the edge distances (in total for the imaginary circle).

An advantageous switch of position (on imaginary circle):
http://img220.imageshack.us/img220/4273/image0069px.jpg
Some notes:
• Switching is essential!
• Because this is an ongoing process as the network grows (and shrinks) it will be difficult to keep permanent positions.

The Algorithm
• Two nodes are chosen in some random fashion, and attempt to switch.
• They calculate Lb as the product of all the lengths of their current connections. Then they calculate La as the product of what all their respective connection lengths would be after they switched.
• If Lb > La they switch. Otherwise they switch with probability Lb/La. (When they switch they get the circle number of the node they switch with. Their connections to other nodes don’t change. They just get a circle number that better reflects how close they are to other nodes.)
http://img379.imageshack.us/img379/9209/image0082ns.jpg
• This is an application of the Metropolis- Hastings algorithm.
• Because there is a greater chance of moving to positions with shorter connection distances, it will tend to minimize the product of the distances.
• Because the probability of making a switch is never zero, it cannot get stuck in a bad configuration (a local minima). (In other words once minimized using this algorithm the circle number of each node will give a measure of how close each node is to every other node. This algorithm does not change connections between nodes or the arrangement of the real network in any way. It only changes how the imaginary representation of the network is arranged.)

How do nodes choose each other to attempt to switch?
• Any method will work in theory, but some will work better than others. Only switching with neighbors does not seem to work in practice.
• Our current method is to do a short random walk starting at one of the nodes and terminating at the other.


Hornet :icon_rr:

Crash n' Burn
October 9th, 2005, 07:09 AM
blah?!!!!!!!!!!!!!!!!!!!!?

kunk
October 10th, 2005, 03:29 PM
Very interesting. Got to hand it to the Scottish contingent. The forever untamed landscape of the United Kingdom.
Quoting is plagorism for developers unless your link is contiguous and .......well.....linked.

However it makes unsense, which is god... sorry good :O

notbob
October 10th, 2005, 03:37 PM
if you want speed, you have 2 options

-small and private
-public mass swarming

if you want anonymity you have one option

-lots of redundant connections to hide your trail (which will cost you speed)

in changing the network to gain speed and efficiency, you have to give up anonymity, which is the point of an "anonymous" network isn't it?

kunk
October 10th, 2005, 03:44 PM
When ever I get a good file off an anonymous network I post.


I had heard it , but was through VHF and distorted .Thanks to "whoever" I got it from, . I have it now and will most definately show interest in the album . I could have gone to another network to get it instantly but persevered.


Listening to a selection now. Thanks :icon_salu

kunk
October 10th, 2005, 03:47 PM
Thanks for your reply notbob, but it does show lack of reflection and modification. "stuck in ones ways", yeh what is the new server zeropaid gonna shoot me down for? read on

kunk
October 10th, 2005, 03:48 PM
Reduntant replies and connections . These are the same ?

kunk
October 10th, 2005, 03:50 PM
Oh and thanks for the latent feedback

kunk
October 10th, 2005, 03:51 PM
Shit..must be time for a slagging?

silentscream
October 10th, 2005, 03:52 PM
Oh and thanks for the latent feedback
stop multiple posting

.

kunk
October 10th, 2005, 03:52 PM
. Guess not .

kunk
October 10th, 2005, 03:53 PM
corrected ;-)

silentscream
October 10th, 2005, 03:53 PM
u want to be banned ??

.

kunk
October 10th, 2005, 03:57 PM
Only multiple posting because Notbob has drifted in "his own" world after making "yesteryears" statements and feel it needed to be brought up to date. Sorry.

The Hunter
October 10th, 2005, 03:58 PM
kunk just went clunk for a while.

silentscream
October 10th, 2005, 04:00 PM
lol at hunter

well kunk u dont bring something to light by irritating everyone lol

.

notbob
October 10th, 2005, 04:03 PM
Only multiple posting because Notbob has drifted in "his own" world after making "yesteryears" statements and feel it needed to be brought up to date. Sorry.


i'll be saying what i want under this name tomorrow.

you won't be, you'll just keep getingt banned again and again and again

no matter what b.s. hornet posts, it doesn't change that fact that efficiency and obscurity are mutually exclusive. no matter what gets implemented, ants isn't big enough to take advantage of the features--there are 20 or so users worldwide--what are the odds that one would have a close enough peer to use the new system?

Auggie2k
October 10th, 2005, 04:47 PM
Your ban is only 3 days long kunk, no need for multiple users.

.:sp00ky:.
October 10th, 2005, 05:18 PM
kunk is abc_thelookoflove who got banned agers ago for spamming.

Auggie2k
October 10th, 2005, 05:19 PM
Kunk is now banned for good, as well as the other 2 accounts he made.

Nobel1
October 10th, 2005, 05:59 PM
Now thats a bit harsh.

The Hunter
October 10th, 2005, 06:03 PM
No its not, and its what happens when you break the rules.

Nobel1
October 10th, 2005, 06:22 PM
Sorry guys, but kunk is not your spammer. And I doubt kunk intended to be a spammer.

Like the new site BTW.

zarquon
October 10th, 2005, 07:20 PM
Sorry guys, but kunk is not your spammer. And I doubt kunk intended to be a spammer.

Like the new site BTW.

It would seem you are kunk. Time to get banned again.

Hornet
October 11th, 2005, 12:48 AM
i'll be saying what i want under this name tomorrow.

you won't be, you'll just keep getingt banned again and again and again

no matter what b.s. hornet posts, it doesn't change that fact that efficiency and obscurity are mutually exclusive. no matter what gets implemented, ants isn't big enough to take advantage of the features--there are 20 or so users worldwide--what are the odds that one would have a close enough peer to use the new system?

Not BOb it is not about geographic distance. CLOSE in the Kleinberg Algorithm refers to number of HOPs.

Using this or a similar algorithm it is posible to form a Small World Net while maintaining anonimity. This would make nets such as ANts P2P more scalable.

See http://article.gmane.org/gmane.network.freenet.announce/30


There is a mathematical result which tells us what kind of graphs have a small diameter. Basically imagine we have three nodes, A is
connected to B, and A is also connected to C.

The mathematical result says that if, given that both are connected to A, there is an increased probability that B is connected to C, then the graph will have a small diameter.

So, if we have a graph that has this property then we know that we *can* get from any one node to another in a small number of steps, but we don't necessarily know *how*.


Now imagine that each node in the graph has a position in space, this can be 1 dimensional, 2 dimensional, 20 dimensional space, it doesn't matter too much.

Imagine that we want to get from one particular node in this graph to another particular node.

A simple approach is, from our starting node, go to whichever node we are connected to is closest to the node we want to get to. This approach will work quickly in a graph that is a "small world".

In essence, a small world graph is where there is a higher probability that nodes which are close together are connected than nodes which are far apart.


In the ideal case, the probability that two nodes are connected is proportional to 1/(d^n) where d is the distance between them, and n is the number of dimensions in the space in which our nodes reside.

This mathematical result is due to Kleinberg.

A small-world graph therefore not only has a small diameter, but provides an efficient means to find it.


Hornet :icon_shak

cyberbob
November 7th, 2005, 12:41 PM
would like to know, if ants is working in china
http://www.slyck.com/forums/viewtopic.php?t=16021&highlight=
any experience from chinese forum members ?

haakon
November 9th, 2005, 12:30 AM
Does it matter? The Chinese don't have freedom of expression -- why would anyone worry about their freedom to download free MP3s? It's much more serious that Freenet no longer works in China.

cyberbob
November 10th, 2005, 10:00 AM
chinese people could read and contact internesites outside china, if they have an outproxy function in a p2p network. Tor offers this, but Tor and as well Peekabooty is not working in china. I2p could develop as well an outproxy, but i2p does not use port 433, this is why ants has great options to make an additional function, that a second p2p browser network - a p2p -browser network on top of ants - could enable an outproxy function.
This works like this: ants with port 442 is unstoppable in china ( test it, this was the question, any person in chain here, who can test this??) and on top of this p2p network there would be another p2p network, which nodes are just browsers, every peer can then read websites through the other peer, in consideration that other peers are using my ip to read as well websites.
But I guess this is dangerous to code and Gwren has other things to to.

Proxynetworks are established now: mute, i2p, tor and ants.
Now they are working to built an integrated p2p application on top of it or integrated.

There are only 2 working p2p applications i2phex and jetiants.

the first has very great potentials, because millions of users are familar with the gntuella gui, and thousands of developers are familiar with the gnutella protocol.

Gwren is working alone and can stand this fact only, if he is doing 3 things:

- seperating gui and core, so that others can help him to create a gui like emule
- make a java edonkey into direct ants modus, so that the biggest network of the workd will bring media and users in. Here the kad system would be the only choice as it is used in second generation and it has to be in java to integrate it, as jetiants is an integrated third generation filesharing application. Jmule will not help for this, as it uses outdated and dangerous edonkey servers. One suggestion is to make ants closed source for a year like shareaza, so other interested developers in a java kad client cannot copy it. Only then ants wil get users. Creating an own , new servers system in second generation ants dc modus is nonsense.
- creating himself a better gui, so that it has the standard phex or emule has.

As it is usual for development cycles, I guess we get a new ants version before x-mas, then users have enough time to test all out and bring collegues to the network,

So if you schedule, what the new client wlil have for new changes, this is just the two things: java-kad in ants-dc and a bettergui, which means first to seperate gui and core.

i2phex will soon habe integrated webchaches and then it is a perfect gnutella client on that network.
If they stick the isntallers together, the from zero to hero fame story will begin. then ants is dead, because an additionally second generation protocol will not help ants. ( a design to download from 3, generation through an outproxy from edonkey 2, generation within ants would be too complex to code as emule has the queing system and as well it would be banned. It would be an outproxy function for emule as described above, so called gatekeepers one proxy hop away would then download from emule for other ants nodes).

So IMHO the race is decided in the end of this year. if there is no kad implemented in ants til the end of the year, then i2phex will be the more popular one.

ants has IMHO these advantages:
- ssl port 443
- end to end encryption, which i2p has not quite detailed
- users see and can use 4-5 direct ip adresses (withoptions to use jeti buddies), while i2p uses a daemon system to a lot of ip adresses, you cannot influence.
- generating every session a new GUID key
- faster partial filesharing with bittorent like style.
- ed2k link handling (as long as a few sites offer them still)

but what for are good technical nitty gritties, if the users look for a good gui and media with fast downloads? So ants going to edonkey is the only way. asap.