区块链技术的核心优势之一,就是能够在决策权高度分散的去中心化系统中,使得各节点高效地针对区块数据的有效性和一致性达成共识。
由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。因此区块链系统需要设计一种机制,对在差不多时间内发生的事务的先后顺序进行共识,这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为共识机制”
共识机制被用来决定区块链网络中的记账节点,并对交易信息进行确认和一致性同步。
以太坊共识机制共有四个阶段,即Frontier(前沿)、Homestead(家园)、Metropolis(大都会)、Serenity(宁静)。以太坊前三个阶段采用的是POW共识机。第四个阶段将采用自己创建的POS机制,名为Casper投注共识,这种机制增加了惩罚机制,并基于POS的思想在记账节点中选取验证人。
POW即工作量证明,是比特币系统中采用的共识机制。(本文主要讲解以太坊的共识机制)
谈起Casper投注共识,要先说POS。POS即权益证明,主要特点以权益证明代替工作量证明,由具有最高权益的节点实现新块加入和获得激励收益。POS共识是为解决POW共识机制的资源浪费和安全性缺陷而提出的替代方案。它的本质是采用权益证明来代替POW中的基于哈希算力的工作量证明,是由系统中具有最高权益而非最高算力的节点获得区块记账权。权益体现为节点对特定数量货币的所有权,称为币龄或币天数(Coindays)。币龄是特定数量的币与其最后一次交易的时间长度的乘积,每次交易都将会消耗掉特定数量的币龄。例如某人在一笔交易中收到10个币后并持有10天,则获得100币龄;而后其花掉5个币后则消耗掉50币龄,显然采用POS共识机制的系统在特定时间点上的币龄总数是有限的,长期持币者更倾向于拥有更多币龄,因此币龄可视为其在POS系统中的权益。
投注共识是以太坊下一代的共识机制Casper(鬼马小精灵)引入的一个全新概念,属于POS。Casper的共识是按区块达成的,而不像POS那样按链达成。
为了防止验证人在不同的世界中提供不同的投注,还有一个简单严格的条款:如果你两次的投注序号一样,或者说你提交了一个无法让Casper依照合约处理的投注,你将失去所有保证金。从这一点可以看出,Casper与传统的POS不同的是,Casper有惩罚机制,这样非法节点通过恶意攻击网络不仅得不到交易费,而且还面临着保证金被没收的风险。
Casper协议下的验证人需要完成出块和投注两个活动。具体如下:
出块是一个独立于其他所有时间而发生的过程,验证人收集交易,当轮到他们的出块时间时,他们就制造一个区块,并签名,然后发送到网络上。投注的过程更为复杂一些,目前Casper默认的验证人策略被设计为模仿传统的拜占庭容错共识:观察其他的验证人讲解投注,取33%处的值,向0或1进一步移动。
而客户端确认当前状态的过程是这样的:一开始先下载所有的区块和投注,然后用上面的算法来形成自己的意见,但是不公布意见;它只是简单地按顺序在每个高度进行观察,如果一个区块的概率高于0.5就处理它,否则就跳过它。在处理所有的区块之后,所得到的状态就可以显示为区块链的当前状态”。客户端还可以给出对于最终确定”的主观看法:如果高度k之前的每个区块形成的意见高于99.999%或者低于0.001%,那么客户端可以认为前k个区块已经最终确定。
以太坊常用的三种共识机制(算法):
1、PoW(Proof of Work),工作量证明机制;
2、PoS(Proof of Stake):股权证明机制;
3、DPoS(Delegated Proof of Stake),授权股权证明机制。
这些共识机制都能在现实生活中找到对应的经济模型,吸引人们参与其中,组成安全网络,并有序运行。
免责声明: 文章源于会员发布,不作为任何投资建议
如有侵权请联系我们删除,本文链接:https://www.sws100.com/biquan/209330.html