Most Essential Blockchain Interview Questions and Answers
It’s been more than a year and a half since I have involved myself into the Blockchain.
So far I have learnt a lot but it still feels like there is more and more to learn.
The applications of Blockchain are huge, most of them haven’t even been thought of. We are only getting started.
What this means is that the demand for software engineers with the know-how of Blockchain will only increase exponentially.
I have been interviewing candidates for Blockchain for a while now and it saddens me to see some of the candidates that appear are not even aware of most basic concepts in Blockchain.
I think it’s time to jot down some of the most essential concepts or interview questions every Blockchain developer must answer.
What is Consensus?
A consensus in general terms means reaching an agreement among several parties. Similarly in Blockchain consensus means reaching an agreement on the validity of the chain between different nodes over the network.
Proof of Work (PoW) and Proof of Stake (PoS) are the two most popular consensus algorithms. You are expected to know these at the very least. Bitcoin uses PoW.
Other than these two, Distributed PoS, Byzantine Fault Tolerance, Federated Byzantine Agreement are a few other popular consensus protocol.
Explain Encryption, Hashing and Encoding.
Cryptography is an integral part of the Blockchain. When working on Blockchain you will have to deal with Encryption, hashing and encoding.
It is of pivotal importance that candidates know the concepts and differences between the same. N
Hashing involves converting a piece of data into a string of characters of fixed length. It is easy to hash a given string of characters but it is very difficult (or impossible) to retrieve the original string from the hashed value. Indexing and storing passwords are a good use case of hashing.
Encryption is a process of transforming readable data into unreadable cipher. An encryption key is used to encrypt the data, the encrypted cipher can be converted back into an original form using the same algorithm and encryption key, this process is called decryption. Encryption is of two types symmetric and asymmetric.
Encoding is converting data into a specific format for better transmission or storage. An encoded piece of data can be decoded anytime and it must not be confused with encryption.
Explain Asymmetric Encryption.
In case of symetric encryption there is only a single key which is used to encrypt and decrypt the message. However the problem arrises when the sender has to share his private key along with the message securely with the receiver. This is exactly the problem asymmetric encryption tries to solve.
In case of Asymmetric encryption, two keys; a public key and a private key; are generated using an algorithm like RSA. The public key as the name suggests can be shared with any one who wants to send you information securely. The sender will encrypt the data using your public key and it can be only be decrypted using your private key (i.e the private key associated with the public key used to decrypt the message). If you notice here the private key(used for decryption) never leaves you and is only know by you.
What is a 51% attack?
51% attack in Blockchain is when the attacker or a group of attackers control more than 50% of the computing power(mining power). Not to confuse this as 51% of miners it rather refers to the computing power.
However, such an attack is considered rather unlikely in crypto-currencies with strong support and a wide mining community.
What are smart contracts in Ethereum?
A Smart Contract is a piece of code or a program deployed on a public blockchain in this case Ethereum which can helps us exchange property, money, shares or anything of value without the need of a middleman.
A Smart contract can automatically verify a condition and then decide if an asset should go to one person or back to the other.
What is a Merkel Tree?
A Merkel tree in cryptography is created by labeling the leaf nodes with the hash of their data and subsequently labeling the non-leaf nodes with the hash of the label(hash) of its child nodes. This process is followed until the entire tree can be represented by a single hash known as the Merkel root.
A Merkel tree is used to verify the integrity of large datasets efficiently.
In Blockchain, Merkel tree summarizes all the transactions in a block into the Merkel Root. This is stored in the
These were some of the important blockchain interview questions you must answer when appearing for an interview for the position of a blockchain developer.
However it’s very important to research beyond these topics and also go into the very details of each.