PoW vs. PoS [Tech Talk]

in #blockchain7 years ago

FINAL_LOGO_JPEG@2x-100.jpg

The basic differences between Proof of Work and Proof of Stake
This report is a product of Blockchain at Columbia, whose weekly Tech Talks have inspired this content.
Before we dive into the comparison, here are some basic definitions:
Blockchain = A distributed ledger in which transactions are recorded, verified, and maintained chronologically and publicly.
Mining = the process by which transactions are verified and added to the blockchain, an action resulting in the reward of new coins.
Consensus = Validation on the blockchain.
Nodes = Computers / actors running connected to the blockchain.
Merkle Trees/Roots/Proofs = A process of storing hashed data, with secure and light verification.
Proof of Work (PoW)
PoW is a consensus mechanism used on the Bitcoin and Ethereum blockchains and, to date, is probably the most popular system as it is the most secure. In PoW, miners must confirm blocks by expending computing power, either through a CPU, a GPU, or an ASIC (Application Specific Integrated Circuit). Such computing power is used to solve a complex algorithm, known as hashing, in order to find the correct answer. In doing so, all transactions that have taken place are confirmed and grouped in that particular block for which computing power is being expended. Simply put, miners race towards solving a difficult mathematical formula in order to unlock the block reward.
Pros
Secure — More difficult to attack than a PoS mechanism.
Time Tested — Bitcoin, Litecoin, and most of the large “old-school” blockchains are built on PoW; Bitcoin is the oldest blockchain and therefore is trusted by most of the community.
Fair — PoW leads to very fair mining, and any computer can mine with minimal barriers.

Cons
Environmentally unfriendly — PoW mining involves very wasteful computations, which consume large amounts of electricity and are bad for the environment.
Not scalable — No serious PoW blockchain has been able to reach significant throughput and finality. Ethereum’s 20 transactions per second do not allow for building serious dApps on the machine.
Transaction fees — It is very costly to send or call anything on a PoW blockchain, again reducing the ability to scale.
Split governance — Miners verify the network, even though the shareholders are assuming most of the risk of that network. This is a fundamental problem with PoW that affects its updates and forks.

SHA-256 Hashing AlgorithmProof of Stake (PoS)
Proof of Stake has the same purpose as the PoW mechanism, though it reaches its goal by tackling it in a different way. It is a consensus mechanism in which miners are stakeholders, rewarded for mining simple blocks with no extra computations. In PoW, miners are rewarded for solving the mathematical problems when a new block is created and validating transactions. In contrast, with Proof of Stake, the creator of a new block is chosen in a “deterministic way”. It all comes down to the miners wealth, defined as a stake, which is indexed and chosen at random, in some cases using a method called follow-the-satoshi. The person who mines or validates transactions is limited to how many coins he or she holds. Mining Probability is determined by randomization, stake, age, and vote. The more of the said cryptocurrency, the more mining power he/she has. There is no requirement for block rewards. Instead, value is derived from transaction fees.
Pros
Fast — Some blockchains using this tech are able to reach hundreds of thousands of transactions per second.
Feeless — Transactions can be submitted to the blockchain for free (Steemit, EOS). This allows for scaling.
Efficient — PoS doesn’t waste electricity in the same manner, since there are no useless computations going on.
Unified governance — The stakeholders are the miners and decision-makers. This is advantageous in comparison to the miner-stakeholder dichotomy of PoW.

Cons
Less Secure — PoS seems to be prone to more attacks, usually have less decentralization, and is much younger of a model. It hasn’t endured the same battle-testing as a blockchain such as Bitcoin.
Nothing at stake — Because no work is done, miners have nothing worth losing that incentivizes them to act accordingly. It is unclear how some PoS models can defend against DDoS attacks and spamming networks.
Rich get richer — Because coins need to be staked in order to participate in mining and mining rewards based on stake, PoS is a system that necessarily benefits large stakeholders. This goes against the fundamental beliefs behind distributed ledgers.

Who is actually mining? What about unstaked coins? Several answers:
Master Nodes (Dash) = Using trusted nodes to facilitate the system.
Delegated PoS (EOS, Steemit, Bitshares) = Stakeholders vote for witnesses to vote on consensus on their behalf.
Distributed Byzantine Fault Tolerance (Neo) = Similar to DPoS but voting is pre-determined rather than a by-block basis.

Example of Steemit’s DPoS witness voting, where users distribute their stake to Witnesses for consensus.“In dPoS, you elect witnesses that produce 1 block for themselves. This is energy efficient because you only need one node doing the work for each block. However, if consensus breaks then the blockchain will fork. Some people like the fact that blockchains can fork, but it’s no good if we ever want to see it reach mass adoption, particularly in finance.
In dBFT, you elect bookkeepers, and 2/3 of the bookkeepers will agree on what goes in each block. It’s not as energy efficient because you need all the bookkeeper nodes working for each block to reach consensus. The benefit is that you can’t really attack the system unless you have control over 2/3 of all bookkeeping nodes, and that would be financial suicide. The security and ‘un-forkable’ nature this provides is a huge (and seemingly under-appreciated) benefit for NEO as it races to compete with other platforms.” — Edgegasm
Questions to consider
What can we learn from these consensus algorithms?
What is the most reasonable way to form consensus, long term?
Is transitioning from one model to another easy?
Is decentralization really important?
How critical is security?