Skip to content

Instantly share code, notes, and snippets.

Created October 11, 2023 06:46
Show Gist options
  • Save laudiacay/3e082a234e3424701b38f10ef174e720 to your computer and use it in GitHub Desktop.
Save laudiacay/3e082a234e3424701b38f10ef174e720 to your computer and use it in GitHub Desktop.

Side Channel Game Theory w/ Claudia

The structure of this interaction is a repeated prisoner’s dilemma. And because of the nature of the application under discussion there will likely be at least one of the parties aware of the final period, making it a finitely repeated prisoner’s dilemma. This presents problems for cooperation since, at least in theory, the sole subgame perfect equilibrium in such a game is non-cooperation. Experiments provide us some hope since, though they document end-game defection, they do observe some cooperation in early rounds. But even so, experiments frequently observe end-game non-cooperation which is not ideal for serious applications.

One option is to embed this finitely repeated game in a longer repeated game under uncertainty. This is the familiar “reputation” structure which brings with it familiar concerns about centralization and barriers to entry.

But another unique option provided to us in this case is to use commitment to allow one-period ahead conditional payments. The insight here is that a repeated P.D. game structured in such a way is simply an iterative principal-agent game. Let's consider the final two periods of such a game to see how cooperation can be sustained in contrast to the final periods of a prisoner's dilemma. Then we will sketch an argument for how this resolves into a structure like the finitely repeated prisoner's dilemma.

Two-Period Principal-Agent Game


  • Principal (P) and Agent (A) have an action $a$ available which provides private benefit $b$ to principal and requires effort cost $c$ from agent. We restrict attention to cases with potential gains from cooperation such that $b>c$.
  • Two period game, where in the first period we allow the Principal to make a payment to agent conditional on $a=1$ (at private cost $c$.) Respecting agent's participation constraint, let this payment equal $c + \epsilon$
  • In the second period agent chooses action $a$ and recieves any conditional payment.

Payoffs with agent's payoff represented as $\pi_A$ and Principal's as $\pi_P$, are as follows:

\begin{cases} \pi_A(a=1) = c +\epsilon - c = \epsilon & \text{Agent's payoff if task is performed} \ \pi_P(a=1) = b - c - \epsilon & \text{Principal's payoff if task is performed} \ \pi_A(a=0) = 0 & \text{Agent's net payoff if task is not performed} \ \pi_P(a=0) = 0 & \text{Principal's net payoff if task is not performed} \ \end{cases}

With $b-c-\epsilon \geq \epsilon > 0$, both parties prefer $a=1$. Principal makes the conditional payment, and agent follows the task.

Three-Period Principal-Agent Game

Now we can extend this back further to see the reciprical nature of the game. We will refer to the two period case's Principal as Patty and Agent as Adam here, so as not to confuse things since in the three period case the "Agent" (Adam) will also be proposing payments to the "principle" (Patty) who will also be choosing an action.

Using the same incentive setup as in the two period case, consider that Adam in period 1 is choosing to pay Patty in period 2 for some $a_p$ which provides private benefit $b_a$ to Adam and requires effort cost $c_p$ from Patty. Again restricting attention to cases with potential gains from cooperation such that $b_a>c_p$, we will find that Adam offers $c_p +\epsilon$.

It's then Patty who after Period 2 gets $c +\epsilon - c = \epsilon$ in equilibrium, with Adam getting $b - c - \epsilon$. If Patty is asked in period 2 to simultaneously choose a conditional payment for Adam's effort in the third and final period, she should choose as she did in the two person game, for the same reasons.

Across these three periods then, Adam's equilibrium payoffs are $(b - c - \epsilon) + (c + \epsilon - c) = b-c$. By symmetry, Patty's payoffs are the same. Recall that $b-c$ is the pareto improvement available in the game, so both get the full "cooperative" payoff.


  • are there other practical strategies available to the players that can undo certain of these commitments? If so, then we can think of programmtic ofr UX structure as providing helpful frictions but not guaranteeing cooperation.
  • How conditional can we make these payments? Ideally we can make them conditional on the task itself, but would suffice to make them conditional on some observable that left the agent indifferent between the task and some other task (e.g. sending some packet of some size)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment