Verifiable Auctions for Online Ad Exchanges Sebastian Angel and - - PowerPoint PPT Presentation

verifiable auctions for online ad exchanges
SMART_READER_LITE
LIVE PREVIEW

Verifiable Auctions for Online Ad Exchanges Sebastian Angel and - - PowerPoint PPT Presentation

Verifiable Auctions for Online Ad Exchanges Sebastian Angel and Michael Walfish The University of Texas at Austin Tuesday, August 13, 13 Ad Exchanges allow real time selling and buying of ad space How did this ad get here? Tuesday, August 13,


slide-1
SLIDE 1

Verifiable Auctions for Online Ad Exchanges

Sebastian Angel and Michael Walfish

The University of Texas at Austin

Tuesday, August 13, 13

slide-2
SLIDE 2

Ad Exchanges allow real time selling and buying of ad space

How did this ad get here?

Tuesday, August 13, 13

slide-3
SLIDE 3

Ad Exchanges allow real time selling and buying of ad space

How did this ad get here?

Tuesday, August 13, 13

slide-4
SLIDE 4

Ad unit 5 300x250

Tuesday, August 13, 13

slide-5
SLIDE 5

Publisher

Ad unit 5 300x250

Tuesday, August 13, 13

slide-6
SLIDE 6

Ad Exchange

20-30 year old, male, Texas resident

Publisher

Tuesday, August 13, 13

slide-7
SLIDE 7

20-30 year old, male, Texas resident telegraph.co.uk, ad unit 5, 300x250

Advertisers Ad Exchange

Tuesday, August 13, 13

slide-8
SLIDE 8

hange

20-30 year old, male, Texas resident telegraph.co.uk, ad unit 5, 300x250

Tuesday, August 13, 13

slide-9
SLIDE 9

resident

Ad Exchange

$20 $5 $10

Tuesday, August 13, 13

slide-10
SLIDE 10

resident

Ad Exchange

$20 $10 $5

Second-price auction Winner = highest bidder Price = second-highest bid

Winner

Tuesday, August 13, 13

slide-11
SLIDE 11

Publisher Ad Exchange

$10

Tuesday, August 13, 13

slide-12
SLIDE 12

Publisher

Ad Spot 5 300x250

Tuesday, August 13, 13

slide-13
SLIDE 13

Today’s ecosystem is unnecessarily predicated on trusting ad exchanges, disenfranchising advertisers and publishers. Our goal is to remove that trust ... ... by making auctions verifiable.

Tuesday, August 13, 13

slide-14
SLIDE 14

Respecting today’s ecosystem is technically challenging

  • Need to support millions of auctions per second
  • Need to add little latency to Web page loads
  • Cannot disclose submitted bids
  • Cannot require participants to know each other
  • Cannot introduce trusted third parties (DNS is okay)

Tuesday, August 13, 13

slide-15
SLIDE 15

Verifiability in ad exchanges would:

  • Deter potential misbehavior
  • Strengthen the service provided by ad exchanges
  • Democratize the auctioneer function

More motivation

Tuesday, August 13, 13

slide-16
SLIDE 16
  • 1. What are some issues with ad exchanges?
  • 2. How do we provide verifiability?
  • 3. What is the cost of verifiability?

Tuesday, August 13, 13

slide-17
SLIDE 17

Ad Exchange

$20 $5 $10 The status quo has several weaknesses

Publisher

$10

Tuesday, August 13, 13

slide-18
SLIDE 18

Ad Exchange

$20 $5 $10

Publisher

$19 The status quo has several weaknesses

Tuesday, August 13, 13

slide-19
SLIDE 19 Salvatore Ferragamo Scozia... Paul Smith PS Paul Smith...
  • A. Testoni
Washed Calf ...

Ad Exchange

$20 $5 $10

Publisher

$7 The status quo has several weaknesses

Tuesday, August 13, 13

slide-20
SLIDE 20

Ad Exchange

$20 $5 $10

Publisher

$6

Receives $10 from Advertiser but reports only $6

The status quo has several weaknesses

Tuesday, August 13, 13

slide-21
SLIDE 21
  • Publisher may not deliver ads to end users
  • An ad exchange may refuse to run auctions

Issues not addressed in this talk

Tuesday, August 13, 13

slide-22
SLIDE 22
  • 1. What are some issues with ad exchanges?
  • 2. How do we provide verifiability?
  • 3. What is the cost of verifiability?

Tuesday, August 13, 13

slide-23
SLIDE 23
  • It contains two phases

Notable aspects of VEX’s design

Auction Audit (offline)

}

Tuesday, August 13, 13

slide-24
SLIDE 24

Status Quo

ADX Bid Outcome

Auction

Tuesday, August 13, 13

slide-25
SLIDE 25

Status Quo

ADX ADX

Auction

Encoded Bid Bid Outcome

VEX

List of Encoded Bids

Auction

Bid Outcome

Tuesday, August 13, 13

slide-26
SLIDE 26

Status Quo

ADX

V

Bid Outcome

VEX

Verify auction ADX

Auction

ADX Encoded Bid List of Encoded Bids

Auction

Bid Outcome

Tuesday, August 13, 13

slide-27
SLIDE 27

Status Quo

ADX Bid Outcome

VEX

Auction

V

Verify auction ADX ADX Encoded Bid List of Encoded Bids

Auction

Bid Outcome

3rd Party

Tuesday, August 13, 13

slide-28
SLIDE 28

Notable aspects of VEX’s design

Auction Audit

}

  • It contains two phases
  • It introduces a technique for order comparisons

against hidden integers

Audit (offline)

Tuesday, August 13, 13

slide-29
SLIDE 29

Notable aspects of VEX’s design

Auction Audit

}

  • It contains two phases
  • It introduces a technique for order comparisons

against hidden integers

  • It requires some engineering

Audit (offline)

Tuesday, August 13, 13

slide-30
SLIDE 30

Notable aspects of VEX’s design

Auction Audit

}

  • It contains two phases
  • It introduces a technique for order comparisons

against hidden integers

  • It requires some engineering

Audit (offline)

Tuesday, August 13, 13

slide-31
SLIDE 31

ADX Request Request 〈bi〉 〈b1〉, ..., 〈bN〉 〈b1〉, ..., 〈bN〉 Encoded Bid generation

}

Sharing of encodings

}

bi Disclosure of encoding information

}

Auction computation

}

Outcome Outcome Proofs Is the outcome correct?

Tuesday, August 13, 13

slide-32
SLIDE 32

ADX Request Request 〈bi〉 〈b1〉, ..., 〈bN〉 〈b1〉, ..., 〈bN〉 Encoded Bid generation

}

Sharing of Encoded Bids

}

bi Disclosure of encoding information

}

Auction computation

}

Outcome Outcome Proofs Is the outcome correct?

Details in paper (1) Ensure that the same set of encoded bids is received by all participants (2) Ensure that the set of encoded bids includes all advertisers’ submissions

Tuesday, August 13, 13

slide-33
SLIDE 33

ADX Request Request 〈bi〉 〈b1〉, ..., 〈bN〉 〈b1〉, ..., 〈bN〉 Encoded Bid generation

} }

bi Disclosure

}

Auction computation

}

Outcome Outcome Proofs Is the outcome correct? Sharing of Encoded Bids

Tuesday, August 13, 13

slide-34
SLIDE 34

ADX Request Request 〈bi〉 〈b1〉, ..., 〈bN〉 〈b1〉, ..., 〈bN〉 Encoded Bid generation

} }

bi

}

Auction computation

}

Outcome Outcome Sharing of Encoded Bids

V

ADX Proofs please Proof generation

}

Proofs

} Auction verification

Disclosure

Tuesday, August 13, 13

slide-35
SLIDE 35

Outcome Outcome

V

ADX Proofs please Proof generation

}

Proofs

} Auction verification

Tuesday, August 13, 13

slide-36
SLIDE 36

Structure of a correct second-price auction Inputs: Bids = {b1, ..., bN} Output: winner w, price p bw = highest bid p = second-highest bid

Verify auction

ADX

V

Correctness

  • 1. There exists a bid bi == p
  • 2. There are N-2 bids ≤ p
  • 3. There exists a bid bw ≥ p

Tuesday, August 13, 13

slide-37
SLIDE 37

Structure of a correct second-price auction Inputs: Bids = {b1, ..., bN} Output: winner w, price p bw = highest bid p = second-highest bid

Verify auction

ADX

V

How can the verifier check that the correctness conditions are satisfied?

Correctness

  • 1. There exists a bid bi == p
  • 2. There are N-2 bids ≤ p
  • 3. There exists a bid bw ≥ p

Tuesday, August 13, 13

slide-38
SLIDE 38

ADX Request Request 〈bi〉 〈b1〉, ..., 〈bN〉 〈b1〉, ..., 〈bN〉 Encoded Bid generation

} }

bi

}

Auction computation

}

Outcome Outcome Sharing of Encoded Bids Disclosure ADX Proofs please Proof generation

}

Proofs

} Auction verification

V

Tuesday, August 13, 13

slide-39
SLIDE 39

A bid encoding is the last node of a hash chain, where the length of the chain is related to the bid

Request 〈bi〉 Encoded Bid generation

}

inputs: bid = 4, seed = {0,1}n = H5(seed) = H(H(H(H(H(seed))))) Encoded bid 〈bid〉 = Hbid+1(seed) Notation: H is a cryptographic hash function

Tuesday, August 13, 13

slide-40
SLIDE 40

Encoded bid 〈bid〉 = Hbid+1(seed) seed Nodes

  • rigin

H H H H H Given 〈bid〉, it is hard to determine # nodes (i.e., the bid + 1)

〈4〉

= H5(seed) = H(H(H(H(H(seed)))))

A bid encoding is the last node of a hash chain, where the length of the chain is related to the bid

Request 〈bi〉 Encoded Bid generation

}

inputs: bid = 4, seed = {0,1}n Notation: H is a cryptographic hash function

Tuesday, August 13, 13

slide-41
SLIDE 41

inputs: bid = 4, seed = {0,1}n Notation: H is a cryptographic hash function Encoded bid 〈bid〉 = Hbid(seed) = H5(seed) = H(H(H(H(H(seed))))) seed Nodes

  • rigin

H H H H H Given 〈bid〉, it is hard to determine # nodes (i.e., the bid + 1)

〈4〉

How can the party generating this encoded bid prove that the secret bid is ≥ some integer?

A bid encoding is the last node of a hash chain, where the length of the chain is related to the bid

Request 〈bi〉 Encoded Bid generation

}

Tuesday, August 13, 13

slide-42
SLIDE 42

inputs: bid = 4, seed = {0,1}n Notation: H is a cryptographic hash function Encoded bid 〈bid〉 = Hbid(seed) = H5(seed) = H(H(H(H(H(seed))))) seed Nodes

  • rigin

H H H H H Given 〈bid〉, it is hard to determine # nodes (i.e., the bid + 1)

〈4〉

How can the party generating this encoded bid prove that the secret bid is ≥ some integer?

By providing an earlier node in the chain as proof A bid encoding is the last node of a hash chain, where the length of the chain is related to the bid

Request 〈bi〉 Encoded Bid generation

}

Tuesday, August 13, 13

slide-43
SLIDE 43

Encoded bid 〈bid〉 = Hbid+1(seed) seed Nodes

  • rigin

H H H H H Given 〈bid〉, it is hard to determine # nodes (i.e., the bid + 1)

〈4〉

= H5(seed) = H(H(H(H(H(seed)))))

A bid encoding is the last node of a hash chain, where the length of the chain is related to the bid

Request 〈bi〉 Encoded Bid generation

}

inputs: bid = 4, seed = {0,1}n Notation: H is a cryptographic hash function

Tuesday, August 13, 13

slide-44
SLIDE 44

How to prove equality (==)? How to prove less-than-or-equal-to (≤)?

Tuesday, August 13, 13

slide-45
SLIDE 45
  • Can be proven if the seed is distinguishable from a node in

the chain How to prove equality (==)? How to prove less-than-or-equal-to (≤)?

Tuesday, August 13, 13

slide-46
SLIDE 46
  • Can be proven if the seed is distinguishable from a node in

the chain

  • Requires an application-specific maximum value M to be set

ahead of time

  • Encoded bids are of the form M − x, where x is the desired

value

  • Proving that x is ≤ y from an encoded bid is done by encoding

the value M − x, and proving that M − x ≥ M − y (which implies x ≤ y) How to prove equality (==)? How to prove less-than-or-equal-to (≤)?

Tuesday, August 13, 13

slide-47
SLIDE 47

ADX Request Request 〈bi〉 〈b1〉, ..., 〈bN〉 〈b1〉, ..., 〈bN〉 Encoded Bids generation

} }

bi

}

Auction computation

}

Outcome Outcome Sharing of Encoded Bids Disclosure ADX Proofs please Proof generation

}

Proofs

} Auction verification

V

Tuesday, August 13, 13

slide-48
SLIDE 48

ADX Request Request 〈bi〉 〈b1〉, ..., 〈bN〉 〈b1〉, ..., 〈bN〉 Encoded Bids generation

} }

bi

}

Auction computation

}

Outcome Outcome Sharing of Encoded Bids Disclosure ADX Proofs please Proof generation

}

Proofs

} Auction verification

V

seed, bid

Tuesday, August 13, 13

slide-49
SLIDE 49

Outcome Outcome ADX Proofs please Proof generation

}

Proofs

} Auction verification

V

Tuesday, August 13, 13

slide-50
SLIDE 50

Limitations

  • Ad Exchange can use historical knowledge to introduce fake bids
  • Right of first refusal given to a colluding bidder
  • Sale price is disclosed
  • Comparison scheme performs well only for small ranges

Tuesday, August 13, 13

slide-51
SLIDE 51
  • 1. What are some issues with ad exchanges?
  • 2. How do we provide verifiability?
  • 3. What is the cost of verifiability?

Tuesday, August 13, 13

slide-52
SLIDE 52

Evaluation questions (1) How much latency is introduced by generating and sharing the encoded bids? (2) How many auctions can the ad exchange handle under this verifiable regime? (3) What is the cost of auditing?

Tuesday, August 13, 13

slide-53
SLIDE 53

Implementation

$5 $20 $10

ADX

$10 Request Request Request Request

  • Baseline (status quo) is ~1800 lines of C++

Tuesday, August 13, 13

slide-54
SLIDE 54

ADX

EBids generation

}

Sharing of EBids

} }

Auction computation

}

Disclosure

  • Baseline (status quo) is ~1800 lines of C++
  • VEX requires ~2000 additional lines of C++

V

ADX

Proof generation

} } Auction verification

Implementation

Tuesday, August 13, 13

slide-55
SLIDE 55
  • Baseline (status quo) is ~1800 lines of C++
  • VEX requires ~2000 additional lines of C++
  • SHA-256 is used to generate the encodings
  • We use the ESIGN signature scheme (signatures are

required by the protocol for sharing the encoded bids)

  • Bids range from 1 ($0.01) to M = 10,000 ($100)

Implementation

Tuesday, August 13, 13

slide-56
SLIDE 56

Evaluation method and testbed setup

All experiments were run on Emulab: Each machine has four 2.2 Ghz 64-bit 8-core processors, 128 GB RAM, Ubuntu 12.04 1Gbps links, fixed 10 ms latency, zero packet loss ADX Pub Adv 1-10 Adv 10-20 Adv 20-30

Tuesday, August 13, 13

slide-57
SLIDE 57

(1) How much latency is introduced by generating and sharing the encoded bids?

ADX Request Request 〈bi〉 〈b1〉, ..., 〈bN〉 〈b1〉, ..., 〈bN〉

} }

bi

}

Auction computation

}

Outcome Outcome Commitment generation Sharing of commitments Disclosure

auction latency

Tuesday, August 13, 13

slide-58
SLIDE 58

Most of VEX’s latency overhead comes from an extra round of communication

Network CPU

30 60 90 120 150

Median per-auction Latency (ms) Baseline VEX # of advertisers: 20

Tuesday, August 13, 13

slide-59
SLIDE 59

Most of VEX’s latency overhead comes from an extra round of communication

30 60 90 120 150

Median per-auction Latency (ms) Baseline Network CPU VEX

ADX: < 1 ms Advertiser: 0.5 - 2.5 ms Publisher: < 1 ms

# of advertisers: 20

Tuesday, August 13, 13

slide-60
SLIDE 60

(2) How many auctions can the ad exchange handle under a verifiable regime?

ADX Request Request 〈bi〉 〈b1〉, ..., 〈bN〉 〈b1〉, ..., 〈bN〉

} }

bi

}

Auction computation

}

Outcome Outcome EBids generation Sharing of EBids Disclosure

Tuesday, August 13, 13

slide-61
SLIDE 61

VEX has modest overhead that decreases as the number of bidders increases

0K 8K 15K 23K 30K 10 20 50 100 baseline VEX # of advertisers Max throughput (auctions/sec) 2.5X 2X 1.6X 1.5X

Tuesday, August 13, 13

slide-62
SLIDE 62

(3) What is the cost of auditing?

ADX Proofs please Proof generation

}

Proofs

} Auction verification

V

Tuesday, August 13, 13

slide-63
SLIDE 63

The costs of verifying an auction scales linearly with the number of bidders

25 50 75 100 10 20 50 100

# of advertisers throughput (audits /sec) Ad Exchange’s proof generation

Tuesday, August 13, 13

slide-64
SLIDE 64

25 50 75 100 10 20 50 100

throughput (audits /sec) Ad Exchange’s proof generation

The costs of verifying an auction scales linearly with the number of bidders

auction-to-audit ratio: 150 # of advertisers

Tuesday, August 13, 13

slide-65
SLIDE 65

Storing encoded bids for on-demand auditing is not completely unreasonable

Cost of storing all needed metadata for one week’s worth

  • f auctions (25.2 billion auctions, 50 advertisers/auction)
  • n Amazon S3: $43,000 / month

Tuesday, August 13, 13

slide-66
SLIDE 66

Summary of evaluation results

  • VEX introduces ~50 ms of latency to every auction (most of

which comes from an additional round of communication)

  • For a 20 bidder auction, VEX’s ad exchange can handle 1/2 the

number of auctions of a baseline (unverifiable) protocol

  • VEX’s audits are costly (150 times more expensive than running

auctions), but the needed metadata is small enough and can be stored for later auditing

Tuesday, August 13, 13

slide-67
SLIDE 67

Related Work

Straight line computation (SLC) [Rabin et al. ICALP’12] Distributed auctioneer [Lipmaa et al. CRYPTO’02] User Privacy [Privad NSDI11, Adnostic NDSS’10] Fraud [Stone-Gross et al. IMC’11, Dave et al. SIGCOMM’12] Ad Exchanges [Muthukrishnan, WINE’09] Zero-Knowledge Range Proofs [Chaabouni et al. Financial Crypto and Data

Security 2012, Fauzi et al. ePrint 2013]

Verifiable auctions Online Advertising Privacy-preserving integer comparisons

Tuesday, August 13, 13

slide-68
SLIDE 68

Summary and future work

  • VEX provides verifiability at modest costs
  • VEX relies on an efficient mechanism that allows privacy-

preserving integer comparisons, coupled with engineering

  • Future directions:
  • Providing verifiability to other advertising payment models

(pay-per-click, pay-per-action)

  • Verifying the delivery of ads to end-users

Tuesday, August 13, 13