Title: CS 554. PeertoPeer Systems Faithfulness in Internet Algorithms
1CS 554. Peer-to-Peer SystemsFaithfulness in
Internet Algorithms
Haridimos Kondylakis (kondylak_at_csd.uoc.gr)
2Presentation Outline
- Introduction to Faithfulness
- Software as a strategy
- Faithfulness Caveats
- Faithfulness in BitTorrent
- Strategies and Specifics
- Finding Flaws in Faithfulness
- Backtracking BitTorrent
- Open Questions
31. 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.
42. Software as a strategy (1/3)
- Software executed by a node can be seen as a
representation of that nodes strategy. - Software start in an initial state.
- Then receives input that determine worlds 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.
52. 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 gt
cost of modification the rational node will
expend this cost.
62. 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.
73. 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 cards firmware) - If expected utility gain gt cost of manipulation
then a rational person wont 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.
84. Faithfulness in BitTorrent
- BitTorrent incents users by linking the receipt
of pieces to serving of other pieces - Interesting protocol to investigate since
- The system was designed with rational behavior in
mind - There is some idea if incenting good strategic
behavior from a rational user. - 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
94. 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
104.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.
114.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
125. 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
135. Finding flaws in Faithfulness
145.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 k1, 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
155.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
166. 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 trackers 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, 3f1 machines are
requirement to reach consensus. - What if some of the faulty nodes are actually
rational nodes that are unable to express
themselves?
176. 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 !!!