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

Symmetric versus asymmetric cryptography

Symmetric cryptography is characterized by the fact that the same key is used both to encrypt plaintext (obtaining ciphertext as output) and to decipher the ciphertext (obtaining the original plaintext as output).

Asymmetric cryptography, on the other hand, is characterized by the introduction of two different keys, the public key and the private key, both associated by a mathematical relationship, which prevents or, at least, makes it very difficult in practice to trace back to the private key starting from the knowledge of the public key.

The two keys are therefore used to achieve different purposes: the public key is used to encrypt plaintext, while the corresponding private key is used to decipher the ciphertext.

Caesar's algorithm, which was introduced in the previous section, represents a very simple example of symmetric cryptography...