PDA

View Full Version : Incentive based P2P design


View Full Version : Incentive based P2P design


WillemB
March 25th, 2005, 05:14 AM
Hi all i'm new in here and haven't read anything yet.

For my university i had to study incentive methods used for decentralized networks. This sparked my imagination and i'm currently working on a design for a Fair P2P system that is robust and gives people that upload better chances on downloading.

The system i'm designing has redundancy, robustness built in and i've countered all known problems in theory.

- Freeriding
- Fake downloads
- Malicious users
- Privacy

My idea in short

Two networks.
One that is a trust network maintaining the participation of all clients (Trust network).
One with all peers.

Peers use trust network to update each others participation levels. Overhead should be very low. Peers do most work using direct connect method.


My chosen setup is in it's worst case scenario (the trust part of the network is down) as good as emule.

I'm looking for people who would like to review my idea and maybe we can form a team and get this thing in the air :)

WillemB
March 25th, 2005, 05:17 AM
I see i have posted in the wrong forum according to your rules

Sorry

WillemB
March 31st, 2005, 03:12 PM
Ok i got stuck on the following problem with a transactional base incentive design.

A and B are connected to the server and A and B are of same user. A claims to have uploaded 100Gb to B and gains a higher status. This is a major problem in my last incentive design.

Trying different approach now.

crackerjacker
March 31st, 2005, 03:25 PM
Ok i got stuck on the following problem with a transactional base incentive design.

A and B are connected to the server and A and B are of same user. A claims to have uploaded 100Gb to B and gains a higher status. This is a major problem in my last incentive design.

Trying different approach now.
no
u see there are specifications for gnutella, edonkey network etc.
waste is a trust network to a certain extent, if u going to invite family, if they dont invite they friends. *dont broadcast your key*

secondly emule has a credit approach
What are this credits and why should I collect them?
> Where can I see my credit score?
> I lost /deleted my clients.met file. Are my credits gone?
> Are credits secure?
> How to lose the credits anyway.
What are this credits and why should I collect them?
Credits reward users who upload. The transferred amount of data determines the amount of credits. Credits are not global, i.e. the can only be used on the client who grants the credits.
Credits are a major modifier when calculating the progress in another client's queue. The more credits you have the faster you will advance.
Top
Where can I see my credit score?
To prevent manipulating the score, the credits are not stored locally on your hard disk but on the other client's hard disk. It is not possible to count own credits
Top
I lost /deleted my clients.met file. Are my credits gone?
Losing this file doesn't mean that your credits are gone but all credits other people have on your client. eMule creates a backup of the clients.met file (clients.met.BAK) so you can restore the file by renaming the backup to clients.met.
Top
Are credits secure?
eMule uses a key handshake method to make sure the credits belong to this special client. Credits stored for a user are only granted if this authentication has been successful.
Top
How to lose the credits anyway.
As described above the credits are coupled with the secure user authentication. The secret key for this authentication is calculated from information which is stored in preferences.dat and cryptkey.dat. Should one of this files be lost you will no longer be able to prove that you are the rightful owner of the credits.
If you lose only cryptkey.dat, it is mandatory to delete the preferences.dat file, too.

go here for more information
http://www.emule-project.net/home/perl/help.cgi?l=1&topic_id=310&rm=show_topic

Afn
March 31st, 2005, 04:10 PM
A successful p2p system needs to do several things.

1. Speed information to where it is needed most. Rare files have transfer priority.
2. Make as many redundent files on a network as possible so files have seeds.
3. Reward sharers who share useful files
4. System to allow "hubs" of subjects, so like P2P'ers find each other and build the network around shared files of high interest.

WillemB
April 5th, 2005, 05:32 AM
Ok well i'm not using a token based money approach and the credits are used automatically.
Also in all those systems using tokens, cooperative attacks are possible.

e.g.

A says he Uploaded 10Gb to B and B confirms. A gets a zillion credits. A and B are the same user. Cannot be detected.


My latest approach uses a voting principle. All who upload and download get credits for votes and the votes counted build up the ranking of each user. Every election all clients start at 0. Votes are counted multiple times in an election to get a useful rank/reputation. Each person can vote only 1 time in an election for another client. A person can vote three ways. An election is held per server for the clients on that server.

1. I uploaded to him he's kewl
2. I downloaded from hem he's even kewler
3. I don't know him

For voting 1 and 2 you get points. For voting 2 the other client gets more points than voting 1. However to vote you must know the secret of the other person which you will get on transaction.

An election can take a week or month and updating can happen every minute.

This method is fully cooperative attack proof and actually gives a method that makes content and downloaders merge to same servers to maximize their gain and system search performance. Also it doesn't take fancy encryption and shit.

Merging is done by looking at whom you upload to and download from. If your uploads go to clients on a different server then go there and you'll get better downloads cos your rank gets better.
If you download from clients on a different server then go there and gain points and you'll get better downloads cos your rank gets better.

Still working out the problems but seems promissing.

WillemB
April 5th, 2005, 05:42 AM
A successful p2p system needs to do several things.

1. Speed information to where it is needed most. Rare files have transfer priority.
2. Make as many redundent files on a network as possible so files have seeds.
3. Reward sharers who share useful files
4. System to allow "hubs" of subjects, so like P2P'ers find each other and build the network around shared files of high interest.


Ok the system i explained does do these 4 points i believe.

1. Migration of clients to and from servers.
2. Downloading to different users to maximize gain (votes).
3. Sharing will get you more high-point votes and better downloads.
4. High interrest sources will merge to a server or servers and their clients will too.

Afn
April 5th, 2005, 06:22 AM
For voting 1 and 2 you get points. For voting 2 the other client gets more points than voting 1. However to vote you must know the secret of the other person which you will get on transaction.

What system or systems would be needed to keep the voting honest? If you used <xml> tags, anyone can modify the stats.

crackerjacker
April 5th, 2005, 07:47 AM
mojo nation google it this fits the catogorey

Afn
April 5th, 2005, 08:45 AM
mojo nation google it this fits the catagory
I have a first edition of "Smart Mobs", I have not read it in a while.

WillemB
April 6th, 2005, 04:10 AM
mojo nation google it this fits the catogorey

I know MojoNation and it does have cooperative attack problems and died due to the excessive amount of overhead.

MojoNation no longer exists, after 1 year of testing they stopped. The info has been put into MNet project.
You can verify htis by going to www.mojonation.net ... it's now passworded.
And

Jim McCoy the founder and CEO of MojoNation
“After more than a year of testing the public prototype for the MojoNation
technology platform we are shutting down the public network. The MojoNation
technology will continue to be available via the soon to be announced Mnnet
project, of which more information will be made available at the CodeCon
conference. It is expected that MNnet will remove several of the remaining
centralized features of the MojoNation technology and result in a somewhat
simplified version of the current system along with native Uis and other fun
features.
More info will be made available over the next couple of weeks as details are
worked out. “


About keeping the voting honest.

People can only vote in 3 ways for each other client. So

1. 1 Vote won't win an election.
2. Only 1 vote can be casted per client.

The only way to make it dishonest is by

1. Rigging the server (directories).
2. Allowing multiple votes.
3. Applying some form of power to make people vote falsely.

Voting is driven by how many people you get on your side instead of how much you did for them.

So uploading 10Gb to one person is worth 1 vote whereas uploading 1 byte to 1000 people gets 1000 votes. This might seem unfair but it does give a natural tendancy to spread data around.

mp3MaStA88
January 29th, 2006, 01:35 AM
does anyone know the password to get into mojonation.net? pm me

shawners
January 29th, 2006, 07:07 AM
If the movies/music wasnt inncentive enough.