This study did not involve human participants, human subjects, animal subjects, or clinical specimens. Therefore, institutional ethics approval and informed consent were not required.
Materials and software
The environment used to deploy the framework was Hyperledger Fabric version 2.4.8, CouchDB, Docker Containers, Minifab deployment, FFmpeg multimedia processing applications, and the Go programming language. Hyperledger Fabric provided services for decentralized ledger management and smart contract execution, while CouchDB stored and retrieved copyright information efficiently via off-chain storage. FFmpeg was used for preprocessing videos and extracting video frames, while perceptual hashing algorithms were applied through image hashing libraries in the Go programming language. A list of all tools and their respective descriptions is illustrated in the Table of Materials.
Framework architecture
The proposed framework employs perceptual hashing algorithms within the permissioned blockchain Hyperledger Fabric to enable a decentralized approach to video copyright protection and ownership validation. The framework consists of five main components: video preprocessing, perceptual hash generation, blockchain-based copyright registration, and similarity-based verification. In this framework, Hyperledger Fabric serves as the trust layer, providing immutable ownership records, while CouchDB provides off-chain storage. The overall architecture of the proposed framework is depicted in Figure 1.
Model of the system for copyright verification
A detailed workflow of the system under investigation is shown in Figure 2. It starts with video acquisition, followed by frame extraction at regular intervals using FFmpeg. The extracted frames are processed within the Hyperledger Fabric implementation environment, which includes actions such as ownership registration, certificate administration, peer communication, and transaction validation. Perceptual hashing is applied to the extracted frames, followed by Hamming distance calculation to assess the degree of similarity. If the Hamming distance is below the threshold, the frame is considered authentic and similar to the registered content; otherwise, it is treated as modified content.
Video acquisition, preprocessing, and perceptual hashing creation
Video samples used in the experiment were MP4 files at 480p resolution, averaging about 26 seconds in length. The evaluation dataset had 15 video samples, including an original reference video and several modified versions. These modifications included common editing tasks such as changing frame rates, inserting, deleting, or substituting frames, and applying distortions such as cropping, scaling, rotation, and overlay effects. The dataset also included compression, noise, text, and sticker additions, glitch effects, and more. All the videos were in MP4 format at 480p resolution and underwent the same preprocessing and fingerprint generation steps. Designed to test the system's resilience, this dataset covers a wide range of real-world scenarios involving infringement and manipulation. Before being subject to copyright detection and confirmation, video files underwent preprocessing in FFmpeg. Frames from video files were extracted at 1-second intervals to obtain condensed content summaries in the form of visual content that remained computationally inexpensive to process. Next, these frames were converted to grayscale and normalized to minimize changes in pixel intensities arising from lighting conditions, encoding, and compression differences.
Four perceptual hashing functions were used to produce video content fingerprints in the form of average hashing (aHash), difference hashing (dHash), perceptual hashing (pHash), and wavelet hashing (wHash).
For hash generation, frames were first converted to grayscale and resized to 8x8 pixels to compute aHash and dHash. With aHash, a 64-bit fingerprint was generated by comparing each pixel to the average grayscale value. The dHash algorithm did something similar, creating a 64-bit fingerprint too, but it looked at how adjacent horizontal pixel intensities differed. For pHash, frames got resized to 32x32 pixels, then the discrete cosine transform was computed. To generate the 64-bit perceptual fingerprint, only the low-frequency 8x8 DCT coefficients were used. As for wHash, frames were again resized to 32x32 pixels, but this time were processed with a Haar wavelet transform. A 64-bit hash was generated from the lowest-frequency wavelet coefficients extracted. All these parameter settings aim for a good balance between computational efficiency and strength to handle typical video tweaks.
To perform efficient hash function computations, these images were normalized and resized. The average hashing method works by comparing pixel intensities to those of the mean of the picture. Difference hashing operates similarly but focuses on local gradients by comparing pixel intensities with those of neighboring pixels. Perceptual hashing uses Fourier features that result from DCT, while wavelet hashing relies on wavelet transform results to extract features.
Blockchain-based copyright registration and verification
The perceptual fingerprints, ownership metadata, timestamps, and transaction details obtained are fed into the Hyperledger Fabric blockchain via the smart contract, vitChain. Blockchain implementation includes two organizations, two peers, two ordered nodes, two certificate authority (CA) nodes, and CouchDB state databases, all linked via an auto channel. The permissioned blockchain framework facilitates secure processing, restricted access, and tamper-proof storage of copyright details.
The copyright registration procedure commences once the content owner uploads the video via the user interface. When a user submits a video for copyright registration, the application layer calls the vitChain smart contract via the Hyperledger Fabric SDK. This registration includes a unique transaction ID, owner info, video ID, time stamp, and four types of perceptual hash values: aHash, dHash, pHash, and wHash. Also, there’s metadata about the content. The app sends the transaction proposal to the endorsing peers. These peers then run the smart contract logic and ensure the transaction complies with the endorsement policy. Upon successful validation, the transaction moves to the ordering service. Here, verified transactions are grouped into blocks and sent to peer nodes for inclusion in the ledger. Meanwhile, the related metadata goes into CouchDB. They connect to the blockchain's records via the transaction ID, enabling easy lookups and keeping both on-chain and off-chain data consistent.
Following the preprocessing and perceptual hash computations, the fingerprints, along with their associated metadata, are assembled into a transaction to be executed by the smart contract. Transaction validation is performed by participating peers in accordance with the specified endorsement policy. Upon endorsement, the transaction is passed to the ordering service for inclusion in a block on the distributed ledger. For reliable operation, we included basic error-handling in the registration and verification processes. Before a transaction happens, the app checks mandatory metadata, ownership info, and perceptual hashes to avoid issues. If transactions don’t meet the endorsement rules or have invalid parameters, peer nodes reject them outright. When there are problems such as communication failures or processing errors, the system logs them and sends an admin alert. This helps prevent minor processing errors from propagating through the system. During copyright checks, videos containing invalid metadata or corrupted hash values are excluded from the verification process. Videos for which fingerprint generation fails are similarly excluded from the verification process. Overall, these steps keep the data clean and strengthen the framework’s reliability. The ownership information for the copyrighted video becomes immutable and is available for later retrieval.
Verification
The verification process involves similar preprocessing and fingerprint-computation steps, followed by fingerprint comparison against stored fingerprints in the blockchain using a Hamming-distance-based similarity measure. Based on the similarity measure, the smart contract determines the copyright information of the submitted video. The interaction workflow is depicted in Figure 3.
Similarity-based copyright verification
The copyright verification process compares perceptual fingerprints derived from the query video with fingerprints previously stored in the blockchain system. The same preprocessing and hash-value generation process used during registration is repeated in the verification phase to maintain consistency. Similarity is measured using the Hamming distance, which counts the number of bit differences between two hash values. Smaller Hamming distances indicate greater similarity between the two videos, while higher Hamming distances indicate content manipulation. To see if the query video matched the registered video, we used the Hamming distance between their perceptual hash values. Based on preliminary experiments, a Hamming distance threshold of 20 was selected to provide a suitable balance between robustness to common video-processing operations and sensitivity to unauthorized modifications. Videos with a Hamming distance of 20 or less were considered to represent the same copyrighted content. If it were more, it would show big changes. This 20 was chosen to handle common video edits like compression, filtering, transcoding, and frame rate changes, but it still picks up unauthorized changes. Measurements of similarity are made for all collected frame fingerprints, then aggregated to produce a copyright verification conclusion. Videos that deviate from the registered content are flagged for additional scrutiny.
Deployment environment
The testbed environment was created using Docker containers and the Minifab orchestration tool. A blockchain network based on Hyperledger Fabric version 2.4.8 was deployed with CouchDB as the state database and storage layer for smart contract data. The vitChain smart contract was implemented in Go and deployed using the Hyperledger Fabric chaincode lifecycle. The deployment parameters are summarized in Table 2. The network consisted of two participating organizations, namely the Content Creator and the Videographer. To ensure transaction integrity and prevent unauthorized copyright registration or modification, a multi-organization endorsement policy was implemented, requiring approval from both organizations before a transaction could be committed to the ledger. Specifically, the endorsement policy followed an AND rule, expressed as AND ('ContentCreatorMSP.peer','VideographerMSP.peer').