Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is staking in blockchain?
Staking is the process of locking up cryptocurrency to support the operations of a blockchain network, like validating transactions and securing the network, in exchange for rewards.
Click to reveal answer
beginner
What role do validators play in staking mechanisms?
Validators are participants who lock their tokens to propose and verify new blocks on the blockchain. They help keep the network secure and earn rewards for their work.
Click to reveal answer
intermediate
Explain the difference between 'delegated staking' and 'direct staking'.
Direct staking means you lock your own tokens and run a validator node yourself. Delegated staking means you give your tokens to a trusted validator who stakes on your behalf.
Click to reveal answer
intermediate
What is 'slashing' in staking mechanisms?
Slashing is a penalty where a portion of a staker's tokens are taken away if they act maliciously or fail to follow network rules, helping keep the network honest.
Click to reveal answer
beginner
Why do staking mechanisms help reduce energy consumption compared to mining?
Staking uses Proof of Stake, which selects validators based on token ownership instead of solving complex puzzles like mining, so it uses much less electricity.
Click to reveal answer
What do you receive as a reward for staking your tokens?
AMining hardware
BNothing
CTransaction fees only
DMore tokens
✗ Incorrect
Stakers earn more tokens as rewards for helping secure the network.
Which of these is a risk of staking?
AInternet speed
BHardware failure
CSlashing penalties
DMining difficulty
✗ Incorrect
Slashing penalties happen if validators misbehave or fail to validate properly.
Delegated staking means:
ARunning your own validator node
BGiving tokens to a validator to stake for you
CMining with a pool
DSelling tokens on exchange
✗ Incorrect
Delegated staking lets you entrust your tokens to a validator who stakes on your behalf.
Staking helps blockchain networks by:
ASecuring the network through token locking
BMaking tokens more expensive
CReducing token supply permanently
DIncreasing transaction speed
✗ Incorrect
Staking secures the network by locking tokens and selecting validators.
Compared to mining, staking:
AIs more energy efficient
BRequires solving puzzles
CConsumes more electricity
DNeeds special hardware
✗ Incorrect
Staking uses less energy because it doesn’t require solving complex puzzles like mining.
Describe how staking mechanisms work to secure a blockchain network.
Think about how people lock tokens and help validate transactions.
You got /5 concepts.
Explain the difference between direct staking and delegated staking.
Consider who manages the staking process in each case.
You got /5 concepts.
Practice
(1/5)
1. What is the main purpose of staking tokens in a blockchain network?
easy
A. To create new tokens instantly
B. To transfer tokens to another user
C. To help secure the network and earn rewards
D. To delete tokens from the blockchain
Solution
Step 1: Understand staking concept
Staking means locking tokens to support blockchain security.
Step 2: Identify staking benefits
Users earn rewards for staking, helping network stability.
Final Answer:
To help secure the network and earn rewards -> Option C
Quick Check:
Staking = Security + Rewards [OK]
Hint: Staking locks tokens to secure network and gain rewards [OK]
Common Mistakes:
Confusing staking with token transfer
Thinking staking creates new tokens
Believing staking deletes tokens
2. Which of the following is the correct way to represent staking tokens in a smart contract pseudocode?
easy
A. stakeAmount = userBalance - lockedTokens
B. lockedTokens = stakeAmount + userBalance
C. userBalance = stakeAmount + lockedTokens
D. lockedTokens = stakeAmount
Solution
Step 1: Understand staking variables
Locked tokens represent the amount staked by user.
Step 2: Match correct assignment
lockedTokens should equal stakeAmount to show tokens locked.
Final Answer:
lockedTokens = stakeAmount -> Option D
Quick Check:
Locked tokens = stake amount [OK]
Hint: Locked tokens equal the stake amount directly [OK]
Common Mistakes:
Adding stakeAmount to userBalance incorrectly
Subtracting lockedTokens from userBalance wrongly
Mixing variable roles in assignment
3. Consider this pseudocode for calculating staking rewards:
4. The following pseudocode has an error. What is the problem?
function stakeTokens(userBalance, stakeAmount) {
if (stakeAmount > userBalance) {
return "Error: Not enough balance";
}
lockedTokens = stakeAmount;
userBalance = userBalance - stakeAmount;
return lockedTokens;
}
medium
A. lockedTokens is not declared before assignment
B. The function does not return userBalance
C. The if condition should be stakeAmount < userBalance
D. The subtraction should add stakeAmount instead
Solution
Step 1: Check variable declarations
lockedTokens is assigned without declaration, causing error in strict languages.
Step 2: Understand variable scope
lockedTokens should be declared (e.g., let or var) before use.
Final Answer:
lockedTokens is not declared before assignment -> Option A
Quick Check:
Undeclared variable causes error [OK]
Hint: Always declare variables before assigning [OK]
Common Mistakes:
Ignoring variable declaration errors
Misreading the if condition logic
Thinking subtraction should be addition
5. You want to write a function that calculates total rewards for multiple users staking different amounts for different durations. Which approach correctly applies staking mechanisms?
hard
A. Add all staked amounts first, then multiply by rewardRate and total duration
B. Loop through each user, calculate reward = stakedAmount * rewardRate * duration, then sum all rewards
C. Calculate reward only for the user with the highest stake
D. Multiply rewardRate by duration only once, ignoring staked amounts
Solution
Step 1: Understand reward calculation per user
Each user's reward depends on their own stake and duration.
Step 2: Sum individual rewards for total
Calculate each reward separately, then add for total rewards.
Final Answer:
Loop through each user, calculate reward = stakedAmount * rewardRate * duration, then sum all rewards -> Option B
Quick Check:
Calculate per user, then sum [OK]
Hint: Calculate rewards individually, then add for total [OK]