Download presentation
Presentation is loading. Please wait.
Published byDarleen Ramsey Modified over 9 years ago
1
CS 554. Peer-to-Peer Systems Faithfulness in Internet Algorithms Haridimos Kondylakis (kondylak@csd.uoc.gr)
2
Computer Science Department, University of Crete & FORTH-ICS 2 Presentation Outline 1. Introduction to Faithfulness 2. Software as a strategy 3. Faithfulness Caveats 4. Faithfulness in BitTorrent 1. Strategies and Specifics 5. Finding Flaws in Faithfulness 1. Backtracking BitTorrent 6. Open Questions
3
Computer Science Department, University of Crete & FORTH-ICS 3 1. Introduction to Faithfulness Definition: A system is faithful with respect to some knowledge assumption if a rational (selfish, utility maximizing) node follows an algorithm that always has the same externally visible effects as following the suggested strategy, for all states of the world. Given some assumptions about the type of nodes in a system, a node will follow the default strategy, because no other strategy yields a higher utility for this node.
4
Computer Science Department, University of Crete & FORTH-ICS 4 2. Software as a strategy (1/3) Software executed by a node can be seen as a representation of that node’s strategy. Software start in an initial state. Then receives input that determine world’s state Then software moves to a new state possibly emitting an external action. In economics all internal state transitions and internal action, wrapped together as part of a strategy that generates external observable action.
5
Computer Science Department, University of Crete & FORTH-ICS 5 2. Software as a strategy (2/3) The strategy space is restricted to those strategies that can be expressed in a finite multiset of possible execution of machine instructions. Often strategies expressions given up In favor of ease of interaction (CPU, OS) By software provided by system designer Software can provide a default suggested strategy from the restricted strategy space. If utility gained from software modification > cost of modification the rational node will expend this cost.
6
Computer Science Department, University of Crete & FORTH-ICS 6 2. Software as a strategy (3/3) When those modifications harm the other users? Do we lose some mechanism functionality? A system is robust: “ Feel free to modify this client as you see fit. One can prove that the best strategy you can follow is the strategy that I have given you. “
7
Computer Science Department, University of Crete & FORTH-ICS 7 3. Faithfulness Caveats When making a faithfulness claim one should consider strategy manipulations at all parts of the system and declare the assumed obedience. (e.g alter ethernet card’s firmware) If expected utility gain > cost of manipulation then a rational person won’t make it But in P2P what about community-endowed prestige or respect for useful work? One user can do the manipulations and then spread the software all around.
8
Computer Science Department, University of Crete & FORTH-ICS 8 4. Faithfulness in BitTorrent BitTorrent incents users by linking the receipt of pieces to serving of other pieces Interesting protocol to investigate since: 1. The system was designed with rational behavior in mind There is some idea if incenting good strategic behavior from a rational user. 2. The system designer has provided a suggested strategy The client is released in source and executable form The cost of changing the strategy space potentially small
9
Computer Science Department, University of Crete & FORTH-ICS 9 4. Faithfulness in BitTorrent 3. The system is simple enough to anticipate and model several classes of rational users 4. The BitTorrent protocol is popular Nodes in BitTorrent Tracker: Maintains a list of peers that are active with respect to a file Complete peers that hold the entire file Incomplete peers that are likely in the process of downloading the file tracked
10
Computer Science Department, University of Crete & FORTH-ICS 10 4.1 BitTorrent strategy & specifics After initialization, a k subset of nodes is internally marked as being unchoked. (Requests will be fulfilled) Peers send special messages to each other to update their claim about which pieces they posses. The peer is always capable of receiving a file piece from any connection regardless the internally marked choke state. Any active peer that is complete is altruistic But an incomplete peer will selfishly unchoke peers that provide pieces at the highest throughput.
11
Computer Science Department, University of Crete & FORTH-ICS 11 4.1 BitTorrent strategy & specifics All peers will optimistically unchoke a new peer in an attempt to find a better trading partner with higher throughput. K fastest partners kept in the unchoked list BitTorrent used by Obedient users – bounded rational nodes Speed Critical: Places a high utility on receiving a file as fast as possible Free Rider: Places a high utility on receiving the file using as little bandwidth as possible. Anti-social, malicious e.t.c A node aims to maximize the benefit it receives
12
Computer Science Department, University of Crete & FORTH-ICS 12 5. Finding flaws in Faithfulness Backtracking For each type of rational node in the system For each communication configuration: For each goal state: Trace backwards through logical steps (code) in interaction with others. Mark branches and neighbor interactions as candidate manipulation points. Examine and classify point. Each manipulation point can be classified as False Alarm Beneficial Manipulation Harmful Manipulation
13
Computer Science Department, University of Crete & FORTH-ICS 13 5. Finding flaws in Faithfulness
14
Computer Science Department, University of Crete & FORTH-ICS 14 5.1 Backtracking BitTorrent Identity: Register multiple times in tracker A node will be optimistic unchoked proportional to its declared identities. Upload Bandwidth: If a node unchokes the fastest k nodes out of a list of k+1, this peer must upload at rate just above k-th fastest competitor The reported upload rate can be less than this peer true speed Unchoke Next: The protocol adds a new connection halfway into the unchoke_next list of the connection recipient. A node newly choked may be better off closing and reopening a connection to achieve a better place on list
15
Computer Science Department, University of Crete & FORTH-ICS 15 5.1 Backtracking BitTorrent Garbage upload: A client can claim to have all the pieces of a file, sending garbage. The transmited garbage count as valid incoming traffic and a high bandwidth node can bootstrap very quickly
16
Computer Science Department, University of Crete & FORTH-ICS 16 6. Open Questions But what happens with antisocial and malicious peers. A user could publish a file with a Trojan horse, and then generate a bootstrap list of probable affected targets from tracker’s ip list. Sybil attack could slow down distribution by providing garbage or no service Open Question 1: For cases of agreement in the presence of f faults, 3f+1 machines are requirement to reach consensus. What if some of the faulty nodes are actually rational nodes that are unable to express themselves?
17
Computer Science Department, University of Crete & FORTH-ICS 17 6. Open Questions Open Question 2: How a faulty node acting arbitrarily can change faithfulness properties? Can one design faithful mechanisms in the presence of faulty nodes? What about a network with n-1 obedient nodes and 1 rational node Open Question 3: Can program slicing ideas/tools be applied in finding manipulation points in real systems?
18
Thanks !!!
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.