Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

["pile"] throughput #16

Open
quinn-dougherty opened this issue Sep 27, 2021 · 3 comments
Open

["pile"] throughput #16

quinn-dougherty opened this issue Sep 27, 2021 · 3 comments

Comments

@quinn-dougherty
Copy link
Contributor

Description

  • if two people perform the same action at the same time, that action should be performed at the same price.
  • weaker form: chance oughtn't make one a winner and another a loser.
  • This generalizes to n people.

Imagine alice and bob each withdraw 10 liquidity tokens at the same time. Well, the pools can't support them each doing so for the same price, the unfair solution is as far as I know status quo for the life of the day trader: by essentially random chance or microseconds-difference in transaction submission, either alice or bob pays more for their 10 liquidity tokens. Something fair would be "if two people perform the same action at the same time, that action should be performed at the same price".

The way we see it (per a phonecall with Isaac) is that the unfair solution is valid as long as we're clear that that's what we're doing, while the fair solution would be nice.

Deliverable

I think the audit language should basically recapitulate/summarize Nick's poolpicking and Morgan's parallelization documents with respect to properties like this.

Notes

Isaac met someone who claimed that their concurrency solution had the strong form of this property. They did it by making all transactions length two in UTXOs: the first UTXO would calculate a transaction plan that takes the current state of the market and fixes prices for the transactions, and the second executes with those prices.

@quinn-dougherty
Copy link
Contributor Author

resource written by Morgan.

@quinn-dougherty
Copy link
Contributor Author

The Cardano mempool is designed to be "fair". Transactions are processed in a FIFO order regardless or how much in fees they pay

source: IntersectMBO/cardano-node#3247

@quinn-dougherty
Copy link
Contributor Author

This lives here at src/considerations/throughput.md

@quinn-dougherty quinn-dougherty changed the title ["pile"] A nice property for any concurrency solution to have: fairness ["pile"] throughput Nov 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant