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

Discuss fee options in protocol document #74

Merged
merged 1 commit into from
Jul 8, 2020
Merged

Discuss fee options in protocol document #74

merged 1 commit into from
Jul 8, 2020

Conversation

nothingmuch
Copy link
Contributor

  • Client calculation network & coordinator fees and account in balance proof
  • Coordinator adjustment of credential amounts

- Client calculation network & coordinator fees and account in balance proof
- Coordinator adjustment of credential amounts
@nothingmuch
Copy link
Contributor Author

nothingmuch commented Jul 8, 2020

after transaction structure we will probably have to revisit this if the coordinator provides incentives for certain outputs. for example, a policy i have in mind is to allow 0 mixing fees for sufficiently old, low hamming weight outputs of distinct previous coinjoins by the same coordinator, effectively letting users remix for free but only if they've aged their mixed outputs enough. it's not clear to me if it's better to make that be a static policy or done by adjustments. also note that the coordinator can pre-announce any adjustment at input registration instead of waiting until the last connection confirmation to reveal the adjustment, thus avoiding the need to tweak the requests.

@nothingmuch
Copy link
Contributor Author

nothingmuch commented Jul 8, 2020

note that this does not cover #18, which would require a more complex design:

  • long lived fee-only credentials (can just be wabisabi credentials with per epoch issuer parameters)
  • additional presentation and change request with these fee credentials in every request
  • instead of one balance term, there are two, one for the nominal amount and one for fees paid (both network and coordinator fees)
  • input amounts can be converted to fee amounts but not vice versa
  • fee credentials are not actually issued until after the round fails or the coinjoin tx is confirmed. after failure, presented credentials can be refunded in exchange for new ones. on success change requests previously validated by balance proofs can be issued.
  • fee reissuance command for consolidation and epoch migration (older tokens expire to keep server state bounded)
  • the coordinator would cover mining fees by providing inputs, which it can do as part of consolidation of previous transactions' fees

such a design would allow small amounts of change to be converted to prepaid fee tokens

@nopara73 nopara73 merged commit 19af929 into master Jul 8, 2020
@nopara73 nopara73 deleted the fees branch July 8, 2020 12:17
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

Successfully merging this pull request may close these issues.

2 participants