Tuesday, October 31, 2006

Alpha Test Site is Now Live



I have converted the core wireframe to a test site for the alpha tracker in kerjodando see http://ezzy.elliott.googlepages.com/kerjodandowireframe .

Pick a swarm, click on link to launch application then you should be connected to others who share your interests. Like an online p2p dating agency.

We are still working on the tracker and to connect youn need others to be online.

Please send feedback so we can continue development.

Saturday, October 28, 2006

kerjodando p2p alpha tracker test


After a lot of stopping and starting and mis-communication between me and my developer (a java expert).

We have decided to reduce the scale of this phase so as to meet the Halloween deadline.

The tracker is now going to be done in server-side code on tomcat.

Ruby on Rails website has now been delayed to next phase.

Also, the project team is now three as we have been joined by a Style, Art and Editorial Director, Trine (from Norway) adding to the currrent team of me, Project Production Manager (from Jamaica) and Vicent, Project Developer (from China).

Here in the Developer's words is how the tracker works,


Proposed Ruby on Rails (RoR) Website before it was delayed:

Core website: I set up 3 tables, called users, catelogs, swarms.


Users is used to record a user's connection.

Catelogs is used to save catelog information.

Swarms is used to save swarm information (including corresponding catelog_id and last-time connect in seconds).
I then use RoR to make some function, such as browse catelog, browse swarms by catelog_id, show swarm by swarm_id and count users by swarm_id.


Tomcat:

I use java/jsp to let user download core_basic.jar file, and use java to output ipfilter.dat.

I have tell you that because of the deadline is closer, so I just use java to work now, later, I wanna use RoR totally instead of tomcat.

This why I use java to output the ipiflter.dat.
I also use tomcat/java to update the time that user last time download ipfilter.dat.

When user download the ipfilter.dat, such as http://*********.com/5/ipfilter.dat
just the user whose ip address is in the ipflter.dat can join the swarm.

I take the "5" as swarm_id, then I find the ip addresses of users whose swarm's id is "5" from users table in database.

When I gather their ip addressess, I output the ip addresses as a file called ipfilter.dat to user for their download.

See picture above.


Tuesday, October 10, 2006

Question About The Possibility of Spoofing in An Ad Hoc Network


ANts is safe from Man-in-Middle Attacks as shown by the answer to question below.

QUESTION 1.

Ant routing is an interesting idea;

I like the fact that it's adaptive
and completely decentralised, but I'm a bit concerned about the possibility of spoofing.

If I transmit packets using X's source address
instead of my own (I mean the overlay address (node ID) rather than the IP address), won't that cause packets addressed to X to be routed towards me instead of towards X?


ANSWER 1.

No ANts (kerjodando) is definitely secured against such Man-In-Middle (MIM) attacks!


The node identification system that is implemented makes it computationally impossible to perform such a MIM attack.

ANts uses a particular Digital Signature (DS) public key as node ID on the ANts net.

The public key (node ID) is changed each time you run ANts and is generated as a complementary PAIR with a private key (signature).

You use your private key to sign your messages so that everyone on the ANts net is able to verify if a message from the node identified by a particular ID (i.e. public key) is spoofed or valid.

This uses the SPECIAL properties of such key pairs.

In other words, when a node sends a message to Bob.

Then Bob receives a message from a public key (node ID - now called Alice) that has been signed by Alice's complementary private key.

Bob can VERIFY (using Alice's public key) that the message was signed by Alice's complentary private key (this is a property of such key pairs).

So Bob can see that it has not been spoofed by Eve who cannot calculate Alice's complementary private key from Alice's public key.

Bob can perform this verification only knowing Alice's public key.

He does not need to know Alice's private key to VERIFY that it was signed by Alice's private key.

He only needs to know Alice's complementary public key (node ID).


So Eve cannot sign messages with Alice's private key although she knows Alice's public key.

So Eve CANNOT pretend (SPOOF) to be Alice i.e. send messages with Alice's public key (node ID).

That is how public private keys work.

This was explained to me by a PHD student who has worked on a government project dealing electronic signatures and PKI.

The method is computationally secure because it involves no DS exchange or OTHER communication.

You simply publish your ID (i.e. public Key) on the net through your queries and you'll be the ONLY one able to use that ID to spread messages on the net.

As you are the only one who knows the complementry private key for that public key.

Spoofed message will be automatically rejected by other nodes, because the spoofer will not be able to create a fake private key signature (unless spoofer can perform a 1024 bit factorisation) and so nodes will fail in verifying the spoofed private key signature.

See http://en.wikipedia.org/wiki/Public-key_cryptography


QUESTION 2.

I haven't looked deeply into Kerjodando but it looks like you're using
the overlay to coordinate BitTorrent-like swarms of peers who are interested in similar files. Do you transmit the file data through the overlay (like MUTE) or just the searches and metadata (like Gnutella)?


ANSWER 2.

File data transmitted through overlay like MUTE.


Sunday, October 08, 2006

"Make a Swarm" and "Login" Pages Added to kerjodando Wireframe


Two new sections added to kerjodando p2p (better cos its private) wireframe:


Make a swarm:

1.What type of swarm is this: audio (like submit advert on craigslist)
2.What type of swarm is this: rock/indie (like submit advert on craigslist)
3.Swarm Information Form: (like submit advert on craigslist)
4.Example of a page for a swarm


Login:

1.Login page
2.MySwarms - saved bookmarked Swarms
3.Connect to selected swarms (connecting to more than one swarm at a time so spanning many swarms and thus creating a small world network.)


The wire frame helps the web designer to create the site. It shows the site logic NOT look and feel or layout.

Wednesday, October 04, 2006

Free Media Sharing over Public Networks


I am more determined to get kerkjodando p2p working quickly after reading Michael Rogers inspiring research note,
Censorship Resistant Communication over Public Networks.

This paper in preparation for his thesis later this year covers the following:

The rapid growth of peer-to-peer metworks and social networking websites has demonstrated the internet's potential as a medium for grassroots collaboration.

The research note describes ongoing research into the use of friend-to-friend overlay networks for censorship-resistant communication.

Decentralised mechanisms for resource allocation, unforgetable acknowledgments and adaptive routing are proposed.


Department of Computer Science
University College London
Gower Street
London
WC1E 6BT
UK

email: m.rogers@cs.ucl.ac.uk
URL: http://www.cs.ucl.ac.uk/staff/M.Rogers/


I found the following interesting:

1) Intellectual property law:
makes sharing your favourite musc a revolutionary act.
It censors communication preventing the free flow of ideas.
How can you describe a Hendrix guitar rift without copying it?

2)Media is the message:
TV is passive, attentive and absorbing.
A friend-to-friend network's mode of interaction is social, collaborative and collusive.

3)It is possible to share media over a public network:
such as the internet without being censored by big business or governments by using a friend-to-friend overlay network (ANts p2p,kerjodandop2p or Freenet).

4)Tragedy of the commons:
These networks are under threat from powerful and well funded adversarys and from the selfish behaviour of the users themselves.
Friend-to-friend networks are constucted around social networks and so are "small world".

Swarms co-operate by reciprocation - users stay in a swarm so long as other users provide downloads and proxy bandwidth in return for them providing media and proxy bandwidth.
This avoids the "tragedy of the commons".

The aim of kerjodando website is to provide a meeting place for such swarms to form.