Distributed Algorithmic Mechanism Design

Why DAMD differs from AMD (computational manipulation, network complexity); distributed VCG via replication and ex-post Nash equilibrium; multicast cost sharing with the marginal-cost (MC) and Shapley-value (SH) mechanisms; the Omega(|P|) lower bound for SH and the two-pass tree algorithm for MC; interdomain routing, BGP and path-vector protocols; BGP oscillation, dispute wheels and robust convergence; distributed mechanisms, ex-post Nash and collusion-proof ex-post Nash; Gao–Rexford constraints; policy consistency; Lemma 14.8 (local optimality) and Theorem 14.7 (BGP is welfare-maximizing and incentive-compatible without payments)

· 34 min read · 6,756 words

Motivation: mechanisms with no trusted center

Most of algorithmic mechanism design (AMD) decentralizes the incentives but keeps the computation central. In an auction, bidders are selfish, but the auctioneer computes winners and payments. Complexity is judged by ordinary centralized measures. This quietly needs two assumptions:

  1. a trusted center exists that every agent will hand its information to;
  2. shipping all information there, and computing there, is manageable.

Interdomain routing breaks both. The Internet is a collection of Autonomous Systems (ASes), competing firms stitched together by the interdomain-routing system:

PressureWhy it rules out a center
TrustASes are competitors; they won’t reveal private policy or cede control to anyone
Scalabilitya center would need the whole AS graph, re-sent on every change; the graph is huge and volatile
Reliabilitya center is a single point of failure or subversion

Scalability and reliability alone already push toward distribution. Even intradomain routing, where all routers trust each other, is almost always distributed. So the computation must be done by the ASes themselves. That gives Distributed Algorithmic Mechanism Design (DAMD).

IntuitionThe central question

When the selfish agents are the computer, can we still design protocols whose outcome is socially good and which every agent prefers to run faithfully — and can we do it with acceptable communication cost?

NoteWhere selfishness sits

Classical distributed computing has obedient nodes and byzantine nodes (arbitrary, possibly malicious). Selfish nodes sit between: they won’t blindly follow a planner, but they don’t act arbitrarily. They respond to incentives. Mechanism design (see mechanism-design) is the tool for steering incentive-driven behaviour.


Two ways DAMD differs from AMD

DAMD keeps AMD’s dual concern of incentive compatibility plus complexity, but changes both halves.

Network complexity

When the algorithm runs over an interconnection network TT, a single running time is the wrong measure. Any distributed algorithm must be charged for at least five resources, and excess in any one makes it unacceptable:

ResourceWhat it guards against
total messages over TToverall network load
max messages over any one linkhot-spot links
max message sizea “distributed” algorithm that secretly ships everything
local computation per nodeoverloading individual routers
storage per noderouting-state blowup

DefinitionNetwork complexity

Network complexity is the collective name for these (and similar) metrics of the difficulty of distributed implementation.

Computational manipulation

If TT is trusted and can act as the center, network complexity is the only difference. But if the agents run the distributed algorithm, a second difference appears. In AMD an agent can only choose among the actions the mechanism defines, for example which bid to report. The outcome is then computed faithfully from those actions. In DAMD an agent can also:

  • misreport the result of a local computation to a neighbour;
  • refuse to communicate with a neighbour, perhaps to exclude them from the game.

ImportantFaithful computation must itself be incentivized

Under the selfishness assumption, every form of manipulation has to be considered. The mechanism must make performing the computation correctly each agent’s best response, not just reporting its type truthfully.

Example in this noteComputational manipulation?Network complexity?
Distributed VCG: ex-post Nash from replicationyes, the focusignored
Multicast cost sharing: network complexityno (trusted infrastructure)yes, the focus
Interdomain routingyesyes

NoteThe cryptographic alternative

Instead of incentives, one can replace the trusted party with cryptographic protocols; see cryptographic-mechanisms (AGT chapter 8).


Distributed VCG: ex-post Nash from replication

Setup. There are outcomes OO and agents NN, and agent ii has valuation viv_i over OO. There is no trusted center: the agents compute. There is a central enforcer that implements the agreed outcome, collects payments, and imposes a severe penalty if the agents fail to agree.

FormulaThe VCG variant used

o~=arg⁡max⁡o∈O∑i∈Nvi(o),W=∑i∈Nvi(o~),pi=W−i−W+vi(o~)\tilde o = \arg\max_{o \in O} \sum_{i \in N} v_i(o), \qquad W = \sum_{i\in N} v_i(\tilde o), \qquad p_i = W_{-i} - W + v_i(\tilde o)

where W−iW_{-i} is the maximum welfare of all agents except ii, and pip_i is what agent ii pays.

IntuitionReading pip_i

W−vi(o~)W - v_i(\tilde o) is what everyone else gets at the chosen outcome, and W−iW_{-i} is what they’d get if ii didn’t exist. So pip_i is the harm ii imposes on others, the Clarke pivot payment.

Why naive distribution fails

ExampleCheating a ring-based second-price auction

Agents sit on a ring and pass around a message holding the top two bids for one good. An agent who writes his own bid on top and a very low number into the second-bid slot wins at that low price. This works unless a later agent overwrites the fields with higher bids.

graph LR
  A["Agent 1"] --> B["Agent 2"]
  B --> C["Agent 3: writes own bid, fakes 2nd bid low"]
  C --> D["Agent 4"]
  D --> A

Generally: run any distributed algorithm AA that computes o~\tilde o, WW and each W−iW_{-i} over a subset of the agents, and a participant can tamper with it. The problem is that the agent who computes also has a stake.

The fix: split roles by replication

AlgorithmReplicated VCG computation

  1. Split the agents into two groups.
  2. The groups exchange all valuations.
  3. Each group independently computes o~\tilde o and every pip_i.
  4. If the two results agree, the enforcer adopts them. Otherwise every agent is severely penalized.

IntuitionWhy this works: each agent plays two roles

In its own group’s computation, agent ii is a computer and could manipulate arbitrarily. In the other group’s computation, ii is only an input provider, and the only lever is to lie about viv_i. Because VCG is strategyproof, ii reports truthfully to the other group. The other group’s honest answer therefore becomes a benchmark. Any manipulation in ii‘s own group creates a disagreement and triggers the penalty.

PropositionFaithful execution is an ex-post Nash equilibrium

If all other agents faithfully execute the prescribed algorithm, agent ii is best off executing it faithfully too.

ProofArgument from the chapter

Step 1: The other group’s answer is truthful VCG. By strategyproofness, truth-telling to the other group is optimal. With the other agents faithful, that group outputs the true o~\tilde o and pp.

Step 2: Any deviation in ii‘s own computation causes disagreement. A manipulated result differs from the benchmark, so the enforcer penalizes everyone, including ii.

Step 3: So faithful computation is a best response to others’ faithfulness, whatever the types. That is exactly ex-post Nash.

∎

WarningFaithful computation is not dominant

Suppose all other agents coordinate on a suboptimal outcome. Then ii is better off going along than causing a disagreement and eating the penalty. So faithfulness is optimal only given that others are faithful. This is why the natural solution concept under computational manipulation is ex-post Nash, not dominant strategies. It is formalized in Solution concept: ex-post Nash in a distributed mechanism.


Multicast cost sharing: network complexity

The problem. Multicast delivers one packet to many receivers over a shared delivery tree. Packets are replicated at branch points, so each link carries at most one copy. This suits popular real-time content such as movies. Every link transmission costs something, and every receiver gets some benefit. Who should receive the content, and how much should each pay?

Setup.

SymbolMeaning
PPuser population
NN, LLnetwork nodes; bidirectional links
α0∈N\alpha_0 \in Nsource node of the multicast
T(S)⊆LT(S) \subseteq Lmulticast tree rooted at α0\alpha_0 spanning the users in S⊆PS \subseteq P
c(l)≥0c(l) \ge 0cost of link ll, known to its two endpoints
uiu_iuser ii‘s (private) utility for receiving
σi∈{0,1}\sigma_i \in \{0,1\}whether ii receives
pi≥0p_i \ge 0what ii is charged

Monotone routing: S1⊆S2⇒T(S1)⊆T(S2)S_1 \subseteq S_2 \Rightarrow T(S_1) \subseteq T(S_2). Adding receivers only grows the tree.

FormulaCost and net welfare

C(S)=∑l∈T(S)c(l),NW(S)=∑i∈Sui−C(S)C(S) = \sum_{l \in T(S)} c(l), \qquad NW(S) = \sum_{i \in S} u_i - C(S)

A mechanism is a pair M(u)=(σ(u),p(u))M(u) = (\sigma(u), p(u)). Crucially, both inputs and outputs are distributed: each uiu_i enters at user ii‘s location, and σi(u),pi(u)\sigma_i(u), p_i(u) must be delivered back there.

NoteWho is strategic here

Only the users are selfish; they may lie about uiu_i. Routers, links and the rest of the infrastructure are obedient. Once reported, the uiu_i are processed faithfully. So this example is purely about network complexity.

Desiderata. Three properties are desirable:

  • strategyproofness, because users are selfish;
  • budget balance, so that ∑pi\sum p_i covers the cost;
  • efficiency, so that total welfare is maximized.

WarningYou can’t have all three

Laffont–Green: with quasilinear utilities, the only strategyproof welfare-maximizing mechanisms are VCG mechanisms, which are not budget- balanced. (Myerson–Satterthwaite gives a more general impossibility.) So the chapter studies two mechanisms, one per horn.

MC: the efficient mechanism

DefinitionMarginal cost (MC) mechanism

Let S~\tilde S be the largest set maximizing NW(S)NW(S), which is uniquely defined. Let NW^=NW(S~)\widehat{NW} = NW(\tilde S) and NW^−i=max⁡SNW(S−i)\widehat{NW}_{-i} = \max_S NW(S - i). MC delivers to S~\tilde S and charges pi=σiui−NW^+NW^−i.p_i = \sigma_i u_i - \widehat{NW} + \widehat{NW}_{-i}.

This is VCG specialized to multicast. NW^−NW^−i\widehat{NW} - \widehat{NW}_{-i} is ii‘s marginal contribution to welfare, and ii keeps exactly that as surplus.

SH: the budget-balanced mechanism

DefinitionShapley value (SH) mechanism

Cost shares: split each link’s cost equally among the agents downstream of it. Agent ii is downstream of ll iff l∈T({i})l \in T(\{i\}).

Receiver set: start with S=PS = P and compute charges. Remove any agent with pi>uip_i > u_i, recompute, and repeat until every remaining agent has ui≥piu_i \ge p_i.

Why the pruning is well defined. If different removal orders gave different final sets, the mechanism would be ambiguous. Cross-monotonicity rules this out: an agent is never charged less when someone else leaves.

PropositionPruning is order-independent

Call an elimination legal if the removed agent is charged more than its utility at that moment, and call an ordering legal if every step is. The set reached does not depend on which legal ordering is used.

ProofLegal orderings concatenate

Step 1: Legality is inherited by subsets. If ii is overcharged when SS remains, then by cross-monotonicity ii is charged at least as much when any subset of SS remains. So ii is still overcharged.

Step 2: Concatenation of legal orderings is legal (skipping duplicates). Each pruning in the second ordering happens on a smaller set than it originally did, so it stays legal by Step 1. Example: if (1,5,7,3)(1,5,7,3) and (7,2,5,8)(7,2,5,8) are legal, so are (7,2,5,8,1,3)(7,2,5,8,1,3) and (1,5,7,3,2,8)(1,5,7,3,2,8).

The key step: so if SS and S′S' are both reachable, then S∩S′S \cap S' is reachable. The reachable sets are closed under intersection, so there is a unique smallest one, independent of order.

∎

The complexity separation

Both MC and SH are polynomial-time centrally. The real question is distributed cost. The trivial distributed algorithm ships every valuation to one node, computes, and ships results back. That costs on the order of ∣P∣|P| bits across some links.

TheoremTheorem 14.1 — SH needs linear communication

Any distributed algorithm, deterministic or randomized, that computes the SH multicast cost-sharing mechanism must send Ω(∣P∣)\Omega(|P|) bits over linearly many links in the worst case.

NoteProof not in the chapter

Theorem 14.1 is stated without proof. A generalization is proved in Feigenbaum et al. (2003). So SH is essentially no better than centralizing.

MC, by contrast, needs two short messages per link. The algorithm runs on the tree T(P)T(P) and uses the following notation:

SymbolMeaning
V(P)V(P)node set of T(P)T(P)
Ch(α)Ch(\alpha)children of node α\alpha
res(α)res(\alpha)users resident at α\alpha
uαu^\alpha∑i∈res(α)ui\sum_{i \in res(\alpha)} u_i
cαc^\alphacost of the link from α\alpha to its parent
Tα(P)T^\alpha(P)subtree at α\alpha plus the link to its parent

AlgorithmMC phase 1 — bottom-up welfare (Fig. 14.1)

At each node α\alpha, after receiving AβA^\beta from every child β∈Ch(α)\beta \in Ch(\alpha): Wα←uα+∑β∈Ch(α)Aβ−cαW^\alpha \leftarrow u^\alpha + \sum_{\beta \in Ch(\alpha)} A^\beta - c^\alpha

  • If Wα≥0W^\alpha \ge 0: set σi←1\sigma_i \leftarrow 1 for i∈res(α)i \in res(\alpha), and send WαW^\alpha to the parent.
  • Else: set σi←0\sigma_i \leftarrow 0 for i∈res(α)i \in res(\alpha), and send 00 to the parent.

IntuitionWhat WαW^\alpha is

WαW^\alpha is the net welfare of the subtree hanging off α\alpha, including the cost of the link that connects it. A negative subtree is cut off. It reports 00 upward: “don’t bother sending the content down here.”

AlgorithmMC phase 2 — top-down shares (Fig. 14.2)

The root α0\alpha_0 sends Wα0W^{\alpha_0} to each child. Each other node α\alpha, on receiving AA from its parent, does the following.

Case 1 (Tα(P)∩T(S~)=∅T^\alpha(P) \cap T(\tilde S) = \emptyset): if σi=0\sigma_i = 0 for all i∈res(α)i \in res(\alpha), or A<0A < 0, then set pi←0p_i \leftarrow 0 and σi←0\sigma_i \leftarrow 0 for i∈res(α)i \in res(\alpha), and send −1-1 to every child. This propagates non-membership downward.

Case 2 (Tα(P)∩T(S~)≠∅T^\alpha(P) \cap T(\tilde S) \ne \emptyset): set A←min⁡(A,Wα)A \leftarrow \min(A, W^\alpha). For each i∈res(α)i \in res(\alpha), set pi←0p_i \leftarrow 0 if ui≤Au_i \le A and pi←ui−Ap_i \leftarrow u_i - A otherwise. Send AA to every child.

Why two passes suffice. Computing pip_i does not require recomputing NW^−i\widehat{NW}_{-i} from scratch. Let i∈res(β)i \in res(\beta), and let yi(u)y_i(u) be the smallest WαW^\alpha on the path from β\beta to the root. That is exactly the AA that phase 2 carries down to β\beta. Then:

  • if ui≤yi(u)u_i \le y_i(u), removing ii does not change which nodes receive the content, so pi=0p_i = 0;
  • if ui>yi(u)u_i > y_i(u), removing ii does change the delivery tree, and NW^−NW^−i=yi(u)\widehat{NW} - \widehat{NW}_{-i} = y_i(u), so pi=ui−yi(u)p_i = u_i - y_i(u).

IntuitionThe bottleneck on the path

yi(u)y_i(u) is the thinnest safety margin between ii and the source: the subtree along ii‘s path whose welfare is closest to zero. If ii contributes less utility than that margin, ii is not pivotal and pays nothing. Otherwise, ii‘s presence keeps that weakest subtree alive, and ii pays the excess.

NoteLeft as an exercise

Both facts about yi(u)y_i(u) are stated in the chapter with their proofs left to the reader.

TheoremTheorem 14.2 — MC in two traversals

MC cost sharing requires exactly two messages per link. There is an algorithm that computes the cost shares with one bottom-up traversal of T(P)T(P) followed by one top-down traversal.

RemarkWhat “optimal” means here

The algorithm is provably optimal in number of messages, but not known to be optimal in maximum message size. Message size is polynomial in max⁡lsize(c(l))\max_l \mathrm{size}(c(l)) and max⁡isize(ui)\max_i \mathrm{size}(u_i), and polylogarithmic in ∣P∣|P| and ∣N∣|N|. The two local computations per node are fast and space-efficient.

ImportantCentral complexity does not predict network complexity

MC and SH are equally easy centrally, but they are exponentially far apart in distributed communication (constant vs linear bits per link). MC’s share depends on a single number, the path minimum, flowing down one path. In SH, each link’s split depends on how many downstream agents survive a global pruning, and one pruning changes everyone’s shares upstream.

See cost-sharing (AGT chapter 15) for more on cost-sharing mechanisms.


Interdomain routing: the problem

The ASes must be interconnected to give host-to-host reachability. There is no center they all answer to, so they compute routes themselves. Three features make this hard:

  1. there are many ASes;
  2. ASes have different, possibly conflicting criteria for preferring routes;
  3. the ASes and links change frequently.

Setup. The AS graph is G=(N,L)G = (N, L) with N={1,…,n}N = \{1,\dots,n\}. Links are direct connections between neighbouring ASes. Protocols compute each destination independently, so fix a destination dd. Let PiP^i be the set of loop-free paths from ii to dd that are not removed from consideration. A path can be removed by filtering at ii or a neighbour, or by link or node failure. A protocol assigns each source ii a route Ri∈PiR_i \in P^i.

Networking perspective

RequirementWhy
Distributedtrust, scale, robustness
Destination-based forwardingreduces routing state; each AS has one next hop for dd, so Td={R1,…,Rn}T_d = \{R_1,\dots,R_n\} is a confluent tree into dd
Adaptiveadjusts to the current topology, with no a priori topology knowledge
Efficientin time, inter-AS communication, and per-AS storage
Loop-free under autonomyroutes must stay loop-free even while each AS chooses by its own criteria

Distance-vector, link-state and path-vector all satisfy the first four; they differ in space. Only the last requirement separates them.

WarningWhy link-state and distance-vector don’t work

Link-state and distance-vector avoid loops only if all ASes use the same route-choice criterion, for example shortest path. That is exactly what AS autonomy forbids. Path-vector carries the entire AS path in every announcement, so any AS can see and reject a loop whatever its policy. Hence BGP, today’s standard, is path-vector.

BGP

Adjacent ASes exchange update messages announcing newly chosen routes, each containing the full list of ASes to dd. The computation starts when dd announces itself to its neighbours. Knowledge of how to reach dd then spreads recursively. The network is asynchronous: updates on some links may be delayed.

AlgorithmThe three stages at node ii (iterated)

  1. Import. Receive routes to dd from neighbours. An import policy decides which to consider. Importable routes go in the routing table, which always holds the latest importable routes.
  2. Select. If several routes exist, choose one by local preference.
  3. Export. When the best route changes, announce it to some or all neighbours. An export policy decides, per neighbour jj, what jj may hear.

AS autonomy means the freedom to set route choice, import policy and export policy without coordinating with anyone.

graph TD
  I["Destination AS announces itself"] --> W["Wait for updates"]
  W --> IM["Import routes from neighbours"]
  IM --> ST["Store routes in routing table"]
  ST --> CH["Choose best route by policy"]
  CH -->|"best route changed"| EX["Export route to neighbours"]
  CH -->|"best route unchanged"| W
  EX --> W

Convergence can fail

We want a stable state: every node prefers its current route to all others in its table, and every table reflects neighbours’ current choices. We also want robustness: convergence on every instance obtained by deleting any nodes and links. Path-vector prevents loops but does not guarantee convergence.

ExampleFig. 14.4 — two ASes that each prefer going through the other

AS 1 prefers 12d12d to 1d1d, and AS 2 prefers 21d21d to 2d2d. Worst-case timing:

  1. dd announces itself; 1 and 2 pick 1d1d and 2d2d and tell each other.
  2. Each now sees the indirect route and switches: 1 to 12d12d, 2 to 21d21d.
  3. Now nobody uses a direct route, so the indirect routes are no longer viable. Both fall back to 1d1d and 2d2d.
  4. Go to step 2, forever.

Timing matters. Suppose 1 announces 1d1d, and 2 sees it and picks 21d21d before announcing 2d2d. Then nothing changes again: {1d,21d}\{1d, 21d\} is stable.

graph LR
  N1["AS 1: prefers 12d over 1d"] --- N2["AS 2: prefers 21d over 2d"]
  N1 --- D["d"]
  N2 --- D

There is an inherent trade-off between local autonomy and global robustness. The standard sufficient condition is the absence of a dispute wheel.

DefinitionDefinition 14.3 — no dispute wheel

Define two relations on permitted routes:

  1. R1⪯1R2R_1 \preceq_1 R_2 iff R1R_1 is a subpath of R2R_2 ending at dd;
  2. R1⪯2R2R_1 \preceq_2 R_2 iff ∃ i\exists\, i with R1,R2∈PiR_1, R_2 \in P^i and ii prefers R1R_1 over R2R_2.

Let ⪯ = (⪯1∪⪯2)∗\preceq \,=\, (\preceq_1 \cup \preceq_2)^*, the reflexive transitive closure. The instance has no dispute wheel iff R1⪯R2R_1 \preceq R_2 and R2⪯R1R_2 \preceq R_1 together imply that R1,R2R_1, R_2 start at the same node. Informally, ⪯\preceq is antisymmetric except that ties in valuations are allowed.

IntuitionWhat a dispute wheel is

Read ⪯\preceq as “chains of extension and preference.” A dispute wheel is a cycle in which each AS’s preferred route relies on another AS’s route, which that AS abandons in favour of relying on yet another, and so on back around. Every AS would be happy only if someone downstream settled for less.

ExampleThe dispute wheel in Fig. 14.4

1d  ⪯1  21d  ⪯2  2d  ⪯1  12d  ⪯2  1d1d \;\preceq_1\; 21d \;\preceq_2\; 2d \;\preceq_1\; 12d \;\preceq_2\; 1d Here 1d1d extends to 21d21d, which 2 prefers to 2d2d, which extends to 12d12d, which 1 prefers to 1d1d. Routes starting at nodes 1 and 2 lie on a common cycle.

TheoremNo dispute wheel ⇒ robust convergence

Any instance on which a path-vector protocol can oscillate contains a dispute wheel. Conversely, if there is no dispute wheel, the instance and every subinstance have a unique stable route allocation, to which the protocol converges.

NoteCited, not proved

This is stated without proof; it is from Griffin et al. (2002). The chapter’s open problems note that “no dispute wheel” is sufficient but not known to be necessary for robust convergence.


The mechanism-design view of routing

Reinterpret BGP’s “arbitrary” policy autonomy as selfish preference. Each source node ii has a private valuation vi:Si→R≥0,v_i : S^i \to \mathbb{R}_{\ge 0}, where SiS^i is the set of simple routes from ii to dd in the complete graph obtained by adding links to GG. Also vi(∅)=0v_i(\emptyset) = 0.

ComponentDetail
Signaturevi:Si→R≥0v_i : S^i \to \mathbb{R}_{\ge 0}
Domainevery simple i→di \to d route over the complete graph, including routes that don’t exist in GG
Codomainthe “monetary value” to AS ii of having that route

NoteWhy the complete graph

Nodes don’t know the topology, so they can’t tell valid routes from invalid ones. Defining viv_i over the complete graph lets the model express an AS announcing a nonexistent route, a form of computational manipulation.

ConventionNo ties across neighbours

For routes R1,R2R_1, R_2 through different neighbours, vi(R1)≠vi(R2)v_i(R_1) \ne v_i(R_2). This matches practice: a router installs only one route per destination and breaks ties somehow, for example by next-hop IP address. Ties are allowed between routes through the same neighbour, since only one route per neighbour is considered at a time.

The social goal is welfare maximization: Td=arg⁡max⁡T={R1,…,Rn}∑i=1nvi(Ri).T_d = \arg\max_{T = \{R_1,\dots,R_n\}} \sum_{i=1}^n v_i(R_i).

A routing protocol should satisfy two requirements:

  • executed honestly, it should maximize social welfare;
  • it should be incentive-compatible: no AS gains by deviating from its prescribed actions.

Solution concept: ex-post Nash in a distributed mechanism

WarningWhy strategyproofness is the wrong target

Nodes can do more than lie about types. They can alter computations or withhold messages. It is unlikely that a single computational behaviour is optimal whatever the others do, as in Distributed VCG: ex-post Nash from replication. Settling for ex-post Nash is the cost of distributing the computation to the agents.

Consider nn nodes and outcomes OO. Node ii has private type θi∈Θi\theta_i \in \Theta_i and utility ui:O×Θi→Ru_i : O \times \Theta_i \to \mathbb{R}.

DefinitionDefinition 14.4 — distributed mechanism

A distributed mechanism is dM=(Σ,g,sM)dM = (\Sigma, g, s^M), where:

  • Σ=(Σ1,…,Σn)\Sigma = (\Sigma_1,\dots,\Sigma_n) is the feasible strategy space;
  • g:Σ→Og : \Sigma \to O is the outcome function;
  • sM=(s1M,…,snM)∈Σs^M = (s_1^M,\dots,s_n^M) \in \Sigma is the prescribed strategy.

siMs_i^M is the algorithm the designer wants ii to run. siM(θi)s_i^M(\theta_i) specifies ii‘s action in every state of mechanism and network, given type θi\theta_i.

DefinitionDefinition 14.5 — ex-post Nash equilibrium

s∗∈Σs^* \in \Sigma is an ex-post Nash equilibrium of dMdM if

ui(g(s1∗(θ1),…,sn∗(θn)),θi)  ≥  ui(g(s1∗(θ1),…,si(θi),…,sn∗(θn)),θi)u_i\big(g(s_1^*(\theta_1),\dots,s_n^*(\theta_n)), \theta_i\big) \;\ge\; u_i\big(g(s_1^*(\theta_1),\dots,s_i(\theta_i),\dots,s_n^*(\theta_n)), \theta_i\big)

for every node ii, every si∈Σis_i \in \Sigma_i, every θi\theta_i, and all types θ−i\theta_{-i} of the others.

ConceptBest response holds againstWhat an AS must know
dominant strategyevery strategy of othersnothing
ex-post Nashothers playing s∗s^*, for every type profilenothing about others’ types
Nashothers playing s∗s^*, at the actual typesothers’ private routing policies

IntuitionWhy ex-post Nash is the sweet spot

It is weaker than dominance: it assumes others follow the protocol. But it needs no knowledge of others’ types. Plain Nash would assume ASes know each other’s local routing policies, which is certainly unrealistic.

DefinitionCollusion-proof ex-post Nash equilibrium

Ex-post Nash (like Nash and dominant strategies) is vulnerable to coordinated deviation. In a collusion-proof ex-post Nash equilibrium, no deviation by a group can strictly improve the outcome of even one group member without strictly harming another member.


BGP without payments

Networking points to path-vector plus policies that guarantee convergence. Mechanism design demands incentives for faithful execution, usually via payments. The chapter’s result is that, under realistic policy assumptions, plain BGP needs no payments at all.

The Gao–Rexford model

Most AS relationships are of two kinds:

  • customer–provider: the customer pays the provider for connectivity;
  • peering: two peers exchange traffic free because it helps both (they avoid paying their providers for that traffic).

An AS can be in many relationships at once. These are long-term contracts driven by external factors such as traffic patterns and network size.

DefinitionGao–Rexford constraints

  1. No customer–provider cycles. The digraph GCPG_{CP} with an edge from each customer to its provider is acyclic. Why: a cycle would make some AS (indirectly) its own provider.
  2. Prefer customers over peers over providers. A customer route is one whose next hop is a customer, and similarly for peer and provider routes. Every AS values customer routes above peer routes, and peer routes above provider routes. Why: customers pay you, peers are free, providers charge you.
  3. Transit only for customers. Announce only customer routes to providers and peers, and all routes to customers. Why: you’re paid to carry customer traffic, not traffic between your providers and peers.

PropositionGao–Rexford ⇒ no dispute wheel

If every AS obeys the Gao–Rexford constraints, their valuations cannot induce a dispute wheel. So there is robust convergence with no coordination between ASes.

NoteStated without proof

The chapter asserts this implication, citing Gao and Rexford (2001).

Gao–Rexford is not enough for optimality

ExampleFig. 14.5 — stable but arbitrarily bad

Relationships: dd is a customer of 1 and 2; 1 and 2 are customers of 3; 3 is a customer of 4; α>0\alpha > 0. This satisfies Gao–Rexford.

ASValuations
1v1(1d)=1v_1(1d)=1, v1(132d)=0v_1(132d)=0
2v2(2d)=1v_2(2d)=1, v2(231d)=0v_2(231d)=0
3v3(31d)=1v_3(31d)=1, v3(32d)=0v_3(32d)=0
4v4(432d)=1+αv_4(432d)=1+\alpha, v4(431d)=0v_4(431d)=0
  • Unique stable allocation: {1d,2d,31d,431d}\{1d, 2d, 31d, 431d\}, with welfare 33.
  • Optimum: {1d,2d,32d,432d}\{1d, 2d, 32d, 432d\}, with welfare 3+α3 + \alpha.

AS 3 always has 31d31d available and prefers it, so local decisions never pick 32d32d. Since α\alpha is arbitrary, BGP’s outcome can be arbitrarily far from optimal.

graph BT
  D["d"] --> N1["AS 1"]
  D --> N2["AS 2"]
  N1 --> N3["AS 3: prefers 31d"]
  N2 --> N3
  N3 --> N4["AS 4: prefers 432d, value 1 + alpha"]

(Arrows point customer → provider.)

Policy consistency

DefinitionDefinition 14.6 — policy consistency

For every pair of adjacent nodes i,ji, j and every two routes {Q,R}⊆Pj\{Q, R\} \subseteq P^j with {(i,j)Q,(i,j)R}⊆Pi\{(i,j)Q, (i,j)R\} \subseteq P^i (so ii is on neither): vj(Q)≥vj(R)  ⟹  vi((i,j)Q)≥vi((i,j)R).v_j(Q) \ge v_j(R) \;\Longrightarrow\; v_i((i,j)Q) \ge v_i((i,j)R). Here (i,j)Q(i,j)Q is the route that goes first to jj and then follows QQ.

IntuitionDownstream preferences propagate upstream

If jj is ii‘s next hop on two routes, ii must agree with jj about which is better. When jj picks its favourite, it is automatically picking the favourite of everyone routing through it.

ExampleFig. 14.5 violates policy consistency

Take i=4i=4, j=3j=3, Q=31dQ = 31d, R=32dR = 32d. Then v3(31d)=1≥v3(32d)=0v_3(31d)=1 \ge v_3(32d)=0, but v4(431d)=0<v4(432d)=1+αv_4(431d)=0 < v_4(432d)=1+\alpha. Node 4 disagrees with its next hop, which is exactly the conflict that made BGP suboptimal.

Policy consistency holds in the two best-studied special cases:

CaseValuation depends onWhy it is consistent
next-hop policiesonly the route’s next hop(i,j)Q(i,j)Q and (i,j)R(i,j)R share next hop jj, so ii is indifferent
metric-based policiestotal link length (shorter preferred)a shared prefix (i,j)(i,j) adds the same length to both

The main theorem

TheoremTheorem 14.7 — BGP is optimal and incentive-compatible

If the Gao–Rexford constraints and policy consistency hold, then BGP converges to the social-welfare-maximizing route allocation, and is incentive-compatible in collusion-proof ex-post Nash equilibrium, without any monetary transfer.

The proof actually establishes something stronger in two ways:

  1. it needs only no dispute wheel + policy consistency (Gao–Rexford is one way to get no dispute wheel);
  2. every AS gets its individually best route.

DefinitionLocally optimal allocation

A route allocation is locally optimal if every AS is assigned a route that maximizes its own valuation over PiP^i.

LemmaLemma 14.8 — BGP reaches a locally optimal allocation

If the valuations induce no dispute wheel and policy consistency holds, BGP converges to a unique stable, locally optimal allocation Td={S1,…,Sn}T_d = \{S_1,\dots,S_n\}.

ProofInduction along an arbitrary competing route

Step 0: Set up the comparison. Fix a node mm and any loop-free route R=ukuk−1⋯u0∈PukR = u_k u_{k-1}\cdots u_0 \in P^{u_k} with uk=mu_k = m, u0=du_0 = d. Let Ri=ui⋯u0R_i = u_i \cdots u_0 be its suffix, and write SiS_i for uiu_i‘s route in TdT_d. We show by induction on ii that vui(Si)≥vui(Ri)v_{u_i}(S_i) \ge v_{u_i}(R_i). At i=ki = k this says mm‘s BGP route beats RR. Since mm and RR were arbitrary, TdT_d is locally optimal.

Step 1: Base case i=0i=0. The only route is the empty one. Trivial.

Step 2: Induction hypothesis. vui−1(Si−1)≥vui−1(Ri−1).(14.1)v_{u_{i-1}}(S_{i-1}) \ge v_{u_{i-1}}(R_{i-1}). \tag{14.1} Also, ui∉Ri−1u_i \notin R_{i-1} because RR is loop-free.

Step 3, Case I (ui∉Si−1u_i \notin S_{i-1}): extend and apply consistency. Both Si−1S_{i-1} and Ri−1R_{i-1} extend along (ui,ui−1)(u_i, u_{i-1}) without loops, and (ui,ui−1)Si−1∈Pui(u_i,u_{i-1})S_{i-1} \in P^{u_i}. Then

vui(Si)≥(a)vui((ui,ui−1)Si−1)≥(b)vui(Ri).v_{u_i}(S_i) \overset{(a)}{\ge} v_{u_i}\big((u_i,u_{i-1})S_{i-1}\big) \overset{(b)}{\ge} v_{u_i}(R_i).
  • (a) TdT_d is stable, so SiS_i is at least as good as any other route at uiu_i (eq. 14.3).
  • (b) By (14.1) and policy consistency with j=ui−1j = u_{i-1}, Q=Si−1Q = S_{i-1}, R=Ri−1R = R_{i-1} (eq. 14.2).

Step 4, Case II (ui∈Si−1u_i \in S_{i-1}): consistency is unusable, so use the wheel. Extending Si−1S_{i-1} to uiu_i would create a loop. Since ui−1u_{i-1}‘s route passes through uiu_i, we get ui−1∉Siu_{i-1} \notin S_i (otherwise the confluent tree TdT_d would contain a cycle). Suppose for contradiction that vui(Ri)>vui(Si)v_{u_i}(R_i) > v_{u_i}(S_i). Assemble the chain:

  • Ri⪯2SiR_i \preceq_2 S_i, since uiu_i prefers RiR_i (the assumption);
  • Si⪯1Si−1S_i \preceq_1 S_{i-1}, since Si−1S_{i-1} passes through uiu_i and, by destination-based forwarding, continues from there along SiS_i;
  • Si−1⪯2Ri−1S_{i-1} \preceq_2 R_{i-1}, by the induction hypothesis (14.1);
  • Ri−1⪯1RiR_{i-1} \preceq_1 R_i, since Ri=(ui,ui−1)Ri−1R_i = (u_i,u_{i-1})R_{i-1}.

The key step: this gives Ri⪯Ri−1R_i \preceq R_{i-1} and Ri−1⪯RiR_{i-1} \preceq R_i, but they start at different nodes (ui≠ui−1u_i \ne u_{i-1}). That is a dispute wheel, contradicting the hypothesis. So vui(Ri)≤vui(Si)v_{u_i}(R_i) \le v_{u_i}(S_i). (The chapter adds: recall there are no ties in valuations.)

∎

ProofTheorem 14.7 from Lemma 14.8

Step 1: Convergence. Gao–Rexford ⇒ no dispute wheel ⇒ BGP converges to a unique stable TdT_d, by the Griffin et al. result.

Step 2: Local optimality. Lemma 14.8 applies, since policy consistency holds.

Step 3: Local ⇒ global optimality. For any allocation {R1,…,Rn}\{R_1,\dots,R_n\}, each Ri∈PiR_i \in P^i, so vi(Si)≥vi(Ri)v_i(S_i) \ge v_i(R_i) termwise. Summing gives ∑ivi(Si)≥∑ivi(Ri)\sum_i v_i(S_i) \ge \sum_i v_i(R_i).

Step 4: Local optimality ⇒ deviation-proof. Every AS already holds its single best available route, so no deviation by any group can strictly improve the outcome of even one agent.

Step 5: Deviation-proof ⇒ collusion-proof ex-post Nash. Collusion-proof ex-post Nash only forbids improving one member without harming another. Deviation-proofness forbids improving anyone at all, so it is far stronger. The argument uses no knowledge of other ASes’ types, so it holds ex post. No payments appear anywhere.

∎

NoteHow much of Steps 3–5 is in the source

The chapter asserts Steps 3–5 in two sentences (“observe that any locally optimal solution is also globally optimal… locally optimal solutions are deviation-proof”). The one-line justifications above are filled in, not quoted.

RemarkRemark 14.9 — subinstances

Lemma 14.8 holds on every subinstance of the AS graph, because Gao–Rexford and policy consistency are preserved when nodes and links are removed.

RemarkRemark 14.10 — no equilibrium selection problem

No dispute wheel ⇒ a unique collusion-proof ex-post Nash solution, and BGP converges to it. So there is no worry about nodes coordinating on which equilibrium to play.


Open problems

  • Beyond routing. Candidates include web caching, P2P file sharing, overlay construction and distributed task allocation. Each has literature on distributed algorithms and on incentives, but no coherent DAMD theory unifies them.
  • BGP convergence. There is no complete characterization of robust convergence; no dispute wheel is sufficient, not known necessary.
  • BGP incentives. Gao–Rexford + policy consistency are sufficient, not known necessary, for collusion-proof ex-post Nash. There are no necessary and sufficient conditions even for plain ex-post Nash, even allowing payments. Little is known without policy consistency and local optimality.
  • Network complexity of BGP is open even when convergence is guaranteed.

Quick reference

ObjectStatementNote
AMD vs DAMDDAMD distributes computation as well as incentivesneeded when there’s no trusted center or centralizing is too costly
Network complexitytotal msgs, max msgs per link, max msg size, local compute, local storageexcess in any one is unacceptable
Computational manipulationagents misreport local results or withhold messagesabsent in AMD
Distributed VCGreplicate across two groups; penalize disagreementfaithful computation is ex-post Nash, not dominant
VCG paymentpi=W−i−W+vi(o~)p_i = W_{-i} - W + v_i(\tilde o)harm imposed on others
Laffont–Greenstrategyproof + efficient + budget-balanced is impossiblehence MC vs SH
MC mechanismserve largest NW-maximizer S~\tilde S; pi=σiui−NW^+NW^−ip_i = \sigma_i u_i - \widehat{NW} + \widehat{NW}_{-i}efficient, strategyproof
SH mechanismsplit link cost equally downstream; prune pi>uip_i > u_ibudget-balanced, strategyproof
SH order independencelegal orderings concatenate; reachable sets closed under ∩\capvia cross-monotonicity
Thm 14.1SH needs Ω(∣P∣)\Omega(\lvert P\rvert) bits over linearly many linksproof not in chapter
Thm 14.2MC: two messages per link, one up pass, one down passmessage-optimal
MC sharepi=max⁡(0, ui−yi(u))p_i = \max(0,\, u_i - y_i(u)), with yiy_i = min WαW^\alpha on the path to the rootproof is an exercise
Path-vectorfull AS path in each updateonly design that is loop-free under autonomy
BGP stagesimport → select → export, iteratedeach with its own policy
Fig. 14.4mutual “prefer the other” ⇒ possible oscillationtiming-dependent
Def 14.3no dispute wheel: ⪯\preceq antisymmetric up to same start node⪯=(⪯1∪⪯2)∗\preceq = (\preceq_1 \cup \preceq_2)^*
No dispute wheel⇒ unique stable allocation, robust convergencesufficient, not known necessary
Def 14.4dM=(Σ,g,sM)dM = (\Sigma, g, s^M)siMs_i^M = algorithm ii should run
Def 14.5ex-post Nash: s∗s^* best response for all type profilesno knowledge of others’ types
Collusion-proof ex-post Nashno group deviation helps a member without hurting another
Gao–Rexfordno CP cycles; customer > peer > provider; transit only for customers⇒ no dispute wheel
Fig. 14.5Gao–Rexford-stable allocation can be arbitrarily suboptimalloses α\alpha
Def 14.6 policy consistencyvj(Q)≥vj(R)⇒vi((i,j)Q)≥vi((i,j)R)v_j(Q) \ge v_j(R) \Rightarrow v_i((i,j)Q) \ge v_i((i,j)R)holds for next-hop and metric policies
Lemma 14.8no dispute wheel + consistency ⇒ BGP locally optimalinduction; Case II via dispute wheel
Thm 14.7Gao–Rexford + consistency ⇒ BGP optimal, collusion-proof ex-post Nash, no paymentsactually deviation-proof
Remarks 14.9–10holds on subinstances; unique equilibriumno selection problem

Facts to keep to hand

  • Distributing computation costs a solution concept. Every result here drops from dominant strategies to ex-post Nash. The drop comes from letting agents compute, not from anything about types.
  • Each §14.2 example isolates one axis. VCG has manipulation but no complexity issue; multicast has complexity but obedient infrastructure. Routing has both.
  • Two ways to make faithful computation rational. Replication uses a strategyproof core plus a disagreement penalty, so honest play is a benchmark you can’t beat. BGP under Gao–Rexford + consistency uses local optimality: nobody has anything left to gain, so no penalty or payment is needed.
  • No dispute wheel does three jobs: convergence, uniqueness (so no equilibrium selection), and the contradiction in Lemma 14.8 Case II.
  • Gao–Rexford buys stability; policy consistency buys optimality. Fig. 14.5 is the gap between them: a stable outcome in which an upstream AS disagrees with its next hop.
  • In Lemma 14.8 the two cases use different hypotheses. Case I extends a route and uses policy consistency. Case II can’t extend (a loop would form) and uses no dispute wheel.
  • Central complexity doesn’t predict network complexity. MC and SH are both polynomial centrally, yet constant vs linear bits per link. Locality of the payment rule, one path-minimum flowing down, is what matters.
  • Every sufficient condition in the chapter is not known to be necessary. This applies to dispute wheels, Gao–Rexford, and policy consistency.

References

← All notes