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

Algorithm for Digital Cash Transactions #29

Open
coolaj86 opened this issue Mar 23, 2023 · 0 comments
Open

Algorithm for Digital Cash Transactions #29

coolaj86 opened this issue Mar 23, 2023 · 0 comments

Comments

@coolaj86
Copy link
Member

coolaj86 commented Mar 23, 2023

We need two terms to use

  • Clean (Cash-like, Respectful)
    • Clean transactions are cash-like
    • Normal txes are clean
    • Clean txes are respectful
  • Dirty (Greedy, Rude, Irregular, high-entropy)
    • Dirty transactions are irregular, high-entropy
    • Dirty transactions leave fingerprints
    • Dirty transactions are rude to the person you're exchanging with
    • Greedy transactions are dirty

When we deal with cash (or even credit cards), we don't give exact change down to 0.00000001.

For a Cash-like digital currency (such as DASH), we should also follow a principle of rounding.

  • pay at least the minimum transaction fee
  • pay at least what was requested + 200-400 for tx fee
  • probably rounding to the 0.001 DASH when DASH is worth between $5 and $75 (0.5¢-7.5¢)
  • there needs to be a way to indicate
    • buyer pays fees vs seller pays fees
    • irregular (high-entropy) transactions
    • preferred cash back denoms
  • 💡 there should be no difference between a payment, breaking change, and a coinjoin
    • if that's the case, we generally don't need extra payments back to self
    • (but if we do, there should always be multiple)
  • must be easy to port, must have reference tests

For certain applications (such as Dash Direct), this may need to be turned off.

Ideal:

  • no per transaction fee
  • scattershot reputation-based broker feen

Runner Up:

  • Cash
    • 1000.0 (special)
    • 200.0, 100.0, 50.0
    • 20.0, 10.0, 5.0
    • 2.0, 1.0, 0.5
    • 0.2, 0.1, 0.05
    • 0.02, 0.01, 0.005
    • 0.002, 0.001
  • Stamps - 0.00001000, 0.00000500, 0.00000200
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