比特币共识机制是什么?比特币共识机制原理
众所周知,比特币是“挖”出来的,而且是用“矿机”来挖,同时比特币是采用一种称为“工作量证明”比特币共识机制来判断谁记账。说到这里,有的萌新就要问了,比特币共识机制是什么?比特币共识机制原理又是什么呢?接下来手工客小编就来为大家解答。
比特币共识机制定义
由于加密货币多数采用去中心化的区块链设计,节点是各处分散且平行的,所以必须设计一套制度,来维护系统的运作顺序与公平性,统一区块链的版本,并奖励提供资源维护区块链的使用者,以及惩罚恶意的危害者。
这样的制度,必须依赖某种方式来证明,是由谁取得了一个区块链的打包权(或称记帐权),并且可以获取打包这一个区块的奖励;又或者是谁意图进行危害,就会获得一定的惩罚,这就是共识机制。
比特币共识机制原理:
比特币共识机制有很多种,今天手工客小编就以POW工作量证明来举例。工作量证明系统的主要特征是客户端要做一定难度的工作来得到一个结果,验证方则很容易通过结果来检查客户端是不是做了相应的工作。这种方案的一个核心特征是不对称性:工作对于请求方是适中中的,对于验证方是易于验证的。它与验证码不同,验证码是易于被人类解决而不是易于被计算机解决。下图所示的为工作量证明流程
举个例子,给个一个基本的字符创“hello,world!”,我们给出的工作量要求是,可以在这个字符创后面添加一个叫做nonce(随机数)的整数值,对变更后(添加nonce)的字符创进行SHA-256运算,如果得到的结果(一十六进制的形式表示)以“0000”开头的,则验证通过。为了达到这个工作量证明的目标,需要不停地递增nonce值,对得到的字符创进行SHA-256哈希运算。按照这个规则,需要经过4251次运算,才能找到前导为4个0的哈希散列。
“Hello,World!0"=>1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64
“Hello,World!1"=>e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8
...“Hello,World!4250"=>0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9
通过这个示例我们对工作量证明机制有了一个初步的理解。有人或许认为如果工作量证明只是这样一个过程,那是不是只要记住nonce为4521使计算能通过验证就行了,当然不是了,这只是一个例子。
下面我们将输入简单的变更为”Hello,World!+整数值”,整数值取1~1000.也就是说将输入变成一个1~1000的数组:Hello,World!1;Hello,World!2;...;Hello,World!1000.然后对数组中的每一个输入依次进行上面的工作量证明-找到前导为4个0的哈希散列。
由于哈希值伪随机的特性,根据概率论的相关知识容易计算出,预计要进行2的16次方次数的尝试,才能得到前导为4个0的哈希散列。而统计一下刚刚进行的1000次计算的实际结果会发现,进行计算的平均次数为66958次,十分接近2的16次方(65536)。在这个例子中,数学期望的计算次数实际就是要求的“工作量”,重复进行多次的工作量证明会是一个符合统计学规律的概率事件。
统计输入的字符创与得到对应目标结果实际使用的计算次数如下:
Hello,World!1=>42153
Hello,World!2=>2643
...
Hello,World!998=>68868
Hello,World!999=>46281
市面上比较典型的比特币共识机制:
1.POW(Proof of Work)工作量证明
依赖机器进行数学运算来获取记账权,资源消耗相比其他共识机多、可监管性弱。每一次达成共识,需要全网共同参与,运算性能效率比较低,容错性方面允许全网50%节点出错,优点是完全去中心化,节点自由进出。
2.POS(Proof of Stake) 权益证明
POS权益证明就是存在一个持币人的集合,他们把手中的代币放入POS机制中,这样他们就变成验证者。假设很多验证者,在区块链最前面发现了一个新区块,这是POS算法在这些验证者中随机选取一个,给他们权利产生下一个区块,选择验证者的权重,依据他们投入的代币多少而定。
3.DPOS(Delegate Proof of Stake)股份授权证明
BitShares社区首先提出了DPOS机制。DPOS与POS的主要区别,在于其节点选取若干代理人。由代理人验证和记账,其合规监管、性能、资源消耗和容错性与POS相似。类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。
4.Ripple Consensus 瑞波共识机制
瑞波共识机制的算法主要是:使一组节点,能够基于特殊节点列表达成共识,初始特殊节点列表,就像一个俱乐部要接纳一个新成员,必须由当前该俱乐部中51%以上的会员投票通过。
共识遵循这个核心成员的51%权利,外部人员则没有影响力。与比特币和点点币一样,瑞波系统将股东们与其投票权隔开,并因此比其他系统更中心化。
5.Pool验证池
这是一种基于传统的分布式一致性技术,加上数据验证的机制,是目前行业链大范围在使用的共识机制。它的优点是不需要代币也可以工作,在成熟的分布式一致性算法基础上,实现秒级共识验证。而缺点是去中心化程度不如比特币,更适合多方参与的多中心商业模式。