1 / 22

Cope with selfish and malicious nodes

Learn how to cope with selfish and malicious nodes in P2P networks by modifying software, encouraging non-selfish behavior, implementing game theory strategies like tit-for-tat, and combating malicious Byzantine nodes through replication and data authenticity. Explore methods to enforce cooperation and combat misbehaving nodes effectively.

carolena
Download Presentation

Cope with selfish and malicious nodes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cope with selfish and malicious nodes Jinyang Li

  2. P2P requires cooperation • Cooperation means nodes obey design • However, P2P users control the nodes • Modify the given software • Shut down application • Delete app files • Rate limit application etc. • P2P users are mostly selfish • Avoid contributing resources as much as possible • P2P nodes could be malicious • Adversary can enroll (arbitrarily) many nodes P2P nodes speak the “right” protocol, but might not do the “right” things.

  3. What if anyone can run Coral?

  4. Design space for combating misbehaving nodes • Enforce nodes to run desired software • Obfuscate protocol/software • Rely on hardware support to authenticate a running piece of software (Trusted computing)

  5. Design space for combating misbehaving nodes 2. Encourage nodes not to be selfish • Design protocols so it is in a node’s best interest to contribute 3. Choose trustworthy nodes for interaction • If only a few trusted nodes turn out to be bad, it is okay since data/service is replicated

  6. #2 Encourage non-selfish behavior • What do selfish users do in file-sharing? • Download from others, but refuse to upload • Why is it bad? • If everybody behaves like this, system is useless

  7. Global optimal: Requires both to cooperate Nash equilibrium both defect, worst global outcome A layman’s view of game theory • Prisoner’s dilemma (PD) C D C D

  8. Tit-for-tat • What if boy and dog play the game over many iterations? • Tit-for-tat: • Cooperate in the 1st round, mirror what your opponent did in the last round • Tit-for-tat with forgiveness: • Occasionally cooperate to end a streak of retaliation and counter-retaliation

  9. Tit-for-tat for file sharing • Exchanging data between peers is like an iterated PD game • Break data exchange in multiple rounds. • If remote peer does not upload fast enough (defect), choke his download (play defect).

  10. Bittorrent • Group all peers interested in the same file into a swarm • Each node has sth. the other wants • A big file is broken into pieces • Each node downloads pieces in random order • Every 10 seconds, calculate a remote peer’s upload rate, if no good, choke it • Tit-for-tat • Periodically chooses one random peer to unchoke • …with forgiveness

  11. How tit-for-tat helps BT • Tit-for-tat in BT ensures fair exchange(?) • Tit-for-tat prevents selfish behavior(?) • All selfish behaviors are non-profitable(?)

  12. Cautions in applying tit-for-tat in other scenarios • The game must be played over many rounds • Each peer must have “goods” valued equally by the other • What’s at stake?

  13. # Combating malicious nodes • Malicious (Byzantine) nodes • Their goal is to bring max harm to you • May also behave randomly and unpredictably • Basic strategy • replicate data/functionalities • Obtain data or votes of results from multiple replicas • The impossibility results: • No availability when all nodes are Byzantine. • No correct agreement when >1/3 nodes are Byzantine.

  14. What’s at stake? • What does the system vote on? • launch a nuclear missile • Buyer or seller’s reputation (eBay) • Importance of a webpage (Google) • Interesting news (digg) • Authenticity of a shared file (Credence)

  15. Who can vote? • eBay, digg: any registered users • Can an adversary register millions of users? • Must ensure votes come from independent parties • Restrict voters to humans • Restrict one identity per human • Credence: • Central authority issues public key to nodes • Limit how fast keys are issued to each node

  16. Binds a vote to its file Binds a vote to a user What to vote on? • Votes could be on subjective or objective matters • (Digg) Interesting vs. boring news • Credence insight: • Make votes objective, honest users  similar votes • Example votes: • <abf3: britney  name, mp3 = type>K • <ba9f: britney  name, mp3  type>K • <35e4: name = >K

  17. How to cast votes? • U1 downloads files abf3,ba9f,35e4 with search term “britney mp3” • <abf3: britney  name, mp3 = type>K • <ba9f: britney  name, mp3  type>K • <35e4: name = >K

  18. How to use votes? • U2 obtains hashabf3,ba9f,35e4 from search “britney mp3” • Goal: Rank hashes according to votes • Collect a list of votes for each hash from peers • Weight peers using voting history correlation • Compute weighted aggregate votes on each hash • Sort

  19. 4 votes on same files; 2 positive agreements P=.5 2 positive votes from me, 3 positive votes from U1 a=.5, b=.75 Correlation (p-ab)/sqrt(a(1-a)b(1-b)) = 1.36 Weight peers based on vote correlation My votes U1’s votes abf3 britney  name b234 britney  name 4567 madonna  name ff45 nina  name 1234 britney  name abcd britney  name, b234 spears  name, 4567 madonna  name ff45 nina  name 1234 britney name

  20. Weight peers based on vote correlation My votes U2’s votes abf3 britney  name b234 britney  name 4567 madonna  name ff45 nina  name 1234 britney  name abcd britney  name, b234 spears  name, 4567 madonna  name ff45 nina  name 1234 britney name 4 votes on same files; 1 positive agreements P=0.25 2 positive votes from me, 3 positive votes from U1 a=.5, b=.75 Correlation (p-ab)/sqrt(a(1-a)b(1-b)) = -0.57

  21. What if there are no overlapping files? • Use transitive correlation • If A has high correlation with B, B has high correlation with C, then A has high correlation with C

  22. Summary on DHT and P2P • What did you learn?

More Related