Developing Trust in the system
"lapsy garg" <[email protected]> Thu, 8 May 2008 20:58:53 +0800
| Newsgroups | gmane.network.gnutella.limewire.core.devel |
|---|---|
| Message-ID | <[email protected]> |
--===============0530184631070052953== Content-Type: multipart/alternative; boundary="----=_Part_19033_32802229.1210251533205" ------=_Part_19033_32802229.1210251533205 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hey I was just thinking about how to develop trust in the Gnutella System and a thought crossed my mind. Developing trust in the presence of a central server is a pretty standard problem and there exist a lot of research on it. Companies like eBay are already using it with a lot of sucess. So, how about we have a central server which manages the global reputation of all the peers. Now the problem is how to diseminate this trust into the system whenever required without having to put *too much load on the central serve*r. To solve this problem let us assume a peer A needs to know about the reputation of say Peer B. Peer A will send a reputation query to its neigbors and these neighbors to their neighbors and so on till it reaches a peer which can answer this query. Now say Peer C has the answer to this reputation query. Peer C will send the Reputation Query Reply back from the same path it got the Reputation Query. Hence, Peer A will end up getting the reputation score of Peer B. Now, in case no peer replies with an answer, Peer A will after a certain timeout, will request the central server for the reputation. The central server will reply will an answer to this query. This answer will contain the reputation score *signed by the Central Server's private key*. An important thing to be noted here is that the answer is signed by the central server's private key. Hence, whenever A gets the request for say B's reputation score, A will reply with the same answer(signed with central server's private key). This will make sure that A hasn't made any changed to the reputation score. Another way could be, if peer A needs reputation of Peer B then it can ask B itself for the answer. B will then have to reply with an answer which is signed by the central server's private key. Comments invited! Regards Lapsy ------=_Part_19033_32802229.1210251533205 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hey<br><br>I was just thinking about how to develop trust in the Gnutella System and a thought crossed my mind. <br><br>Developing trust in the presence of a central server is a pretty standard problem and there exist a lot of research on it. Companies like eBay are already using it with a lot of sucess. So, how about we have a central server which manages the global reputation of all the peers. Now the problem is how to diseminate this trust into the system whenever required without having to put <b>too much load on the central serve</b>r. <br> <br>To solve this problem let us assume a peer A needs to know about the reputation of say Peer B. Peer A will send a reputation query to its neigbors and these neighbors to their neighbors and so on till it reaches a peer which can answer this query. Now say Peer C has the answer to this reputation query. Peer C will send the Reputation Query Reply back from the same path it got the Reputation Query. Hence, Peer A will end up getting the reputation score of Peer B. <br> <br>Now, in case no peer replies with an answer, Peer A will after a certain timeout, will request the central server for the reputation. The central server will reply will an answer to this query. This answer will contain the reputation score <b>signed by the Central Server's private key</b>.<br> <br>An important thing to be noted here is that the answer is signed by the central server's private key. Hence, whenever A gets the request for say B's reputation score, A will reply with the same answer(signed with central server's private key). This will make sure that A hasn't made any changed to the reputation score.<br> <br>Another way could be, if peer A needs reputation of Peer B then it can ask B itself for the answer. B will then have to reply with an answer which is signed by the central server's private key.<br><br>Comments invited!<br> <br>Regards<br>Lapsy<br> ------=_Part_19033_32802229.1210251533205-- --===============0530184631070052953== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ core-dev mailing list [email protected] http://lists.limewire.org/mailman/listinfo/core-dev --===============0530184631070052953==--