+ All Categories
Home > Documents > Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust...

Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust...

Date post: 06-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
56
Incentives for Cooperation in Distributed Systems Beverly Yang Stanford University
Transcript
Page 1: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

Incentives for Cooperation in Distributed Systems

Beverly Yang

Stanford University

Page 2: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

2

Value from consolidating resources across autonomous nodes

Emerging applications

Page 3: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

3

Value from consolidating resources across autonomous nodes Web Services

Emerging applications

Page 4: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

4

Value from consolidating resources across autonomous nodes Web Services Grid Computing

Emerging applications

Page 5: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

5

Value from consolidating resources across autonomous nodes Web Services Grid Computing File-Sharing

Emerging applications

Page 6: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

6

a.k.a “peer-to-peer” Consolidating

resources across autonomous nodes

Additional features Massive replication,

scale, loose coupling Robust, self-

organizing, “autonomic” behavior

Emerging applications

Page 7: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

7

In research Focus on performance and functionality…

SIGCOMM 2003 (5/33) SOSP 2003 (3/21) SIGMOD 2004 (2/69)

…but overlook autonomy Who says nodes will contribute resources? Who says nodes will cooperate? Who says data/service is authentic?

How useful are techniques without incentives?

Page 8: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

8

Incentives

First-class problem How to get nodes to cooperate to achieve

functionality? What is effect on performance?

This talk: Our work on incentives inpeer-to-peer systems

Page 9: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

9

Outline

Introduction Context/Example RTR Protocol EigenTrust PPay

Page 17: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

17

Our contributions

1. Submit query

Receive list of providers

2. Select providers

3. Invoke services

RTR Protocol: Resource discovery incompetitive networks

EigenTrust

PPay: Efficient micropayments

Page 18: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

18

Outline

Introduction Context/Example RTR Protocol EigenTrust PPay

Page 19: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

19

Example of Non-Cooperation

“Document Translation”?

Provider 1Provider 2

Page 20: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

20

RTR Protocol

RTR: “Right To Respond” Queries as commodities Buy and sell RTRs

Page 21: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

21

Basic Exchange

2) ReqA B

3) RTR

RTR = {Q, TS, QueryString}Q

A B

Offer = {Reputation(Q), TS, QueryString, Price}

1) OfferA BQ ….

Page 23: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

23

Pricing

Simple pricing model Understand factors that

influence value Pinpoint parameters that

need to be estimated

∑∈

•+••=

+=

nbN

ffN

AA

AAA

NRTRENRTREIE

fpricepI

RESENE

),()),(|(

)(

)()()(

Page 24: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

24

Example of Non-Cooperation

“Document Translation”?

Provider 2Provider 1

Page 25: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

25

Functionality

0

0.5

1

1.5

2

2.5

3

3.5

4

Query Score

Cooperative Competitive

No Forward RTR

Query Score

Page 26: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

26

Efficiency?

Page 27: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

27

Efficiency

0

20

40

60

80

100

120

140

160

# Messages

Cooperative Competitive

No Forward RTR

•Intelligent Routing• Content Clusters

Page 28: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

28

Many details

See paper [YKG 03] “Addressing Non-Cooperation in Competitive

Peer-to-Peer Systems” Workshop on Economics in P2P

Page 29: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

29

Outline

Introduction Context/Example RTR Protocol EigenTrust PPay

Page 30: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

30

Reputation

Not all providers are good

Evaluate using past experience

Page 31: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

31

Reputation

Not all providers are good

Evaluate using past experience

Problem: Sparse experience

−−

0

0

0

0

0

0

Node 0

Node 1

Node 2

Node 3

Node 4

Node 5

Node 6

Node 7

Node 8?

?

?

?

?

?

Page 32: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

32

Friends of Friends Ask for the opinions

of the people who you trust.

−−

0

0

0

0

0

0

Node 4

Node 1

−−

0

0

0

0

0

0

0

Node 2

Node 6

Page 33: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

33

The Math∑ ⋅=j

jkij cccik

'

Ask your friends j

What they think of node k.

And weight each friend’s opinion by how much you

trust him.

TC'ic ic=

.1

.5 0 0 0.2

0 .2 0 .3 0 .5 .1 0 0 0

.1

.3

.2

.3

.1

.1

.2 =

Page 34: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

34

Knowing All Peers Ask your friends:

t=CTci. Ask their friends:

t=(CT)2ci. Keep asking until the

cows come home: t=(CT)nci.

−−

0

0

0

0

0

0

−−

0

0

0

0

0

0

−−

0

0

0

0

0

0

−−

0

0

0

0

0

0

Page 35: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

35

EigenTrust Luckily, trust vector t, if computed in this

manner, converges to the same thing for every node!

Show how the whole network can cooperate to store and compute t

Show how to handle trust in computation See paper [KSG 02]

“The EigenTrust Algorithm for Reputation Management in P2P Systems”

WWW 2002

Page 36: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

36

Outline

Introduction Context/Example RTR Protocol EigenTrust PPay

Page 38: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

38

$Broker Expenses Handle accounts Distribute and cash coins Security (e.g., double-spend

detection)

Load is O(n) in the number of transactions

Scalability and performance bottleneck

Page 39: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

39

Open Account

$U

Cert = {U, AddrU, PKU, Expiry}SKB

Cert

Name, Phone, AddressPayment Account (CC#)PKU

Page 40: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

40

Minting Coins

$U

C = {U, sn}SKB

C

“Owner”

PO

PO = {“Buy”, Qty}SKU

Page 41: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

41

Assigning Coin

U

AUV = {V, seq1, C}SKU

AUV

V

C $

Page 42: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

42

Reassigning Coin

U V X

RUVX = {X, AUV}SKV

RUVX

AUX

AUX = {X, seq2, C}SKU

AUX

RUVX

$

Page 43: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

43

Downtime Protocol

U V X

RUVX AUX

AUX = {X, seq2, C}SKB

RUVX

RUVX

UU

$

Page 44: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

44

Observations

Peer load higher, broker load lower Leverage resources at peers Broker involvement is linear in coins printed

Peer load scales “perfectly”

Page 45: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

45

PPay vs. Electronic Check

1 10 20

x 21

x 8

(BrokerLoad)

Page 46: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

46

Additional Details

Security Guarantees Performance Extensions See paper [YG 03]

“PPay: Efficient Micropayments for P2P Systems”

ACM CCS (Communication and Computer Security)

Page 47: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

47

Conclusion Incentives: first-order problem

RTR Protocol: Incentive-compatible resource discovery

EigenTrust: Distributed and secure reputation PPay: Efficient micropayment scheme

http://www-db.stanford.edu/peers(Google: stanford peers)

Page 48: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

48

Value from consolidating resources across autonomous nodes Web Services Grid Computing File-Sharing Ubiquitous Computing

Emerging applications

Page 49: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

49

Flow of Payment

A$$

PurchaseRTR

Q

$$Provide Service

M

N

$$

$$

Resell RTR

•A has service?•Q picks A?•Price of service?

•N buys RTR?•Value of RTR to N?

Page 50: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

50

Pricing Model

∑∈

•+••=

+=

nbN

ffN

AA

AAA

NRTRENRTREIE

fpricepI

RESENE

),()),(|(

)(

)()()(

Page 51: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

51

Efficient Routing Content filters (if specified) serve as

“routing hints”

Page 52: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

52

Communities (“clusters” in topology) will form around content

Content Clusters

Page 53: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

53

Characteristics

Vendors AND buyers

Massive resources at nodes

$PPay: Exploit characteristicswhile maintaining security

Page 54: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

54

“Good Enough” Security Micropayments are small

Utmost security not required

Must be lightweight

“Good Enough” (def): Fraud is detectable, traceable, and unprofitable

Page 55: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

55

Pico Payments

Page 56: Incentives for Cooperation in Distributed Systems · 2006-09-21 · 35 EigenTrust Luckily, trust vector t, if computed in this manner, converges to the same thing for every node!

56


Recommended