Application: Decentralized Video Sharing Platform
Actors: Types of Users
- Content Viewer (User)
- Content Creator
- Companies - Advertisement
- Wallet (Hot/Cold)
- Nodes (Validators) - Decentralized
Features: We want to see on the video Sharing Platform
- Video Content uploaded by the user
- Maintain channel Subscribers information
- Likes and Dislike Metadata
- View Count and metadata of viewers
- User comments on the video
- Company Adds during video and Links (Metadata of users clicked on the link)
- Automated Payment Processing
- Hot/Cold Wallet integration with the user account
Non-Functional Requirements:
- Higher Video Quality
- No lags
To achieve above mentioned features, I have considered following approach by utilizing centralized as well as blockchain architecture/network
What goes on blockchain and why?
- To protect the content creator account from getting banned by a central authority
- Business rules will be defined to make sure content creators are not uploading videos that are explicit in nature. Thatâs just one example
- To obtain organic count of views, Subscribers, Like, dislike and comments these features should be on the blockchain which gives them immutability.
- This information can further be used with Smart contract to make different kinds of payments (Payout)
-
Company Adds Links (Metadata of users clicked on the link) will also provide true footfall and better analysis by storing it on the blockchain
-
Smart contract deployed on the blockchain to achieve auto-payment processing
- By defining specific rules such as e.g. X number of views on the video, number of likes etc. on the smart contract, content creator will be paid automatically
- Similarly, companies will be charged if their ADDS reached to X number of people
- Hot/Cold Wallet integration with the user account â Sender/Receiver Transaction information
What Should not go on blockchain and why?
As we Learnt and understand that decentralized network has many benefits but at the same time has its own shortcoming such as transactions speed is much lower compared to Centralized IT infrastructure and due to this reason, uploading a large video files over the network and propagating it to several nodes will only make the entire network slower and sluggish.
Instead we can use centralized databases to store video content which are much faster to query and retrieve the videos on the platform.