Exploring Blockchains: Proof Of Work (PoW) mechanism

2016-09-02 | Sergey Bushnyak
Characteristics Description
Ledger type Public
Performace Low
Completness Probabilistic
Examples Bitcoin, Litecoin, Ethereum
Rationale Hard computational task to calculate, easy to confirm solution

Main idea behind PoW scheme is that nodes have to solve a complex computational task to get the right to append new blocks to the chain and get the rewards. It’s a coomon misconception to call PoW a consensus mechanism, but it’s a Sybil attack resistance scheme, aimed to protect distributed system from being compromised. The main idea is to make it very difficult for attacker to present them as someone else and mark fradulent transactions in a system as correct ones. Attacker has to spend a lot of computation resources to propose a block, that requires a lot of electricity and special hardware able mark transactions.

The core idea of blockchain is decentralization, it requires a lot of different parties interested in keeping network alive. That means that interested user need to install specific hardware and equipment. To keep enthusiast active on the network, meaning have them online with hardware available through specific software was introduced idea of mining and those enthusiast can be called miners. With PoW, miners compete against each other to complete transactions on the network and get rewarded.

Miners trying to solve specific “mathematical puzzle” integrated into provided software. This “puzzle” also should be very easy confirmed by others upon solution and provide reward to the miner.

It’s important to understand that in the financial world, which bitcoin is part of, people are driven by financial insentive. It’s can get enough profit from from blockchain for it to survive by running full node. Even tough there might be some people that do it for their ideology, altruism, late adopters absolutely shouldn’t rely on it.

Haskell implementation within Furnace framework can be viewed at https://github.com/kelecorix/furnace


Encourage me

If you liked this work, you can reward so I can write more often or simply buy me a tea/beer/donut:

If you want me to write about some specific topic, check about section and send me email with request