Alice Wants To Send A Message To Bob With Confiden
Alice Wants To Send A Message To Bob With Confiden
Step-by-Step Explanation
Summary Table
Task Key Used (by Alice) Key Used (by Bob) Purpose
Sign message hash Alice's private key Alice's public key Integrity & authenticity
Final Answer
Correct option: d) public, hash, private, public, public
Mnemonic:
Encrypt with their public key, sign with your private key. Decrypt with your private key, verify
with their public key.
⁂
Hash the message Creates a digest of the message Hash function Detect tampering
Sign the hash Encrypts the hash (digest) Her private key Prove authenticity
This process is fundamental to digital signatures and is used in protocols like DSA and RSA [4]
[6] .
Post-Order Traversal
Visit the left child (if any)
Visit the right child (if any)
Visit the current node (root of this subtree)
Repeat this for every node
In simple terms:
You go all the way to the left bottom, then right bottom, then visit their parent, and keep
repeating until you reach the top [21] [22] .
123456
/ \
1234 56
/ \ / \
12 34 5 6
/ \ / \
1 2 3 4
Tree A way to organize data with a root and branches (like a family tree)
Merkle Tree A tree where each node is a hash; used for secure data verification
Hash A unique fingerprint for data; changes a lot if the data changes
Post-order Traversal Visit left, then right, then parent; repeat for all nodes
In Short:
A Merkle Tree is a way to organize and check data using hashes. Post-order traversal is a
method to visit all parts of the tree in a specific order: left, right, then parent. This makes it easy
to check if any part of the data has changed, which is why it’s used in things like blockchains.
If you want an analogy:
Imagine checking your homework in steps: check each answer, then check each section,
then check the whole homework. If any answer is wrong, the final check will show
something is off!
If you have more questions or want an even simpler analogy, just ask!
⁂
Visual Example
Here’s a simple drawing (like the one in your image):
root_hash
/ \
hash1234 hash5656
/ \ / \
hash12 hash34 hash56 hash56
/ \ / \ / \
h1 h2 h3 h4 h5 h6
h1 = hash(data1)
h2 = hash(data2)
... and so on.
import hashlib
def hash_data(data):
return hashlib.sha256(data.encode('utf-8')).hexdigest()
def build_merkle_tree(leaves):
layer = [hash_data(leaf) for leaf in leaves]
while len(layer) > 1:
if len(layer) % 2 == 1: # duplicate last if odd
layer.append(layer[-1])
layer = [hash_data(layer[i] + layer[i+1]) for i in range(0, len(layer), 2)]
return layer[^4_0] # root hash
In Summary
Hash every data point.
Pair up hashes, hash again.
Repeat until one hash remains (the root).
That’s your Merkle tree!
If you want to see it visually, look at the diagram in your image or above.
If you want to try it, run the Python code!
Remember:
> "Hash, pair, hash again, repeat until one remains!" [25] [26]
If you want an even simpler analogy or have more questions, just ask!
⁂
Detailed Explanation
Summary Table
Option What it Does in Blockchain Used to Refer to a Block?
Previous Block Hash Links to the previous block (chain linkage) Yes
In Simple Words:
A blockchain is like a chain of blocks, and each block knows about the one before it by storing
its hash. This is called the previous block hash, and it’s what keeps the chain together and
secure [28] [31] [32] [30] .
So, the answer is (c) Previous Block Hash.
⁂
What is Cryptocurrency?
Cryptocurrency is a kind of digital money. It’s not printed like cash, but exists only on
computers. The most famous example is Bitcoin. You can send it to anyone, anywhere, and it
doesn’t need a bank or government to control it.
1. Decentralization
What it means: No single person, company, or government is in charge.
Why it matters: Instead of a bank having all the power, everyone using the cryptocurrency
helps run it together.
Example: If you use Bitcoin, there isn’t a “Bitcoin boss.” The system runs by agreement of all
its users.
2. Immutability
What it means: Once a transaction (like sending money) is recorded, it can’t be erased or
changed.
Why it matters: This stops people from cheating by changing records later.
Example: If you send 1 Bitcoin to a friend, that record is permanent.
Is This a Goal of
Option What it Means
Cryptocurrency?
In Simple Words
Cryptocurrencies are like digital money that everyone controls together, not just a bank or
government.
Their main goals are:
No single boss (decentralization)
Records can’t be changed (immutability)
Everyone can see and use it (transparency and accessibility)
Centralized control (one boss) is the opposite of what cryptocurrencies are about.
So, the answer is (c): Centralized control over transactions does NOT align with the main
goals of cryptocurrency.
⁂
What is Consensus?
Consensus means “agreement.”
In a distributed system, consensus is about making sure all the computers (nodes) agree on
something important—like the answer to the puzzle, or the order of transactions in a
cryptocurrency.
b) To guarantee that all nodes in the system agree on a single value or state
This is the correct answer!
The main job of a consensus algorithm is to make sure everyone agrees, even if some
computers are slow, broken, or dishonest.
In Simple Words
Consensus algorithm: A way for all the computers in a group to agree on the same thing,
even if some of them are broken or trying to cheat.
Why is it important? It keeps everything fair, correct, and working smoothly, even if there
are problems.
Real-Life Example
Imagine a group chat where everyone needs to agree on what movie to watch.
Some people might be offline, some might try to trick others, but the group needs a way to
make a decision everyone can accept.
A consensus algorithm is like a fair voting system that helps the group agree, no matter
what.
Summary Table
Term Simple Explanation
Consensus algorithm Rules to help all computers agree, even if some fail or cheat
Cryptography The science of keeping information secret and safe using codes [33] [34] .
Encryption Turning a message into a secret code so only the right person can read it [34] .
Decryption Turning the secret code back into the original message [34] .
Hash A short, unique fingerprint for any data—changes completely if the data changes [35] .
Public Key A code you can share with everyone so they can send you secret messages [35] .
Private Key A secret code only you know, used to open messages sent to you [35] .
Digital Signature A special code made with your private key to prove a message is really from you [35] .
Blockchain A chain of blocks, each with a list of transactions, linked by hashes [36] .
Merkle Tree A tree of hashes used to quickly check if any data has changed [35] .
Consensus Algorithm Rules that help all computers in a network agree on the same thing [36] .
Decentralization No single person or company is in charge—everyone helps run the system [36] [34] .
If you follow these steps, you’ll have a detailed, easy-to-understand PDF about cryptography
and blockchain basics—perfect for beginners!
⁂
QUESTION 1
Total mark: 10 X 1 = 10
If the current block reward for Bitcoin is 6.25 BTC, and the difficulty adjustment mechanism is
such that,
on average, a new block is found every 10 minutes, how much Bitcoin will be mined per day (24
hours)?
a) 75 BTC
b) 144 BTC
c) 900 BTC
d) 1,080 BTC
Answer: (c)
Detailed solution:
The block reward is 6.25 BTC.
There are 144 blocks mined in a 24-hour period (24 hours × 60 minutes / 10 minutes per block).
In one day, the total Bitcoin mined would be 144 × 6.25=900 BTC.
Here’s a step-by-step, beginner-friendly explanation for your question about how much
Bitcoin is mined per day, with all terms explained as if you’re new to the topic.
Question
If the current block reward for Bitcoin is 6.25 BTC, and the difficulty adjustment mechanism
is such that, on average, a new block is found every 10 minutes, how much Bitcoin will be
mined per day (24 hours)?
a) 75 BTC
b) 144 BTC
c) 900 BTC
d) 1,080 BTC
Answer: (c) 900 BTC
Detailed Explanation
Block Reward The amount of new Bitcoin given to the miner who creates a new block.
Mining The process of creating new blocks by solving puzzles with computers.
Blockchain A chain of blocks, each containing transaction records, linked together securely.
Summary Table
Step Value
Final Answer
900 BTC is mined per day when the block reward is 6.25 BTC and one block is found every 10
minutes [41] [42] [43] .
Key Features:
Restricted Access: Not everyone can join. Only people or companies who have been
approved (authorized) can participate [44] [45] [46] [47] [48] .
Controlled Writing and Validation: Only these authorized participants can add new
transactions or approve (validate) them [44] [49] [45] [46] [47] [48] .
Extra Security and Privacy: Because access is controlled, these blockchains are often used
by businesses or groups that want to keep their information private and secure [44] [49] [48] .
Examples: Used by banks, companies, or groups of companies working together.
In Simple Words
A permissioned blockchain is like a private, members-only club where only approved people
can write or check the records. This makes it more secure and private than public blockchains,
where anyone can join.
So, the best definition is:
> Only authorized participants can write and validate transactions.
⁂
Detailed Solution
Field Description
Previous block hash The hash of the previous block (links blocks together)
Merkle root The hash of all transactions in this block, combined in a Merkle tree
Timestamp When this block was created (in seconds since 1970-01-01)
Difficulty bits The current mining difficulty target (in compact format, called "bits")
These six fields are combined (concatenated) and then hashed twice with SHA-256 to produce
the block hash [51] [52] [53] [54] [55] .
Summary Table
Field in Block Header Included in Option (b)? Included in Other Options?
In Simple Terms
To compute a Bitcoin block’s hash, you use these six things from the block header:
Version
Previous block’s hash
Merkle root
Timestamp
Difficulty bits
Nonce
Put them together, hash them twice, and you get the block’s unique hash.
So, the correct answer is (b).
⁂
Imagine a GIANT notebook that everyone can see and write in, but nobody can erase or
rip out pages [56] [57] [58] [59] [60] .
Each page = a block.
The notebook = the blockchain.
🟩 BLOCK: THE PAGE
Every new block remembers the hash of the previous block [57] [58] [63] [60] .
This is like each page saying, “I come after THIS page.”
If someone tries to change an old page, all the next pages will notice something’s wrong
because the chain of hashes breaks.
Mining = competing to write the next page in the notebook [62] [57] [61] [65] .
Miners are like students racing to solve a puzzle (find a special number called a nonce).
The puzzle: “Find a nonce so that the hash of this block starts with a bunch of zeros.”
First to solve gets to add the block and wins Bitcoin as a reward [62] [57] [61] .
🟦 VISUAL MEME
Blockchain: 📒
Block: 📄
Hash: 🧬
Chain: 🔗
Mining: ⛏️💰
Bitcoin: ₿
Decentralized: 🌍🤝
Consensus: 👍👍👍
🟧 EXAMPLE: “ALICE SENDS BOB 1 BITCOIN”
🟦 FINAL VIBE
> Blockchain is just a super-secure, public notebook where everyone can see every transaction,
no one can cheat, and the math keeps everyone honest.
If you want this in a PDF, just copy-paste this into a Word or Google Doc and export!
If you want even more memes or analogies, just ask!
⁂
Why Do This?
This “proof of work” shows you really did a lot of work (computing power).
It keeps the blockchain safe from cheaters, because it’s too expensive and slow to fake a
block.
> It’s like a lottery where you keep buying tickets (trying nonces) until you get the winning
number (the hash with the right number of zeros).
🟪 Example
Let’s say you want a hash that starts with “0000”. You try:
Nonce = 1 → Hash = “a3b7…”
Nonce = 2 → Hash = “f9c2…”
Nonce = 3 → Hash = “0000f5e…”
Bingo! You found a winner.
But in real life, you might need to try trillions of numbers before you get lucky.
🟥 Key Words
So, the “puzzle” is just: Guess a number until the hash starts with enough zeros. That’s it!
It’s hard because there’s no shortcut—just pure guessing and checking, super fast, with
computers [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] .
⁂
3. Transaction Broadcast
The transaction is sent out to the network (all the computers, called nodes).
4. Transaction Pool
The transaction waits in a “pool” with other new transactions, waiting to be added to the
blockchain.
5. Block Formation
Miners (special nodes) group transactions together into a block (like a new page in a
notebook).
7. Block Validation
The first miner to solve the puzzle broadcasts their new block to the network.
Other nodes check:
Are all transactions valid?
Does the hash fit the rules?
[Start]
↓
Alice creates transaction → Signs with private key
↓
Transaction broadcast to network
↓
Miners collect transactions → Form a block
↓
Miners race to solve puzzle (find nonce so hash starts with zeros)
↓
Winner broadcasts new block
↓
Network checks block is valid
↓
Block added to blockchain (linked by previous hash)
↓
All nodes update their copy
↓
Transaction confirmed, Bob gets Bitcoin!
↓
[End]
Blockchain: A public notebook where everyone can see and verify every transaction.
Block: A page in the notebook, full of transactions.
Hash: A digital fingerprint for a block.
Nonce: A random number miners guess to solve the puzzle.
Proof of Work: The puzzle miners solve to add a block.
Miner: A computer that tries to solve the puzzle and add blocks.
Consensus: Agreement among all nodes that a block is valid.
Immutability: Once something is written, it can’t be changed.
Distributed Ledger: Everyone has a copy of the notebook.
🟪 TL;DR
> Blockchain is a public, digital notebook. Transactions are grouped into blocks. Miners
solve puzzles to add blocks. Each block links to the previous one, making a chain. Everyone
has a copy. Once added, blocks can’t be changed. This keeps everything honest, open, and
secure.
If you want this as a PDF flowchart, just copy this answer into Word/Google Docs, add
arrows/boxes as you like, and export as PDF!
If you want a hand-drawn style or a diagram, let me know!
⁂
“nonce” ??
Here’s a simple, beginner-friendly explanation of what a nonce is in blockchain and why it
matters:
TL;DR
Nonce = Number used once.
Miners keep changing it to try to find a winning block hash.
It’s what makes mining possible and keeps blockchain secure.
In MCQ terms:
> In Bitcoin mining, the nonce is a value miners iterate through to generate a valid hash [82] [79] .
QUESTION 5
In the Bitcoin, block identifier refers to
a) SHA1 (128 bits) of the future block header
b) Double SHA256 of the current block header
c) Double SHA256 of the difficulty bits only
d) Triple SHA256 of the future block header
Answer: (b)
Detailed solution:
The Bitcoin block identifier (block hash) contains Double SHA256 on the current block header.
This
means performing SHA256 twice. Please refer to the Week 3 Lecture 13.
The correct answer is (b) Double SHA256 of the current block header.
Detailed Explanation
Summary Table
Option Description Correct? Why/Why Not
d Triple SHA256 of future block header No Wrong hash count, wrong block
In Simple Words
> The Bitcoin block identifier (block hash) is made by taking the block’s header, running it
through SHA-256 twice (double SHA-256), and using the result as the block’s unique code [84]
[85] [87] [88] .
So, the correct answer is (b): Double SHA256 of the current block header.
⁂
Summary Table
Option Meaning Correct?
In Simple Words
> To detect and correct an invalid transaction in a Merkle tree, you only need to recalculate the
hashes along the path from the bad transaction up to the root—one at each level, plus the root
itself. That’s log₂(n) + 1 recalculations.
Summary Table
Tree Type Number of Levels (for n leaves) Why?
In Simple Words
> Balanced binary trees are used because they keep the number of levels (or steps) as small as
possible—specifically, $ \log_2(n) $ for $ n $ leaves. This makes searching, verifying, and
updating very fast and efficient [91] [90] [92] [93] .
References:
- [91] Reddit: Why is log₂ common in computer science?
- [90] GeeksforGeeks: Balanced Binary Tree
- [92] GeeksforGeeks: Properties of Binary Tree
- [93] StackOverflow: Proof that the height of a balanced binary-search tree is log(n)
⁂
QUESTION 7
Which of the following Bitcoin script opcode is needed to remove the second-to-top stack item?
a) OP_DELETE
b) OP_2POP
c) OP_DEQUE
d) OP_NIP
Answer: (d)
Detailed solution:
Bitcoin Script uses specific opcodes like OP_DROP, OP_NIP, etc., to manipulate the stack.
OP_NIP
is explicitly designed to remove the second-to-top stack item.
The correct answer is (d) OP_NIP.
Detailed Solution
[bottom] A B [top]
[bottom] B [top]
In Simple Words
OP_NIP is the opcode you use in Bitcoin Script to remove the second-to-top item from the stack.
So, the answer is (d) OP_NIP. [94] [95]
⁂
Detailed Solution
A Merkle tree is a binary tree used in blockchains to efficiently summarize and verify large sets
of transactions. Each transaction is hashed and placed at the bottom of the tree (the leaves).
These hashes are then paired, combined, and hashed again at each level until only one hash
remains at the top—the Merkle root.
Total Hashes
Add all the hashes together:
Leaf hashes: 8
First parent level: 4
Second parent level: 2
Root: 1
Total = 8 + 4 + 2 + 1 = 15 hashes
Summary Table
Level Number of Hashes
Leaves 8
First parents 4
Second parents 2
Root 1
Total 15
Why Not the Other Options?
a) 8: Only counts the leaves, not the parent or root hashes.
c) 16: Too many (would be true if you mistakenly counted an extra level).
d) 7: This is the number of non-leaf (parent and root) hashes, not the total.
References
Gemini Cryptopedia: Merkle Trees & Merkle Roots [96]
Decentralized Thoughts: What is a Merkle Tree? [97]
GeeksforGeeks: Blockchain Merkle Trees [98]
In Simple Words
If a Merkle tree has 8 transactions, you need 15 hashes (8 for the transactions themselves, and
7 more for the parent and root nodes) to compute the Merkle root.
So, the answer is (b) 15.
⁂
In Simple Words
> The Merkle root is used to quickly prove that a transaction is included in a block, to detect
tampering, and to make verification efficient for everyone on the network.
Summary:
The Merkle root is stored in the block header.
It lets anyone verify transactions efficiently.
It protects against tampering.
It enables lightweight clients to work securely.
If the Merkle root doesn’t match, you know something in the block’s transactions has been
changed or is missing [100] [105] [99] .
⁂
QUESTION 10
What happens if the number of transactions in a Merkle tree is odd?
a) The tree cannot be built
b) Dummy (duplicate) hashes are added to adjust
c) Transactions are left out of the block
d) The Merkle root is ignored
Answer: (b)
Detailed solution:
If the number of transactions is odd, pairs cannot be formed for the suitable structure of the
Merkle
tree. To fix this, dummy (duplicate) hashes are added to make the number of transactions even,
allowing the tree to be constructed properly. Please refer to the Week 3 Lecture 14.
The correct answer is (b) Dummy (duplicate) hashes are added to adjust.
Detailed Solution
Example:
Suppose you have 5 transactions: T1, T2, T3, T4, T5.
1. Hash each transaction:
H1, H2, H3, H4, H5
2. Pair up and hash:
H1 + H2 → H12
H3 + H4 → H34
H5 is alone, so it is duplicated: H5 + H5 → H55
3. Next level:
H12 + H34 → H1234
H55 is alone, so it is duplicated: H55 + H55 → H5555
4. Final level:
H1234 + H5555 → Merkle root
This duplication process happens at any level of the tree where there is an odd number of
nodes, not just at the bottom [106] [107] [108] [109] [110] .
Why Not the Other Options?
a) The tree cannot be built:
Incorrect. The tree can always be built by duplicating the last hash.
c) Transactions are left out of the block:
Incorrect. No transactions are left out; all are included.
d) The Merkle root is ignored:
Incorrect. The Merkle root is always calculated and used.
In Simple Words
> If there’s an odd number of transactions in a Merkle tree, the last transaction’s hash is
duplicated so that every node can be paired. This ensures the tree can be built properly and the
Merkle root can be calculated.
So, the answer is (b): Dummy (duplicate) hashes are added to adjust.
⁂
Number of questions: 10
Total mark: 10 X 1 = 10
QUESTION 1
What is a "fork" in the context of Bitcoin?
a) A change in the Bitcoin protocol that leads to the creation of a new version of the blockchain
b) A new type of cryptocurrency that does not rely on blockchain technology
c) A collaborative process for miners to resolve conflicts in the blockchain
d) None of the above
Answer: (a)
Detailed solution:
result
in
In the context of Bitcoin, a "fork" refers to a change in the protocol or rules of the network,
which
can
the
creation
Please refer to the Week 4 Lecture 16.
Here is the answer and detailed solution for your query:
QUESTION 1
What is a "fork" in the context of Bitcoin?
a) A change in the Bitcoin protocol that leads to the creation of a new version of the blockchain
b) A new type of cryptocurrency that does not rely on blockchain technology
c) A collaborative process for miners to resolve conflicts in the blockchain
d) None of the above
Answer: (a)
Detailed Solution
A fork in Bitcoin refers to a change in the protocol or the rules that govern the Bitcoin network.
When a fork occurs, it can result in the creation of a new version of the blockchain. This happens
if some participants (miners or nodes) adopt the new rules, while others continue following the
old rules. The blockchain then splits into two separate chains from the point of the fork, each
following its own set of rules. This process can create a new cryptocurrency (for example,
Bitcoin Cash was created from a Bitcoin hard fork) [111] [112] [113] [114] [115] .
There are two main types of forks:
Hard Fork: A major change that is not backward-compatible, resulting in two separate
blockchains and potentially two different cryptocurrencies.
Soft Fork: A minor, backward-compatible change that does not split the blockchain.
Why is option (a) correct?
Because it captures the essence of a fork: a protocol change that can lead to a new blockchain
version.
Why are the other options incorrect?
(b) A fork is not about creating a new type of cryptocurrency without blockchain; it is about
modifying the existing blockchain protocol.
(c) While forks can happen due to disagreements among miners, the definition is not about a
collaborative process but about a protocol change.
(d) "None of the above" is incorrect, as (a) is correct.
Summary:
A fork in Bitcoin is a change in the protocol that can create a new version of the blockchain,
sometimes resulting in a new cryptocurrency if the network splits [111] [112] [113] [114] [115] .
⁂
Suppose a miner initially receives 100 bitcoins as
a reward for successfully mining a block at time
Jan, 2009.
The reward for mining a block is halved approximately every four years (or after every 210,000
blocks).
Based on this halving process, which of the following statements are correct? (Please note that
once the
reward is halved, it will remain the same until four years have been completed or after every
210,000 blocks.)
a) In Jan 2013, the miner will receive 50 bitcoins for adding a new block.
b) In Jan 2018, the miner will receive 25 bitcoins for adding a new block.
c) In Jan 2021, the miner will receive 12.5 bitcoins for adding a new block.
d) In Jan 2024, the miner will receive 6.25 bitcoins for adding a new block.
Answer: (a), (b), and (c)
Detailed solution:
The Bitcoin block reward halves approximately every 4 years (after 210,000 blocks). From Jan
2009
reward was 100 bitcoins(same for 2010, 2011, and 2012); By Jan 2013, the reward was 50
bitcoins(same for 2014, 2015, and 2016); by Jan 2018 it was 25 bitcoins(same for 2017, 2019,
and
2020); and by Jan 2021 it was 12.5 bitcoins(same for 2022, 2023, and 2024). By Jan 2024, the
halving
to 6.25 bitcoins will not yet have occurred, making the last statement incorrect.
210,000 blocks why this absurd no.
Let's break down your query into two parts:
Given Statements:
a) In Jan 2013, the miner will receive 50 bitcoins for adding a new block.
b) In Jan 2018, the miner will receive 25 bitcoins for adding a new block.
c) In Jan 2021, the miner will receive 12.5 bitcoins for adding a new block.
d) In Jan 2024, the miner will receive 6.25 bitcoins for adding a new block.
Why?
Jan 2009: Reward starts at 100 BTC (as per your question, though in reality it was 50 BTC).
First halving: After 210,000 blocks (~4 years, so around Jan 2013), reward halves to 50
BTC.
Second halving: After another 210,000 blocks (~Jan 2017), reward halves to 25 BTC.
Third halving: After another 210,000 blocks (~Jan 2021), reward halves to 12.5 BTC.
Fourth halving: Would occur after another 210,000 blocks (~Jan 2025), so by Jan 2024
the reward is still 12.5 BTC (not yet halved to 6.25 BTC).
So, in Jan 2024, the reward is still 12.5 BTC, not 6.25 BTC.
Summary Table
Year Block Reward (BTC)
Jan 2013 50
Year Block Reward (BTC)
Jan 2018 25
References
Cleartax: What is Bitcoin Halving [116]
EY: The Bitcoin Halving Explained [117]
Reddit: Why is Bitcoin's Supply Limited to 21 Million [118]
In Simple Words
210,000 blocks = about 4 years. After every 210,000 blocks, the reward for mining a block
is cut in half.
This keeps new bitcoins rare and valuable, and is why there will never be more than 21
million bitcoins.
In Jan 2013, 2018, and 2021, the rewards were 50, 25, and 12.5 BTC, respectively. In Jan
2024, the reward is still 12.5 BTC, because the next halving to 6.25 BTC will happen later in
2024.
That’s why (a), (b), and (c) are correct!
⁂
1. Decentralized Network
Bitcoin doesn’t have a central authority (like a bank) to check every transaction. Instead, it
uses a network of thousands of computers (nodes) that all keep a copy of the Bitcoin ledger
(blockchain) [119] .
The network always accepts the "longest" chain (the one with the most proof-of-work),
which makes it almost impossible for a cheater to rewrite history and double spend [124] [119] .
Why Not the Other Options?
a) Centralized authority:
Bitcoin is decentralized—there is no central authority checking transactions [119] .
c) Centralized database:
Bitcoin uses a distributed ledger, not a centralized database [120] [119] .
d) One transaction per user per day:
There is no such limit in Bitcoin; users can make as many transactions as they want.
In Simple Words
> Bitcoin prevents double spending by using proof-of-work, where miners and nodes check
that each Bitcoin is only spent once, and only valid transactions are added to the blockchain.
So, the answer is (b): Relying on a proof-of-work consensus mechanism ensures that only
one valid transaction is accepted.
⁂
Detailed Solution
In Simple Words
> The main challenge of permissionless blockchains is getting everyone to agree on the same
version of the blockchain (consensus) without needing to trust a central authority or third party.
So, the answer is (b): Reaching agreement (consensus) across a decentralized network of
participants without a trusted third-party.
⁂
QUESTION 6
Which of the following is not a failure that blockchain tries to handle , as rather an attack that a
blockchain
can try to defend to ensure prevention?
a) Crash Fault
b) Double Spending
c) Byzantine Fault
d) Link Fault
Answer: (b)
Detailed solution:
Please refer to the Week 4 Lecture 18.
The correct answer is (b) Double Spending.
Detailed Solution
a) Crash Fault
Crash faults happen when a node (computer in the network) suddenly stops working or
"crashes."
This is a type of system failure that blockchains are designed to handle, so the network
keeps working even if some computers go down [129] [130] [131] .
b) Double Spending
Double spending is when someone tries to spend the same digital coin more than once—a
form of fraud or attack, not a system failure [132] [131] .
Blockchains use consensus algorithms (like Proof of Work or BFT) to defend against this
attack and ensure that each coin can only be spent once [130] [132] [131] .
c) Byzantine Fault
Byzantine faults are when nodes act in unexpected or even malicious ways, like sending
conflicting information or lying [130] [131] .
This is a classic type of system failure in distributed networks, and blockchain consensus
mechanisms are specifically designed to handle this [130] [131] .
d) Link Fault
Link faults are failures in the communication links between nodes (e.g., network outages or
dropped messages).
Blockchains are designed to tolerate these kinds of network failures [129] .
Summary Table
Option Type Blockchain Handles/Defends?
Final Explanation
Crash faults, Byzantine faults, and link faults are all types of failures that can happen in a
distributed system or blockchain network. Blockchain protocols are designed to handle
these so the system keeps working even if some nodes fail or misbehave [129] [130] [131] .
Double spending is not a system failure but an attack where someone tries to cheat the
system by spending the same coin twice. Blockchains are specifically designed to defend
against this attack using consensus and cryptographic proofs [132] [131] .
Therefore, the correct answer is (b) Double Spending, as it is an attack (not a failure) that
blockchain defends against to ensure prevention.
⁂
QUESTION 7
Which of the following best describes Safety and Liveness in Bitcoin?
a) Safety ensures transactions are irreversible, while Liveness ensures transactions are
eventually added.
b) Safety guarantees quick transaction confirmation, while Liveness prevents forks.
c) Safety prevents double-spending, while Liveness speeds up block creation.
d) Safety ensures blocks are always valid, while Liveness ensures no transaction delays.
Answer: (a)
Detailed solution:
Safety ensures that once a transaction is confirmed, it cannot be reversed, preventing issues like
double-spending. Liveness ensures that transactions will eventually be added to the blockchain,
even
if there are delays or forks
The correct answer is (a) Safety ensures transactions are irreversible, while Liveness ensures
transactions are eventually added.
Detailed Solution
In Simple Words
Safety: Once a transaction is confirmed, it can’t be reversed or changed.
Liveness: Every valid transaction will eventually be included in the blockchain.
So, the correct answer is (a): Safety ensures transactions are irreversible, while Liveness
ensures transactions are eventually added.
⁂
Detailed Solution
In Simple Words
> PoW keeps Bitcoin secure and trustworthy by making it hard to cheat. Miners must do real,
expensive work to add new blocks, and this work is easy for everyone else to check. This
prevents fraud, attacks, and manipulation—without needing a central authority.
So, the correct answer is (d): To secure the network and prevent fraudulent transactions
through computational difficulty.
⁂
Detailed Solution
Let's break down each step in the order:
1. Transaction Flooding
When users want to make Bitcoin transactions, they broadcast ("flood") their transactions to
the network.
These transactions are sent to all nodes and collected in a pool called the mempool [144]
[145] .
All miners and nodes receive these pending transactions and store them until they are
included in a block.
2. Block Mining
Miners select transactions from the mempool to form a new candidate block [146] [145] .
Miners then compete to solve a cryptographic puzzle (Proof of Work) to "mine" the block.
The first miner to solve the puzzle gets to add the new block to the blockchain and earns
the block reward and transaction fees.
3. Block Propagation
Once a miner successfully mines a block, the new block is broadcast ("propagated") to the
rest of the network [147] [148] .
Each node that receives the new block validates it and then passes it on to its peers,
ensuring the entire network learns about the new block quickly.
4. Block Flooding
The process of block propagation is often called "block flooding," where the new block
spreads rapidly through the network until all nodes have received and validated it [147] [148] .
This ensures all copies of the blockchain are updated and consistent.
Summary Table
Step Description
Block Flooding The block rapidly spreads to the entire network for validation and sync
Detailed Solution
Let's analyze each statement:
a) PoW forks can occur when two miners independently solve the puzzle at the
same time, leading to a brief divergence in the blockchain.
This is correct.
In PoW, if two miners find a valid block at the same time, the blockchain temporarily splits
(forks) into two branches. Eventually, one branch becomes longer and is accepted as the
main chain, while the other is discarded. [149]
b) While PoW encourages miners to follow the longest chain, it does not prevent
attacks like 51% attacks, where malicious miners can control the blockchain.
This is correct.
PoW does not make 51% attacks impossible. If a miner or group controls more than half the
network’s hashing power, they can potentially manipulate the blockchain, perform double-
spending, or censor transactions. [150] [151]
Summary Table
Statement Correct? Reason
a Yes Forks can occur if two miners solve at the same time.
d No PoW does not ensure complete decentralization; mining power can concentrate.
Detailed Solution
Proof of Work (PoW) is the consensus algorithm used in Bitcoin and many other blockchains.
While it is secure and proven, it has significant limitations:
(a) A lot of mining power is wasted as only one gets success in mining at a time
Explanation:
In PoW, thousands of miners compete to solve a mathematical puzzle, but only the first one
to solve it gets to add the new block and receive the reward. All the computational work
done by the other miners is wasted. This leads to a huge waste of energy and computing
resources [152] [153] [154] .
Environmental Impact:
This wasted effort translates into high electricity usage and environmental concerns, as all
miners are constantly running powerful hardware but only one gets rewarded.
Scalability Issues:
PoW blockchains like Bitcoin have limited transaction throughput (number of transactions
per second) and can become slow and expensive to use as more people join the network.
Why Not the Other Options?
(b) PoW is typically used for permissioned blockchain:
This is incorrect. PoW is mainly used in permissionless (public) blockchains like Bitcoin and
Ethereum (before Ethereum 2.0). Permissioned blockchains usually use more efficient
algorithms like PBFT or PoA [152] [154] .
(c) It is used for blockchain mining:
This is a true statement about what PoW is, not a limitation. PoW is indeed used for mining,
but this is not a drawback.
Summary Table
Option Limitation of PoW? Explanation
In Simple Words
PoW wastes a lot of energy because only one miner wins and the rest do useless work.
PoW is expensive and hard to scale for big networks because of high costs and slow
transaction speeds.
So, the correct answers are (a) and (d).
⁂
a Yes All nodes wait a random time [157] [158] [159] [160] [161]
b No First to finish becomes leader, not follower [158] [159] [160] [161]
c Yes Uses trusted hardware and attestation [157] [158] [159] [160] [161]
In summary:
> In PoET, the first participant to finish waiting becomes the leader (not the follower) for the new
block.
Thus, (b) is not applicable for PoET.
⁂
Detailed Solution
Summary Table
Option What it Means Can it rewrite transaction history?
In Simple Words
> If an attacker controls more than half of the blockchain’s computing power, they can rewrite
recent transaction history by building a longer chain, enabling double-spending and reversing
their own transactions. This is called a 51% attack and is the main way to manipulate an append-
only blockchain ledger [162] [163] [164] [165] [166] [167] .
So, the answer is (c): The attacker gained control of more than 51% of the network’s
computing power.
⁂
What is the role of the Ethereum Virtual Machine
(EVM)?
a. To directly connect the Ethereum nodes
b. To execute smart contracts in a decentralized manner
c. To directly mine blocks
d. To disrupt the Ethereum network and cause failures
Answer: (b)
Detailed solution:
The EVM executes smart contracts and ensures decentralized agreement on computations.
The correct answer is (b) To execute smart contracts in a decentralized manner.
Detailed Solution
In Simple Words
> The EVM is like a giant, shared computer inside Ethereum that runs smart contracts and
makes sure everyone gets the same results, no matter which computer they use.
So, the correct answer is (b): To execute smart contracts in a decentralized manner.
⁂
Real-Life Analogy
> Imagine a vending machine in a public place.
> - You put in money and push a button.
> - The machine checks if you paid enough, and if so, it gives you a snack.
> - No shopkeeper needed, no way to cheat the rules.
> - Everyone can see the machine and how it works.
A decentralized smart contract is like a vending machine that everyone can see and trust, and
no one can secretly change.
TL;DR
Smart contracts: Programs that run on the blockchain to do things automatically.
Decentralized manner: Many computers run the contract, so no one can cheat or control it.
EVM’s role: Makes sure smart contracts run the same way for everyone, everywhere, with
no middleman or single boss.
In short:
> “To execute smart contracts in a decentralized manner” means running digital agreements on
many computers worldwide, so no one can cheat, change, or control the contract—it’s
automatic, fair, and trustworthy [178] [179] [180] [181] [182] [183] .
⁂
QUESTION 5
Which of the following syntax is correct to write data in a smart contract using solidity
a. myContract.methods.store("10").set()
b. myContract.methods.write("10").send()
c. myContract.methods.store("10").send()
d. myContract.methods.write("10").set()
The correct answer is (c) myContract.methods.store("10").send().
Detailed Solution
Summary Table
Option Correct? Why?
In Simple Words
> To write data in a Solidity smart contract using web3.js, use .methods.<function>
(arguments).send().
> For example: myContract.methods.store("10").send()
Original Question
Which of the following syntax is correct to write data in a smart contract using Solidity?
a. myContract.methods.store("10").set()
b. myContract.methods.write("10").send()
c. myContract.methods.store("10").send()
d. myContract.methods.write("10").set()
Correct answer: (c) myContract.methods.store("10").send()
Explanation of Each Term and Concept
1. Smart Contract
A smart contract is a computer program that runs on a blockchain (like Ethereum).
It can automatically execute rules and logic, like “if Alice pays 10 coins, send her a ticket.”
In Solidity (the main programming language for Ethereum smart contracts), you write
functions that can read or change data on the blockchain.
2. Solidity
Solidity is a programming language used to write smart contracts for Ethereum.
It looks a bit like JavaScript or C++.
3. myContract
This is a JavaScript object (from a library like Web3.js) that represents your deployed smart
contract.
It lets your website or app talk to the smart contract on the blockchain.
4. .methods
This is a property of the contract object that gives access to the functions (methods)
defined in your smart contract.
Example: If your Solidity contract has a function called store, you can call it from JavaScript
as myContract.methods.store.
5. store("10")
This is calling the smart contract function named store and passing it the value "10".
In Solidity, you might have a function like this:
function store(uint256 value) public {
// save value to blockchain
}
6. .send()
.send() is used when you want to write data to the blockchain (change the blockchain’s
state).
It creates a transaction, which costs gas (a small fee paid in Ether).
Example: myContract.methods.store("10").send({from: userAddress})
This means: Call the store function with "10" as input, and send a transaction to the
blockchain.
The other options are incorrect because:
.set() is not a valid Web3.js method.
write is not the function name in this example.
In Simple Words
> To change or write data in a smart contract on Ethereum, you use .send().
> To only read data, you use .call().
> The correct way to write data is:
> myContract.methods.store("10").send()
Question
2.5 ether equals
a. 25 × 10⁸ Gwei
b. 25 × 10¹⁰ Gwei
c. 25 × 10⁷ Gwei
d. 25 × 10⁹ Gwei
Correct answer: (a) 25 × 10⁸ Gwei
Summary
Ether is the main currency.
Gwei is a smaller unit, used for fees.
2.5 Ether = 2,500,000,000 Gwei = 25 × 10⁸ Gwei
Correct answer: (a) 25 × 10⁸ Gwei
What is Gas?
On Ethereum, “gas” is like fuel for your car—but instead of driving, it’s used to run
transactions or smart contracts on the blockchain.
Every action (like sending ETH, swapping tokens, or running a smart contract) needs some
amount of gas to get done.
TL;DR
Gas price = how much you’ll pay per unit of gas to run your transaction.
Set higher for faster transactions, lower for cheaper ones.
Measured in Gwei (tiny fractions of ETH).
Fee you pay = gas used × gas price.
In short:
> Gas price is the “price per drop of fuel” you offer to get your Ethereum transaction done. The
higher you set it, the faster your transaction will go through! [185] [186] [187] [188] [189] [190] [191] [192]
⁂
Detailed Solution
What is JSON-RPC?
JSON-RPC is a protocol that allows you to interact with Ethereum nodes by sending specific
commands (called "methods") and getting responses in a standard format.
{
"jsonrpc":"2.0",
"method":"eth_getBalance",
"params": ["0x95222290DD7278Aa3Ddd389Cc1E1d165CC4BAfe5", "latest"],
"id":1
}
This will return the current balance (in wei) of the specified Ethereum account [193] [194] [195] [196] .
Summary Table
Method Purpose
So, the correct JSON-RPC method to query the balance of an Ethereum account is:
(b) eth_getBalance [193] [194] [195] [196] .
⁂
Which of the consensus algorithms requires
miners to show a proof of sending coins to a
verifiably un
spendable address?
a. Proof of Work (PoW)
b. Proof of Stake (PoS)
c. Proof of Burn (PoB)
d. Proof of Elapsed Time (PoET)
explain all options
The consensus algorithm that requires miners to show a proof of sending coins to a verifiably
unspendable address is:
c. Proof of Burn (PoB)
Summary Table
Consensus Algorithm How It Works Is Coin Burning Required?
In Simple Words
Proof of Burn is the only consensus algorithm here where miners must destroy (burn) their
coins by sending them to an address that nobody can ever use, proving their commitment
to the network [199] [200] .
So, the correct answer is (c) Proof of Burn (PoB).
⁂
explain proof of stake again
Here’s a clear, beginner-friendly explanation of Proof of Stake (PoS), using simple language
and examples, and covering all the key points from your search results:
1. Staking Coins
People who want to help run the network (called validators) must lock up some of their own
coins (called their stake) as a deposit.
Example: On Ethereum, you need to lock up 32 ETH to become a validator [202] [203] [204]
[205] .
2. Choosing Validators
The network randomly picks one validator (with higher chances if you have more coins
staked) to create the next block of transactions.
The more coins you stake, the higher your chance of being chosen—but it’s never a
guarantee [206] [207] [202] [205] .
Key Terms
Stake: Coins locked up as a deposit to become a validator.
Validator: A person or computer that checks transactions and adds new blocks.
Slashing: Losing part of your staked coins as a punishment for cheating.
Consensus: Agreement among validators about which blocks are valid.
Simple Analogy
> Imagine a club where you must deposit money to vote on important decisions. If you vote
honestly, you get a reward. If you try to cheat, you lose your deposit. The more you deposit, the
more likely you are to be chosen to vote.
In Summary
Proof of Stake lets people help run a blockchain by locking up coins.
The network randomly picks validators to add new blocks, with chances based on how
much they’ve staked.
Validators earn rewards for being honest, but lose coins if they cheat.
It’s secure, energy-efficient, and helps keep the blockchain running smoothly [202] [203] [204]
[205] .
Real-World Example
If you send money to a friend with a bank, the bank can make mistakes, charge fees, or
even block your transaction. With blockchain, the transaction is direct, fast, and can’t be
changed or blocked by any single person.
For things like property records, supply chains, or digital identity, blockchain makes sure the
records are always correct, visible, and can’t be secretly changed.
One-Line Summary
> Blockchain is required to create a secure, shared, and tamper-proof record of transactions
or data, without needing to trust any single authority or middleman.
In short:
Blockchain lets many people safely share and update data, money, or ownership—without
anyone being able to cheat, hide, or secretly change the records [208] [209] [210] [215] [211] [216] [212]
[213] [214] .
⁂
What is/are the primary distinction between crash
faults and Byzantine faults?
a. Crash faults involve deliberate malicious behavior
b. Byzantine faults involve deliberate malicious behavior
c. Crash faults require at least 3F + 1 node for consensus (here, F is the number of crash faults)
d. Byzantine faults can never partition the network
Answer: (b)
Detailed solution:
Byzantine faults involve nodes behaving maliciously, whereas crash faults occur when nodes fail
passively.
The correct answer is (b) Byzantine faults involve deliberate malicious behavior.
Detailed Solution
Crash Faults
Definition: A crash fault occurs when a node (computer/server) in a distributed system
simply stops working or "crashes." It does not send any more messages or participate in the
system.
Behavior: The node fails passively—it just goes silent, but does not send out wrong or
misleading information.
Example: Imagine a computer in a network suddenly loses power and shuts down. It
doesn't try to trick anyone; it just stops responding.
Byzantine Faults
Definition: A Byzantine fault occurs when a node acts in an arbitrary or malicious way. It
could send conflicting, incorrect, or even intentionally misleading messages to different
nodes.
Behavior: The node can fail actively and maliciously—it might lie, cheat, or try to disrupt
consensus on purpose.
Example: Imagine a computer in a network that is hacked and starts sending different
(possibly false) information to different computers, trying to confuse them or disrupt the
system.
Key Distinction
Crash faults are about nodes failing quietly (passively).
Byzantine faults are about nodes possibly behaving in a deliberately malicious or
unpredictable way [217] [218] [219] [220] [221] .
Summary Table
Fault Type Behavior Malicious? Example
Crash Fault Node stops working, no more messages No Power loss, silent failure
Byzantine Node sends wrong/conflicting info, may Hacked node, sends false
Yes
Fault lie data
In summary:
> The primary distinction is that Byzantine faults involve deliberate malicious behavior (option
b), while crash faults are passive failures where nodes simply stop working.
⁂
Detailed Solution
Where:
$ n $ = total number of nodes
$ f $ = number of Byzantine (malicious) faults you want to tolerate
If you want to tolerate 1 Byzantine fault ($ f = 1 $):
So, with 4 nodes, you can tolerate at most 1 faulty (Byzantine) node.
Supporting References
"The formula, n ≥ 3f + 1, is derived from the need to ensure that the non-faulty nodes can
always outvote the faulty ones. For any consensus to be reliable, the non-faulty nodes must
form a majority." [222]
"This algorithm requires '3f+1' replicas to be able to tolerate 'f' failing nodes." [223]
"If a system needs to tolerate 1 faulty node (f=1), it requires at least 4 nodes. This is
calculated as 3 × 1 + 1 = 4. For 2 faulty nodes (f=2), the system needs at least 7 nodes,
calculated as 3 × 2 + 1 = 7." [222]
Final Answer:
a) No
⁂
What is Paxos?
Paxos is a consensus algorithm used in distributed systems to make sure that multiple
computers (nodes) agree on a single value, even if some fail or messages get lost.
Why?
If the proposer ignored the previously accepted value, it could end up with two different
values being chosen, breaking consensus.
By always using the value with the highest ID, Paxos guarantees that once a value is chosen,
all future proposals will use that same value, maintaining agreement across the system.
In short:
> If a proposer in Paxos receives a promise containing an already accepted value, it must use
the previously accepted value with the highest proposal ID when making its proposal. This is
essential for maintaining consensus and safety in the system.
⁂
Detailed Explanation
Summary Table
True for Permissioned
Option Why?
Blockchain?
In Simple Words
Permissioned blockchains require users to be identified and authenticated (not
anonymous), usually through a Membership Service Provider (MSP).
Security and consensus are still crucial to ensure the network operates correctly and
safely.
Transactions are not public; only authorized users can see them.
So, the correct answers are (c) and (d).
⁂
QUESTION 5
In the Paxos algorithm, a majority of promises ensure:
a. Agreement on the ID, value
b. Liveness of the system
c. Safety against conflicting proposals
d. Disagreement on the ID, value
Answer: (c)
Detailed solution:
A majority of promises in Paxos ensure safety by preventing conflicting proposals from
proceeding
The correct answer is (c) Safety against conflicting proposals.
Detailed Solution
Supporting references
GeeksforGeeks: "Safety: PAXOS prioritizes choosing a valid value. It ensures that the
agreed-upon value must have originated as a proposal from one of the nodes ..." [234]
Paper Trail: "Any two majority sets of acceptors will have at least one acceptor in common.
Therefore if two proposals are agreed to by a majority, there must be at least one acceptor
that agreed to both. ... This gives as an inductive guarantee that all accepted proposals will
be for the same value." [232]
CS Yale: "No two distinct values are both chosen. (This gives agreement.)" [233]
MyDistributed.Systems: "For example, as we will see, with Paxos, we may have a situation
where proposers step on each other continuously, preventing reaching agreement forever,
but in practice ... safety is always guaranteed." [235]
What is Paxos?
Paxos is a set of rules (an algorithm) that helps a group of computers (called a distributed
system) agree on one answer, even if some computers crash or messages are delayed.
This is called consensus: everyone agrees on the same thing.
1. Distributed System
A group of computers working together, often in different places, to do a job.
2. Consensus
Getting everyone (all the computers) to agree on a single answer or value.
3. Proposer
A computer that suggests a value for everyone to agree on.
4. Acceptor
A computer that listens to proposals and decides whether to accept them.
5. Promise
When an acceptor receives a proposal, it can send back a promise:
“I promise not to accept any older (lower-numbered) proposals after this one.”
6. Majority
More than half of all acceptors.
For example, if there are 5 acceptors, a majority is at least 3.
7. Proposal
A suggestion for what value everyone should agree on. Each proposal has a unique number
(ID).
8. Safety
Means the system will never accept two different answers for the same question.
(No “split brain” or confusion.)
9. Conflicting Proposals
Two different values being accepted at the same time. This is bad—Paxos is designed to
prevent it.
In Simple Words
> A majority of promises in Paxos makes sure that only one answer can ever be chosen, even
if lots of computers are sending proposals at the same time. This keeps the system safe and
prevents confusion.
Visual Analogy
Imagine you and four friends have to agree on where to eat. If you get promises from at least
three friends that they won’t change their mind for an older choice, you know that no other
group can pick a different restaurant without at least one of your friends being involved. This
stops two restaurants from being picked at the same time!
Summary Table
Word/Concept Meaning (Simple)
So, in Paxos, a majority of promises ensures: (c) Safety against conflicting proposals.
This means the system will never accept two different answers for the same question.
⁂
Summary Table
Term Meaning (Simple)
Same question The decision all computers must agree on (e.g., next block, value, etc.)
Two answers Some computers say “A”, others say “B”—not allowed in safe systems
Split brain Different parts of the system make independent, conflicting decisions
Safety property The system will never accept two different answers for the same question
In Simple Words
> Consensus algorithms like Paxos are designed so that, no matter what, the system will
never end up with two different answers to the same question. This prevents confusion
(“split brain”) and keeps everyone in agreement—even if some computers fail or the network
has problems.
References:
- [241] LinkedIn: Split Brain in Distributed System
- [242] CS Yale: Paxos Safety Properties
- [243] 101Blockchains: Role of Consensus Algorithms in Blockchain Security
⁂
1. Paxos
A set of rules (algorithm) that helps a group of computers agree on the same answer, even if
some computers fail or messages are delayed.
2. Proposer
The computer (node) that suggests a value for the group to agree on.
3. Acceptor
The computer that receives proposals and decides whether to promise to support them.
4. Proposal
A suggestion for what value the group should agree on. Each proposal has a unique number
(ID) to keep track of which is newer.
5. Promise
When an acceptor gets a proposal, it can reply with a promise:
“I promise not to accept any older (lower-numbered) proposals after this one.”
6. Majority
More than half of all acceptors. For example, if there are 5 acceptors, a majority is at least 3.
In Simple Words
> Paxos uses majority promises so that only one answer can ever be accepted for a decision.
This keeps the system safe from confusion, even if lots of computers are making proposals
at the same time.
Visual Analogy
Imagine you and four friends are voting on where to eat. If you get promises from at least three
friends that they won’t change their mind for an older suggestion, then even if someone else
tries to suggest a new place, they can’t get enough people to agree unless they include at least
one of your friends—who will remind them of the earlier promise. This keeps everyone from
ending up at different restaurants!
Summary Table
That’s how Paxos uses promises and majorities to keep everyone in agreement and prevent
conflicting decisions!
⁂
i dont unerstandf higher lower and ids
Absolutely! Let’s break down what “higher,” “lower,” and “IDs” mean in the context of the Paxos
consensus algorithm, using very simple, step-by-step language:
Step-by-Step Example:
1. Proposer A wants everyone to agree on “Pizza.”
It creates proposal ID 1: (“Pizza”, 1)
2. Proposer B later wants everyone to agree on “Burger.”
It creates proposal ID 2: (“Burger”, 2)
Now, “Burger” has a higher ID (2) than “Pizza” (1).
6. Visual Analogy
Imagine you’re in a classroom, and you want to pick a class leader:
The first student raises their hand and says, “I want to be leader!” (ID 1)
Later, another student says, “I want to be leader!” (ID 2)
The teacher says: “I’ll only consider the student with the highest number (ID). If you already
promised to support a student with a higher number, ignore anyone with a lower number.”
7. Summary Table
Term Meaning in Paxos
TL;DR
ID: Number given to each proposal.
Higher ID: Newer proposal, takes priority.
Lower ID: Older proposal, ignored if a higher one comes along.
This is how Paxos avoids confusion and makes sure only one answer is chosen!
What is Paxos?
Paxos is a consensus algorithm. It helps a group of computers (nodes) agree on a single
value, even if some computers fail or messages are delayed.
Classic Paxos is designed to make the group agree on just one value (for example, one
decision or one block).
What is Multi-Paxos?
Multi-Paxos is an extension of Paxos.
Its main purpose is to help the group agree on a series of values, not just one.
For example, in a blockchain or a database, you need to agree on a whole sequence of
blocks or commands, not just one.
Multi-Paxos runs the Paxos algorithm repeatedly, so the group can keep making decisions
over time (like agreeing on block 1, block 2, block 3, and so on) [244] [245] [246] .
d Prioritize liveness over safety No Multi-Paxos prioritizes safety, not liveness [247]
[244]
In Simple Words
> Multi-Paxos is used when a group of computers needs to agree not just once, but over and
over again—on a whole sequence of values (like a list of blocks or commands).
> This is why its main purpose is to reach a consensus for a series of values.
Which
of
the
following
is/are
a. It requires a majority of acceptors to proceed
b. It achieves consensus on ID and not the value
c. It achieves consensus on the value and not ID
d. It can work with Byzantine faults
Answer: (b), (d)
Detailed solution:
false
regarding
classic
Paxos?
Paxos is designed to handle only crash faults. Also, the consensus is reached on the value, not
on
ID.
Let's break down the question:
Question
Which of the following is/are false regarding classic Paxos?
a. It requires a majority of acceptors to proceed
b. It achieves consensus on ID and not the value
c. It achieves consensus on the value and not ID
d. It can work with Byzantine faults
Answer: (b), (d)
Summary Table
Option TRUE or FALSE? Why?
In Simple Words
Paxos helps computers agree on a value, not just a number (ID).
It needs a majority to agree.
It cannot handle malicious (Byzantine) faults—only simple crashes.
So, (b) and (d) are false statements about classic Paxos.
QUESTION 1
Which statement(s) are not true about Byzantine Dissemination Quorum:
a. Any two quorums have at least one correct replica in common
b. There is always a quorum available with no faulty replicas
c. Any two quorums have at most one correct replica in common
d. There is always a quorum available with some faulty replicas
Answer: (c), (d)
Detailed solution:
Refer to Lecture 31: Byzantine Dissemination Quorum: Intersection: Any two quorums have at
least one
correct replica in common. Availability: There is always a quorum available with no faulty replicas
QUESTION 2
If you have f number of total faulty nodes, then you need at least how many replicas to reach
consensus
considering the possibility of both crash fault or byzantine fault.
a. 2f + 1
b. 3f + 1
c. f +1
d. 3f
Answer: (b)
Detailed solution:
Considering the byzantine fault, 3f + 1 replicas are required to reach a consensus. This is greater
than 2f +
1 replicas, which is enough to handle crash faults, too.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
Jan 2025
QUESTION 3
Which cryptographic technique is primarily used in PBFT to validate message integrity?
a. Hashing
b. Symmetric encryption
c. Digital signatures
d. Sharding
Answer: (c)
Detailed solution:
PBFT utilizes digital signatures to ensure the authenticity and integrity of messages
QUESTION 4
Which mechanism ensures PBFT liveness when the primary fails?
a. Cryptographic signatures
b. View change protocol
c. Pre-prepare and Prepare phases
d. Timeout mechanism
Answer: (b)
Detailed solution:
The view change protocol allows the system to elect a new primary when the current primary
fails.
QUESTION 5
Which of the following statement(s) are not true regarding Hyperledger frameworks?
a. Hyperledger frameworks are primarily used for building permissioned blockchains for
organizations.
b. Hyperledger frameworks are developed for mainly building public blockchains.
c. Hyperledger frameworks can not use CouchDB.
d. Hyperledger frameworks are only used for building smart contracts for public blockchains
Answer: (b), (c) and (d)
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
Jan 2025
Detailed solution:
Fabric is primarily used for building permissioned blockchains for organizations. It is an open
source
project so anyone can use it to build a permissioned blockchain and deploy smart contracts on
it. The
states can be maintained using light weight databases such as Level DB, CouchDB etc.
QUESTION 6
Which of the following(s) is/are benefits of Blockchain for Business?
a. Reduced transaction time in general, from days to near instantaneous for legacy based cross-
border
interactions
b. The sole centralized authority has been able to remove overheads and cost
c. Supports transparency and traceability in transactions
d. Always increases transaction costs due to complexity
Answer: (a) and (c)
Detailed solution:
Refer to Lecture 33. The benefits of Blockchain for business include reduced transaction time by
enabling near-instantaneous cross-border transactions and supporting transparency and
traceability
through immutable ledger. Blockchain does not involve a centralized authority to remove
overheads, and
while complexity may increase costs, the goal is to ultimately reduce transaction costs.
QUESTION 7
Which of the following are characteristics of permissioned blockchains (in comparison with
permissionless
blockchains)?
a. Closed membership consensus protocol in permissioned blockchains
b. The identities of nodes are not pre-known in permissioned blockchains
c. Always lower transaction throughput in permissioned blockchains
d. Permissioned blockchains are highly scalable for a large number of nodes
Answer: (a)
Detailed solution:
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
Jan 2025
Permissioned blockchains use closed membership consensus algorithms and have a high
transaction
throughput. However, they are less scalable in accommodating a large number of nodes
compared to
permissionless blockchains. Refer to Lecture 33.
QUESTION 8
Which of the following abstractions in Hyperledger Fabric primarily provides confidentiality to
individual
ledgers ?
a. Ordering Services
b. Peers
c. Channels
d. Consensus
Answer: (c)
Detailed solution:
Refer to Lecture 35: Fabric channels refer to different separate ledgers such that only
organizations
belonging to a particular channel can read/write to that ledger.
QUESTION 9
What is the role of Membership Service Provider (MSP) in Hyperledger Fabric?
a. Assigning sequence numbers to transactions
b. Identity management for network participants
c. Storing ledger data securely
d. Defining consensus mechanism for network
Answer: (b)
Detailed solution:
MSP handles the identity management for network participants. It ensures that only authorized
participants
are allowed to interact with the network.
NPTEL Online Certification Courses
Indian Institute of Technology Kharagpur
Jan 2025
QUESTION 10
Which of the following are key features of Hyperledger Fabric?
a. Modular architecture with pluggable components
b. Permissionless blockchain framework
c. Support for smart contracts (chain codes) in general-purpose languages
d. Use of native cryptocurrencies for transactions
Answer: (a), (c)
Detailed solution:
Hyperledger Fabric is a permissioned blockchain framework with a modular design and support
for
smart contracts (chain codes) written in languages like Go, Java, and Node.js. It does not have
native
cryptocurrencies.
Here are detailed, beginner-friendly explanations for the Week 7 assignment questions you
listed, with each concept broken down:
QUESTION 1
Which statement(s) are not true about Byzantine Dissemination Quorum:
a. Any two quorums have at least one correct replica in common
b. There is always a quorum available with no faulty replicas
c. Any two quorums have at most one correct replica in common
d. There is always a quorum available with some faulty replicas
Answer: (c), (d)
Explanation:
Quorum: In distributed systems, a quorum is a group of nodes (computers) whose
agreement is enough to make a decision.
Byzantine Dissemination Quorum: Designed to tolerate malicious (Byzantine) nodes.
Intersection Property: Any two quorums must share at least one correct (non-faulty) node.
This overlap ensures that no two groups can make conflicting decisions without at least one
honest node noticing.
Availability Property: There must always be a quorum that contains only correct nodes, so
decisions can still be made even if some nodes are faulty.
(c) is not true: The correct property is “at least one correct replica in common,” not “at
most.”
(d) is not true: There must always be a quorum with no faulty nodes (not just “some” faulty
nodes) [250] .
QUESTION 2
If you have f number of total faulty nodes, then you need at least how many replicas to reach
consensus considering the possibility of both crash fault or byzantine fault.
a. 2f + 1
b. 3f + 1
c. f +1
d. 3f
Answer: (b)
Explanation:
Crash Fault: Node just stops working.
Byzantine Fault: Node can act maliciously or unpredictably.
To tolerate f Byzantine faults, you need at least 3f + 1 nodes. This ensures that the correct
nodes always outnumber the faulty ones in any quorum [251] [252] [250] .
QUESTION 3
Which cryptographic technique is primarily used in PBFT to validate message integrity?
a. Hashing
b. Symmetric encryption
c. Digital signatures
d. Sharding
Answer: (c)
Explanation:
PBFT (Practical Byzantine Fault Tolerance): A consensus protocol for permissioned
blockchains.
Digital signatures are used so that every message can be verified as coming from the
claimed sender and not tampered with. This provides both authenticity and integrity [253] .
QUESTION 4
Which mechanism ensures PBFT liveness when the primary fails?
a. Cryptographic signatures
b. View change protocol
c. Pre-prepare and Prepare phases
d. Timeout mechanism
Answer: (b)
Explanation:
Liveness: The system keeps making progress (doesn’t get stuck).
Primary: The node currently leading the protocol.
View change protocol: If the primary fails or is malicious, the system can elect a new
primary and continue operating. This ensures liveness.
QUESTION 5
Which of the following statement(s) are not true regarding Hyperledger frameworks?
a. Hyperledger frameworks are primarily used for building permissioned blockchains for
organizations.
b. Hyperledger frameworks are developed for mainly building public blockchains.
c. Hyperledger frameworks can not use CouchDB.
d. Hyperledger frameworks are only used for building smart contracts for public blockchains
Answer: (b), (c), (d)
Explanation:
Hyperledger frameworks (like Fabric) are for permissioned (private) blockchains, not public
blockchains [254] .
They can use databases like CouchDB for storing data.
They are not only for public smart contracts; they're mainly for private, business use.
QUESTION 6
Which of the following(s) is/are benefits of Blockchain for Business?
a. Reduced transaction time in general, from days to near instantaneous for legacy based cross-
border interactions
b. The sole centralized authority has been able to remove overheads and cost
c. Supports transparency and traceability in transactions
d. Always increases transaction costs due to complexity
Answer: (a) and (c)
Explanation:
Blockchain reduces transaction time (especially for international or cross-company
transactions).
Transparency and traceability: Every transaction is recorded and visible to authorized
parties, making it easy to track and audit.
Blockchain is decentralized, so it does not rely on a single authority (b is false).
It aims to lower costs in the long run, not always increase them (d is false).
QUESTION 7
Which of the following are characteristics of permissioned blockchains (in comparison with
permissionless blockchains)?
a. Closed membership consensus protocol in permissioned blockchains
b. The identities of nodes are not pre-known in permissioned blockchains
c. Always lower transaction throughput in permissioned blockchains
d. Permissioned blockchains are highly scalable for a large number of nodes
Answer: (a)
Explanation:
Permissioned blockchains have a closed membership: only approved participants can join
and validate transactions [254] .
Identities are known (b is false).
Permissioned blockchains usually have higher throughput than public ones (c is false).
They are less scalable for very large numbers of nodes compared to permissionless
blockchains (d is false).
QUESTION 8
Which of the following abstractions in Hyperledger Fabric primarily provides confidentiality
to individual ledgers?
a. Ordering Services
b. Peers
c. Channels
d. Consensus
Answer: (c)
Explanation:
Channels in Hyperledger Fabric are like private sub-networks: only certain organizations
can see the transactions in a channel, providing confidentiality.
QUESTION 9
What is the role of Membership Service Provider (MSP) in Hyperledger Fabric?
a. Assigning sequence numbers to transactions
b. Identity management for network participants
c. Storing ledger data securely
d. Defining consensus mechanism for network
Answer: (b)
Explanation:
MSP is responsible for managing the identities of all participants, ensuring only authorized
users can join and interact with the network.
QUESTION 10
Which of the following are key features of Hyperledger Fabric?
a. Modular architecture with pluggable components
b. Permissionless blockchain framework
c. Support for smart contracts (chain codes) in general-purpose languages
d. Use of native cryptocurrencies for transactions
Answer: (a), (c)
Explanation:
Modular architecture: Components like consensus, membership, and databases can be
swapped out.
Smart contracts (chain codes): Can be written in languages like Go, Java, and Node.js.
Fabric is permissioned (not permissionless) and does not have a native cryptocurrency.
If you need more step-by-step breakdowns for any specific question or concept, just ask!
⁂
1. https://www.reddit.com/r/sysadmin/comments/xvnksn/can_someone_eli5_when_privatepublic_keys_are
_used/
2. https://www.reddit.com/r/AskComputerScience/comments/13j06lz/looking_for_a_simple_laymans_expla
nation_of_the/
3. https://www.reddit.com/r/crypto/comments/7uahsy/so_my_professor_started_to_go_into_what_are/
4. https://www.semanticscholar.org/paper/c1f4438074a60405deed50d09b50284230ee12e6
5. https://www.reddit.com/r/explainlikeimfive/comments/8vhn9x/eli5_what_is_the_difference_between_ele
ctronic/
6. https://www.reddit.com/r/cissp/comments/1jfyrcn/digital_certificate_v_digital_signature/
7. https://www.reddit.com/r/AskNetsec/comments/11e6g51/digital_signature_vs_digital_certificate/
8. https://www.reddit.com/r/CompTIA/comments/13w6w8v/digital_signatures/
9. https://www.reddit.com/r/cryptography/comments/xvom3z/im_trying_to_explain_how_a_digital_signatur
e/
10. https://www.lenovo.com/in/en/glossary/data-points/
11. https://www.geeksforgeeks.org/introduction-to-tree-data-structure/
12. https://www.reddit.com/r/explainlikeimfive/comments/y06x9g/eli5_merkle_trees_can_someone_explain
_it_with_a/
13. https://brilliant.org/wiki/merkle-tree/
14. https://www.geeksforgeeks.org/introduction-to-merkle-tree/
15. https://www.investopedia.com/terms/m/merkle-tree.asp
16. https://www.simplilearn.com/tutorials/blockchain-tutorial/merkle-tree-in-blockchain
17. https://en.wikipedia.org/wiki/Merkle_tree
18. https://www.reddit.com/r/learnpython/comments/1csqel/explain_hashing_to_me_like_im_five/
19. https://www.techtarget.com/searchdatamanagement/definition/hashing
20. https://corporatefinanceinstitute.com/resources/cryptocurrency/hash-function/
21. https://byjus.com/gate/postorder-traversal-notes/
22. https://www.youtube.com/watch?v=b_NjndniOqY
23. https://www.reddit.com/r/ethereum/comments/10h4n0k/merkle_trees_how_blockchain_data_is_stored_
a/
24. https://www.geeksforgeeks.org/introduction-to-merkle-tree/
25. https://www.reddit.com/r/explainlikeimfive/comments/y06x9g/eli5_merkle_trees_can_someone_explain
_it_with_a/
26. https://redandgreen.co.uk/understanding-merkle-trees-in-python-a-step-by-step-guide/python-code/
27. https://www.reddit.com/r/ethereum/comments/10h4n0k/merkle_trees_how_blockchain_data_is_stored_
a/
28. https://www.investopedia.com/terms/b/block-bitcoin-block.asp
29. https://www.shiksha.com/online-courses/articles/structure-of-a-block-in-blockchain/
30. https://en.wikipedia.org/wiki/Blockchain
31. https://www.nadcab.com/blog/blocks-in-blockchain
32. https://learnmeabitcoin.com/technical/block/previous-block/
33. https://www.jmc.edu/econtent/pg/2850_MRM-MSCCS-23PCS3DE3A-CRYPTOGRAPHY.pdf
34. https://www.ijana.in/papers/ICCMEA_8.pdf
35. https://egovstandards.gov.in/sites/default/files/2023-05/Blockchain Cryptographic Security, Hashing
and Digital Signature.pdf
36. https://www.ijsr.net/archive/v13i5/SR24524003904.pdf
37. https://explaineverything.com/blog/teaching-trends/how-to-create-an-interactive-pdf/
38. https://www.reddit.com/r/crypto/comments/ha13fi/i_want_to_learn_cryptography_but_i_dont_know_wha
t/
39. https://www.reddit.com/r/crypto/comments/287y7j/best_intro_book_to_cryptography/
40. https://www.reddit.com/r/CryptoCurrency/comments/lzr76b/learning_mit_open_course_blockchain_and
_money/
41. https://bitbo.io/how-many-bitcoin/
42. https://www.reddit.com/r/Bitcoin/comments/17nd45p/help_me_understand_block_rewards/
43. https://www.reddit.com/r/BitcoinBeginners/comments/1jkdmm6/mining_speed_is_this_true/
44. https://www.wallstreetmojo.com/permissioned-blockchain/
45. https://www.investopedia.com/terms/p/permissioned-blockchains.asp
46. https://blog.cfte.education/permissioned-blockchains-definition-use-cases/
47. https://www.ledger.com/academy/glossary/permissioned-blockchain
48. https://appinventiv.com/blog/permissioned-blockchain/
49. https://www.oracle.com/developer/permissioned-blockchain/
50. https://www.reddit.com/r/elrondnetwork/comments/wmorvc/what_is_blockchain_technology_and_how_
does_it/
51. https://www.reddit.com/r/Bitcoin/comments/r3e6dh/help_understanding_block_header_for/
52. https://en.bitcoin.it/wiki/Block_hashing_algorithm
53. https://www.investopedia.com/terms/b/block-header-cryptocurrency.asp
54. https://www.gemini.com/cryptopedia/what-is-block-in-blockchain-bitcoin-block-size
55. https://blockchain-academy.hs-mittweida.de/courses/blockchain-introduction-technical-beginner-to-int
ermediate/lessons/lesson-13-bitcoin-block-hash-verification/topic/how-to-calculate-and-verify-a-hash-
of-a-block/
56. https://www.reddit.com/r/CryptoCurrency/comments/u0fww6/blockchain_explained_for_beginners/
57. https://www.reddit.com/r/CryptoCurrency/comments/sy4y4g/beginners_guide_to_cryptocurrency_all_y
ou_need_to/
58. https://www.reddit.com/r/elrondnetwork/comments/wmorvc/what_is_blockchain_technology_and_how_
does_it/
59. https://aibc.world/learn-crypto-hub/blockchain-for-dummies/
60. https://www.investopedia.com/terms/b/blockchain.asp
61. https://www.reddit.com/r/Bitcoin/comments/133icyg/can_anybody_plz_explain_me_how_bitcoin_mining/
62. https://www.reddit.com/r/Bitcoin/comments/1h9zh7l/how_does_mining_bitcoin_work_in_simple_terms/
63. https://www.lcx.com/block-hashing-in-blockchain-explained/
64. https://www.bitpanda.com/academy/en/lessons/what-is-a-hash-function-in-a-blockchain-transaction
65. https://www.reddit.com/r/Bitcoin/comments/1ff7dxt/what_is_your_favoriteeasiest_way_to_explain/
66. https://www.reddit.com/r/BitcoinBeginners/comments/18hzifx/why_is_there_a_step_to_solve_a_math_pr
oblem_in/
67. https://www.reddit.com/r/Crypto_com/comments/1cz040x/ever_wondered_what_the_puzzle_in_bitcoin
s/
68. https://www.investopedia.com/terms/p/proof-work.asp
69. https://www.reddit.com/r/Bitcoin/comments/1bnaw51/what_is_an_example_of_the_math_problems_the/
70. https://cryptoforinnovation.org/what-is-bitcoin-mining-and-how-does-it-work/
71. https://www.reddit.com/r/Bitcoin/comments/wl72ip/what_actually_are_the_mathmatical_equations_that/
72. https://www.reddit.com/r/explainlikeimfive/comments/wuwcn1/eli5_what_math_problems_are_they_tryin
g_to_solve/
73. https://www.linkedin.com/pulse/proof-work-explained-cryptographic-puzzle-behind-mining-lucas-mig
one
74. https://www.risein.com/courses/blockchain-basics/solving-the-puzzle-mining
75. https://www.vpnmentor.com/blog/hash-puzzle-bitcoin/
76. https://www.investopedia.com/terms/n/nonce.asp
77. https://www.geeksforgeeks.org/what-is-a-nonce-in-blockchain/
78. https://metaschool.so/articles/what-is-nonce-in-blockchain/
79. https://cointelegraph.com/explained/what-is-a-nonce-in-blockchain-explained
80. https://www.linkedin.com/pulse/understanding-nonce-blockchain-selection-rules-validation-singh-6jfxf
81. https://www.reddit.com/r/Bitcoin/comments/uz7tsm/bitcoin_mining_what_am_i_missing_about/
82. https://intellipaat.com/blog/nonce-in-blockchain/
83. https://www.reddit.com/r/ethereum/comments/6ihw6p/can_someone_please_explain_nonce_to_me/
84. https://learnmeabitcoin.com/technical/block/
85. https://learnmeabitcoin.com/technical/block/hash/
86. https://en.bitcoin.it/wiki/Block_hashing_algorithm
87. https://en.bitcoin.it/wiki/Protocol_documentation
88. https://blockchain-academy.hs-mittweida.de/courses/blockchain-introduction-technical-beginner-to-int
ermediate/lessons/lesson-13-bitcoin-block-hash-verification/topic/how-to-calculate-and-verify-a-hash-
of-a-block/
89. https://developer.bitcoin.org/reference/block_chain.html
90. https://www.geeksforgeeks.org/balanced-binary-tree/
91. https://www.reddit.com/r/compsci/comments/492fst/eli5_why_is_log ₂_common_in_computer_science/
92. https://www.geeksforgeeks.org/properties-of-binary-tree/
93. https://stackoverflow.com/questions/14539141/proof-that-the-height-of-a-balanced-binary-search-tree
-is-logn
94. https://mindweb.hashnode.dev/introduction-to-bitcoin-transaction-scripts
95. https://en.bitcoin.it/wiki/Script
96. https://www.gemini.com/cryptopedia/merkle-tree-blockchain-merkle-root
97. https://decentralizedthoughts.github.io/2020-12-22-what-is-a-merkle-tree/
98. https://www.geeksforgeeks.org/blockchain-merkle-trees/
99. https://learnmeabitcoin.com/technical/block/merkle-root/
100. https://www.investopedia.com/terms/m/merkle-root-cryptocurrency.asp
101. https://www.reddit.com/r/BitcoinBeginners/comments/1ct6jua/why_are_merkle_trees_used/
102. https://www.cyfrin.io/blog/what-is-a-merkle-tree-merkle-proof-and-merkle-root
103. https://www.reddit.com/r/CryptoTechnology/comments/87qapc/why_are_merkle_trees_used_in_blockch
ain/
104. https://www.reddit.com/r/explainlikeimfive/comments/7whzrn/eli5_how_does_a_merkle_tree_work/
105. https://www.geeksforgeeks.org/blockchain-merkle-trees/
106. https://bitcoin.stackexchange.com/questions/79364/are-number-of-transactions-in-merkle-tree-alway
s-even
107. https://www.investopedia.com/terms/m/merkle-root-cryptocurrency.asp
108. https://devdocs.decred.org/developer-guides/merkle-root-construction/
109. https://www.geeksforgeeks.org/blockchain-merkle-trees/
110. https://www.linkedin.com/pulse/merkle-tree-blockchain-part-5-series-roohi-bansal
111. https://www.reddit.com/r/CryptoCurrency/comments/15zn3ag/what_the_fork_what_are_they_and_why_
do_they_happen/
112. https://www.bitdegree.org/crypto/tutorials/bitcoin-fork
113. https://www.skrill.com/en/crypto/the-skrill-crypto-academy/advanced/what-is-a-blockchain-fork/
114. https://www.investopedia.com/tech/history-bitcoin-hard-forks/
115. https://www.gemini.com/cryptopedia/bitcoin-fork-protocol-upgrades-blockchain-changes
116. https://cleartax.in/s/bitcoin-halving
117. https://www.ey.com/en_ch/insights/blockchain/the-bitcoin-halving-explained
118. https://www.reddit.com/r/Bitcoin/comments/1gyygrj/why_is_bitcoins_supply_limited_to_21_million_and/
119. https://en.wikipedia.org/wiki/Double-spending
120. https://www.investopedia.com/ask/answers/061915/how-does-block-chain-prevent-doublespending-bit
coins.asp
121. https://osl.com/academy/article/what-is-double-spending-in-blockchain/
122. https://www.reddit.com/r/Bitcoin/comments/sfu5pq/how_does_the_validation_of_a_transaction_work/
123. https://bitcoin.stackexchange.com/questions/61385/how-proof-of-work-prevents-double-spend
124. https://www.semanticscholar.org/paper/4e9ec92a90c5d571d2f1d496f8df01f0a8f38596
125. https://www.moonpay.com/learn/blockchain/permissioned-vs-permissionless-blockchain
126. https://www.techtarget.com/searchcio/tip/Permissioned-vs-permissionless-blockchains-Key-difference
s
127. https://www.semanticscholar.org/paper/d9c621caf38d94d978e65d8382613343ffad937d
128. https://www.smartsight.in/technology/permissioned-and-permission-less-blockchain-and-their-pros-an
d-cons/
129. https://www.semanticscholar.org/paper/5154d64069d0494262bd85166d6ec5b7081f7b19
130. https://www.ccn.com/education/crypto/byzantine-fault-tolerance-blockchain-networks/
131. https://www.webopedia.com/crypto/byzantine-fault-tolerance/
132. https://www.cyfrin.io/blog/understanding-double-spending-in-blockchain
133. https://web.stanford.edu/class/ee374/lec_notes/lec13.pdf
134. https://courses.grainger.illinois.edu/ece598pv/sp2021/lectureslides2021/ECE_598_PV_course_notes7.pdf
135. https://coinmarketcap.com/academy/glossary/liveness
136. https://learn.radixdlt.com/article/what-do-security-safety-and-liveness-mean
137. https://www.bitdegree.org/crypto/learn/crypto-terms/what-is-liveness
138. https://osl.com/en/academy/article/what-is-bitcoins-proof-of-work-pow-and-how-does-it-secure-the-
network
139. https://www.debutinfotech.com/blog/proof-of-work
140. https://www.geeksforgeeks.org/blockchain-proof-of-work-pow/
141. https://blockworks.co/news/what-is-proof-of-work
142. https://en.wikipedia.org/wiki/Proof_of_work
143. https://www.businessinsider.com/personal-finance/investing/proof-of-work
144. https://www.reddit.com/r/BitcoinBeginners/comments/xugcdj/can_a_transaction_end_up_in_multiple_blo
cks/
145. https://www.blockpit.io/blog/what-is-bitcoin-mining
146. https://www.reddit.com/r/Bitcoin/comments/rco18f/how_do_miners_choose_the_same_transactions_to_a
dd/
147. https://thebitcoinmanual.com/articles/block-propagation/
148. https://github.com/Amitha353/Bitcoin-and-Cryptocurrency-Technologies/blob/master/Week 3 :
Mechanics of Bitcoin
149. https://hedera.com/learning/consensus-algorithms/proof-of-work-and-its-flaws-explained
150. https://www.geeksforgeeks.org/blockchain-proof-of-work-pow/
151. https://studyx.ai/questions/4ljuwv7/which-of-the-following-statements-is-incorrect-regarding-proof-of
-work-pow-in-the-context
152. https://coinswitch.co/switch/crypto/challenges-and-limitations-of-proof-of-work-and-proof-of-stake/
153. https://www.geeksforgeeks.org/blockchain-proof-of-work-pow/
154. https://coinmetro.com/learning-lab/blockchain-consensus-algorithms
155. https://www.semanticscholar.org/paper/e926393e885db0c9fc29cb9ae2cc45e30c2332dd
156. https://www.semanticscholar.org/paper/938b4ec73cd27fb0492d01d0d660f82cc39a2bff
157. https://www.geeksforgeeks.org/proof-of-elapsed-time-poet-in-blockchain/
158. https://www.investopedia.com/terms/p/proof-elapsed-time-cryptocurrency.asp
159. https://www.shiksha.com/online-courses/articles/proof-of-elapsed-time-in-blockchain/
160. https://wazirx.com/blog/proof-of-elapsed-time-poet/
161. https://www.developcoins.com/blockchain-consensus-algorithms
162. https://osl.com/academy/article/what-is-a-51-attack
163. https://en.wikipedia.org/wiki/Double-spending
164. https://www.bitpanda.com/academy/en/lessons/what-is-a-51-attack-and-how-is-it-prevented
165. https://www.investopedia.com/terms/1/51-attack.asp
166. https://hacken.io/discover/51-percent-attack/
167. https://learnmeabitcoin.com/technical/blockchain/51-attack/
168. https://www.reddit.com/r/Bitcoin/comments/zgf6i3/what_would_actually_happen_if_a_malicious_entity/
169. https://www.reddit.com/r/Bitcoin/comments/uykdeh/how_does_a_51_attack_work_practically/
170. https://www.reddit.com/r/Bitcoin/comments/svnnau/does_an_attacker_need_to_control_51_of_the/
171. https://ethereum.org/en/developers/docs/evm/
172. https://www.geeksforgeeks.org/what-is-ethereum-virtual-machine-and-how-it-works/
173. https://cleartax.in/s/ethereum-virtual-machine
174. https://tangem.com/en/blog/post/what-is-ethereum-virtual-machine-evm/
175. https://coinswitch.co/switch/crypto/what-is-ethereum-virtual-machine/
176. https://www.reddit.com/r/ethereum/comments/uixfzl/can_you_explain_what_is_the_evm_in_simple_term
s/
177. https://www.reddit.com/r/ethereum/comments/uladiy/can_someone_eli5_what_evm_ethereum_virtual/
178. https://www.reddit.com/r/CryptoCurrency/comments/me9p7h/defi_explained_smart_contracts/
179. https://wisewaytec.com/smart-contracts-in-defi-understanding-their-role-in-decentralized-systems/
180. https://www.risein.com/blog/beginners-guide-to-smart-contracts
181. https://www.reddit.com/r/ethereum/comments/x30702/why_do_you_need_blockchain_for_smart_contra
cts/
182. https://www.vationventures.com/glossary/smart-contracts-definition-explanation-and-use-cases
183. https://www.tastycrypto.com/defi/smart-contracts/
184. https://web3js.readthedocs.io/en/v1.2.11/web3-eth-contract.html
185. https://www.reddit.com/r/CryptoCurrency/comments/13vrze6/everything_you_need_to_know_about_eth
ereum_gas/
186. https://coinshares.com/it/resources/knowledge-bytes/ethereum-gas-price/
187. https://www.reddit.com/r/ethereum/comments/wcuars/please_explain_how_gas_prices_work_where_on
e_buys/
188. https://www.reddit.com/r/ethereum/comments/1c7xyf0/the_difference_between_gas_limit_and_gas_pric
e/
189. https://www.web3labs.com/blockchain-explained-what-are-gas-fees
190. https://www.investopedia.com/terms/g/gas-ethereum.asp
191. https://www.kraken.com/learn/what-is-a-blockchain-gas-fee
192. https://www.nadcab.com/blog/gas-price-in-smart-contract
193. https://www.chainnodes.org/docs/zklink/eth_getBalance
194. https://www.chainnodes.org/docs/polygon/eth_getBalance
195. https://ethereum.stackexchange.com/questions/35747/json-rpc-get-address-balance
196. https://www.quicknode.com/docs/ethereum/eth_getBalance
197. https://www.investopedia.com/terms/p/proof-work.asp
198. https://www.gemini.com/cryptopedia/proof-of-stake-delegated-pos-dpos
199. https://www.reddit.com/r/CryptoCurrency/comments/p50h9k/how_exactly_coins_or_tokens_burn_work/
200. https://kanga.exchange/university/en/courses/beginner-course/lessons/37-what-is-proof-of-burn-pob/
201. https://blocktpoint.com/blockchain/proof-of-elapsed-time-in-blockchain
202. https://www.investopedia.com/terms/p/proof-stake-pos.asp
203. https://www.bitpanda.com/academy/en/lessons/consensus-algorithms-proof-of-stake
204. https://www.mckinsey.com/featured-insights/mckinsey-explainers/what-is-proof-of-stake
205. https://plasbit.com/crypto-basic/what-is-proof-of-stake
206. https://www.reddit.com/r/ethereum/comments/wya2vk/how_does_proof_of_staking_work/
207. https://www.avax.network/proof-of-stake-pos
208. https://www.reddit.com/r/CryptoTechnology/comments/o4yza5/what_is_blockchain_in_simple_terms/
209. https://www.reddit.com/r/CryptoCurrency/comments/lnb0sb/guide_what_is_blockchain_a_basic_unders
tanding_so/
210. https://www.reddit.com/r/CryptoCurrency/comments/u0fww6/blockchain_explained_for_beginners/
211. https://aws.amazon.com/what-is/blockchain/
212. https://www.ibm.com/think/topics/blockchain
213. https://dev.to/ucscmozilla/block-chain-in-a-nutshell-1h9a
214. https://www.investopedia.com/terms/b/blockchain.asp
215. https://www.blackduck.com/glossary/what-is-blockchain.html
216. https://www.simplilearn.com/tutorials/blockchain-tutorial
217. https://stackoverflow.com/questions/56336229/byzantine-fault-tolerance-bft-and-crash-fault-toleranc
e-cft
218. https://www.geeksforgeeks.org/byzantine-fault-tolerance-in-distributed-system/
219. https://www.smartsight.in/technology/what-is-byzantine-fault-tolerance/
220. https://en.wikipedia.org/wiki/Byzantine_fault
221. https://lass.cs.umass.edu/~shenoy/courses/spring19/lectures/Lec19_notes.pdf
222. https://www.geeksforgeeks.org/minimum-number-of-nodes-to-achieve-byzantine-fault-tolerance/
223. https://www.reddit.com/r/CryptoTechnology/comments/8782mb/what_is_the_difference_between_norm
al_byzantine/
224. https://en.wikipedia.org/wiki/Paxos_(computer_science)
225. https://www.freecodecamp.org/news/how-to-implement-paxos-algorithm-in-pure-functions/
226. https://stackoverflow.com/questions/14435646/paxos-value-choice
227. https://www.geeksforgeeks.org/paxos-consensus-algorithm/
228. https://www.oracle.com/developer/permissioned-blockchain/
229. https://www.investopedia.com/terms/p/permissioned-blockchains.asp
230. https://astconsulting.in/blockchain/membership-service-providers-in-hyperledger-fabric
231. https://www.linkedin.com/pulse/public-permissioned-blockchain-framework-enterprise-use-garima-sin
gh-f7q5c
232. https://www.the-paper-trail.org/post/2009-02-03-consensus-protocols-paxos/
233. https://www.cs.yale.edu/homes/aspnes/pinewiki/Paxos.html
234. https://www.geeksforgeeks.org/paxos-consensus-algorithm/
235. https://www.mydistributed.systems/2021/04/paxos.html
236. https://cs.stackexchange.com/questions/23165/what-is-so-special-about-a-majority-and-why-is-it-the
-key-for-paxos-to-work-pa
237. https://www.the-paper-trail.org/post/2009-02-03-consensus-protocols-paxos/
238. https://www.geeksforgeeks.org/paxos-algorithm-in-distributed-system/
239. https://en.wikipedia.org/wiki/Paxos_(computer_science)
240. https://www.mydistributed.systems/2021/04/paxos.html
241. https://www.linkedin.com/pulse/split-brain-distributed-system-ami-bhushan-xah1c
242. https://www.cs.yale.edu/homes/aspnes/pinewiki/Paxos.html
243. https://101blockchains.com/consensus-algorithms-in-blockchain-security/
244. https://arxiv.org/html/2405.11183v1
245. https://arxiv.org/abs/1606.01387
246. https://www.geeksforgeeks.org/paxos-algorithm-in-distributed-system/
247. https://www.cs.yale.edu/homes/aspnes/pinewiki/Paxos.html
248. http://gkavya.in/paxos/
249. https://www.geeksforgeeks.org/paxos-consensus-algorithm/
250. https://www.cs.yale.edu/homes/aspnes/pinewiki/QuorumSystems.html
251. https://www.reddit.com/r/CryptoTechnology/comments/8782mb/what_is_the_difference_between_norm
al_byzantine/
252. https://arxiv.org/abs/cs/9908011
253. https://www.smartsight.in/technology/what-is-byzantine-fault-tolerance/
254. https://www.kaleido.io/blockchain-blog/public-vs-permissioned-blockchain