livepeer / livepeer/prob-pay

Bounding the additional utility of double spends

Open
#4 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

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.](https://eprint.iacr.org/2016/1033.pdf) 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?

- If `T` is unbounded, then recipients never detect double spends which means double spending senders have unbounded additional utility.
- If `N` is unbounded, then recipients can double spend across an unlimited number of recipients which means double spending senders have unbounded additional utility.
- If `W` is unbounded, then there is > 0 recipients that are accepting an unlimited number of payments so a double spending sender can work with those recipients to gain unbounded additional utility.

Related:
#5
#6

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the linked Chiesa et al. analysis and the related issues #5 and #6. The issue is complete when the system's restrictions on T, N, A, and W are specified well enough to bound the additional utility and determine the required penalty escrow.

Written by the indexing model from the issue text.

Assessment

Tech stack
blockchain
Domain
blockchain, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.