Joystream / Joystream/joystream

NFT Idea: Metadata freezing or and cooperative thawing

Open
#3,284 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

content-pallet high-value idea post-mainnet runtime
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.