joystream icon indicating copy to clipboard operation
joystream copied to clipboard

Introduce immutable channel handles

Open bedeho opened this issue 2 years ago • 0 comments

Background

Channels currently just have names, which are mutable and need not be unique. Only immutable identifier is an integer, the channel id. This seems like a bad idea, doing things like @-mentiong the channel, searching and doing other things, would benefit from a human readable name one could trust. Also may make it easier to distinguish fake from real channels, as raw numbers are not memorable, and assets&name can easily be mimicked. Distinguishing real from fake will be very important as part of CRTs.

Proposal

Introduce immutable runtime enforced channel handles. Since all old channels will not have them, the will only be unique up among set handles. I don't think any migration would be needed on the runtime side. One difficulty is what to do about deleted channels, should new channels be able to use those handles? if not, then this will contribute to persistent storage footprint, but unlikely to be a big deal.

Could be released with any any immediate implications in Atlas, CLI or other tools, if we allow creation of new channels without a handle set. If we enforce handles for all new channels, then that would require some tweaking of those dependencies. An importnat value unlock is of-course having Atlas resolve channels through handles, not only IDs.

bedeho avatar Oct 19 '22 13:10 bedeho