美文网首页
区块链安全入门(三)

区块链安全入门(三)

作者: 城市烈人 | 来源:发表于2020-02-02 21:35 被阅读0次

    共识

    共识算法主要解决“分布式系统中,多个节点之间对某个状态达成一致性结果”的问题。分布式系统由多个服务节点共同完成对事物的处理,分布式系统中多个副本对外呈现的数据状态需要保持一致性。由于节点的不可靠性,以及突发状况性,甚至节点恶意操作,伪造信息,使得节点之间出现的数据状态不一致的问题。通过共识算法,可以将多个不可靠的单独节点组建成一个可靠的分布式系统,实现数据状态的一致性,并提高分布式系统的稳定性。

    共识算法

    区块链系统本身是一个超级庞大的分布式系统,它并不依赖于任何一个中央权威,系统建立在去中心化的点对点的网络上,因此分散的节点需要就交易的有效性与否达成一致,这就是共识算法发挥作用的地方,即保证所有的节点都遵守协议规则并保证交易都可以可靠的方式进行。由共识算法实现在分散的节点间对交易的处理顺序达成一致,这是共识算法再区块链系统中起到主要的作用。

    工作量证明 (PoW)

    PoW(Proof of Work)是历史上第一个成功的去中心化区块链共识算法。工作量证明是大多数人所熟悉的,被比特币、以太坊、莱特币等主流公链广泛使用。
    工作量证明要求节点参与者执行计算密集型的任务,但是对于其他网络参与者来说易于验证。在比特币的例子中,矿工竞相向由整个网络维护的区块链账本中添加所收集到的交易,即矿工不断地挖矿来增加区块。为了做到这一点,矿工必须第一个准确地计算出“nonce”,这是一个添加在字符串末尾的数字,用来创建一个满足开头特定个数为“0”的哈希值。不过存在着挖矿过程中,矿工需要消耗大量的电力和存在低交易吞入量等缺点。

    权益证明 PoS

    Proof of Stake 权益证明机制,一种主流的区块链共识算法,目的是为了让区块链里的分布式节点达成共识,它往往和工作量证明(PoW)一起出现,两种都是区块链中的主流共识算法。
    它通过持币人的同意来达成共识,目的是确定出新区块,这过程相对于PoW,不需要硬件和电力,且效率更高。
    PoS共识算法中引入了Stake(赌)的概念,持币人将代币进行Staking,要求所有的参与者抵押一部分他们所拥有的Token来验证交易,然后获得出块的机会,PoS共识中会通过选举算法,按照持币量的比例以及Token抵押时长,或者是其他的方式,选出打包区块的矿工。矿工在指定高度完成打包交易,完成新区块,并广播该区块,广播的区块经过PoS共识中另外一道“门槛”,验证人验证交易,通过验证后,区块得到确认,这样一轮PoS的共识过程就进行完成了。权益证明通过长期绑定验证这的权益和整个网络的权益来阻止不良行为。锁定代币后,如果验证这存在欺诈性交易,那么他们所抵押的代币或者Token也会被削减。
    安全、性能和去中心化一直都是PoS所追求的方向,未来也会有更多的PoS项目落地。

    委托权益证明 DPoS

    委托权益证明(Delegate Proof of Stake),用投票方式选择出块人的方式,代替PoS中可能出现的选举随机数被操纵的问题。在DPoS中,让每一个持币者都可以进行投票,由此产生一定数量的代表,或者理解为一定数量的节点或者矿池,他们之间的权利是完全相等的。持币者可以随时通过投票更换这些代表,以维系链上系统的“长久纯洁性”。在某种程度上,这很想国家治理里面的代议制,或者说是人大代表制度。
    这种制度的最大好处就是解决了验证人过多导致的效率低下的问题,当然,这种制度也有很明显的缺点,由于“代表”制度,导致其一直饱受中心化诟病。

    相关文章

      网友评论

          本文标题:区块链安全入门(三)

          本文链接:https://www.haomeiwen.com/subject/dnpqxhtx.html