Skip to content

SIP-038: Standard Trait Definition for Commitment-Based Private Metadata (Encrypted NFTs)#250

Open
proofofgame wants to merge 7 commits intostacksgov:mainfrom
proofofgame:sip-enft-private-layer
Open

SIP-038: Standard Trait Definition for Commitment-Based Private Metadata (Encrypted NFTs)#250
proofofgame wants to merge 7 commits intostacksgov:mainfrom
proofofgame:sip-enft-private-layer

Conversation

@proofofgame
Copy link

Adds a draft SIP proposing an eNFT trait for commitment-based private layers (non-consensus). Discussion: https://forum.stacks.org/t/encrypted-nfts-on-stacks-a-standard-trait-for-commitment-based-private-layers-enft/18560

Copy link
Contributor

@314159265359879 314159265359879 left a comment

Choose a reason for hiding this comment

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

@proofofgame Thank you for sending this PR, I think this would be an excellent addition. It is well written and already close to ready for the next step.

Overall I believe:

  • The SIP meets the minimum bar for a standards-track proposal.
  • Technical content is coherent, minimal, and well justified.
  • With minor editorial tightening and one or two clarifying statements, it would be appropriate for formal consideration and community review under the SIP process.

Minimum additions or clarifications recommended before editor sign-off:

  1. Explicit relationship to SIP-009
  • Add one short paragraph explicitly stating that this trait is designed to be implemented alongside SIP-009-compliant NFTs, not as a replacement.
  • This avoids ambiguity for reviewers and implementers.
  1. Trait optionality clarification
  • Explicitly state that get-owner-envelope is optional and that contracts may implement only the commitment interface.
  • This is implied but should be stated normatively.
  1. Algorithm registry guidance
  • While flexibility is good, SIP reviewers may request a short table or registry suggestion for algo values (even if non-binding).
  • This can remain informative, not normative.
  1. Failure mode clarity
  • Clarify expected behavior when no private layer exists for a token-id (e.g., return error vs. empty optional).
  • You already recommend an error code; explicitly tie this to trait behavior.

Some global editorial notes:

  • Capitalization is mostly consistent; keep section headers capitalized, but avoid unnecessary capitalization in prose.
  • Reduce parenthetical overload where possible; move clarifications into short sentences.
  • Prefer declarative, shorter sentences for readability.
  • Replace passive constructions where clarity improves.

I did my best to mark specific ways on how to improve the SIP further, as much as possible with examples so hopefully you don't have to guess what I mean. Feel free to make adjustments if there is anything I misunderstood.

Overall quality is high. The proposal is clear, technically sound, and already close to SIP-ready. Issues are mostly consistency, minor grammar, and opportunities to simplify language without losing rigor.

@proofofgame proofofgame changed the title SIP-XXX: Encrypted NFTs - Standard Trait for Commitment-Based Private Layers (eNFT) SIP-XXX: Standard Trait Definition for Commitment-Based Private Metadata (Encrypted NFTs) Jan 17, 2026
Clarified notes on events and updated security considerations regarding read-only visibility and owner gating.
@wileyj wileyj changed the title SIP-XXX: Standard Trait Definition for Commitment-Based Private Metadata (Encrypted NFTs) SIP-038: Standard Trait Definition for Commitment-Based Private Metadata (Encrypted NFTs) Feb 11, 2026
@wileyj
Copy link
Contributor

wileyj commented Feb 11, 2026

@proofofgame - in addition to the initial formatting suggestion, could you move your proposal to the expected folder structure in your fork?
./sip-enft-private-layer.md -> ./sips/sip-038/sip-enft-private-layer.md

Move SIP-038 to standard folder structure, address all reviewer feedback
@proofofgame
Copy link
Author

Done - moved to sips/sip-038/, updated preamble to SIP-038 plain formatting. All reviewer feedback addressed.

@314159265359879
Copy link
Contributor

I am happy with the changes you made based on my comments. This looks ready for editor sign-off.

I believe you are still working on some of the comments that wileyj suggested/requested.

Updated terminology and clarified user experience guidance in the SIP for Encrypted NFTs. Added notes on encryption flexibility and MIME type validation.
@proofofgame
Copy link
Author

Thanks a lot - appreciate it. @314159265359879

You were right: I was still finishing a few wileyj comments. Those are now addressed and pushed, and I’m resolving the completed threads.

When you get a chance, please re-check and update the review state if everything looks good. Thank you.

@wileyj
Copy link
Contributor

wileyj commented Feb 24, 2026

Thanks a lot - appreciate it. @314159265359879

You were right: I was still finishing a few wileyj comments. Those are now addressed and pushed, and I’m resolving the completed threads.

When you get a chance, please re-check and update the review state if everything looks good. Thank you.

Thanks for the updates! agreed with @314159265359879 that this looks ready for editor sign-off - i just want to re-read the spec again to flag that one comment i made.

@proofofgame
Copy link
Author

Hi all, just a quick follow-up on this PR.

I believe the requested changes have now been addressed in the latest commits. When you have a moment, could you please re-check the current version and update the review state if it looks good for editor sign-off?

Thanks again

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.

4 participants