Software Installation Integrity Checks Using DHT and Blockchain
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for verifying the ownership and integrity of computer software during installation are inadequate, particularly in decentralized systems, as they lack robustness against tampering and unauthorized transfers.
Innovation Solution
A method utilizing a distributed hash table (DHT) and a peer-to-peer distributed ledger (blockchain) to verify the integrity and ownership of computer software by comparing hash values and public keys, ensuring the software has not been altered and is authorized for installation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional centralized verification methods are used for software installation, then the verification process is simple and fast, but the system is vulnerable to tampering and unauthorized transfers
Solution Approach 1:
The patent introduces a blockchain as an intermediary verification layer between the software distributor and the user. The blockchain stores cryptographic hashes of software files and verification data, acting as a trusted mediator that both parties can independently verify without needing to trust each other directly. This decentralized intermediary eliminates the need for centralized verification servers while maintaining or enhancing security.
Solution Approach 2:
The patent creates cryptographic copies (hashes) of the software files and stores them on the blockchain. These hash copies serve as immutable verification data that can be compared against the actual software files during installation. The copying principle allows verification without requiring the original software to be physically present or controlled by a central authority.
2Reliability
If a decentralized verification system using blockchain is implemented, then security against tampering is enhanced, but the verification process becomes more complex
Solution Approach 1:
The patent performs preliminary actions by pre-computing and storing cryptographic hashes of software files on the blockchain before distribution. Verification data, including public keys and hash values, are prepared in advance and embedded in the blockchain structure. This preliminary preparation simplifies the actual verification process during installation, as the system only needs to retrieve and compare pre-stored data rather than perform complex computations in real-time.
Solution Approach 2:
The patent replaces manual or centralized mechanical verification processes with automated cryptographic verification. Instead of relying on centralized servers to validate software, the system uses automated comparison of cryptographic hashes stored on the blockchain. This substitution reduces operational complexity by eliminating manual verification steps and centralized coordination requirements.
3Reliability
If cryptographic verification data is stored on blockchain, then ownership verification is more secure, but storage requirements and processing time increase
Solution Approach 1:
The patent extracts only the essential verification data (cryptographic hashes and public keys) from the complete software package and stores them on the blockchain. The full software files remain distributed locally or through conventional channels, while only the compact verification metadata is stored decentralized. This extraction principle reduces storage requirements on the blockchain and accelerates verification by comparing only hash values rather than entire files.
Solution Approach 2:
The patent implements partial verification by storing and comparing only critical cryptographic elements (hashes and keys) rather than complete software verification. This partial action approach provides sufficient security for ownership verification while minimizing processing time and storage requirements. The system performs exactly the minimum necessary verification operations needed to ensure authenticity.
Data Source
AI summary
A computer-implemented method and system for verifying the integrity of a computer software for installation using a distributed hash table and a peer-to-peer distributed ledger. This may be the Bitcoin blockchain or an alternative implementation. The method includes determining a metadata associated with a transaction record stored on the peer-to-peer distributed ledger. An indication of an entry stored on the distributed hash table may be determined from the metadata. The method further includes determining a third hash value based on the computer software and determining a fourth hash value from the entry on the distributed hash table. The method further includes comparing the third hash value and the fourth hash value and verifying the integrity of the computer software based on the comparing of the third hash value and the fourth hash value.


