livepeer / prob-pay

Probabilistic payments built on Ethereum
0 stars 1 forks source link

Bounding the additional utility of double spends #4

Open yondonfu opened 5 years ago

yondonfu commented 5 years ago

Given the offline nature of probabilistic payments (parties do not wait for transactions to confirm on-chain to ensure global consensus on state), double spends cannot be completely prevented. However, double spends can be deterred using sender penalty escrows.

Chiesa et. al. have provided a formal economic analysis on double spending with probabilistic payments which the description below draws from.

In order for a penalty escrow to effectively deter double spends, its value must be greater than the additional utility a sender can gain from double spending across multiple recipients. If we consider an unlimited set of recipients without any limits on the value transacted for each recipient then a sender essentially has unbounded additional utility from double spending. As a result, a probabilistic payment system needs to implement restrictions on the following parameters in order to bound the additional utility gained from double spends:

  1. T: The time required for a double spend to be detected.
  2. N: The maximum number of recipients.
  3. A: The cumulative value of probabilistic payments (expected values) sent before a double spend is detected.
  4. W: The cumulative value of macropayments (face value of winning tickets) sent before a double spend is detected.

A affects the average case utility gain from double spends and W affects the worse case utility gain from double spends. For simplicity let's just consider W and the worst case utility gain from double spends.

All of these parameters should be considered on a per penalty escrow basis - bounds on the values of these parameters can be used to derive the additional utility gained from double spends which can be used to derive the required value for a particular sender's penalty escrow which must cover the maximum amount of financial activity that a sender can take part in during the time required to detect double spends.

Why do we need to bound these particular parameters?

Related:

5

6

dob commented 5 years ago

Clarifying that the practical execution of W would be something like: