## 5 Implementation
### Architectural Components
#### 5.1.2 InterPlanetary File System  
The InterPlanetary File System (IPFS) operates as a network-driven protocol, offering an efficient and decentralised solution for the storage and distribution of files online. This approach stands in contrast to the traditional, centralised models of server-based storage and web hosting. Four foundational components of the IPFS guarantee its security, high performance, and data throughput. These components are self-certifying file systems (SFS), a distributed hash table (DHT), a Merkle DAG structure, and a BitSwap protocol [31]. Unlike a distributed database, the IPFS serves as a distributed file system. The MP can encapsulate diverse types of data, including textual product information and CAD drawings of building plans, among others. If blockchain is used to store all this information, then decentralised storage would be unnecessary. However, the immutability of information on the IPFS, coupled with the practice of recording the content identifier (CID) from the IPFS as a reference on the blockchain, introduces an additional layer of security. Any alteration on the stored information results in the creation of a new CID.  
In our framework, the MP is stored within the IPFS, with its CID maintained on the blockchain. This methodology presents two key advantages: first, it ensures data immutability through the generation of new CIDs upon data changes; second, it addresses the risk of single-point failure associated with centralised storage solutions thanks to its distributed nature. Incorporating the IPFS into the architecture is a strategic decision that seeks to capitalise on the advantages of decentralised storage while addressing the limitations and challenges associated with traditional data storage methods and the blockchain. Although blockchain technology offers unparalleled security and immutability, it is not intended for efficient large-scale data storage. To ensure cost-effectiveness and performance, not all information, particularly large data files, should be stored directly on the blockchain. Using centralised databases to store sensitive information increases the risk of data tampering and manipulation. Centralised storage facilities can become targets for malicious attacks, exposing the confidentiality and integrity of information. Such vulnerabilities are a major source of concern in applications that rely on data accuracy and authenticity. Storing data on the IPFS can provide a high level of security and reliability, similar to the blockchain, but without the high costs associated with on-chain data storage. The IPFS's decentralised system distributes data across multiple locations, reducing the likelihood of data loss or tampering. Integrating the IPFS and blockchain technology can greatly improve data security and integrity. Instead of storing actual data on the blockchain, only IPFS hashes are stored, which helps to leverage the blockchain's immutability. This approach ensures that the data references cannot be changed, ensuring the verifiability of data integrity on the blockchain. As a result, even though the data are stored off-chain, the blockchain ensures its integrity.