Peer-to-Peer Based Trading Application

advertisement
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/
Download