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

ZIP 320: Specify alternatives for transparent-source addresses. #760

Merged
merged 11 commits into from Jan 15, 2024

Conversation

nuttycom
Copy link
Contributor

@nuttycom nuttycom commented Jan 12, 2024

This provides two alternatives for how to implement transparent-source-only addresses:

  • A new, separate Bech32m encoding with the tex human-readable part
  • A modification to Unified Addresses to support the transparent-source requirement.

closes #757

This provides two alternatives for how to implement
transparent-source-only addresses:
* A new, separate `bech32m` encoding with the `tex` human-readable part
* A modification to Unified Addresses to support the transparent-source
  requirement.
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Show resolved Hide resolved
zip-0320.rst Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
nuttycom and others added 2 commits January 13, 2024 08:10
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
Copy link
Collaborator

@daira daira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At least the error in the P2PKH lead bytes for testnet is blocking.

zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved
zip-0320.rst Outdated Show resolved Hide resolved

A Unified Viewing Key MUST contain at least one shielded Item (Typecodes
:math:`\mathtt{0x02}` and :math:`\mathtt{0x03}`).

Copy link
Collaborator

@daira daira Jan 15, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's also necessary to add "Traceable P2PKH Receiver" to the ZIP 316 priority list. You might think that (after applying the suggestion above) it's not necessary to define its priority, because for any UA that has a Traceable P2PKH Receiver, it will be the only Receiver. However, ZIP 316 defines the "preferred" ordering like this:

We say that a Receiver Type is “preferred” over another when it appears earlier in this Priority List (as potentially modified by experiments).

which means that it is not well-defined to specify that the most-preferred Receiver is used unless all Receiver types have a priority. Also, implementations will in practice give all types a priority because that's the simplest way to implement it — so it might as well be specified that way.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm. So does that mean that a Traceable P2PKH Receiver has the highest priority? I think that I would prefer to mention Traceable P2PKH Receivers in the section where priorities are defined, but instead of assigning a priority clarify that the priority of a Traceable P2PKH Receiver is undefined as it must never be present in an address with any other receivers.

Sum type, rather than picking an "unused" element of the domain, you know?

Copy link
Collaborator

@daira daira Jan 15, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it matters as long as the Receiver selection is well-defined.

Copy link
Collaborator

@daira daira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added more comments.

Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
zip-0320.rst Outdated Show resolved Hide resolved
Copy link
Collaborator

@daira daira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK. This can be merged once comments are addressed.

Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
@nuttycom nuttycom merged commit 00bbb78 into zcash:main Jan 15, 2024
@nuttycom nuttycom deleted the zip-316/t_source_addrs branch January 15, 2024 14:34
Copy link
Collaborator

@daira daira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Post-hoc ACK.


The Binance cryptocurrency exchange requires that funds sent to their deposit
addresses come from source addresses that are readily identifiable using
on-chain information, such that if necessary funds may be rejected by sending
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we add commas before/after "if necessary" here for clarity?

zip-0320.rst Show resolved Hide resolved
@conradoplg
Copy link
Contributor

Post-hoc review, looks good

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.

[ZIP 320] Transparent-source Addresses
4 participants