Path: blob/main/frontier/12-mpc/connect/secure-auctions.ipynb
483 views
Connect: Secure Auctions with MPC
Module 12 | Real-World Connections
Compute the winning bid without revealing any losing bids.
Introduction
In a sealed-bid auction, each bidder submits a secret bid. The auctioneer determines the highest bid (first-price) or second-highest bid (Vickrey auction) and announces the winner.
The problem: a traditional auctioneer sees all bids. This creates opportunities for manipulation --- the auctioneer could favor a bidder, leak bid amounts, or even fabricate bids.
MPC-based auctions eliminate the trusted auctioneer. Bidders secret-share their bids among a set of computation servers. The servers jointly evaluate a comparison circuit on the shared inputs to find the maximum, without any server learning any bid.
The first real-world MPC deployment was exactly this: the Danish sugar beet auction in 2008, where farmers submitted secret supply bids to determine market prices.
Toy Setup: 4 Bidders, Additive Sharing
We simulate a sealed-bid auction with 4 bidders and 3 computation servers. Each bidder splits their bid into additive shares distributed to the servers. The servers then compute comparisons on the shared values to find the maximum.
Step 1: Bidders Share Their Bids
Each bidder splits their bid into additive shares and distributes one share to each computation server. After this step, no server knows any individual bid.
Step 2: Secure Comparison Using Beaver Triples
To find the maximum bid, the servers need to compare pairs of shared values. Comparing vs means computing the sign of , which requires bit decomposition and multiplications on shared values.
For our toy example, we use a simplified comparison protocol that works for small values: compute and open it (with random masking to prevent leaking the exact difference).
Step 3: Reveal Only the Winning Bid
The servers open the winner's shared bid. All losing bids remain secret --- their shares are never reconstructed.
Beaver Triples for Secure Multiplication
In a real secure auction, comparisons require multiplications on shared bits. Each multiplication consumes one Beaver triple (from Notebook 12b).
Here we demonstrate that Beaver triples enable multiplication on shared values, which is the building block for the comparison circuit.
Real-World MPC Auctions
| Deployment | Year | Details |
|---|---|---|
| Danish sugar beet auction | 2008 | First real MPC deployment. Farmers submitted supply bids; market-clearing price computed securely. Used Shamir sharing with 3 servers. |
| Spectrum auctions | Research | Governments auction radio spectrum licenses; MPC prevents bid manipulation by the auctioneer. |
| Procurement auctions | Ongoing | Companies submit sealed bids for contracts; MPC ensures fairness. |
| Dark pool trading | Research | Match buy/sell orders without revealing prices to the exchange operator. |
The Danish sugar beet auction demonstrated that MPC is practical: it processed real economic transactions with real money, using a protocol based on Shamir sharing among three servers (one operated by each stakeholder group).
Concept Map: Module 12 Secure Auctions
| Module 12 Concept | Auction Application |
|---|---|
| Additive secret sharing | Each bidder splits their bid into shares for the servers |
| Beaver triples | Enable multiplication gates in the comparison circuit |
| Secure comparison | Determine which of two shared bids is larger |
| MPC circuit evaluation | Compute max() or second-max() on shared inputs |
| SPDZ MACs | Prevent a malicious server from biasing the auction result |
| Oblivious transfer | Used in the offline phase to generate Beaver triples |
Summary
| Concept | Key idea |
|---|---|
| Secret-shared bids | Each bidder splits their bid into additive shares among computation servers |
| Comparison circuit | Servers evaluate a secure comparison on shared values to find the maximum |
| Beaver triples | Enable the multiplications needed for bit-level comparisons |
| Selective reveal | Only the winning bid (and winner identity) is opened; losing bids stay secret |
| SPDZ MACs | Prevent any server from cheating to manipulate the auction outcome |
The Danish sugar beet auction (2008) proved this works in practice with real economic stakes. Since then, MPC-based auctions have expanded to spectrum allocation, procurement, and financial trading.