## 2 Overview of Blockchain Technology
### Blockchain Architecture
#### 2.1.4 Blockchain Cryptography  
It is worth reviewing the cryptography used in blockchains. Blockchains use three types of cryptographic techniques, namely, hash functions, public key cryptography, and zero-knowledge proof. A hash function converts given input data of variable size into a fixed-size hash digest. Hash functions are used inside digital signatures to compute the hash of transactions, the hash value of blocks, etc. [82]. A hash function is characterized by difficulty in estimating the input given the output of the hash function. Furthermore, they are known for fewer collisions where there is a very low possibility of producing the same hash output for two distinct inputs. Most importantly, they help to verify the integrity of data due to the characteristic that the hash digest changes significantly when the input is even slightly altered [83]. Public key cryptography is used in the digital signature for verifying the legitimacy of the operations/transactions, where a block miner or a peer validates the operation/transaction, utilizing the public key after the end user signs the transaction or operation by employing a private key [80], as discussed in the section on transactions. In addition to verifying the user of a transaction, a digital signature makes sure that the transaction is unaltered. Zero-knowledge proofs (ZKPs) may be applied to confirm that transactions are correct without revealing the identity of those transactions, thus securing privacy and preventing sensitive information disclosure [84]. For instance, when sending cryptocurrency from a sender to a receiver, owing to the utilization of ZKPs, the blockchain does not need to know how much cryptocurrency exists in the wallet of the sender. However, classical public key cryptographic techniques and hash functions belong to the pre-quantum computing era, and their security is challengeable in the post-quantum computing era. Post-quantum cryptography (PQC) involves efficient cryptographic techniques that are resistant to attacks from quantum computing; thus, efficient and lightweight PQC is desirable for blockchains to minimize quantum computing-based attacks [85]. Being  
Figure 5: Generic transaction process of a blockchain. descendants of the family of elliptic curve cryptography, Montgomery curve (Curve448) and Edwards curve (Ed448) cryptographic techniques are deployed in digital signatures and key agreement, which can be efficiently implemented in Cortex-M4 with performance improvements and, thus, can be deployed in hybrid systems that use a mixture of classical and post-quantum cryptographic techniques [86]. Moreover, the Supersingular Isogeny Key Encapsulation (SIKE) mechanism is a post-quantum key encapsulation technique that can be implemented in the Cortex-M4 platform, yielding energy efficiency and fast computation; thus, it is suitable to be deployed in resource-constrained platforms such as blockchain-based KDNs [87]. Furthermore, Kyber is a post-quantum cryptographic technique that can be deployed for secure key exchange and is considered by the National Institute of Standards and Technology (NIST) for standardization. It has been tested on the 64-bit ARM Cortex platform, where it has resulted in faster encapsulation, decapsulation, and key generation [88]. Additionally, the Edwards curve digital signature algorithm, which has been optimized for execution time (Ed25519), is a digital signature algorithm proposed to be deployed in hybrid cryptographic systems that has been tested in a Field Programmable Gate Array (FPGA) implementation with speed improvements and improved utilization area [89]. Likewise, an optimized version of the key exchange technique known as Supersingular Isogeny Diffie-Hellman (SIDH) has been tested for achieving post-quantum security levels on 64-bit ARM processors, where the projective approach has shown better overall performance than the affine approach [90].