Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
The easy next step after familiarizing yourself with the basics is trying to get a hang of what makes Blockchain tick. In this blog, let’s work at peeling off each layer to better understand why Blockchains are faster, safer, and far more efficient than most other technologies out there today.  

Transactions 

typical blockchain structure is made up of blocks and transactions, where each transaction represents a digital record of a transfer of assets. These assets vary depending on the industry to which the Blockchain belongs.  

Essentially, a transaction is an event that triggers the update of the Blockchain distributed ledger. Read more about distributed ledgers a little below. 

For example, transactions in a personal bank account would depict transfer of financial assets of the account owner. 



Figure 1: Sample of a Transaction 

Block 

A block is the smallest component of a Blockchain structure and typically consists of a Block Header and one or more Transactions. Each block is connected to the previous one using a Hash value that is calculated based on the details stored in the previous block header. 



Figure 2: Sample of a Block with a Single Transaction 

 

Figure 3: Sample of a Block with Multiple Transactions 

 

Merkle Tree 

Merkle trees, aka Hash Trees, are a means of securing and verifying data stored in and transacted through Blockchains. Each leaf of this tree stores a hash value of a transaction and the leaves higher up in the tree store hash values of their child leaves. A typical Merkle tree is binary, that is, each parent would have two children. This, however, can vary depending on the structure of the Blockchain.  

The topmost node of the Merkle tree is known as the top or root hash. This node is used to verify the identity and integrity of incoming data (also in the form of hash trees). 



Figure 4: Merkle Tree  

Distributed Ledger 

In a distributed ledger, a copy of the data is maintained across multiple locations and systems. There is no central authority for these structures and data integrity is maintained using consensus algorithms.  

Data in a distributed ledger is stored on a peer-to-peer network and any changes to this data triggers automatic updates on all copies of the data. Each time the ledger is updated, the nodes reach a consensus on the ‘correct’ new copy and update themselves accordingly.  

The typical consensus algorithms used are: Proof of Work and Proof of Stake. 

 

Figure 5: Distributed Ledger

Hashing 

Blockchain uses hashing algorithms to encrypt data by turning an input of variable length into an output string of fixed length, known as the hash value. The hash value along with knowledge of the hashing algorithm is used to decrypt the relevant data.  

Bitcoin, Blockchain’s cryptocurrency uses the Secure Hashing Algorithm 256 (SHA256) to create hash values for block headers. Each block in the Blockchain is connected to the previous block by its hash value. If a block is tampered with, the hash values would not match and thus, the blockchain would fail. 

 

Figure 6: Hashing

Digital Signatures 

Like handwritten signatures, digital signatures are used as a means for a user to sign off on and verify their data.   

In cryptography, users possess a pair of linked keys, the public and private keys. While public keys are used to distribute data across a network, private keys are used to sign off on this data (that is, uses a digital signature before sending). A sender’s identity is confirmed using their public key.  

 

Have you heard of another building block of Blockchain that you would like to discuss further? 
2 Comments