草根站长
老司机 路子野 随时超车
关于共识,我们都知道从原始社会起,人类就存在了很多共识,正是这些共识,让人类有了区别于其他动物的能力——群体协作能力。加上人类的另一项能力——制造工具的能力,使人类能够成为地球上的统治者。
不论在生活中还是在工作中还是在科研中,达成共识至关重要。那什么是共识呢?举例来说,一个日本人,一个美国人,一个瑞典人,一个马来西亚人,一个南非人~~~~~~~~很多很多人分布在全球不同的地方,他们经过投票,一致认为我是个好人,这就是一次共识的形成过程。
目前常用的几种共识机制
1、工作量证明机制(Proof of Work - PoW)是我们最熟知的一种共识机制。就如字面的解释,PoW就是工作越多,收益越大。这里的工作就是猜数字,谁能最快的猜出这个唯一的数字,谁就能做信息公示人。
2、权益证明机制(Proof of Stake-PoS)也属于一种共识证明,它类似股权凭证和投票系统,因此也叫“股权证明算法”。由持有最多(token)的人来公示最终信息。
3、拜占庭共识算法(Practical Byzantine Fault Tolerance- PBFT)也是一种常见的共识证明。它与之前两种都不相同,PBFT以计算为基础,也没有代币奖励。由链上所有人参与投票,少于(N-1)/3个节点反对时就获得公示信息的权利。
它就像一个国家的法律,维系着区块链世界的正常运转。在区块链上,每个人都会有一份记录链上所有交易的账本,链上产生一笔新的交易时,每个人接收到这个信息的时间是不一样的,有些想要干坏事的人就有可能在这时发布一些错误的信息,这时就需要一个人把所有人接收到的信息进行验证,最后公布最正确的信息。
区块链的共识机制有很多,说一个影响力最大的比特币背后核肢液的pow共识机制,好处是安全 不可篡改 全球流通 缺点是速度太慢了改物 一秒钟只能处理饥谈7笔交易
1.共识机制是什么在一个去中心化的结构体系中,由于各个参与方的地位是平等的,当出现分歧的时候,如何达成共识就成了问题。所以,一个设计精妙、实际操作起来简单的共识机制是一个分布式的闹灶型体系能够顺利自运转下去的关键所在。简而言之,共识机液猜制就是在一个时间段内对事物的前后顺序达成共识的一种算法,是区块链节点就区块信息达成全网一致共识的机制。辩羡
1. 网络上的交易信息如何确认并达成共识? 虽然经常提到共识机制,但是对于共识机制的含义和理解却并清楚。因此需要就共识机制的相关概念原理和实现方法有所理解。 区块链的交易信息是通过网络广播传输到网络中各个节点的,在整个网络节点中如何对广播的信息进行确认并达成共识 最终写入区块呢? 如果没有相应的可靠安全的实现机制,那么就难以实现其基本的功能,因此共识机制是整个网络运行下去的一个关键。 共识机制解决了区块链如何在分布式场景下达成一致性的问题。区块链能在众多节点达到一种较为平衡的状态也是因为共识机制。那么共识机制是如何在在去中心化的思想上解决了节点间互相信任的问题呢? 当分布式的思想被提出来时,人们就开始根据FLP定理和CAP定理设计共识算法。 规范的说,理想的分布式系统的一致性应该满足以下三点: 1.可终止性(Termination):一致性的结果可在有限时间内完成。 2.共识性(Consensus):不同节点最终完成决策的结果应该相同。 3.合法性(Validity):决策的结果必须是其他进程提出的提案。 但是在实际的计算机集群中,可能会存在以下问题: 1.节点处理事务的能力不同,网络节点数据的吞吐量有差异 2.节点间通讯的信道可能不安全 3.可能会有作恶节点出现 4.当异步处理能力达到高度一致时,系统的可扩展性就会变差(容不下新节点的加入)。 科学家认为,在分布式场景下达成 完全一致性 是不可能的。但是工程学家可以牺牲一部分代价来换取分布式场景的一致性,上述的两大定理也是这种思想,所以基于区块链设计的各种公式机制都可以看作牺牲那一部分代价来换取多适合的一致性,我的想法是可以在这种思想上进行一个灵活的变换,即在适当的时间空间牺牲一部分代价换取适应于当时场景的一致性,可以实现灵活的区块链系统,即可插拔式的区块链系统。今天就大判历介绍一下我对各种共识机制的看法和分析,分布式系统中有无作恶节点分为拜占庭容错和非拜占庭容错机制。 FLP定理即FLP不可能性,它证明了在分布式情景下,无论任何算法,即使是只有一个进程挂掉,对于其他非失败进程,都存在着无法达成一致的可能。 FLP基于如下几点假设: 仅可修改一次 : 每个进程初始时都记录一个值(0或1)。进程可以接收消息、改动该值、并发送消息,当进程进入decide state时,滚搜其值就不再变化。所有非失败进程都进入decided state时,协议成功结束。这里放宽到有一部分进程进入decided state就算协议成功。 异步通信 : 与同步通信的最大区别是没有时钟、不能时间同步、不能使用超时、不能探测失败、消息可任意延迟、消息可乱序。 通信健壮: 只要进程非失败,消息虽会被无限延迟,但最终会被送达;并且消息仅会被送达一次(无重复)。 Fail-Stop 模型: 进程失败如同宕机,不再处理任何消息。 失败进程数量 : 最多一个进程失败。CAP是分布式系统、特别是分布式存储领域中被讨论最多的理论。CAP由Eric Brewer在2000年PODC会议上提出,是Eric Brewer在Inktomi期间研发搜索引擎、分布式web缓存时得出的关于数据一致性(consistency)、服务可用性(availability)、分区容错性(partition-tolerance)的猜想: 数据一致性 (consistency):如果系统对一个写操作返回成功,那么之后的读请求都必须读到这个新数据;如果返回失败,那么所有读操作都不能读到这个数据,对调用者而言数据具有强一致性(strong consistency) (又叫原子性 atomic、线性一致性 linearizable consistency)[5] 服务可用性 (availability):所有读写请求在一定时间内得到响应,可终止、不会一直等待 分区容错性 (partition-tolerance):在网络分区的情况下,被分隔的节点仍能正常对外服务 在某时刻如冲铅果满足AP,分隔的节点同时对外服务但不能相互通信,将导致状态不一致,即不能满足C;如果满足CP,网络分区的情况下为达成C,请求只能一直等待,即不满足A;如果要满足CA,在一定时间内要达到节点状态一致,要求不能出现网络分区,则不能满足P。 C、A、P三者最多只能满足其中两个,和FLP定理一样,CAP定理也指示了一个不可达的结果(impossibility result)。
版权声明:本文标题:币圈子解析:区块链的分布式共识机制是什么?内容由互联网整理发布,该文观点仅代表作者本人,转载请联系作者并注明出处:http://www.0792jiaju.com/post/2237.html,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。
发表评论