zoukankan      html  css  js  c++  java
  • 分布式学习笔记(四)-分布式共识

    什么是分布式共识

         在多个节点均可独自操作或者记录的情况下,使得所有节点针对某个状态达成一致的过程。通过共识机制,我们可以使得分布式系统中的多个节点的数据达成 一致。
         选主过程就是一个分布式共识问题,因为每个节点在选出主节点之前都可以认为自己会成为主节点,也就是说集群节点“存异”;而通过选举的过程选出主节点,让所有的节点都认可该主节点,这叫“求同”。由此可见,分布式共识的本质就是“存异求同”。所以,从本质上看,分布式选举问题,其实就是传统的分布式共识方法,主要是基于多数投票策略实现的。

    分布式共识方法

    • Pow(Proof of Work,工作量证明)算法
      • 原理:是以每个节点或服务器的计算能力(即“算力”)来竞争记账权的机制,因此是一种使用工作量证明机制的共识算法。也就是说谁的计算力强、工作能力强,谁获得记账权的可能性就越大。
      • 优点:相对公平,有容错机制,完全去中心化,简单易懂,容易实现
      • 缺点:共识效率低,每秒完成交易量少,存在阻塞问题,资源浪费严重,交易服务费高
      • 应用场景:比特币等
    • PoS(Proof of Stake,权益证明)算法
                    为了解决 PoW 算法的问题,引入了 PoS 算法
      • 原理: 由系统权益代替算力决定区块记账权的共识机制,拥有的权益越大则成为下一个区块生产者的概率也越大
      • 优点:消耗资源低,达成共识周期短,交易服务费低
      • 缺点:每秒完成交易量较低,容易被垄断,无法处理分叉链的情况
      • 应用场景:以太坊、点点币等
    • DPoS(Delegated Proof of Stake,委托权益证明)算法
                为了解决 PoS 算法的垄断问题,2014 年比特股(BitShares)的首席开发者丹尼尔 · 拉里 默(Dan Larimer)提出了委托权益证明法,也就是 DPoS 算法。
      • 原理:持有币的人可以进行投票选举,选举出一些节点作为代表来记账
      • 优点:能耗更低,每秒完成交易量高,无垄断情况,交易服务费低,更加安全  
      • 缺点:持币人投票的积极性并不高,故障问题解决效率低,易出现安全隐患
      • 应用场景:以太股、EOS等

    一致性与共识的区别是什么

    • 一致性是指,分布式系统中的多个节点之间,给定一系列的操作,在约定协议的保障下,对外界呈现的数据或状态是一致的。
    • 共识是指,分布式系统中夺冠节点之间,彼此对某个状态达成一致结果的过程。

        一致性强调的是结果,共识强调的是达成一致的过程,共识算法是保障系统满足不同程度一致性的核心技术。

  • 相关阅读:
    「2017 山东三轮集训 Day1」Flair
    Luogu P4321 随机漫游
    「WC2018」通道
    「CTSC2018」暴力写挂
    关于二项式相乘
    BZOJ #3625 CF #438E 小朋友和二叉树
    GIS可视化
    微信小程序Promise对象
    SQL Server-执行计划教会我如何创建索引
    IIS+NGINX 负载web服务器
  • 原文地址:https://www.cnblogs.com/Onlywjy/p/12913430.html
Copyright © 2011-2022 走看看