请输入关键字
区块链
Alin|2018-2-2

区块链,它是由两个部分组成,一个是区块,一个是链;这两个部分又是如何配合的呢?

首先是先找到一个公共区块,然后达达共识,最后记录下来,分发到每台计算机上,就这样的一直写下去,记录的信息一旦被分发出去,那就是永远被记录下来。

区块链的根本属性是去中心化,而去中心化的依托是共识机制。

 

在了解共识机制之前,先来看两个古老的引入问题:类两军问题、拜占庭将军问题。

类两军问题:

古代有两个相距很远的军队要传递信息,
蓝军派遣一个信使去跟红军说:有本事把意大利炮拿过来!
红军收到后回复蓝军说:收到指令。
蓝军要给出确认答复:知道你收到指令了!
红军继续给出答复:知道你知道我知道指令了!
….

拜占庭将军问题:

拜占庭罗马帝国在军事行动中,采取将军投票策略来决定进攻还是撤退,即如果多数人决定进攻,就整体确定进攻策略。但是军队中如果有奸细(将军可能反水、传令官可能误传),如何保证最后投票真实反映忠诚将军的决策?

拜占庭帝国周围有10个小国,它们饱受拜占庭欺压,却只有同一时间有6个以上国家进攻才有可能打败拜占庭帝国,非则一定战败。

难点在于:古时候军队之间的通信完全依赖于人,如果军队中有奸细,无论是将军反水还是传令官误传,都会是另外9个国家收到假消息,从而造成作战失败。如果你是国王,该如何判断一定会有另外5个以上国家与你并肩作战?毕竟一不小心,就亡国了。


 

授权拜占庭容错

2016年4月,小蚁公司发布共识算法白皮书,描述了一种通用共识机制——授权拜占庭容错,提出了一种改进的拜占庭容错算法,使其能够适用于区块链系统。授权拜占庭容错算法在使用拜占庭容错算法的基础上,进行了以下改进:

  1. 将C/S架构的请求响应模式改进为适合P2P网络的对等节点模式;

  2. 将静态的共识参与节点改进为可动态进入、退出的共识参与节点;

  3. 为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点);

  4. 在区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题。

授权拜占庭容错机制的优点:专业化的记账人;可以容忍任何类型的错误;记账由多人协同完成;每一个区块都有最终性,不会分叉;算法的可靠性有严格的数字证明。

授权拜占庭容错机制的缺点:当1/3及以上的记账人停止工作后,系统将无法提供服务;当1/3及以上的记账人联合作恶,且其他所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据。

总而言之,授权拜占庭容错机制最核心的一点,就是最大限度地确保系统的最终性,使区块链能够适用于真正的金融应用场景。

此应用于NEO

Paxos算法

这是一种传统的分布式一致性算法,是一种基于选举领导者的共识机制。领导者节点拥有绝对权限,并允许强监督节点参与,其性能高,资源消耗低。所有节点一般有线下准入机制,但选举过程中不允许有作恶节点,不具备容错性。

赞一下18||已浏览1607

本站版本归木之林解释所有 copyright(C)2010-2025www.mzlin.net 备案/许可证编号为:粤ICP备15050036号