# VidBlock: A Web3.0-Enabled Decentralized Blockchain Architecture for Live Video Streaming
## 3 System Design
### Processes for Decentralized Live Streaming in VidBlock  
This section explains the primary processes that govern the operation of the VidBlock system, a blockchain-based live streaming platform. VidBlock integrates blockchain technology to enhance the security, transparency, and efficiency of live video broadcasting. The system's architecture leverages smart contracts for key functions, including user management, content distribution, and node registration. Figure 3 illustrates the process of registering a client node, which is essential to VidBlock, as well as the functionalities for searching (searchViB) and following (followViB) ViB nodes. In the Web3.0-powered VidBlock ecosystem, user registration and management are designed to give users full control over their data, eliminating the need for intermediaries. **Creating a ViB node:** The registration process begins with creating a unique ViB node, which is essential for enabling new streaming functionalities within the network. Each ViB node represents an identity within VidBlock, with the potential to either generate content or relay content from others. During registration, user credentials (e.g., blockchain wallet) are securely stored on the blockchain through the node registry, ensuring transparency and immutability. This decentralized approach enhances security, as no single authority controls the users' credentials or content. **Node registry contracts:** For each user or client node registered, a corresponding node registry contract is created. These contracts serve as an interface between users and the blockchain, allowing registered users to interact with the system. Two primary functions, searchViB and followViB, empower users to discover and connect with other ViB nodes. By using searchViB, users can look up other ViB nodes, much like searching for profiles or content channels. The followViB function allows users to follow or subscribe to these nodes, creating a decentralized, community-driven content network. **Enhanced content management:** Content creators in the VidBlock ecosystem manage their streams via the Content Management component, which allows them to set up and retrieve live streaming sessions through the setStreaming and getStreaming functions. This enables creators to initiate streaming sessions and users to access live streams directly, ensuring seamless interaction within a decentralized environment. Each piece of content is stored locally by the creator, while only the content's hash is recorded on the blockchain. This hash acts as an immutable and verifiable record, proving the authenticity and ownership of the content without revealing the actual data. By storing only the hash on the blockchain, VidBlock enhances both data privacy and trust, allowing creators to maintain control over their content and assert their rights to it. In summary, VidBlock's Web3.0-enabled architecture transforms content distribution by decentralizing user management and empowering users with direct control over their data. Each user, upon registration, becomes an integral part of the VidBlock network, contributing to a resilient and scalable ecosystem for live streaming and content sharing without reliance on traditional centralized platforms. Figure 4 illustrates the sequence of actions involved in creating and accessing live streaming content within the VidBlock ecosystem. This process is divided into two main parts: creating live streaming content and calling live streaming content. **Content creation and registration sequence:** The process starts when content creators initiate a live streaming session. This streaming content is generated and temporarily stored on the creator's local device. Following content creation, the creator registers the streaming session on the blockchain's relay node through the setStreaming function. This function requires three critical parameters:  
* RelayAddr: This parameter is the network address of the blockchain's relay node that facilitates content distribution.