理解区块链共识机制POW
排头小兵
发表于 2022-12-2 09:50:46
115
0
0
在这个账本中,是如何对几乎相同时间内产生的交易前后排序的呢?这就涉及到了区块链网络的共识机制,其实,共识机制,就是一套让参与者都达成共识的方法论,它决定得区块链的记帐权和奖励。" N9 j; U) S3 }! M, V, b
7 w0 U I, c$ `7 F3 R
POW(ProofofWork):工作量证明机制
POW基本原理:3 e( s5 z% _$ \. Z+ k$ n: _
2 `1 o; y& e9 q% {5 ^
第一代共识机制,比特币的基础。理解起来,很简单,它通过评估你的工作量来决定你获得记帐权的机率,工作量越大,就越有可能获得这次的记帐机会。在区块链的网络世界里,这里的劳动就是你为网络提供的计算服务(算力x时长),提供这种服务的过程就是“挖矿”。假如是真的矿场,显然在均匀分布的前提下,人们“挖矿”所得的比重与各自提供的算力成正比,通俗一点就是,能力越强获得越多。8 v* e: D3 i# L
& K e& ^, W- S
POW机制的基本步骤:
! P3 s7 c/ P e' [" n/ ~& \
第一步:节点监听全网数据记录,通过基本合法性验证的数据记录针其暂存;3 R% L' j6 p- Y v. u5 d' b
第二步:节点消耗自身算力尝试不同的随机数,进行指定哈希计算,并不断重复该过程直至找到合理的随机数;
6 O3 ^' v+ C& X: f% k2 g* q
第三步:找到合理的随机数后,生成区块信息,首先输入区块头信息,然后是数据记录信息;
第四步:接单对外部广播出新产生的区块,其他节点验证通过后,连接至区块链中,主要链高度加1,然后所有节点切换至新区块后面继续进行工作量证明和区块的生产。
& l9 e2 X9 o& v2 B
以上是书上讲的步骤,用简单易懂的语言来说的话,就我们一起用个例子说明下:工作量证明机制其实就像一场有奖抢答比赛,假设现在区块链世界有甲、乙、丙、丁四个参赛选手,他们必须挑战相同的数学题目,谁要是最先完成这些题目的计算,并且节目方认为这个算出的答案是对的,那么他就能获得最后的奖杯(记账权)和对应的奖金(完成记账后系统会奖励比特币)。
有人可能会问,假设乙和丁两人同时抢答成功(也就是现在出现了两个同时满足条件的区块),那这该怎么判定?我们把这种情景称为分叉:在以工作量证明为共识机制的区块链系统中,这个问题是这样被解决的:进行加时赛。尽管乙和丁现在难分胜负,但由于他们各自的解题能力是不同的,因此在一段时间过后,总会有一个人的答题数量要超过另一人(即区块链全网有一条更长的链出现),那么他就是最终获得记账权和奖励的人。
* P; u/ u3 P3 l0 ?
而输了的那个人也不会继续答题,因为继续答题也不会有任何奖励。因此获胜者所在的这条链就成为了主链,分叉出来的链就消失了,从而保证区块链数据的唯一性,这就是在工作量证明机制遵循的最长链原则。当然这种情况发生的前提是所有人遵从同样的机制,如果不遵从,分叉还是会继续。4 L" }- ]1 ^* A5 P, E0 `& n
2 m, \9 F0 O, T" X/ V
PoW的优点:) x- j' `4 j+ k8 K+ q
" _* m- Q0 H2 w5 R
最大的优点是算法简单,实现容易。但POW机制本身当然很复杂,有很多细节,比如:挖矿难度自动调整、区块奖励逐步减半等,这些因素都是基于经济学原理,能吸引和鼓励更多人参与。理想状态,这种机制,可以吸引很多用户参与其中,特别是越先参与的获得越多,会促使加密货币的初始阶段发展迅速,节点网络迅速扩大。在CPU挖矿的时代,比特币吸引了很多人参与“挖矿”,就是很好的证明。通过“挖矿”的方式发行新币,把比特币分散给个人,实现了相对公平。! E' }; ~0 m/ r2 x) n. S
PoW的缺点:
# s6 x: B+ ~$ k+ S8 b6 F8 U1 h
1、速度慢是最不能接受的一点,达成共识的的周期过长,处理效率低(比如比特币每秒只能做7笔交易),不适合商业应用;6 A, F3 ]$ A; B b- }; S$ |& { h- x6 O
2、算力是计算机硬件(CPU、GPU等)提供的,要耗费电力,是对能源的直接消耗,与人类追求节能、清洁、环保的理念相悖,浪费大量计算能源,因为同时参与答题挑战(挖矿)最终只能有一个胜出,那么其他参与者这个过程中消耗的计算能源都被浪费了;
3、用户也从个人挖矿发展到大的矿池、矿场,算力集中越来越明显,矿池BTC.COM、蚁池和微比特,一共控制了超过51%的算力,如果他们联合起来或者被黑客控制,那么就可能会发生可怕的51%攻击;
# X2 L y+ M; x
4、容易产生分叉,采用POW机制,己经分叉出了多少个币,看看,这是我以前整理的,以下大部分都是我们中国的人搞出来的。
# z9 {8 M; ]9 X
以上是针对区块链共识机制POW的一些理解学习与记录,希望对你有也有帮助。
成为第一个吐槽的人