Joystream / Joystream/joystream
NFT Idea: Metadata freezing or and cooperative thawing
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 1.4k
- Forks
- 116
- PR merge metrics
- No merged PRs in 30d
Description
The current metadata associated with an NFT may be essential to the meaning the owner (as distinct from the issuer) attributes to that ownership, this means it may be very valuable for owners to have assurances about how this can be updated in the future by the issuer, if at all. A blunt solution is to just make it immutable, at least if owner is not issuer, as we have today, and it is enforced by the runtime in update_video, which fails if video has NFT issued. This is a fine state of affairs today, but one effect of this is that everything about the video is permanently immutable, e.g. subtitle tracks, or new assets or metadata which can in fact add value to the NFT, and also may not be aligned with the preferences of the issuer. A deeper fix to this tradeoff is to add explicit freeze state to each NFT, triggerable by the issuer, which from that point on blocks updates. There could be a complementary thaw which can be triggered by the issuer, which requires confirmation by owner, which when confirmed leads to reversing freeze.
Note: perhaps adding thaw is too much? perhaps as first step just do active thaw step.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the runtime's update_video path, which currently rejects updates after an NFT is issued. Trace the related NFT ownership and metadata-update handling, then clarify whether the first milestone is issuer-triggered freezing alone or also owner-confirmed thawing; done means the chosen state transitions and their effect on updates are specified and implemented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- blockchain
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100