-
Notifications
You must be signed in to change notification settings - Fork 117
Channel Verification #4487
Copy link
Copy link
Open
Labels
crt-v2ideaAn idea for a new feature in any part of the JoystreamAn idea for a new feature in any part of the Joystreamproject_tokenProject tokensProject tokensruntime
Description
Proposed mechanism for channel verification
Goals 🎯
- I have used Twitter legacy verification as an inspiration. According to twitter rules promising verification candidate should be:
- Authentic: channel owner account should be matched against a twitter, youtube etc.. account
- Notable: channel should have enough visibility to be deemed important
- Active: the channel should have activity dating at most
xblocks ago
- channel verification should be taken care by curators, as suggested in Verified status for channels #2586
Motivation 💡
- We don't keep channel metadata on chain (like creation date, subscribers and activity stats) so we need to outsource all the verification requirements processing to an external oracle (like one or more curators).
- I also think that this task pertains to the Content working group and not to the council
Setup ⚙️
Requesting the verification 📃
- add a field
verificationin theChannelRecorddata structure. It consists of the following type:
enum Verification {
NoVerification,
Requested(Vec<u8>), // relevant (encoded) metadata (eg, twitter account url)
Approved(Vec<u8>) // verification & metadata has been approved
Denied(Vec<u8>) // verification (with metadata) has been denied
}The channel owner can call the following extrinsic
fn request_verification(
origin, // must be signed by channel owner or some collaborator with sufficient permission
channel_id: ChannelId,
relevant_metadata: Vec<u8>,
curator_tip: Balance,
); This sets the channel verification field from {NoVerification, Denied} -> Requested, this emit a VerificationRequested event with the necessary metadata so that:
Notifying the curator 🛎
Curator notification about the verification request can be made by the user itself (on Discord saying "hey Curator can you verify my channel" or on by the Pioneer FE).
Processing the verification 🔎
After being notified the Curator can invoke:
fn process_verification(
origin,
actor: ContentActor, // must be Lead or Curator
channel_id: ChannelId
);The curator (assuming that he's a real world human/very sophisticated AI system) should be able verify all 3 preconditions for verification at his discretion.
Improvements ⬆️
- requiring a quorem for verification approval, say 3 curators needs to approve before a channel is verified.
- allowing user to cancel the verification request
- pay a verification fees (in order to avoid spamming QN with verification request events, expecially by users not worthy of verification, like channels with 2 subscribers). In this case the verification fees can be set by the governance with a proposal
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
crt-v2ideaAn idea for a new feature in any part of the JoystreamAn idea for a new feature in any part of the Joystreamproject_tokenProject tokensProject tokensruntime