410243 : Blockchain Technology
2022/23/24 Insem solutions
1) Differentiate between symmetric and asymmetric key cryptography. [5]
Point Symmetric Key Asymmetric Key
1. Number of Keys Uses one key for both lock Uses two keys – one public,
and unlock one private
2. Speed Faster Slower
3. Key Sharing Same key must be shared Only the private key is secret
secretly
4. Used For Sending large files securely Used for secure
communication and digital
signatures
5. Examples AES, DES RSA, ECC
2) What is hashing? Explain role of hashing in Blockchain.
What is Hashing?
Hashing is the process of converting any input (like text, file, or number) into a fixed-size string
of characters, using a mathematical function called a hash function.
• The result is called a hash value or hash.
• Example: Hashing the word "hello" might give 2cf24d... (using SHA-256).
• Even a small change in input gives a completely different hash.
Role of Hashing in Blockchain:
1. Data Integrity:
Hashing ensures that data has not been changed. If any block is altered, its hash
changes, and the blockchain becomes invalid.
2. Block Identification:
Each block in a blockchain has a unique hash, like a fingerprint.
, 3. Linking Blocks:
Every block contains the hash of the previous block, forming a secure chain.
4. Proof of Work (Mining):
Miners must find a hash that meets certain conditions (like starting with a number of
zeros). This helps in validating new blocks.
5. Security:
Hashing adds strong security. It’s nearly impossible to guess the original data from the
hash or create the same hash from different data.
3) Justify the importance of Hashing in Block Chain.
Importance of Hashing in Blockchain [5 Marks]
Hashing is a core part of blockchain technology. It ensures security, integrity, and efficiency of
data stored in the blockchain.
1. Data Integrity
• Hashing ensures that data hasn’t been changed.
• If any part of a block is modified, its hash changes immediately.
• This makes tampering easy to detect.
2. Linking of Blocks
• Each block contains the hash of the previous block.
• This creates a secure chain.
• If one block is altered, it breaks the entire chain, making fraud obvious.
3. Faster Verification
• Hashes are small and fixed in size (e.g., 256-bit), so it’s easy to verify data quickly
without rechecking everything.
4. Security
• Hashing algorithms (like SHA-256) are one-way and collision-resistant.
• It is nearly impossible to reverse a hash or find two inputs with the same hash.
, • This makes blockchain secure and trustworthy.
5. Proof of Work (Mining)
• Hashing is used in mining where miners must find a special hash (with leading zeros).
• It ensures that adding a new block requires computational effort, protecting the
network from spam or attacks.
MORE POINTS :
1. Data Integrity
• Each transaction and block is converted into a hash.
• If any data is changed (even one letter), the hash changes completely.
• This makes it easy to detect any unauthorized modifications.
2. Linking Blocks Securely
• Every block includes the hash of the previous block.
• This links all blocks together to form a "chain".
• If a hacker tries to change one block, all the following hashes break, making tampering
obvious and nearly impossible.
3. Efficient Verification
• Hashing helps in verifying data quickly.
• Instead of scanning full data, you can compare small hash values.
• This improves speed and performance of block validation.
4. Security Through Cryptographic Properties
• Cryptographic hash functions (like SHA-256) have these properties:
o Deterministic: Same input = same output o Collision-resistant: Two
different inputs cannot produce the same hash o Pre-image resistant:
Cannot reverse-engineer the input from the hash These make blockchain
highly secure.
, 5. Proof of Work (PoW) Mechanism
• Hashing is used in mining.
• Miners try to find a hash with a certain number of leading zeros.
• This requires time and energy, helping prevent spam and fraud.
• Makes block creation computationally expensive and secure.
6. Lightweight Client Support (Merkle Trees)
• Hashing enables Merkle Trees, where only small parts of the tree (hashes) are needed to
verify large sets of transactions.
• This allows mobile and lightweight clients to verify transactions without downloading
the whole blockchain.
7. Immutability
• Once a block is added, its hash becomes part of the chain.
• Changing a block means changing its hash, and all future hashes — a nearly impossible
task.
• Hashing guarantees that blockchain data is permanent and tamper-proof.
8. Transparency with Privacy
• Data can be hashed (e.g., personal info), so others can verify it exists without revealing
the actual content.
• Ensures both verification and privacy.
9. Digital Signatures and Authentication
• Hashes are often used in digital signatures to sign and verify transactions.
• Ensures authenticity and non-repudiation (sender cannot deny sending the data).
4) What is Merkle tree? Explain the structure of merkle tree.[5]
What is a Merkle Tree?
2022/23/24 Insem solutions
1) Differentiate between symmetric and asymmetric key cryptography. [5]
Point Symmetric Key Asymmetric Key
1. Number of Keys Uses one key for both lock Uses two keys – one public,
and unlock one private
2. Speed Faster Slower
3. Key Sharing Same key must be shared Only the private key is secret
secretly
4. Used For Sending large files securely Used for secure
communication and digital
signatures
5. Examples AES, DES RSA, ECC
2) What is hashing? Explain role of hashing in Blockchain.
What is Hashing?
Hashing is the process of converting any input (like text, file, or number) into a fixed-size string
of characters, using a mathematical function called a hash function.
• The result is called a hash value or hash.
• Example: Hashing the word "hello" might give 2cf24d... (using SHA-256).
• Even a small change in input gives a completely different hash.
Role of Hashing in Blockchain:
1. Data Integrity:
Hashing ensures that data has not been changed. If any block is altered, its hash
changes, and the blockchain becomes invalid.
2. Block Identification:
Each block in a blockchain has a unique hash, like a fingerprint.
, 3. Linking Blocks:
Every block contains the hash of the previous block, forming a secure chain.
4. Proof of Work (Mining):
Miners must find a hash that meets certain conditions (like starting with a number of
zeros). This helps in validating new blocks.
5. Security:
Hashing adds strong security. It’s nearly impossible to guess the original data from the
hash or create the same hash from different data.
3) Justify the importance of Hashing in Block Chain.
Importance of Hashing in Blockchain [5 Marks]
Hashing is a core part of blockchain technology. It ensures security, integrity, and efficiency of
data stored in the blockchain.
1. Data Integrity
• Hashing ensures that data hasn’t been changed.
• If any part of a block is modified, its hash changes immediately.
• This makes tampering easy to detect.
2. Linking of Blocks
• Each block contains the hash of the previous block.
• This creates a secure chain.
• If one block is altered, it breaks the entire chain, making fraud obvious.
3. Faster Verification
• Hashes are small and fixed in size (e.g., 256-bit), so it’s easy to verify data quickly
without rechecking everything.
4. Security
• Hashing algorithms (like SHA-256) are one-way and collision-resistant.
• It is nearly impossible to reverse a hash or find two inputs with the same hash.
, • This makes blockchain secure and trustworthy.
5. Proof of Work (Mining)
• Hashing is used in mining where miners must find a special hash (with leading zeros).
• It ensures that adding a new block requires computational effort, protecting the
network from spam or attacks.
MORE POINTS :
1. Data Integrity
• Each transaction and block is converted into a hash.
• If any data is changed (even one letter), the hash changes completely.
• This makes it easy to detect any unauthorized modifications.
2. Linking Blocks Securely
• Every block includes the hash of the previous block.
• This links all blocks together to form a "chain".
• If a hacker tries to change one block, all the following hashes break, making tampering
obvious and nearly impossible.
3. Efficient Verification
• Hashing helps in verifying data quickly.
• Instead of scanning full data, you can compare small hash values.
• This improves speed and performance of block validation.
4. Security Through Cryptographic Properties
• Cryptographic hash functions (like SHA-256) have these properties:
o Deterministic: Same input = same output o Collision-resistant: Two
different inputs cannot produce the same hash o Pre-image resistant:
Cannot reverse-engineer the input from the hash These make blockchain
highly secure.
, 5. Proof of Work (PoW) Mechanism
• Hashing is used in mining.
• Miners try to find a hash with a certain number of leading zeros.
• This requires time and energy, helping prevent spam and fraud.
• Makes block creation computationally expensive and secure.
6. Lightweight Client Support (Merkle Trees)
• Hashing enables Merkle Trees, where only small parts of the tree (hashes) are needed to
verify large sets of transactions.
• This allows mobile and lightweight clients to verify transactions without downloading
the whole blockchain.
7. Immutability
• Once a block is added, its hash becomes part of the chain.
• Changing a block means changing its hash, and all future hashes — a nearly impossible
task.
• Hashing guarantees that blockchain data is permanent and tamper-proof.
8. Transparency with Privacy
• Data can be hashed (e.g., personal info), so others can verify it exists without revealing
the actual content.
• Ensures both verification and privacy.
9. Digital Signatures and Authentication
• Hashes are often used in digital signatures to sign and verify transactions.
• Ensures authenticity and non-repudiation (sender cannot deny sending the data).
4) What is Merkle tree? Explain the structure of merkle tree.[5]
What is a Merkle Tree?