Proof of Work

Introduction to blockchain consensus

Blockchain systems are a collection of decentralized nodes that maintain a shared digital ledger. Without a centralized authority, the blockchain network needs some way to determine the “official” version of each block in the blockchain.

This is the job of the blockchain’s consensus algorithm, which selects the official creator of each block in the blockchain. A blockchain consensus algorithm needs to meet the following criteria:

  • Decentralization: The consensus algorithm must be completely decentralized, meaning that every node can run it independently and come to the same conclusion.
  • Byzantine fault tolerance: A blockchain network may have nodes that are not working in the network’s best interests. A blockchain consensus algorithm should be able to function despite the presence of malicious nodes within the network.

Blockchain networks are also governed by the longest chain rule, which states that a node, when presented with two versions of the blockchain, should select the “longer” of the two. As a result, blockchain consensus algorithms are designed to make building a valid, conflicting version of the ledger as difficult as possible.

Inside Proof of Work

Every consensus algorithm uses a scarce resource to manage nodes’ control over the blockchain. For Proof of Work, this resource is computational power. The more computing power that a node controls, the higher the probability of being selected as block creator.

Proof of Work enforces this policy by defining a “valid” block as one with a header that hashes to a value that is less than a set threshold. Due to the properties of hash functions, the only way to find such a block is through a brute force search. As a result, the node with the greatest amount of computational power is most likely to be selected; however, over time, every node participating in (Read more...)

*** This is a Security Bloggers Network syndicated blog from Infosec Resources authored by Howard Poston. Read the original post at: