Book Image

Securing Blockchain Networks like Ethereum and Hyperledger Fabric

By : Alessandro Parisi
Book Image

Securing Blockchain Networks like Ethereum and Hyperledger Fabric

By: Alessandro Parisi

Overview of this book

Blockchain adoption has extended from niche research to everyday usage. However, despite the blockchain revolution, one of the key challenges faced in blockchain development is maintaining security, and this book will demonstrate the techniques for doing this. You’ll start with blockchain basics and explore various blockchain attacks on user wallets, and denial of service and pool mining attacks. Next, you’ll learn cryptography concepts, consensus algorithms in blockchain security, and design principles while understanding and deploying security implementation guidelines. You’ll not only cover architectural considerations, but also work on system and network security and operational configurations for your Ethereum and Hyperledger Fabric network. You’ll later implement security at each level of blockchain app development, understanding how to secure various phases of a blockchain app using an example-based approach. You’ll gradually learn to securely implement and develop decentralized apps, and follow deployment best practices. Finally, you’ll explore the architectural components of Hyperledger Fabric, and how they can be configured to build secure private blockchain networks. By the end of this book, you’ll have learned blockchain security concepts and techniques that you can implement in real blockchain production environments.
Table of Contents (15 chapters)
1
Section 1: Blockchain Security Core Concepts
5
Section 2: Architecting Blockchain Security
8
Section 3: Securing Decentralized Apps and Smart Contracts
11
Section 4: Preserving Data Integrity and Privacy

Block synchronization

As we have seen in Chapter 1, Introducing Blockchain Security and Attack Vectors, the blockchain is nothing more than a list of blocks in which each block maintains a reference to the previous block. Within each block, in fact, the hash of the previous block is kept inside the Prev_Hash variable of the block header.

The hash stored within the Prev_Hash variable is obtained by calculating the SHA256 algorithm on the block header of the previous block. In this way, an indissoluble chain of mutual references is formed, which guarantees that the data contained therein is immodifiable (in fact, it is sufficient to modify even one of the blocks to obtain totally different hashes).

It is therefore important that each node in the network is able to keep the local copy of the blockchain up to date by synchronizing the current status with the global status shared and...