加入收藏 | 设为首页 | 会员中心 | 我要投稿 衢州站长网 (https://www.0570zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

这个女生说:弄懂本文前,你所知道的区块链可能都是错的

发布时间:2018-11-29 21:27:38 所属栏目:业界 来源:李晓泉译
导读:副标题#e# 整个区块链行业的凛冽寒冬中,价格的涨跌已经左右了太多的人头脑之中的理智。可是,众人之中,究竟有几个人真正理解了区块链技术的密码学机制与分布式计算?究竟有几个人还会关心区块链在技术上的创新? 尘归尘,土归土。可能只有巨大的泡沫消散之

如果主节点不出错,协议就能正常运行。然而,如果主节点出错,或者恶意,备份节点能够通过 timeout 机制检测到主节点是否已经废掉。当出现这些异常情况时,这些备份节点就会触发视图更换(view change)协议来选举出新的主节点。但是这个过程非常缓慢,为了达成共识,PBFT 需要进行二次通信——每台计算机必须与网络中的所有计算机都进行通信。

注意:想要完整地解释PBFT算法,得非常大的篇幅!这里说一下关键部分就好。

虽然 PBFT 相比以前的算法已经有了长足的改进,但对于有大量参与者的实际场景(如公链)来说,它还不够实用。但是,至少在故障检测和领导者选举方面,它给出了一些具体的做法,这要比 Paxos 强多了。

PBFT 的贡献是举足轻重的,它整合了一系列重要的有变革意义的算法思想,不少新的共识协议从中受益匪浅,尤其是后区块链时代(post-blockchain world)。

比如,Tendermint 是一种新的共识算法,从 PBFT 中获益颇丰,且设计更加实用。在“验证”阶段,Tendermint 使用两个投票步骤来决定最终值;Tendermint 每轮都会更换新领导者。如果当前一轮的领导者在一段时间内没有响应,那么它就会被跳过,算法直接进入下一轮,并产生新的领导者。而在 PBFT 中,每次视图更换选新的领导人,都需要一次繁琐耗时的点对点连接,相比起来,Tendermint 运行更简洁,更有实用意义。

方法一小结

  • Paxos 和 Raft,具有简单容错能力,对系统崩溃或网络延迟等故障容错,需要同步信息传输环境,适用于严格受控的私链环境。
  • DLS 和 PBFT,可对拜占庭故障容错,在异步信息传输环境中需要做某种形式的同步假设(超时),适用于新加入节点需要验证的联盟链。

五、中本聪共识为什么这么牛?

方法二:使用不确定性

下面我们来介绍另一种克服 FLP 不可能的方法:不确定性。所谓不确定性,就是用概率论和不确定的方式来解决共识问题。

中本聪共识(Nakamoto Consensus.)

传统的共识中,算法的定义是这样的:一个提议者和一群决策者必须协调和沟通,才能决定下一个值。

这太复杂了,因为它需要知道网络中的每个节点,而且各个节点之间都必须沟通,即二次通信消耗。简单地说,它的拓展性有限,也不能在开放的、没有限制的系统中工作,在这种系统中,任何人都可以随时加入和离开。

中本聪共识使上述的难题成为概率性的事件,这是其高明之处所在。用不着每个节点都同意一个值,只需要所有节点都同意这个值为正确的可能性。

我们从一下几个板块来理解:

1、拜占庭容错机制——工作量证明(PoW,proof of work)

在比特币网络中,区块链本质上是去中心化的账本,用区块记录每一笔交易,每个节点都拥有这个账本,每个节点都拥有记账权。那么谁来记账呢?

在中本聪共识中,记账的节点是不确定的,哪个节点解决难题最快,算力最强,它就能够在区块链中添加新区块。而这个需要节点们去解决的难题也没有确定的公式去解决,只能依靠穷举法。

抢到了记账权,系统就会告知全网节点,获得全网确认后,这个区块便会被正式添加,这就是达成共识的过程。

每个区的生成会在区块链上加盖一个时间戳,网络就在这个链条上延续构建。

(编辑:衢州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读