Bird
Raised Fist0
Blockchain / Solidityprogramming~5 mins

Public vs private blockchains - Quick Revision & Key Differences

Choose your learning style10 modes available
Recall & Review
beginner
What is a public blockchain?
A public blockchain is a network where anyone can join, read, write, and participate in the consensus process. It is open and decentralized, like Bitcoin or Ethereum.
Click to reveal answer
beginner
What defines a private blockchain?
A private blockchain restricts who can join and participate. Only approved members can read or write data. It is controlled by an organization or group.
Click to reveal answer
intermediate
Name one key advantage of public blockchains.
Public blockchains offer high transparency and security because many participants verify transactions, making it hard to cheat.
Click to reveal answer
intermediate
Why might a company choose a private blockchain?
A company might choose a private blockchain for faster transactions, privacy, and control over who can access the data.
Click to reveal answer
advanced
How does consensus differ between public and private blockchains?
Public blockchains use open consensus methods like Proof of Work or Proof of Stake, while private blockchains often use permissioned consensus, which is faster and controlled.
Click to reveal answer
Which blockchain type allows anyone to join and participate?
AHybrid blockchain
BPrivate blockchain
CConsortium blockchain
DPublic blockchain
What is a main benefit of private blockchains?
AFaster transaction speed
BUnlimited participants
CComplete openness
DDecentralized mining
Which consensus method is commonly used in public blockchains?
AVoting by permissioned nodes
BCentralized approval
CProof of Work
DNo consensus needed
Who controls a private blockchain?
AAnyone on the internet
BA single organization or group
CAll miners worldwide
DNo one controls it
Which blockchain type is best for maximum transparency?
APublic blockchain
BPrivate blockchain
CPermissioned blockchain
DClosed blockchain
Explain the main differences between public and private blockchains.
Think about who can participate and how transactions are verified.
You got /5 concepts.
    Describe scenarios where a private blockchain is more suitable than a public blockchain.
    Consider when companies want to keep data secure and limit access.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which statement best describes a public blockchain?
      easy
      A. Anyone can join and participate without permission.
      B. Only invited members can access the network.
      C. It is controlled by a single organization.
      D. It uses private keys only for administrators.

      Solution

      1. Step 1: Understand public blockchain access

        Public blockchains are open networks where anyone can join and participate without needing permission.
      2. Step 2: Compare with private blockchain features

        Private blockchains restrict access to trusted members, unlike public ones.
      3. Final Answer:

        Anyone can join and participate without permission. -> Option A
      4. Quick Check:

        Public blockchain = open access [OK]
      Hint: Public means open to all, no permission needed [OK]
      Common Mistakes:
      • Confusing public with private blockchain access
      • Thinking public blockchains are controlled by one entity
      • Assuming private keys limit public blockchain access
      2. Which of the following is the correct way to describe a private blockchain?
      easy
      A. It is always slower than public blockchains.
      B. It allows anyone to validate transactions.
      C. It restricts access to selected participants only.
      D. It uses proof-of-work exclusively.

      Solution

      1. Step 1: Identify private blockchain access rules

        Private blockchains restrict access to selected participants, unlike public blockchains.
      2. Step 2: Eliminate incorrect options

        Private blockchains do not necessarily use proof-of-work or are always slower; these are unrelated to access control.
      3. Final Answer:

        It restricts access to selected participants only. -> Option C
      4. Quick Check:

        Private blockchain = restricted access [OK]
      Hint: Private means limited access to trusted members only [OK]
      Common Mistakes:
      • Assuming private blockchains allow anyone to validate
      • Confusing consensus methods with access control
      • Believing private blockchains are always slower
      3. Consider this code snippet representing blockchain access control:
      def can_access(user, blockchain_type):
          if blockchain_type == 'public':
              return True
          elif blockchain_type == 'private':
              return user in ['Alice', 'Bob']
          else:
              return False
      
      print(can_access('Alice', 'public'))
      print(can_access('Eve', 'private'))
      print(can_access('Bob', 'private'))
      What is the output?
      medium
      A. False False True
      B. True False True
      C. True True False
      D. False True False

      Solution

      1. Step 1: Evaluate access for 'Alice' on public blockchain

        Public blockchain always returns True, so can_access('Alice', 'public') is True.
      2. Step 2: Evaluate access for 'Eve' on private blockchain

        'Eve' is not in ['Alice', 'Bob'], so can_access('Eve', 'private') returns False.
      3. Step 3: Evaluate access for 'Bob' on private blockchain

        'Bob' is in the allowed list, so can_access('Bob', 'private') returns True.
      4. Final Answer:

        True False True -> Option B
      5. Quick Check:

        Public always True, private checks user list [OK]
      Hint: Public always True; private checks user list membership [OK]
      Common Mistakes:
      • Assuming private blockchain allows all users
      • Mixing up True/False return values
      • Ignoring the user list check for private blockchains
      4. The following code is intended to check if a user can access a private blockchain. What is the error?
      def check_access(user, blockchain):
          if blockchain == 'private':
              if user == ['Alice', 'Bob']:
                  return True
              else:
                  return False
          else:
              return True
      
      print(check_access('Alice', 'private'))
      medium
      A. The user comparison uses == with a list instead of membership check.
      B. The function does not return anything for public blockchains.
      C. The else block is missing for private blockchain condition.
      D. The print statement has incorrect syntax.

      Solution

      1. Step 1: Analyze user comparison in private blockchain check

        The code uses 'user == ['Alice', 'Bob']' which compares a string to a list, always False.
      2. Step 2: Identify correct way to check user membership

        It should use 'user in ['Alice', 'Bob']' to check if user is in the allowed list.
      3. Final Answer:

        The user comparison uses == with a list instead of membership check. -> Option A
      4. Quick Check:

        Use 'in' to check list membership, not '==' [OK]
      Hint: Use 'in' to check if user is in list, not '==' [OK]
      Common Mistakes:
      • Using '==' to compare a string with a list
      • Forgetting to handle public blockchain case
      • Syntax errors in print statement
      5. You want to design a blockchain system for a company where only employees can add transactions, but anyone can view the ledger. Which blockchain type fits best and why?
      hard
      A. Private blockchain, because it hides the ledger from everyone except employees.
      B. Public blockchain, because it allows everyone to add transactions.
      C. Public blockchain, because it restricts access to employees only.
      D. Private blockchain, because it restricts who can add transactions but allows public viewing.

      Solution

      1. Step 1: Identify who can add transactions

        The company wants only employees to add transactions, so write access must be restricted.
      2. Step 2: Identify who can view the ledger

        Anyone can view the ledger, so read access is open to the public.
      3. Step 3: Match blockchain type to requirements

        Private blockchains restrict write access to trusted members but can allow public read access, fitting the need.
      4. Final Answer:

        Private blockchain, because it restricts who can add transactions but allows public viewing. -> Option D
      5. Quick Check:

        Restrict writes, allow public reads = Private blockchain [OK]
      Hint: Restrict who writes, allow public reads means private blockchain [OK]
      Common Mistakes:
      • Choosing public blockchain for restricted write access
      • Thinking private blockchain hides ledger from public
      • Confusing read and write permissions
      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