Welcome to ATech Store !

PART (3)

Types of Blockchain 


Blockchain platforms are often described as being either public or private platforms. What do these terms mean, and how do you know which approach is the right approach for your solution or use case? In this section, each approach, as well as the respective benefits and drawbacks will be discussed. 

Types of Blockchain 

In order to properly describe a blockchain solution, additional terms must be entered into the conversation. A blockchain solution can be measured and described against the following three metrics: 

Public vs. Private 
Who can write data to the blockchain? Public blockchains allow for large audiences or the public itself to add data to the ledger. Bitcoin is a great example of a public blockchain network – there are no rules or permissions around who can trade Bitcoin. Anyone can buy, sell, or send Bitcoin to anyone else. A blockchain solution used to track how charitable donations are used by a non-profit would be a great example of a private solution. In such a solution, only designated officers of the non-profit organization should be allowed to share metrics detailing how donations are allocated and spent. 

Open vs. Closed 
Who can read data from the blockchain? Open blockchains allow large audiences or the public itself to consume all the ledger data. Closed blockchains attempt to restrict read access. Once again, Bitcoin is a great example of an Open platform; anyone in the world can use a blockchain explorer to view the details of any Bitcoin transaction, whether they were a participant or not. An example of a closed blockchain solution might be a platform for managing elections. In such a solution it would be important that only election officials have access to election results and the individual votes cast by each voter – such information may not be well-suited for public consumption. 

Permissoned vs. Permissionless 
Platforms or solutions which are open and public have little need for permissioning or 
role-based access. Such platforms are described as permissionless platforms because they do not have a native ability to track and manage identity, and subsequently define and enforce permissions based on that identity. This does NOT mean that you cannot build a permissioned solution on a permissionless platform, it simply means if you choose to do so you are responsible for designing and implementing a method to track and manage identity and draw permissions against that identity. 

When designing a solution, a great way to determine what type of blockchain is needed is to determine if all participants are considered equal or should some have abilities or permissions that others do not? Answering this will help guide the solution to use a permissioned or permission-less blockchain technology. 

It can sometimes be helpful to have a visual model when planning your blockchain solution. Feel free to use a quadrant such as the one below when mapping out a solution. For any envisioned use case, where does it fit on the model below? In other words, which combination best describes your desired solution? 

• Public / Open 
Anyone can write data, anyone can read data 
• Public / Closed 
Anyone can write data, only a few can read data 
• Private / Open 
Only a few can write data, many can read data 
• Private / Closed 
Only a few can write data, only a few can read data 

How Blocks Are Created 


Capturing transactions on blocks, and the subsequent validation process, can seem overwhelming to those new to the technology. Fortunately understanding the process is not that hard. In this section we'll review the process by which transactions are recorded, added to blocks, and validated using group consensus. This process is the heart of blockchain and a cursory understanding of the major steps is an important step in anyone's blockchain education. 

How Blocks are Created 

What is a “block”? 
Perhaps the simplest analogy for understanding blocks in a blockchain is to think about sheets of paper in a notebook. Imagine an audience sitting in front of a stage. Each member in the audience has been given an identical notebook and a pen. Anytime a transaction is to be recorded on the ledger, the participants will walk up on the stage and announce their transaction to the audience. The audience will then record the transaction in their notebook, one transaction per line. 

Eventually, an entire page in the notebook will be filled with transaction data. At this point, the audience will compare their current sheet of paper with the current sheet of paper held by all the other audience members. If the audience, collectively, finds a version of the data that more than 50% agree on or share in common, this data is considered to be the truth. If the audience is able to find a version of the transaction data shared by the majority of the audience then two things happen: 

• Any participant who does not have the same data as the majority will discard their block and obtain a new copy from those in the majority, thus putting them back in sync with the rest of the participants. 

• Once everyone is synced up, each participant will begin the process again by recording announced transactions on a fresh sheet of paper. 

If this process makes sense, congratulations! You now understand a core concept of blockchain technology! 



Two items of note: 
• A block in a blockchain is just like a sheet of paper in the sense that neither has to know or care what type of data is recorded on it. Paper works equally well to store financial data, graphic data, musical data, weather data, etc. Data points of vastly different types with no relation to one another can happily co-exist on a block or on a piece of paper. The block or sheet of paper is just a simple record keeping device. 
• In this example we made the assumption that transactions are recorded until the sheet of paper is full, then that sheet is validated by the entire audience. In reality, blocks are mined on a schedule. Imagine the same scenario as above, but in this revision there's a timer that buzzes every XX seconds. When this buzzer goes off the audience compares their sheets of paper. 

Group Consensus 

A critical concept to be familiar with in blockchain is that of group consensus. This is a simple concept which states that there's no way to know, without any room for doubt, what the absolute truth is. Therefore, we assume the truth to be whatever the majority of participants agree on. A great example of this is a police detective working to solve a crime. Imagine that you are that detective. One day the police chief asks you to investigate a bank robbery. Since you were not present when the bank was robbed, you don't know the actual truth of what happened. However, as a detective it is your job to try to determine what transpired. So, you do what any good detective would do in such a situation - you find witnesses to the event and ask them what they observed. 

Imagine the following - you query ten witnesses about the robbery. Eight out of those ten witnesses tell you one version of the event - that four robbers ran out of the bank, jumped into a red sedan and drove away from the bank heading north. Two of your ten witnesses tell a much different story - that two robbers ran out of the bank, got into a white pickup truck and drove away from the bank heading south. 

Which version is the truth? As a good detective you're likely to believe the version of the story told by the majority of the participants. When you provide a suspect description you'll most likely describe four robbers in a red sedan heading north. 

This same principal is used extensively in blockchain - the truth is always assumed to be whatever the majority of participants agree on. 

How are Blocks “Chained” Together? 
To link our sheets together we embed information from the previous sheet of paper into the new, recently validated sheet. In Blockchain, our sheet of paper is equal to a block. The act of embedding a previous block of information into the current block of information is called chaining. Hence, the name Blockchain. 

To chain blocks together today, all data in a block is run through a special function called a "cryptographic hash". Cryptographic hashes create a unique output or identifier for a specific input.  

Therefore, the hash of each block will always be unique based upon the inputs and attempting to change the data in a block will result in a hash or ID that no longer matches the original value recorded on the next block in the chain. 

To link or chain blocks of data together the header of the current block contains the hash of the last (validated) block. Changing the data on any block in a Blockchain will result in a completely different hash and the new hash will not match the hash in the next block header thus breaking the Blockchain and invalidating all blocks linked to where the change was made. This gives Blockchain its property of immutability (can't be changed) and makes it highly censorship-resistant. 

The height of a block simply refers to the number of blocks on the chain after the one in question. Block height is an indicator of the security of the data on the block; changing data in any block requires an attacker to change every subsequent block. The more of those blocks an attacker must alter, the more difficult it becomes to pull off an attack. 

Cryptography and Hashing 


Cryptography is used extensively in Blockchain to address concerns around privacy, ensure data integrity, and to help facilitate group consensus processes. Cryptography is the study of how to send information back and forth securely in the presence of adversaries. 
There are a number of benefits to Blockchain solutions which include being publicly verifiable, secure, transparent, and cost-effective. 

Blockchain also enables tokenization models that can enable organizations of all sizes to create truly digitized physical assets, provide fractional ownership solutions and create opportunities to decrease processing times while helping to remove unneeded intermediaries. 



Some of the primary benefits of Blockchain are that it leverages a decentralized infrastructure, is a completely trustless environment, and provides immutability by cryptographically linking all blocks together. All blocks on the Blockchain are indexed using a Merkle Tree. A Merkle Tree is a lightweight digital fingerprint of all the transactions within a block which serves as an index to the blockchain. 


A hash function is a one-way function that takes any type of data as input and converts it to a unique 20- digit character code. For example, the letter ‘c’ could be given as the input, and through hashing, it would be converted to a 20-digit code. If the letter were to be changed to an ‘a’ the 20-digit code would be completely different. If the input were a 20 GB video file, the resulting hash would still be a 20-digit code that is completely unique. Hashing is especially useful in blockchain as blockchains need to constantly compare large amounts of data quickly with every other node on the network.