2021:04:19   今天是星期一   09:59:42
APP下载 万链之家APP

Android

冯瑜武:每日一盘----共识算法的门道

03-11 17:34

标签    区块链技术    区块链是什么   区块链开发    区块链概念股   区块链社区

文章来源: 万链之家

  冯瑜武:每日一盘----共识算法的门道


  谈起区块链里的热门词,一定离不开伟大的共识算法,它是构筑区块链信任特性的基础。到底有哪些共识算法?今天来了解一下:


  共识算法是什么?


  共识机制就是用来解决分布式系统的一致性问题,其核心为在某个协议(共识算法)保障下,在有限的时间内,使得指定操作在分布式网络中是一致的、被承认的、不可篡改的。在区块链系统中,特定的共识算法用于解决去中心化多方互信的问题。


  其实简单理解就是达成一致。现实生活中很多场景是需要达成一致的。区块链系统中,每个节点必须让自己的账本和其他节点的账本保持一致。而中心化世界里,这几乎不可能,因为有一个中心服务器存在。


  简单的说,就是根据参与者所拥有的某种资产,或是授予的权利,标志在转盘上,表示每个部分的大小,然后开始转转盘,转到的部分的那个参与者,就是这一轮的决策者,这次的决定就由他来做。现在的系统,有的是根据拥有的币(或是愿意抵押的币)的多少,有的是根据贡献的存储空间(或是使用中)的大小,有的是根据对社区的贡献的多少,有的是根据积分奖赏的多少,有的是根据一天步行的多少,有的是根据使用时长的多少,等等,千奇百怪,总之,是某种可以计量的东西,作为权益来证明参与者决策的可能性,这些,虽然披着不同的羊皮,但他们都是狼,本质都是权益证明。在现实生活中,民主投票选举领导人就是这么一个逻辑,但权益证明引入了一定的随机性。

区块链技术

  识算法是为了解决在对等网络中(P2P),相互独立的节点如何达成一项决议问题的过程。简而言之,共识算法是在解决分布式系统中如何保持一致性的问题。关于此部分的讨论较为成熟和最为广泛接受的理论是CAP理论。CAP由Eric Brewer)在2000年PODC会议上提出[4],并提出分布式系统不能同时完全满足CAP三个要求的假设,其中包括如下三个方面:


  Consistency:一致性从不同节点读取的数据一致。一致性是指数据的原子性,在经典的数据库中通过事务来保障,事务完成时,无论成功或回滚,数据都会处于一致的状态,在分布式环境下,一致性是指多个节点数据是否一致。


  Availability:可用性是指服务及时非错误地响应,服务一直保持可用的状态,当用户发出一个请求,服务能在一定的时间内返回结果,响应可终止、不会一直等待。


  Partition tolerance:分区容错性即可靠性。可靠性的量化指标是周期内系统平均无故障运行时间.即使有些消息延迟或者无法到达,并不影响系统的整体运行。简而言之,在网络分区的情况下,被分隔的节点仍能正常对外服务。

4.jpeg

  和所有分布式系统一样,区块链共识算法设计也是在权衡上面的三个因素,假如区块链中节点能立即确认交易数据,好处是不依赖其他节点立即可用,满足了CAP理论中的AP,可风险是失去了强一致性,其他节点可能丢弃这个区块,因为区块所在的区块链分叉在竞争性的选举中失败了[5]。为了获得CP,客户端应该等待区块链大多数节点接受了这笔交易在真正接受它,说明这笔交易所在分叉已经选举胜利,获得大部分共识,获得了强一致性,但是风险是可能unavailable,丧失CAP的A,因为网络分区通信等问题可能阻止这种共识。


  共识算法发展历程:


  从历史上看,共识算法起源于多处理器计算的研究;它们解决的是处理器可能出现故障(即变得无响应)时的全局状态问题。在这些情况下通信是同步的,即受一些已知的时间上限。


  后来,随着电信和计算机网络的发展,出现了另外两个问题:未知的通信延迟和对手的存在。前者导致了部分新的研究同步和异步共识算法和创建算法可以容忍任意代理行为(拜占庭行为)——即所谓的拜占庭容错算法(或BFT共识)。

0.jpg

  随着互联网的广泛应用,对手的问题变得更加严重。如果在多处理器环境或电信基础设施中可以识别每个代理,那么在Internet的许多情况下就不能这样做。因此,出现了一种新的公共(或无许可)共识,共识算法必须成为一种协议,其中嵌入了识别和排除拜占庭式代理的规则和程序——就像一些附带机制降低了此类代理进一步参与协议的经济能力一样。这种制度以POW和POS的名义引起了公众的注意。我们将以经济激励(BFT-ei)命名这些协议。在许多情况下,异步性和无许可性要求牺牲其他共识品质,比如决定论或适用于领导人选举场景的能力。


  当参与者很多的时候,前面那些方法类型,都会产生效率的问题,或是浪费资源的问题,所以,就发明了代表机制。不要所有的参与者都参与最后的决策,而是先选出一些代表,每个代表代理一部分的参与者行使权力。这样,上面的各种算法,只要代表们来执行。在区块链世界,DPOS是被人们最常提及的。依此类推,我们也可以将其它共识方式代表化,比如,POW,可以做成DPOW,这样不是所有的矿工在每一轮都参与哈希的计算,只是选择部分的矿工,这样,也许可以少浪费一些电,节约不少资源。现实生活中,广大群众先选出人民代表,然后再由人民代表来代理行使权力,民主集中制就是如此。



声明:万链之家登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。

冯瑜武

0打赏金币 1005所得总金币

    最新发表    最高金币  最高点击量

特约作者

7x24h快讯更多 >>
  • 04.18 13:11

    CBOEX交易所系统稳定运行,是对用户最好的保障据官方消息... [快讯详情]

  • 04.09 10:09

    欧赛Troy主网销毁池AUC全网已销毁总量突破15000枚... [快讯详情]

  • 04.06 10:42

    XORO是波卡生链上XOR-SORA的代币波卡生态XOR-... [快讯详情]

  • 04.03 11:42

    Bit Crowd Funding即将强势登录HECO火币... [快讯详情]

  • 04.01 16:50

    Osasion欧赛区块同步节点竞选参与社区超100个 合格... [快讯详情]