Bird
Raised Fist0
Blockchain / Solidityprogramming~10 mins

Why security prevents financial loss in Blockchain / Solidity - Test Your Understanding

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to check if a transaction is valid before processing.

Blockchain / Solidity
if transaction.[1]():
    process(transaction)
Drag options to blanks, or click blank then click option'
Asign
Bis_valid
Csend
Dexecute
Attempts:
3 left
💡 Hint
Common Mistakes
Using methods that perform actions instead of checking validity.
2fill in blank
medium

Complete the code to verify the digital signature of a transaction.

Blockchain / Solidity
if verify_signature(transaction.[1], public_key):
    approve(transaction)
Drag options to blanks, or click blank then click option'
Ahash
Bamount
Ctimestamp
Dsignature
Attempts:
3 left
💡 Hint
Common Mistakes
Trying to verify the hash or amount instead of the signature.
3fill in blank
hard

Fix the error in the code that prevents unauthorized spending.

Blockchain / Solidity
if balance >= transaction.[1]:
    deduct(balance, transaction.amount)
Drag options to blanks, or click blank then click option'
Aamount
Bfee
Csignature
Dtimestamp
Attempts:
3 left
💡 Hint
Common Mistakes
Checking fee or signature instead of the amount.
4fill in blank
hard

Fill both blanks to create a secure transaction record with hash and timestamp.

Blockchain / Solidity
transaction_record = {
    'hash': [1],
    'timestamp': [2]
}
Drag options to blanks, or click blank then click option'
Acompute_hash(transaction)
Bget_time()
Ccurrent_time()
Dtransaction_data
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong functions for hash or timestamp.
5fill in blank
hard

Fill all three blanks to filter and store only secure transactions.

Blockchain / Solidity
secure_transactions = {
    [1]: [2] for [3] in transactions
    if verify_signature([3], public_key)
}
Drag options to blanks, or click blank then click option'
Atx_id
Btx_data
Ctx
Dtransaction
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing variable names or using wrong keys and values.

Practice

(1/5)
1. Why is security important in blockchain to prevent financial loss?
easy
A. It increases the size of the blockchain.
B. It stops unauthorized people from accessing your digital money.
C. It makes transactions slower.
D. It allows anyone to change transaction history.

Solution

  1. Step 1: Understand unauthorized access risk

    Unauthorized access means someone can take your money without permission.
  2. Step 2: Recognize security's role

    Security prevents unauthorized access, protecting your digital assets.
  3. Final Answer:

    It stops unauthorized people from accessing your digital money. -> Option B
  4. Quick Check:

    Security prevents unauthorized access = C [OK]
Hint: Security blocks unauthorized access to your money [OK]
Common Mistakes:
  • Thinking security slows down transactions
  • Believing blockchain size affects security
  • Assuming anyone can change history
2. Which of the following is the correct way to verify a transaction in blockchain code?
easy
A. if transaction.verify(): process()
B. if verify(transaction): process()
C. verify if transaction process()
D. process() if verify transaction

Solution

  1. Step 1: Identify correct method call syntax

    In modern blockchain code, transactions have a verify() method called with dot notation.
  2. Step 2: Check each option's syntax

    if transaction.verify(): process() uses correct method call: transaction.verify(). Others have syntax errors.
  3. Final Answer:

    if transaction.verify(): process() -> Option A
  4. Quick Check:

    Method call syntax = B [OK]
Hint: Use dot notation for method calls like transaction.verify() [OK]
Common Mistakes:
  • Writing method calls without parentheses
  • Using wrong order of keywords
  • Missing dot between object and method
3. What will the following code output if the transaction is invalid?
transaction = {'valid': False}
def verify(tx):
    return tx['valid']

if verify(transaction):
    print('Transaction accepted')
else:
    print('Transaction rejected')
medium
A. Error: KeyError
B. Transaction accepted
C. Transaction rejected
D. No output

Solution

  1. Step 1: Check transaction validity

    The transaction dictionary has 'valid' set to False.
  2. Step 2: Evaluate verify function and if condition

    verify(transaction) returns False, so else branch runs printing 'Transaction rejected'.
  3. Final Answer:

    Transaction rejected -> Option C
  4. Quick Check:

    False validity means rejection = A [OK]
Hint: False validity leads to rejection message [OK]
Common Mistakes:
  • Assuming True by default
  • Confusing dictionary keys
  • Expecting no output on False
4. Find the error in this blockchain transaction verification code:
def verify(tx):
    if tx['amount'] > 0
        return True
    else:
        return False
medium
A. Incorrect function name
B. Wrong comparison operator
C. Missing return statement
D. Missing colon after if condition

Solution

  1. Step 1: Check syntax of if statement

    The if line lacks a colon at the end, which is required in Python syntax.
  2. Step 2: Verify other parts

    Comparison operator and return statements are correct; function name is valid.
  3. Final Answer:

    Missing colon after if condition -> Option D
  4. Quick Check:

    Python if needs colon = A [OK]
Hint: Always put colon after if condition in Python [OK]
Common Mistakes:
  • Forgetting colon after if
  • Changing comparison operator unnecessarily
  • Omitting return statements
5. You want to prevent double spending in your blockchain app. Which security practice helps most to avoid financial loss?
hard
A. Verify each transaction is unique and not spent before
B. Store transactions only on one computer
C. Ignore transaction verification for speed
D. Allow multiple transactions with same ID

Solution

  1. Step 1: Understand double spending risk

    Double spending means using the same money twice, causing financial loss.
  2. Step 2: Identify security practice to prevent it

    Verifying each transaction is unique and not spent before stops double spending.
  3. Final Answer:

    Verify each transaction is unique and not spent before -> Option A
  4. Quick Check:

    Unique transaction verification prevents loss = D [OK]
Hint: Check transaction uniqueness to stop double spending [OK]
Common Mistakes:
  • Allowing duplicate transaction IDs
  • Skipping verification for speed
  • Relying on single computer storage
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard