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

3 path UX for sending with WabiSabi #77

Open
MaxHillebrand opened this issue Aug 3, 2020 · 0 comments
Open

3 path UX for sending with WabiSabi #77

MaxHillebrand opened this issue Aug 3, 2020 · 0 comments

Comments

@MaxHillebrand
Copy link
Contributor

This is another blabbering issue where I document some of my thoughts on one aspect of WabiSabi, this is probably out of scope for the current state of research, also the nuances in implementation will of course differ greatly.

How to send bitcoin with WabiSabi?

The user has three different options to choose from, when he desires to send some bitcoin: Low time preference WabiSabi, High time preference WabiSabi, reckless regular. The trade-offs matrix is: privacy, speed, fees.

Low time preference WabiSabi

This is a CoinJoin that provides high privacy, because this tx has many users / k anonset. the speed however is slow, in both the coordination [minimum k anonset / timeout trigger the round] as well as in on-chain confirmation [14/24 h fee target]. The coordinator fees can be very low when doing a high-privacy remix, or high with fresh bitcoin.

This CoinJoin is designed for sending to one-self, both CoinJoin / remixes to self, as well as to a different wallet like hardware wallet; or making a payment to a receiver who can wait for both the appearance of the tx in the mempool [after coordination] as well as confirmation.

High time preference WabiSabi

This is a CoinJoin that provides medium privacy, because the tx has only a low number of users / k anonset [but above 1]. The speed is medium fast, as the coordination is quick [for example 10 users or 5 minutes], and the on-chain confirmation target is a high priority too. The coordinator fees might be even free, considering the low anonset and the small value utxo the coordinator would create.

This CoinJoin is designed for sending to others in a CoinJoin. The coordintaion is quick, so it can be expected that users leave their wasabi open after starting to negotiate the tx. And for these tx, all peers agree to a high priority on-chain fee. The privacy provided is lower, because less users, but still better than a non-CJ tx.

reckless regular

This is a non-CoinJoin transaction. The privacy is the worst, as no anonset is generated at all. The speed is the fastest, as there is no coordination, and the user can select his own custom on-chain fee preference. There is no coordination fee at all, so it is likely the cheapest.

This is for users who want to make a custom transaction, who do not want to use coinjoin for this payment, or require some very fast confirmation. It can be argued that in a privacy focused wallet this option should be hidden in the UI, or at least not the default.

The automatic coin selection should favor high anonset coins for this tx, as then there are still some privacy guarantees.

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