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

RFC: Fee provider #1

Open
pythcoiner opened this issue Dec 26, 2024 · 2 comments
Open

RFC: Fee provider #1

pythcoiner opened this issue Dec 26, 2024 · 2 comments

Comments

@pythcoiner
Copy link
Owner

About fee calculation:

It's not possible to reason about the fees of an transacation when we do not yet
know it's inputs, and fees in coinjoins are a quite important subject.
An other point to consider about the fees is the 'peeling effect':
if if an user want to coinjoin several time the same coin, it will
"peel" it by paying fee and it's impossible to keep a coin w/ a stable denomination,
making hard to have standard denomination pools ala samourai.
One solution can be to have some fee providers that will accept payment for the fees
via lightning or liquid and will add 1 input to the psbt.

Fee provider

One solution of fee provider can be:

  • The fee provider run an nostr relay
  • Peer have a (custodial) 'account' at the fee provider, using ecash/ln/liquid/ or whatever you
    want
  • Fees are never payed by peers in the coinjoined input/outputs in order to keep rounded
    denomination values.
  • Instead of creating a toxic change, the amount delta can be used to found an additionnal
    output that go to the fee provider (minus the tx fee that will be deducted from peer
    "account").
  • if there is no tx funding the fee provider, the provider will add an input that cover the
    tx fees.
  • only one fee provider per pool, so all output funding the provider account can be
    aggregated or only 1 input pay for fees.
  • peers can join a pool w/ an "i dont want pay fee" flag so ppl who want to have a quick
    coinjoin or ready to pay for others fee can cherry pick those inputs.
@1440000bytes
Copy link

1440000bytes commented Dec 28, 2024

Peer have a (custodial) 'account' at the fee provider, using ecash/ln/liquid/ or whatever you
want

I don't think this is a major concern for most users. However, a custodian would never be a solution or part of the protocol.

@pythcoiner
Copy link
Owner Author

i don't mean to a custodian to be part of the protocol, but i think we should allow ppl to construct pool that allow such construction:

  • 1 input to pay fees
  • 1 output to get the change from the "fee" input

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

2 participants