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

Basic Mode - Unified Address only for Orchard #439

Open
Edicksonjga opened this issue Jul 12, 2023 · 8 comments
Open

Basic Mode - Unified Address only for Orchard #439

Edicksonjga opened this issue Jul 12, 2023 · 8 comments
Assignees
Labels
enhancement New feature or request low-priority

Comments

@Edicksonjga
Copy link

Unified addresses are great, in the future they will improve interoperability and decrease the difficulty by not having to use as many addresses.

But, a complete unified address can imply a more advanced use of the wallet, why?

Other Zcash wallets identify the mixed pools in the unified address and send the funds to two pools if necessary to keep the transaction as private as possible.

Example:

If User A has funds in Sapling and Orchard and sends funds to User B's full unified address, User B will receive funds in the Sapling and Orchard pool which triggers one more feature in Zingo, Migrate Funds from Sapling to Orchard.

The above would change if user B (basic user) uses a unified address only for Orchard since the user will always receive the funds in the last shielded pool, Orchard, regardless of the wallet from which the funds are sent.

Note: add a tooltips that is displayed on the first opening of the wallet and that indicates that they can use other addresses if they activate the expert mode. The user may at some point require a transparent address to receive ZECs from an exchange, these mostly only accept transparent addresses.

@juanky201271
Copy link
Contributor

Well, sounds good to make the life easier to the basic user... @zancas @AloeareV What do you think?

@zancas
Copy link
Member

zancas commented Jul 14, 2023

So, the proposal is that the Basic User B has an Orchard-Only UA on their receive screen? I like this a lot.

There's another reason to favor a shorter-simpler, which is that, since it contains less information it is easier to scan. Making the address more scan-able is particularly important for physical devices that are more resource constrained.

@Edicksonjga
Copy link
Author

I am imagining Basic Mode as onboarding new users. I hope we can design flows that keep new users from ever having any Sapling funds. Ideally therefore, for the basic mode User A.. they won't have to deal with funds split across two pools.

Will automatic funds migration to Orchard be used, otherwise a user could receive funds from YWallet via a full Unified Address and if the sender has funds in Sapling and Orchard, YWallet will perform a transaction using funds from Sapling and Orchard.

Result: the receiver (basic user) will have to deal with funds in both pools.

This changes if the receiving user uses a unified address just for Orchard. @zancas

@Edicksonjga
Copy link
Author

So, the proposal is that the Basic User B has an Orchard-Only UA on their receive screen? I like this a lot.

Yes, basically that's the proposal, that Zingo users in basic mode use unified addresses only for Orchard. @zancas

@zancas
Copy link
Member

zancas commented Jul 14, 2023

I am in favor.

@zancas
Copy link
Member

zancas commented Jul 14, 2023

I should say, I am in favor because I did direct user testing. This happens when I:

ASK PEOPLE TO TRY IT

Then, the ones that do, have all kinds of ideas for me about to make it better. When we hang out and chat about it...

@juanky201271
Copy link
Contributor

In order to accomplish this... What is the best option?

The default configuration of a wallet about addresses is:

  1. UA with three receivers (orchard, sapling & transparent).
  2. ZA sapling receiver.
  3. TA transparent receiver.

No one is an UA with only one receiver: orchard.... mmmmm. What do you think guys? @zancas @AloeareV @Oscar-Pepper

@juanky201271 juanky201271 added the enhancement New feature or request label Jul 27, 2023
@AloeareV
Copy link

One very common pattern is to receive from an exchange, in order to take custody of one's funds. This is a pattern that won't come up during your testing, @zancas, as if you're sending your testees funds then their funding source is explicitly not an exchange, but for someone not being explicitly onboarded by a developer, the simplest and most common way to get funds is to buy them for fiat on an exchange, and then receive from the exchange. Most exchanges won't send to UAs.

Also, in response to
"If User A has funds in Sapling and Orchard and sends funds to User B's full unified address, User B will receive funds in the Sapling and Orchard pool which triggers one more feature in Zingo, Migrate Funds from Sapling to Orchard.

The above would change if user B (basic user) uses a unified address only for Orchard since the user will always receive the funds in the last shielded pool, Orchard, regardless of the wallet from which the funds are sent."

The only way user A will send to sapling is if they're using a wallet that doesn't support orchard at all. If they support orchard, all their sent funds will go to orchard. If they don't, then they can't send to an orchard-only UA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request low-priority
Projects
None yet
Development

No branches or pull requests

4 participants