All interview topics
Algorithms & Data Structures

Blockchain Interview Questions and Answers

Practice Blockchain interview questions and answers organized by difficulty, with revealable explanations and related topics.

42 questionsEntry → Expert

Entry questions

1 questions
  1. Question 1
    Entry

    What is blockchain?

    • Blockchain
    Reveal answer

    Blockchain is a secure distributed ledger (data structure or database) that maintains a continuously growing list of ordered records, called “blocks”, that are linked using cryptography. Each block contains a cryptographic hash of the previous block, a timestamp, and transaction data. By design, a blockchain is resistant to modification of the data. It is "an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way". Once recorded, the data in any given block cannot be altered retroactively without alteration of all subsequent blocks, which requires consensus of the network majority.

Mid questions

17 questions
  1. Question 1
    Mid

    What is a smart contract?

    • Blockchain
    Reveal answer

    A smart contract is a computer protocol intended to digitally facilitate, verify, or enforce the negotiation or performance of a contract. Smart contracts allow the performance of credible transactions without third parties. These transactions are trackable and irreversible. The aim of smart contracts is to provide security that is superior to traditional contract law and to reduce other transaction costs associated with contracting. Various cryptocurrencies have implemented types of smart contracts.

  2. Question 2
    Mid

    What is mining difficulty?

    • Blockchain
    Reveal answer

    Mining difficulty is the degree that determines how hard it is for miners in terms of hashing power (and thus also time) to find an eligible hash aka signature for their block (a block of transactions needs an eligible hash to be verified and added to the blockchain). On the Bitcoin blockchain, miners try to find an eligible hash by hashing random numbers. A block of transactions will only be accepted by the rest of the network if it has a signature (hash) that meets certain requirements (in example of Bitcoin, the signature needs to start with a certain number of zeroes). In order to find this signature, miners are spending computational power (hashing power) to perform a set of pre- determined operations on random numbers untill they find a number that leads to an output number that meets the requirements. Finding an output that starts with only one zero is much easier (generally more common) than finding an output number that starts with five consecutive zeroes (this is pretty rare so it would take much more time to find a number that leads to such output). For example block 100 (back in 2009) only required a signature that started with eight consecutive zeroes, whereas the last recent block (block 542865) needed a signature that started with at least 18 consecutive zeroes.

  3. Question 3
    Mid

    How Are Blockchain And Distributed Ledger Different?

    • Blockchain
    Reveal answer

    A distributed ledger is a database that exists across several locations or among multiple participants. A blockchain is essentially a shared database filled with entries that must be confirmed and encrypted. The most important difference to remember is that blockchain is just one type of distributed ledger. Although blockchain is a sequence of blocks, distributed ledgers do not require such a chain. Furthermore, distributed

    ledgers do not need proof of work and offer – theoretically – better scaling options. Unlike blockchain, a distributed ledger does not necessarily need to have a data structure in blocks. A distributed ledger is merely a type of database spread across multiple sites, regions, or participants.

  4. Question 4
    Mid

    Explain why there is a fixed supply of bitcoins?

    • Blockchain
    Reveal answer

    There is a fixed supply of bitcoins. There will never be more than 21 million bitcoins. Bitcoins are created each time a user discovers a new block. The rate of block creation is adjusted every 2016 blocks to aim for a constant two week adjustment period (equivalent to 6 per hour). The number of bitcoins generated per block is set to decrease geometrically, with a 50% reduction every 210,000 blocks, or approximately four years. The result is that the number of bitcoins in existence will not exceed slightly less than 21 million.

  5. Question 5
    Mid

    What is RSA algorithm?

    • Blockchain
    Reveal answer

    RSA (Rivest–Shamir–Adleman) is an algorithm used by modern computers to encrypt and decrypt messages. It is an asymmetric cryptographic algorithm. Asymmetric means that there are two different keys. This is also called public key cryptography, because one of the keys can be given to anyone. The other key must be kept private. The algorithm is based on the fact that finding the factors of a large composite number is difficult. RSA involves a public key and private key. The public key can be known to everyone; it is used to encrypt messages. Messages encrypted using the public key can only be decrypted with the private key.

  6. Question 6
    Mid

    What is Merkle Trees?

    • Blockchain
    Reveal answer

    Merkle trees are a fundamental part of blockchain technology. A merkle tree is a structure that allows for efficient and secure verification of content in a large body of data. A Merkle tree summarizes all the transactions in a block by producing a digital fingerprint of the entire set of transactions, thereby enabling a user to verify whether or not a transaction is included in a block. Merkle trees are created by repeatedly hashing pairs of nodes until there is only one hash left (this hash is called the Root Hash, or the Merkle Root). They are constructed from the bottom up, from hashes of individual

    transactions (known as Transaction IDs). Hashing is usually conducted using the SHA-2 cryptographic hash
    function, though other functions can also be used.
    
  7. Question 10
    Mid

    What are the core components of blockchain architecture?

    • Blockchain
    Reveal answer

    The below-mentioned ones are the core components of blockchain architecture: Node - User/computer within the blockchain architecture. Transaction - It is the smallest building block of the blockchain system. Block - It is used for maintaining a set of transactions that are distributed to all the nodes in the network. Chain - Sequence of blocks. Miners - Specific nodes which perform a block verification process before adding to the blockchain structure. Consensus protocol - Set of rules to carry out blockchain operations.

  8. Question 11
    Mid

    What are the major elements of the blockchain ecosystem?

    • Blockchain
    Reveal answer

    The blockchain has four major elements: Shared ledger - It is decentralized in nature and is a central component of the blockchain. Node application - It is a software that lets your computer connect with the blockchain. Ex: Bitcoin uses the bitcoin wallet application to detect each mode on the network. Virtual application - It handles all the tasks that blockchain undertakes. Consensus algorithm - This is used for managing blockchain rules through which each node can come to a conclusion.

  9. Question 12
    Mid

    How do verifiers check if a block is valid?

    • Blockchain
    Reveal answer

    Every full node on the network does block verification. When a new block is announced, every node that receives it does a list of checks. The two most important checks are of proof of work (if a block provides enough work to be included into chain) and of the validity of all transactions (each transaction must be valid).

  10. Question 13
    Mid

    Explain why a blockchain needs tokens to operate

    • Blockchain
    Reveal answer

    Coins/tokens are used to implement changes between states. When somebody does a transaction, this is a change of state, and coins are moved from one address to another. Apart from that, transactions can contain additional data, and a change of state is used to mutate data—the only way to do this in an immutable-by- definition blockchain. Technically, a blockchain doesn’t need coins for its essential operations, but without them, some other way needs to be introduced to manage states of the chain and to verify transactions.

  11. Question 14
    Mid

    What is a trapdoor function, and why is it needed in blockchain development?

    • Blockchain
    Reveal answer

    A trapdoor function is a function that is easy to compute in one direction but difficult to compute in the opposite direction unless you have special information. Trapdoor functions are essential for public key encryption—that’s why they are commonly used in blockchain development to represent the ideas of addresses and private keys.

  12. Question 15
    Mid

    What is DApp or Decentralised Application?

    • Blockchain
    Reveal answer

    A decentralized application (DApp, dApp, Dapp, or dapp) is a computer application that runs on a distributed computing system. Decentralized applications don‘t necessarily need to run on top of a blockchain network. Tor, BitTorrent, Popcorn Time, BitMessage, are examples for decentralized applications that run on a P2P network, but not on a blockchain – which is a special kind of P2P network. DApps have been mostly popularized by distributed ledger technologies (DLT), namely the Ethereum Blockchain, where DApps are often referred to as smart contracts. Its backend code runs on a decentralized peer-to-peer network, and all records of the applicationʼs operation are stored on a blockchain. In most cases, the entire code base is Open Source.

  13. Question 16
    Mid

    What is a hashing function?

    • Blockchain
    Reveal answer

    A hashing function is a one way (non invertible function) that maps a set of inputs to a set of outputs:

    hash(s) -> p ,
    

    where for our purposes s and p are both strings. For any string s we can find the hash by applying our hashing function, which will return a new string. This is a deterministic procedure in that given an s , the same hash() will produce the same p . There is no inverse of the hash operation, so you cannot go from output to input: hash^-1(p) -> s . It is also used to verify the integrity of data.

  14. Question 17
    Mid

    Why is the blockchain immutable?

    • Blockchain
    Reveal answer

    Altering a single block requires a new signature for every other block that comes after it all the way to the end of the chain. This is considered to be near impossible. Why?

    Let’s say a corrupt miner has altered a block of transactions and is now trying to calculate new signatures for the subsequent blocks in order to have the rest of the network accept his change. The problem for him is, the rest of the network is also calculating new signatures for new blocks. The corrupt miner will have to calculate new signatures for these blocks too as they are being added to the end of the chain. After all, he needs to keep all of the blocks linked, including the new ones constantly being added. Unless the miner has more computational power than the rest of the network combined, he will never catch up with the rest of the network finding signatures. Millions of users are mining on the blockchain, and therefore it can be assumed that a single bad actor or entity on the network will never have more computational power than the rest of the network combined, meaning the network will never accept any changes on the blockchain, making the blockchain immutable.

  15. Question 18
    Mid

    Explain what do nodes do?

    • Blockchain
    Reveal answer

    When a miner attempts to add a new block of transactions to the blockchain, it broadcasts the block to all the nodes on the network. Based on the block’s legitimacy (validity of signature and transactions), nodes can accept or reject the block. When a node accepts a new block of transactions, it saves and stores it on top of the rest of the blocks it already has stored. In short, here is what nodes do: Nodes check if a block of transactions is valid and accept or reject it. Nodes save and store blocks of transactions (storing blockchain transaction history). Nodes broadcast and spread this transaction history to other nodes that may need to synchronize with the blockchain (need to be updated on transaction history).

  16. Question 19
    Mid

    What is block data structure in blockchain?

    • Blockchain
    Reveal answer

    A block is a bunch of transactions that have been added to the blockchain. Each block consists of a header section and a body section. The body section of the block may consist of the list of transactions. The header section of the block may consist of the following information: version - the current version of the block structure previous block header hash - the reference this block's parent block merkle root hash - a cryptographic hash of all of the transactions included in this block time - the time that this block was created nBits - the current difficulty that was used to create this block nonce ("number used once") - a random value that the creator of a block is allowed to manipulate however they so choose

  17. Question 20
    Mid

    What are some advantages of using Merke Trees?

    • Blockchain
    Reveal answer

    Using a Merkle tree can significantly reduce the amount of data that a trusted authority has to maintain for verification purposes. It separates the validation of the data from the data itself. Merkle trees have three major benefits:

    1. They provide a means to prove the integrity and validity of data
    2. They require little memory or disk space as the proofs are computationally easy and fast
    3. Their proofs and management only require tiny amounts of information to be transmitted across networks The ability to prove that a log is complete and consistent is essential to blockchain technology and the general ledger concept. Merkle trees help verify that later versions of a log include everything from an earlier version and that all data is recorded and presented in chronological order.

Expert questions

4 questions
  1. Question 1
    Expert

    Is it possible to brute force bitcoin address creation in order to steal money?

    • Blockchain
    Reveal answer

    It is possible to brute force some Bitcoin addresses, because some people generate their private keys in an insecure manner using "deterministic wallets". A deterministic wallet is a system of deriving keys from a single starting point known as a seed. The seed allows a user to easily back up and restore a wallet without needing any other information and can in some cases allow the creation of public addresses without the knowledge of the private key. Any (non-zero) 32 bytes can be a private key. So running sha256 over a passphrase gives an apparently random, but brute force-able private key.

    Take sha256("sausage") for instance:
    $ echo -n 'sausage' | sha256sum
    

    30caae2fcb7c34ecadfddc45e0a27e9103bd7cfc87730d7818cc096b1266a683 - Load up bitaddress and paste that private key into the 'wallet details' tab to get the corresponding Bitcoin address, then look it up on blockexplorer:

    $ GET http://blockexplorer.com/q/getreceivedbyaddress/1TnnhMEgic5g4ttrCQyDopwqTs4hheuNZ; echo
    0.01000000
    

    and you'll see that the address held one bitcent for about 2 days in February 2012. In reality, Bitcoin addresses are actually the 256-bit SHA hash of an ECDSA public key, so any vulnerabilities in those algorithms would constitute a vulnerability in bitcoin itself. Realistically, however, breaking this level of encryption requires a huge amount of processing power. Coincidentally it requires precisely the same kind of processing power that bitcoin mining requires and in almost every scenario it would be massively more profitable to mine than to hack.

  2. Question 2
    Expert

    Is it possible to brute force bitcoin address creation in order to steal money?

    • Blockchain
    Reveal answer

    It is possible to brute force some Bitcoin addresses, because some people generate their private keys in an insecure manner using "deterministic wallets". A deterministic wallet is a system of deriving keys from a single starting point known as a seed. The seed allows a user to easily back up and restore a wallet without needing any other information and can in some cases allow the creation of public addresses without the knowledge of the private key. Any (non-zero) 32 bytes can be a private key. So running sha256 over a passphrase gives an apparently random, but brute force-able private key.

    Take sha256("sausage") for instance:
    $ echo -n 'sausage' | sha256sum
    

    30caae2fcb7c34ecadfddc45e0a27e9103bd7cfc87730d7818cc096b1266a683 - Load up bitaddress and paste that private key into the 'wallet details' tab to get the corresponding Bitcoin address, then look it up on blockexplorer:

    $ GET http://blockexplorer.com/q/getreceivedbyaddress/1TnnhMEgic5g4ttrCQyDopwqTs4hheuNZ; echo
    0.01000000
    

    and you'll see that the address held one bitcent for about 2 days in February 2012. In reality, Bitcoin addresses are actually the 256-bit SHA hash of an ECDSA public key, so any vulnerabilities in those algorithms would constitute a vulnerability in bitcoin itself. Realistically, however, breaking this level of encryption requires a huge amount of processing power. Coincidentally it requires precisely the same kind of processing power that bitcoin mining requires and in almost every scenario it would be massively more profitable to mine than to hack.

  3. Question 19
    Expert

    What can an attacker with 51% of hash power do?

    • Blockchain
    Reveal answer

    Actually, it's very easy to do damage to the network once you have 51%; just build your own chain faster than the network, and broadcast it whenever you like. If you send some of your coins to a new address in your

    own chain, all the transactions issued in the live network by spending those same coins will be reversed at the moment the longer chain is broadcast. An attacker that controls more than 50% of the network's computing power can, for the time that he is in control, exclude and modify the ordering of transactions. This allows him to: Reverse transactions that he sends while he's in control Prevent some or all transactions from gaining any confirmations Prevent some or all other generators from getting any generations The attacker can't: Reverse other people's transactions Prevent transactions from being sent at all (they'll show as 0/unconfirmed) Change the number of coins generated per block Create coins out of thin air Send coins that never belonged to him

  4. Question 20
    Expert

    Why is Git not considered a “block chain”?

    • Blockchain
    Reveal answer

    The reason why Git and blockchains appear similar is because they are both using merkle trees as their underlying data structure. But unlike cryptocurrency blockchains; git doesn't have a p2p trustless consensus mechanism. In a blockchain implementation, every block is verified independently multiple times before it is added to the blockchain. On the other hand, many git projects do not require independent verification and, when they do, they only require one person to sign off on a change before it is committed to the repository. Hence, with at most one point of validation that you must trust, git breaks one of the core tenets of blockchain technology. You can rewrite git history. In blockchains, the ledger is an immutable history.

Junior questions

8 questions
  1. Question 2
    Junior

    Explain the common structure of blockchains

    • Blockchain
    Reveal answer

    Blockchains are composed of three core parts: Block: A list of transactions recorded into a ledger over a given period. The size, period, and triggering event for blocks is different for every blockchain. Chain: A hash that links one block to another, mathematically “chaining” them together. Network: The network is composed of “full nodes.” Think of them as the computer running an algorithm that is securing the network. Each node contains a complete record of all the transactions that were ever recorded in that blockchain.

  2. Question 3
    Junior

    What is the blockchain data structure?

    • Blockchain
    Reveal answer

    Basically the blockchain data structure is explained as a back-linked record of blocks of transactions, which is ordered. It can be saved as a file or in a plain database. Each block can be recognized by a hash, created utilizing the SHA256 cryptographic hash algorithm on the header of the block. Each block mentions a former block, also identified as the parent block, in the “previous block hash” field, in the block header.

  3. Question 4
    Junior

    Why does Blockchain need coins or tokens?

    • Blockchain
    Reveal answer

    Tokens/Coins are used as a medium of exchange between the states. They are digital assets built in to perform a specific function within a blockchain. When someone does a transaction, there is a change of state, and coins are moved from one address to another address. Apart from that, transactions contain some additional data; this data can be mutated through the change of state. For this reason, blockchains need coins or tokens to incentivize the participants to join their networks.

  4. Question 5
    Junior

    What is the Genesis Block?

    • Blockchain
    Reveal answer

    The **first block in any blockchain **is termed the genesis block. If you start at any block and follow the chain backwards chronologically, you will arrive at the genesis block. The genesis block is statically encoded within the client software, that it cannot be changed. Every node can identify the genesis block’s hash and structure, the fixed time of creation, and the single transactions within. Thus every node has a secure “root” from which is possible to build a trusted blockchain on.

  5. Question 6
    Junior

    What is blockchain transaction?

    • Blockchain
    Reveal answer

    Transactions are the things that give a blockchain purpose. They are the smallest building blocks of a blockchain system. Transactions generally consist of: a recipient address,

    a sender address, and a value. This is not too different from a standard transaction that you would find on a credit card statement. A transaction changes the state of the agreed-correct blockchain. A blockchain is a shared, decentralized, distributed state machine. This means that all nodes (users of the blockchain system) independently hold their own copy of the blockchain, and the current known "state" is calculated by processing each transaction in order as it appears in the blockchain.

  6. Question 7
    Junior

    What is the purpose of a blockchain node?

    • Blockchain
    Reveal answer

    A blockchain exists out of blocks of data. These blocks of data are stored on nodes (compare it to small servers). Nodes can be any kind of device (mostly computers, laptops or even bigger servers). Nodes form the infrastructure of a blockchain. All nodes on a blockchain are connected to each other and they constantly exchange the latest blockchain data with each other so all nodes stay up to date. They store, spread and preserve the blockchain data, so theoretically a blockchain exists on nodes. A full node is basically a device (like a computer) that contains a full copy of the transaction history of the blockchain.

  7. Question 8
    Junior

    What is proof-of-work?

    • Blockchain
    Reveal answer

    A proof of work is a piece of data which is difficult (costly, time-consuming) to produce but easy for others to verify and which satisfies certain requirements. Producing a proof of work can be a random process with low probability so that a lot of trial and error is required on average before a valid proof of work is generated. Difficulty is a measure of how difficult it is to find a hash below a given target.

  8. Question 9
    Junior

    What is deterministic behavior?

    • Blockchain
    Reveal answer

    If A + B = C, then no matter what the circumstances, A+B will always be equal to C. That is called deterministic behavior. Hash functions are deterministic, meaning A’s hash will always be H(A).

Senior questions

12 questions
  1. Question 7
    Senior

    Explain what is target hash?

    • Blockchain
    Reveal answer

    Hash target is a 256-bit number, which is used as the threshold for mining. In order to mine a block successfully, one has to produce some value x, which after hashing results in a number that is lower than this target. Concisely:

    𝐻(𝑥)<𝑡𝑎𝑟𝑔𝑒𝑡
    This value x generally represents the block itself and some unique value (called a nonce) that the miner
    chooses. The latter is essentially like a lottery ticket - a miner continues testing different unique values (nonce)
    

    until he comes with the right one. If some other miner succeeds, then everyone moves to the next block and try again - it’s a race. The hash target is adjusted every couple of weeks on average to ensure that it’s difficult enough to mine new blocks. This is generally done by lowering the target, since the probability of finding a smaller hash decreases with the size of the target.

  2. Question 8
    Senior

    How is hard fork different from the soft fork in blockchain?

    • Blockchain
    Reveal answer

    A hard fork in blockchain refers to a radical change to the software protocol, that makes previously invalid transactions/blocks valid. It requires all the users/nodes to upgrade to the latest software protocol.

    **Soft fork **refers to a change to the software protocol that makes previously invalid transactions/blocks
    invalid.
    
  3. Question 9
    Senior

    Name some widespread platforms for developing blockchain applications

    • Blockchain
    Reveal answer

    After the event of bitcoin, numerous blockchain platforms started arising. Ethereum came right once the evolution of Bitcoins, and is one in all the favoured public platforms for building. Blockchain primarily based applications. Then there’s a Hyperledger community for building enterprise-based solutions. Also, Qtum, IOTA, EOS are a number of the widely used platforms for building Blockchain.

  4. Question 10
    Senior

    What is off-chain transaction?

    • Blockchain
    Reveal answer

    On-chain, transactions are considered to be valid when a blockchain reflects the transactions on the distributed public ledger. This includes authentication and validation of a transaction by a defined number of participants. The different details of a transaction are recorded on the block and distributed to the entire blockchain making the transaction irreversible since it can’t be altered. An off-chain transaction is the movement of value outside of the block chain. Basically there would be no record of the transaction at all in the public blockchain just shift who owns what amount of coins. This is happening for saving time rather than waiting for miners to confirm a valid transaction in Blockchain.

  5. Question 11
    Senior

    What is the difference between PoW and PoS?

    • Blockchain
    Reveal answer

    Proof of Work (POW) requires huge amounts of energy, with miners needing to sell their coins to ultimately foot the bill; Proof of Stake (PoS) gives mining power based on the percentage of coins held by a miner. Proof of Stake (POS) is seen as less risky in terms of the potential for miners to attack the network, as it structures compensation in a way that makes an attack less advantageous for the miner.

  6. Question 12
    Senior

    What Is a Proof of Stake?

    • Blockchain
    Reveal answer
    **Proof of Stake (PoS) **concept states that a person can mine or validate block transactions according to how
    

    many coins he or she holds. This means that the more Bitcoin or altcoin owned by a miner, the more mining power he or she has. In PoS, each validator owns some stake in the network, ether in the case of Ethereum, that they bond. Bonding stake means you deposit some money into the network, and in some sense use it as a collateral to vouch for a block. In PoW you know a chain is valid because lots of work is behind it, while in PoS you trust the chain with the highest collateral.

  7. Question 13
    Senior

    What Is a Blockchain Consensus Algorithm?

    • Blockchain
    Reveal answer

    A consensus algorithm may be defined as the mechanism through which a blockchain network reach consensus. Public (decentralized) blockchains are built as distributed systems and, since they do not rely on a central authority, the distributed nodes need to agree on the validity of transactions. This is where consensus algorithms come into play. They assure that the protocol rules are being followed and guarantee that all transactions occur in a trustless way, so the coins are only able to be spent once. There are several types of consensus algorithms:

    Proof-of-Work(PoW)
    Proof-of-Capacity (PoC)
    Proof-of-Activity (PoA)
    Delegated Proof-of-Stake(DPoS)
    Proof-of-Stake(PoS)
    Proof-of-Authority
    Proof-of-Burn
    Unique Node Lists
    Proof-of-Weight
    Proof-of-Elapsed Time
    SIEVE
    Byzantine Fault Tolerance
    
  8. Question 14
    Senior

    What is nonce?

    • Blockchain
    Reveal answer

    A nonce is an abbreviation for "number only used once," which is a number added to a hashed—or encrypted— block in a blockchain that, when rehashed, meets the difficulty level restrictions. The nonce is the number that blockchain miners are solving for. When the solution is found, the blockchain miners are offered cryptocurrency in exchange. Determining which string to use as the nonce requires a significant amount of trial-and-error, as it is a random string. A miner must guess a nonce, append it to the hash of the current header, rehash the value, and compare this to the target hash.

  9. Question 15
    Senior

    What is a stealth address?

    • Blockchain
    Reveal answer

    Public ledgers are generally considered to be “pseudo-anonymous”, which means that an address is linked to one person, but that person is unknown to the public. A stealth address is a privacy-enhancing technology for protecting the privacy of receivers of cryptocurrencies. Stealth addresses require the sender to create random, one-time address for every transaction on behalf of the recipient so that different payments made to the same payee are unlinkable.

  10. Question 16
    Senior

    What's the difference between distributed hashtable technology and the bitcoin blockchain?

    • Blockchain
    Reveal answer

    A DHT is simply a key-value store distributed accross a number of nodes in a network. The keys are distributed among nodes with a deterministic algorithm. Each node is responsible for a portion of the hash table. A DHT is very scalable because the data are uniformly distributed among nodes. A blockchain is also a distributed data structure but its purpose is completely different.Think of it as a history, or a ledger. The purpose is to store a continuously-growing list of record without the possibility of tampering and revision. In a blockchain, each node of the network stores the full data. So it is absolutely not the same idea as the DHT in which data are divided among nodes.

  11. Question 17
    Senior

    What determines the mining difficulty?

    • Blockchain
    Reveal answer

    The block mining difficulty is based on the total hashing power of the network, and is adjusted every two weeks to maintain a steady block production rate of 1 block per 10 minutes. This gives the network time to synchronize and update the blockchain ledger globally, and is crucial to maintain security on the ledger (uncle blocks reduce the security rate of the network because they can become invalid even after they are validated).

  12. Question 18
    Senior

    What is a 51% attack?

    • Blockchain
    Reveal answer

    If a bad actor has more computational power than the rest of the network combined he could alter a block of transactions and try to calculate new signatures for the subsequent blocks in order to have the rest of the network accept his change. Theoretically yes, this is possible and it is called a 51% attack. On practise though it can be assumed that a single bad actor or entity on the network will never have more computational power than the rest of the network combined, meaning the network will never accept any changes on the blockchain, making the blockchain immutable. Attempting a 51% attack is practically trying to fight all the other users on a blockchain just by yourself. This is also the reason that the more users participate in the mining process, the more secure a blockchain becomes.