content_image/1006242.jpg
<img src='content_image/1006242.jpg'>

## 6.3 Meet CPACF - Speeding up your blockchain 

Blockchain (in the case of IBM Blockchain Platform, specifically Hyperledger Fabric) requires many cryptographic operations, which can become a bottleneck for blockchain performance. 

Thus, optimal performance depends on the machine’s throughput of cryptographic operations. CP Assist for Cryptographic Functions (CPACF) is a set of instructions for the IBM LinuxONE and IBM Z family of systems. This instruction set uses a dedicated portion of the processor chip (for example, a synchronous co-processor) to run cryptographic functions in hardware. As a result CPACF significantly speeds up cryptography operations. This section covers the following topics: 

## 6.3.1 Cryptography’s importance in blockchain 

GLYPH<SM590000> 6.3.1, “Cryptography’s importance in blockchain” 

GLYPH<SM590000> 6.3.2, “CPACF’s role in acceleration and protection” on page 210 

In this section, we discuss performance considerations for cryptography and blockchain. 

## Hashing: the key to blockchain’s immutability 

The blockchain is a data structure with these components: 

GLYPH<SM590000> A group of blocks, which is a group of transactions that are hashed together. 

GLYPH<SM590000> Connections among the blocks that form a chain. The chain is made of hashes that point from one block to its previous block. 

A hash  is a one-way function that maps a set of data into a specified number of bits. For example, Secure Hash Algorithm 2 using 256 bits (SHA 2- 256) uses the SHA 2 algorithm to map data into a 256-bit pattern. One-way means that you can use the function to hash the data, but it is not technically feasible to "unhash" the data (find out what the original data set was). Moreover, if the data changes by even one bit, the hash drastically changes. Thus, you can verify that data has not changed by confirming that is has the same hash. 

