# Reliable Integrity Preservation Analysis of Video Contents with Support of Blockchain Systems
## 3 Proposed Scheme
### Analyzing Integrity of Original Video Files  
Our previous study [25] deals with the integrity analysis of original video files based on the examination of codec software characteristics. The method given in our previous study prepares two signature databases for video editing tools and digital camera device, respectively. This method extracts the software characteristic from the target video file and compares it with signatures in the two database, as shown in Figure 2a. If any signature in the database of camera devices is matched, the target video file is decided to be original. If any signature in the database of video editing tools is matched, the target video file is decided to not be original. Figure 2b shows a signature example in the database of video editing tools for the editing tool named Movavi Video Editor. However, the method given in our previous study has a drawback in that the integrity analysis result becomes changeable whenever its source codes are modified. The integrity analysis result of the method is not permanent, and thus, this method does not provide sufficient reliability. To enhance the reliability of integrity analysis result, the mechanism proposed in this article upgrades the method of our previous study [25]. In order to fix the software source codes permanently, the proposed mechanism stores the source codes in the public blockchain system. Considering the expensive record costs of a blockchain system, the proposed mechanism minimizes the data amount stored in the blockchain system. The core parts of the source code are stored in their original forms and the rest non-essential source parts are stored as a shortened form of their entire hash value. That is, the two signature databases shown in Figure 2a and the signature comparison procedure are stored in their original forms in the blockchain system, while the rest of the source codes are stored as their entire hash value. Separation of core source parts prevents the reliability corruption caused by modifications of the rest of the source parts. Even when the rest of the source codes are updated, the key operation of integrity analysis is still immutable, and its analysis result preserves its reliability. Additionally, it is easy to confirm the comparison procedure between the extracted signature and the signatures in the databases, where the signature extracted from the target file is always displayed as a form of log and the signature databases are open to any user through the public blockchain system. If the whole source code, including the databases, is stored as a form of its hash value, the record costs of the blockchain system are reduced, but it becomes difficult to check the signature comparison procedure between the extracted signature and the signatures in the databases. Figure 3 shows the enhanced procedure (This procedure is not depicted in Figure 1 for the sake of simplicity) to check the source code reliability of the proposed scheme compared to our previous study. The core parts of source codes are constructed as digital  
Figure 2: Outline of Integrity Analysis: (**a**) Modules of integrity analysis function and (**b**) signature example of video editing tool. programming codes, called smart contracts, in the public blockchain system. The remaining parts of the source codes are constructed in the front server, and their hash value is stored in the blockchain system. Then, the core parts of source codes are fixed permanently due to the systemic nature of blockchain systems, and the remaining parts of the source codes can be checked to see whether they have been updated or not. Figure 4 shows the detailed structure of the proposed mechanism. The signature databases are stored in their original form in the public blockchain system, and the comparison operation with the extracted signature is constructed as a smart contract program on the blockchain system.