共识机制是什么?通俗来讲共识机制
共识机制是什么?首先,我们要知道共识机制对于区块链来说是必不可少的,因为在区块链技术*识机制可以通过一种特殊的节点来进行投票,并在非常短的时间内去完成交易的验证和确认。毫不夸张的说区块链建立在共识这个基础上,机制就是区块链的核心。区块链作为一个新兴产物,它们的“共识机制”也在不停的更迭,这种历程和CPU架构的升级非常相似。当然通过只字片语还是无法深入了解其真正的意思,那么今天聚链网小编就带大家好好深入了解下共识机制是什么?
通俗来讲共识机制
“共识算法“在一套区块链系统里面起到的作用,非常类似于CPU架构在电子设备中的核心“组件”,一个升级版的架构往往能使电脑的流畅度提升质的飞越。区块链作为一个新兴产物,它们的共识机制也在时刻不停的更迭,这种历程和CPU架构的升级非常相似。如果说共识是区块链的基础,那共识机制就是区块链的灵魂。我们在解释什么是区块链时,可以用一句简洁明了的去中心化分布式分类账来概括,但是在这个账本中,是如何对在几乎相同时间内的产生的事物前后排序的,就涉及到区块链网络的共识机制。所以共识机制,就是在一个时间段内对事物的前后顺序达成共识的一种算法。
共识机制的作用
我们都知道区块链是去中心化的,基于分布式账本技术,每个人都可以*地加入进来,成为其中的一个节点。但想一想,绝对的*,必然会带来绝对的混乱,如果每个人都*地在网络中处理数据,整个网络就很容易发生分歧,产生混乱。试想以下,如果在混乱的场景下,节点之间相互不认识,又没有一个中心化的权威机构来做担保,大家彼此如何确定对方节点处理的数据没问题?
所以说,在去中心化的环境下,没有一个比较中心化的节点能做决策,协助网络运行,网络就很难在*的环境下,自主运行。为了解决这个问题,中本聪就想了个办法:虽然整个网络中没有一个中心化的节点能做决策,但是我可以设立一套规则,让这个规则成为一个中心化的机制,每个节点必须遵守,帮助网络自主运行,就好比法律约束社会的每个人一样。
这个规则内容要包含两点,第一是解决分布式账本中,每个节点怎么记账的问题;第二是解决不同节点间,如何交换信息、达成共识的问题。具体是依赖某种方式,确定谁取得区块链中的记账权,谁取得了记账权,整个网络就用谁处理好的数据,并且这个人还可以获取打包区块的奖励,此外,谁如果意图危害网络,也会获得一定的惩罚。
这样就能在一个没有中心化节点存在的情况下,既能让每个节点比较统一地做一件事,又能保证每个节点的小数据库之间数据一致。从而令分布式网络,比较有序地去运行。总的来说,共识机制就是一种制度,能够约束去中心化网络中的每一个分散的节点,维护系统的运作顺序与公平性,使每一个互不相干的节点能够验证、确认网络中的数据,进而产生信任,达成共识。如果把区块链当成一个社会,那么共识机制就是这个世界中的法律,人人都得遵守,不仅解决了信任的问题,更维护着整个区块链社会的正常运行。
共识机制的目标
一致性:所有诚实节点所保存的区块链前缀部分完全相同。
有效性:由诚实节点发布的消息终将被所有其他诚实节点记录到自己的区块链中。
共识机制的利弊
安全性:能否有效防止二次支付,私自挖矿
扩展性:当系统成员和待确认交易数量增加时,所带来的系统负载和网络通信量的变化,通常以网络吞吐量来衡量
性能效率:每秒可以处理的交易数量
资源消耗:达成共识过程中,所要消耗的CPU、内存等计算资源
共识机制的种类
1.PoW(Proof of Work 工作量证明)
PoW 是首个共识算法,由中本聪在他的论文中提出的,用于建立分布式无信任共识并识别“双重支付”(double spend)问题。PoW 并非一个新理念,但是中本聪将 PoW 与加密签名、Merkle 链和 P2P 网络等已有理念结合,形成一种可用的分布式共识系统。加密货币是这样系统的首个基础和应用,因而独具创新性。
2.PoS(Proof of Stake 权益证明)
挖矿共识要解决的问题是争夺唯一记账权,保证账本的一致性。工作量证明机制PoW采用不断碰撞目标哈希值的方式拼算力,耗费资源,且耗费的能源会越来越多。为了解决PoW机制中大量资源被浪费的情况,权益证明PoS机制应运而生。PoS为了鼓励人们积极参与系统的维护,尤其是鼓励人们持币,按照持币的数量和时间来确定记账权。
3. DPoS(Delegate Proof of Stake 委托权益证明)
在目前已知的去中心共识算法中,只有DPoS算法经证明可以满足区块链上应用程序的性能要求。DPoS机制将每个币视为一张选举票,币的拥有者根据其持有的数量,投票给自己信任的委托人。系统根据得票多少选出受托人。受托人的工作就是签署区块,且在每个区块被签署前,检验前一个区块的真伪。币的持有者将权益交给受托人,受托人也可以专心从事记账工作。
以上就是共识机制是什么?的相关介绍, 最后,聚链网小编还要提到的是在区块链技术中,由于常常有着不同的应用场景,导致所需要设计的目标各式各样;而不同的区块链系统也是采用了不同的共识算法。一般来说,在私有链和联盟链情况下,对一致性、正确性有很强的要求;而在公有链情况下,对一致性和正确性通常没法做到百分之百,通常采用最终一致性(Eventual Consistency)的共识算法。