标题:
一文读懂区块链共识及其容错机制(3)
[打印本页]
作者:
look_w
时间:
2019-1-17 20:51
标题:
一文读懂区块链共识及其容错机制(3)
最常使用的共识算法是工作量证明和权益证明。其他共识算法大部分还只是处于讨论阶段的概念或理论。
640?wx_fmt=jpeg
工作量证明
计算资源:工作量证明基于计算资源的稀缺性。
激励:工作量证明区块链上的矿工比赛找出某一加密货币问题的可接受答案
51%安全:工作量证明假设任何人控制的网络资源不得超过总资源的一半。
在工作量证明(PoW)中,想要生成下一个区块(赢得奖励)的区块链网络用户叫做矿工。为了赢得挖掘某一区块的权利,矿工们要比赛解决某一密码学“难”题。我们之前讨论过,这种数学“难”题只能通过随机猜测解出来。当某一矿工找到某一可接受的答案后,他们会生成一个区块,并在网络上传播,对这个区块以及其中的所有交易进行最终确定。
工作量证明通过选出一个随机猜测解决的问题,以实现对计算资源稀缺性的利用。矿工一次可以给出很多猜测,猜测的数量没有限制。
因此,工作量证明鼓励矿工使用尽可能多的矿机,以尽可能扩大他们第一个找到问题答案的几率。由于矿机要花钱购买和运行,用户投资挖掘设备的钱有限,因此他们对区块链网络的控制权就受到了限制。
工作量证明的安全性基于这样一个假设:任何人控制的网络资源不得超过区块链挖掘网络总计算资源的一半。
如果有一个矿工在解决区块链上每个区块的挖掘难题时,他第一个找出可接受答案的概率比其他人都要高,那么这个矿工对这个区块链网络就有绝对的控制权。这就破坏了区块链去中心化的特性。
总的来说,矿工们通过解决数学难题来证明交易,确保整个网络的安全。
矿工们用运行计算周期的GPU或专用集成电路(ASIC)芯片解决某一数学难题,希望找到预先提供给他们的一组数字 。这组数字称为“目标”,是一个前面是很多零的SHA-256 哈希算法。每产生2016个区块(大约每两周),“目标”的“难度”(比特币世界中的另一个术语)就会调整一次,以确保矿工大约每十分钟可以挖掘一个区块。
找到这个“目标”需要三个主要素:
一个nonce值(一个只使用一次的值)
交易数据
之前的block hash
经过一次又一次的hash(组合),而且nonce值每一次都会改变,直到这三个要素生成的hash比“目标”提供的hash低。
当某个矿工达到了这个“目标”,他就会获得一笔交易费和挖掘奖励(在本文发出时为12.5比特币)。这个奖励每生成210000个区块(大约要4年时间)就会减少一半。
接下来,这个矿工要向所有其他矿工告知,他已经达到了设定的“目标”并确认了这个区块。完成这一步后,他就会挖掘下一个区块。
640?wx_fmt=jpeg
权益证明
稀缺性通货:权益证明基于给定货币的稀缺性。
权益:下一个区块的生成者由所有拥有权益的用户伪随机选出。被选定的几率与用户所拥有权益的大小大致成比例。
经济可行性:权益证明假设所有用户不得对加密货币有绝大多数的控制。否则,他们就会被选中来生成大部分区块,拥有对加密货币的绝对控制权。
权益证明(PoS)网络中的用户可以“锁定(stake)”或承诺不使用所拥有的代币。这样,他们就有机会被选中创造或“打造”新区块,并获得相应奖励。区块创造者是从所有将部分资产作为权益的用户中伪随机选出的,这个选择过程是有偏向性的,权益越大,被选中的几率就越大。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0