-
Notifications
You must be signed in to change notification settings - Fork 117
Restrict content curator deletion powers #4589
Description
Background
Currently, moderators can do the following deletions
delete_video_as_moderator: requires that video has no NFTdelete_channel_as_moderator: requires that channel has no videos, and also in the future no creator token.delete_channel_assets_as_moderator: can always be donedelete_video_assets_as_moderator: can always be done
There is a big distinction between 1&2 vs. 3&4. The former group really means that a publisher who wants to can effectively block curators from removing these objects by making sure requirements are not satisfied (have NFTs, videos and creator tokens). This group also the most contentious forms of moderation, where you basically accept that the DAO can remove, in principle, anyone for any reason. The latter group not only cannot be blocked by the publisher, but it is also the case where lack of moderation could not even be an option in theory. Even leaving the side of the economic ROI of certain content being possibly so low as not being worth while, other content would be effectively toxic for the entire system, and it would be catastrophic for the infra operators to have to host or distribute.
This combination of characteristics leads me to think that its best to deprecate 1&2. Their presence undercuts the immutable ownership property the ledger can offer - which many will find attractive, while simultaneously not actually protecting the ledger against an active adversary. The worst thing someone could do when 1&2 is removed - which they still could do if it was there, is to have metadata which somehow is considered out of policy, for example by linking to resources outside the Joystream Network itself, e.g. a hyperlink somewhere. This seems to me to be both unavoidable, but also not really a problem at all.
Proposal
Propose plan for how to most gracefully deprecate 1&2, with full consideration of possible requirements to migrate permissions, featuring blocking and other representations that currently assume their presence.
┆Issue is synchronized with this Asana task by Unito