Peer-to-Peer Based Trading Application Saurabh Chobe, Abhinav Karhu {chobe,abhi232}@cc.gatech.edu Abstract Current ecommerce activities are offshoots of the client-server model. There exists a central webserver with a database and directory server which controls all the transactions. The owner of the webserver will set the rules and guidelines for the all the transactions and will charge money for them. A relevant example is the eBay auction site where users can sell/buy products from other users through a centralized webserver. So why pay money to use this restrictive system when you can achieve the same using a p2p network? In this project we will try to build a p2p based trading system which will try to overcome these drawbacks of the centralized trading system. We will try to show that in a P2P trading network, both content and transaction logic can distributed to the edge of the network for achieving the same functionality as that of a centralized model. Motivation In real life, it is unusual to think of market trading wherein a centralized authority (which sets the rules) is present and all the buyers and sellers talk to each other through it. A common behaviour for trading is the yardsale behavior wherein buyers and sellers directly bargain face-to-face. Users have comrade relationships. We will try to model this yardsale behavior thorough our P2P system. In a p2p system there is no centralized moderator or a server and all the computers are on par with each other. This presents us with a ideal platform to model the yardsale behavior. That use of p2p system for market trading has its own advantages. It saves money for acquiring and maintaining central server because they simply aren't needed anymore. Because no money is spent also the users don't have to pay any money for the service. The system can scale well as there is no centralized point where the load is concentrated. This also makes the system fault tolerant as the crashing of a single peer would not affect the auction database as it would happen if the central webserver would crash. . Current centralized trading system user middleman (earning $) user Peer-to-peer based trading system user user “trade” user Related work There is a “P2P Yardsale Application” on www.jxta.org which treads on similar lines of a p2p auction application. This project is currently in development and no algorithms or source code is available as of yet. In 2006 a paper named ‘PeerMart’ has been published based on peer-to-peer trading services. This paper tries to mimic certain peers as the central repository and bring about the trading through their use. We will try to come up with our own algorithm for this application using DHT’s. Proposed work We will try to implement the yardsale model for trading wherein both the buyer and he seller have to be online to make the trade happen. The seller will register his goods in the DHT. The buyer will then search for the goods through a GUI and then contact he respective seller regarding the goods. The seller can then provide the buyer with all the remaining relevant information like pictures, docs etc. Many buyers can contact a seller at a particular time. The seller then by bargaining with the buyers can decide on the price and then sell the particular item to the respective buyer. This implementation would require 3 different modules: 1. GUI for entering the product info and retrieving it. 2. DHT implementation to store product and user information. 3. A local database at each peer to store all relevant information regarding the product like pictures, docs etc. Timeline 1. Building of base P2P network along with DHT – 2 weeks a. In this phase, the basics of JXTA will be learnt. b. Connectivity between peers using JXTA is built. c. Basic testing is performed. 2. Peer Group Formation for trading – 1 week a. Formation of peer groups in JXTA is explored. b. Secured peer group formation mechanism is developed. 3. Implementation of p2p auction algorithms – 3 weeks a. Framework for information sharing is developed. b. System is tested with dummy auctions. 4. GUI Development – 2 weeks a. A simplistic GUI exposing the basic functionality, and configuration parameters. 5. Simulation and testing of trading marketplace – 1 week a. Simple experiments for testing correctness and security of the trading system will be made and corresponding code will be corrected. 6. Presentation/Documentation – 1 week a. A report on what design decision, UML, results from simulations, future extensions. Evaluation and testing 1. Demonstration of a trade using p2p application. 2. Demonstration of ease of scalability. Future work and extensions Currently we plan to implement a system where both the buyer and the seller need to be online to make the trade happen. A future enhancement will be an auction service where the seller need not be present online to make the auction happen. A possible solution will be to store the bids in DHT as key/value pairs and later retrieved by the buyers and sellers. The feasibility of ‘English Auction’ also needs to be studied in the distributed environment. We are currently not exploring all the security concerns required for currency based trading platform. These security features can be added on later to the platform. References 1. www.jxta.org 2. PeerMart: A Decentralized Auction-based Marketplace and its Application to Bandwidth Trading http://hausheer.osola.com/publications/icc05-cameraready.pdf 3. http://venezia-gondola.jxta.org/ 4. http://opendht.org/ 5. http://disl.cc.gatech.edu/courses/cs8803_spring2006/project/proposals/