Hardware-based Consensus Algorithm using PUF
It presents a unique concept of a blockchain that integrates hardware security primitives called Physical Unclonable Functions(PUFs) to solve scalability, latency, and energy requirement challenges and is called PUFchain. Data management and security (and privacy) of data, devices, and individuals, are some of the issues in the IoE architectures that need to be resolved. Integrating the blockchain into the IoE environment can help solve these issues and helps in the aspects of data storage and security. We introduce a new blockchain architecture called PUFchain and introduces a new consensus algorithm called “Proof of PUF-Enabled Authentication” (PoP) for deployment in PUFchain. The proposed PoP can integrate PUF in existing and new consensus algorithms. PoP uses a PUF that provides the highest level of security by generating a unique key that cannot be replicated.
PoP Consensus Algorithm
It presents the proposed architecture for PUFchain that we envision as a PUF integrated secure blockchain which can solve energy requirements, scalability, and latency of the existing blockchain. A node in the PUFchain network consists of the IoT device and a hardware module which has the PUF generating the key, and also the hashing capabilities. With the help of the MAC address, the trusted node gets the PUF keys from the secure database. The PUF key and the data are sent to the hardware accelerator for performing the cryptographic hash. The hashing function used is similar across all the devices in the network. The data and the PUF key are hashed and the resulting hash is compared to the Hn received from the node. If both the hashes match, the device is authenticated. If they do not match, the process continues for all the PUF keys that are stored during the enrollment phase of the device. When one of the hashes generated matches Hn, the device gets authenticated. If the device is not authenticated, the block will be dropped and not broadcast. Once the device is authenticated, the block gets added to the blockchain of the trusted node and then broadcast to the network. When other devices receive the block from the trusted node, they add it to their local blockchain.