Everything You Need To Know About Consensus Algorithms (Part 4) by theprophet0

View this thread on steempeak.com
· @theprophet0 ·
$87.42
Everything You Need To Know About Consensus Algorithms (Part 4)
<h1>Proof-of-Work</h1>
<hr>
Proof-of-work is one of the two most commonly used blockchain consensus algorithms (together with Proof-of-stake).
<hr>
<h1>Bitcoin</h1>
<hr>
The Bitcoin network is permissionless; no central entity controls either the production of Bitcoins or is involved in their transfer.   
The Bitcoin Proof-of-work protocol is a form of Nakamoto consensus for node selection, and is designed principally to protect against Byzantine faults (i.e. principally against ‘double spend’ transactions by malicious nodes). Nodes attempt to solve a cryptographic problem where a) the probability of finding the solution is proportional to the computational effort expended, and b) the solution is computationally so difficult that it can only reasonably be achieved by making random guesses. 
<hr>
<h1>Therefore, because:</h1>
<br>
i) Any node in the network can attempt a solution;  
<br>
ii) Large numbers of nodes will be competing over a material length of time (i.e. approximately 10 minutes) to solve the puzzle; and 
<br>
iii) The solution can only be found randomly; 
<br>
A node acting maliciously has little opportunity to impose its ‘double spending’ transaction block on the network, unless the attacker has ‘over 50%’ (actually, as little as 30% is required) of the computational resources of the network. Therefore, Proof-of-work renders a Sybil attack unfeasible unless an attacker can assemble these resources. 
<hr>
Sometimes, more than one node might find a solution at any given moment. When this occurs, each of these nodes will propose a block, and broadcast it to the network. These blocks will be picked up by nearby blocks and the blockchain will fork temporarily. However as more blocks are added on each of these chains, eventually one fork will become longer than the other, and the protocol will pick this as the official chain and drop the other.  Bitcoin therefore guarantees eventual ‘consistency’ at the expense of ‘termination’ (see FLP Impossibility), due to the temporary forks.
<hr>
The Bitcoin node elected to create a new block is compensated through new coins ‘mined’ with that block, and by receiving the fees associated with the transactions in that block. As the computational effort involved in mining coins is substantial, miners will focus on only a single fork of the blockchain, the one they believe to be the official chain (i.e. the one with the most blocks). 
<hr>
Several weaknesses are leveled against Bitcoin’s Proof-of-Work including Significant energy expenditure as considerable energy is consumed mining Bitcoin, but Proof-of-Work achieves nothing of value beyond the Bitcoin network; i.e. the cryptographic solutions are of no value in themselves.
<hr>
<h1>Mining Centralization</h1>
<hr>
As there are big differences in CPU power, well-intentioned users with low power CPUs lose out to malicious user with more powerful machines. Therefore, Bitcoin’s Proof-of-work fails to satisfy the requirement that a consensus algorithm should implement randomized node selection across the broadest possible population of participants. This weakness increases the risk of mining centralization (or dominance by a select group of nodes).
<hr>
<h1>High Latency</h1>
<hr>
New blocks are generated approximately every 10 minutes. Waiting for confirmation that a given block has been accepted into the blockchain therefore implies waiting for several further blocks to be generated on top of it, to confirm that the transaction was not written into a block on a discarded fork. Confirmations might take up to an hour. 
<hr>
<h1>Low Transaction Rate</h1>
<hr>
The maximum block size allowed under Bitcoin’s Proof-of-work consensus algorithm imposes a maximum transaction rate (7 transactions/second) on the Bitcoin network.
<hr>
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 5 others
properties (23)
post_id16,060,048
authortheprophet0
permlinkeverything-you-need-to-know-about-consensus-algorithms-part-4
categoryconsensus
json_metadata"{"app": "steemit/0.1", "format": "markdown", "tags": ["consensus"]}"
created2017-10-25 12:52:06
last_update2017-10-25 12:52:06
depth0
children2
net_rshares38,401,102,478,233
last_payout2017-11-01 12:52:06
cashout_time1969-12-31 23:59:59
total_payout_value68.096 SBD
curator_payout_value19.327 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length3,779
author_reputation42,008,128,458,900
root_title"Everything You Need To Know About Consensus Algorithms (Part 4)"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (69)
@cryptomaker ·
Great job. @cryptomaker upvote and resteem your post.https://s1.postimg.org/8si8s5o8an/U5dsw_Te_PBNULDk47_Lnygsgtzu_Swzz2_P_1680x8400.png
properties (22)
post_id16,061,464
authorcryptomaker
permlinkre-theprophet0-everything-you-need-to-know-about-consensus-algorithms-part-4-20171025t131652902z
categoryconsensus
json_metadata"{"app": "steemit/0.1", "users": ["cryptomaker"], "image": ["https://s1.postimg.org/8si8s5o8an/U5dsw_Te_PBNULDk47_Lnygsgtzu_Swzz2_P_1680x8400.png"], "tags": ["consensus"]}"
created2017-10-25 13:17:00
last_update2017-10-25 13:17:00
depth1
children0
net_rshares0
last_payout2017-11-01 13:17:00
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length137
author_reputation17,025,940,490,861
root_title"Everything You Need To Know About Consensus Algorithms (Part 4)"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@syedabuabdillah ·
I can't know about this algorithms every time i learn from your post .Your post always helpful for others 
properties (22)
post_id16,064,421
authorsyedabuabdillah
permlinkre-theprophet0-everything-you-need-to-know-about-consensus-algorithms-part-4-20171025t140959038z
categoryconsensus
json_metadata"{"app": "busy/1.0.0", "tags": ["consensus"]}"
created2017-10-25 14:10:03
last_update2017-10-25 14:10:03
depth1
children0
net_rshares0
last_payout2017-11-01 14:10:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length106
author_reputation103,117,727,459
root_title"Everything You Need To Know About Consensus Algorithms (Part 4)"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000