## 3 Blockchain
### Overview and Definitions  
Some groundwork for what we nowadays refer to as \"blockchain\" was performed by [PERSON] and [PERSON] in 1991, in their article entitled \"How to Time-Stamp a Digital Document\" [13], while the popular paper by [PERSON] in 2008 [14] established bitcoin as a cryptocurrency and devised the first blockchain database. According to [PERSON] et al., a very general definition of blockchain is: \"Blockchain is a distributed ledger maintaining a continuously growing list of data records that are confirmed by all of the participating nodes\" [15]. A block is a record that includes data inside it, as well as a value with the previous block's hash and, finally, a value that represents its own hash. The hash stands for the digital fingerprint of an amount of data of the block. The link between the hash of the current block and the hash of the previous block explains the meaning of the cryptographically linked chain of blocks through these hashes. If anyone tampers with the data, this digital fingerprint will be changed and finally the chain will be invalid. There are many more concepts around blockchain, such as mining, distributed peer-to-peer network protocols, consensus ledgers, cryptographic hashes, etc. The \"fingerprint\" attribute represents the unique identifier of every block and is one of the core principles in the blockchain architecture. A commonly used algorithm for cryptography implementation on any digital data source is the well-known SHA256 hash, which was developed by the National Security Agency (NSA). SHA stands for secure hash algorithm and '256' is the number of bits it takes up in memory. There are five basic requirements that SHA256 satisfies:  
1. One-Way decryption algorithm;
2. Deterministic (meaning that it will produce the same result each time the same input is used);
3. Fast computation;
4. Avalanche Effect;
5. Withstanding collisions [16]. The reason for using a hashing algorithm is because reverse engineering techniques are not practical. Thus, the importance of the use of the SHA256 algorithm lies on the fact that any attempt or effort to crack it is not realistically possible, due to its inherent characteristics (hashing is a one-way function). Blockchain is also an immutable digital ledger, meaning that if anyone tries to tamper or corrupt the data of a specific block, thus changing the hash of this block, this will result in a cryptographic link disruption, due to the usage of different hash(es) between the linked blocks of the chain. Because of the change in a block in the chain, all the blocks after that will no longer be valid, which means that it will no longer be connected to the chain. Therefore, from the moment data have entered into the blockchain, they cannot be altered, as all the entries following the tampered block of the chain need to be altered as well. Because of this fundamental structure, it is practically impossible to change a single block in the chain, especially as more and more components are added. It has to be noted that any digital ledger is as reliable as the organization (blockchain on this occasion) that maintains it [17]. In case one or many blocks of the chain are maliciously changed, or a system error occurs in the process of data input, the cryptographic link will be broken and this will cause a data re-storage problem. This problem is solved through the deployment of distributed peer to peer (P2P) networks, which are one of the key components of blockchain technology and offer a significant enhancement of data storage technology compared to traditional centralized models. A P2P distributed network consists of a great number of computers where every device is interconnected (locally, wirelessly or by a cable); ideally the more they connect the better it is. The actual approach of how this type of distributed network is used can affect the whole blockchain scenario.