Bounding the additional utility of double spends
- 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