• 微课视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
微课江湖
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 微课视频
  • 安全教程
  • 安全设置
  • 杀毒防毒
  • 病毒查杀
  • 脚本攻防
  • 入侵防御
  • 工具使用
  • 业界动态
  • Exploit
  • 漏洞分析
  • 加密解密
  • 手机安全
  • 区块链
您的位置:首页 > 网络安全 >区块链 > 分布式系统面临的挑战和共识算法的理论基础

分布式系统面临的挑战和共识算法的理论基础

作者:迅雷链 字体:[增加 减小] 来源:互联网 时间:2018-11-03

迅雷链向大家分享了分布式系统面临的挑战和共识算法的理论基础,其中包含分布式系统,共识算法等知识点,遇到此问题的同学们可以参考下
共识机制已经成为了目前区块链系统性能提升的关键瓶颈。

单一的共识算法均存在各种问题,如PoW算法存在消耗大量计算资源及性能低下的问题,PoS或DPoS存在“富豪统治”问题,融合多种共识算法优势的想法正受到越来越广泛的关注。

在本期推送中,我们会先了解分布式系统面临的挑战,以及共识算法的理论基础;在接下来的几期推送中,我们将基于理论来分析几个区块链项目广泛采用的共识算法,最后详细解释迅雷链是如何优化提升共识效率和可用性的。

分布式系统面临的挑战

区块链是一个分布式系统,分布式系统碰到的第一个问题就是一致性问题。

在分布式系统中,一致性是指:对于系统中的多个服务节点,给定一系列操作,在协议(往往通过某种共识算法)保障下,试图使得他们对处理结果达成某种程度的一致。

如果一个分布式系统无法保证处理结果一致的话,那任何建立于其上的业务系统都无法正常工作。

分布式系统面临的主要挑战包括:

1)资源受限:节点间的通信需要通过网络,而网络存在带宽限制和时延,节点也无法做到瞬间响应和高吞吐。

2)故障的独立性:系统的任何一个模块都可能发生故障,如节点之间的网络通讯是不可靠的,随时可能发生网络故障或任意延迟;节点的处理可能是错误的,甚至节点自身随时可能宕机。

3)不透明性:分布式系统中任何组件所在的位置、性能、状态、是否故障等情况对于其它组件来说都是不可见的、也无法预知的。

4)并发:分布式系统的目的,是为了更好的共享资源。同步调用会让系统阻塞,因此节点间通信通常设计成异步的。

5)缺乏全局时钟:在程序需要协作时,它们通过交换消息来协调它们的动作。紧密的协调经常依赖于对程序动作发生时间的共识,但是,实际上网络上计算机同步时钟的准确性受到极大的限制,即没有一个一致的全局时间的概念。这是通过网络发送消息作为唯一的通信方式这一事实带来的直接结果。

由于上述挑战的存在,分布式系统中的一致性保证机制是分布式系统设计中最关键也是最有难度的领域,分布式系统中关于一致性的理论基础已经比较完善,在理论指导下,学术界和业界都提出了很多的共识算法试图解决分布式系统中的一致性问题。

接下来我们先来了解一下分布式系统中关于一致性的理论基础,再基于理论来分析几个被区块链项目所广泛采用的一致算法。

共识算法的理论基础

FLP不可能定理

因为同步通信中的一致性被证明是可以达到的,因此一直有人尝试各种算法解决异步环境的一致性问题。然而Fischer, Lynch and Patterson三位作者于1985年发表了一篇论文,提出并证明了一个定理,即“FLP不可能定理”:

在网络可靠,存在节点失效(即便只有一个)的最小化异步模型系统中,不存在一个可以解决一致性问题的确定性算法。

FLP不可能定理论证了最坏的情况是没有下限,要实现一个完美的容错的异步的一致性系统是不可能的。

CAP定理

FLP不可能定理只是说明了100%保证一致性是不可能的,这并不影响我们对分布一致性的探索。

例如99%以上的一致性还是完全有可能做到的;又如放宽时间限制,即要求系统在一段时间后最终达到一致性(达不成一致则系统不可用),也是可以做到的;再如,将部分通信改成同步的,牺牲一定的可用性和吞吐量,就能得到一个一致性较强的协议。

CAP定理即描述了分布式系统中关于一致性和可用性的关系:

一个分布式系统最多只能同时满足(强)一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项要素中的两项。

CAP定理起源于计算机科学家埃里克·布鲁尔在2000年的分布式计算原则研讨会(Symposium on Principles of Distributed Computing(PODC))上提出的一个猜想。在2002年,麻省理工学院(MIT)的Nancy Lynch (跟证明FLP定理的Lynch是同一位)和Seth Gilbert发表了布鲁尔猜想的证明,使之成为一个定理。

对于分布式数据系统,分区容错性是基本要求,因为故障的存在是必然的。因此设计分布式数据系统,就是在一致性和可用性之间取一个平衡。

拜占庭将军问题

拜占庭将军问题(Byzantine Generals Problem),是由莱斯利·兰波特在其同名论文中提出的分布式对等网络通信容错问题,对网络中存在作恶节点的情况进行建模。由于作恶节点的存在,拜占庭将军问题被认为是容错性问题中最难的问题类型之一。

莱斯利·兰波特在其论文中描述了如下问题:

一组拜占庭将军分别各率领一支军队共同围困一座城市。为了简化问题,将各支军队的行动策略限定为进攻或撤离两种。因为部分军队进攻部分军队撤离可能会造成灾难性后果,因此各位将军必须通过投票来达成一致策略,即所有军队一起进攻或所有军队一起撤离。因为各位将军分处城市不同方向,他们只能通过信使互相联系。在投票过程中每位将军都将自己投票给进攻还是撤退的信息通过信使分别通知其他所有将军,这样一来每位将军根据自己的投票和其他所有将军送来的信息就可以知道共同的投票结果而决定行动策略。

但问题在于,将军中可能出现叛徒,他们不仅可能向较为糟糕的策略投票,还可能选择性地发送投票信息。假始那些忠诚(或是没有出错)的将军仍然能通过多数决定来决定他们的战略,便称达到了拜占庭容错。在此,票都会有一个默认值,若消息(票)没有被收到,则使用此默认值来投票。

上述的故事映射到计算机系统里,将军便成了计算机,而信差就是通信系统。虽然上述的问题涉及了电子化的决策支持与信息安全,却没办法单纯的用密码学与数字签名来解决。因为不正常的电压仍可能影响整个加密过程,这不是密码学与数字签名算法在解决的问题。因此计算机就有可能将错误的结果提交去,亦可能导致错误的决策。

在分布式对等网络中需要按照共同一致策略协作的成员计算机即为问题中的将军,而各成员计算机赖以进行通讯的网络链路即为信使。拜占庭将军问题描述的就是某些成员计算机或网络链路出现错误、甚至被蓄意破坏者控制的情况。

DSS猜想

不同于中心化的分布式系统,去中心化是区块链系统的一个核心特性。去中心化的系统中,为了保证数据可信,需要所有节点参与共识、避免被攻击(如51%攻击)、任何节点都要有能力验证交易的合法性、所有交易要按顺序执行和验证、所有节点都要保存所有的交易数据等。

在分布式系统中,可扩展性是指系统的总体性能随着节点的增多而提升。在中
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分布式系统面临的挑战和共识算法的理论基础
  • 分布式系统Paxos算法

相关文章

  • 2018-11-03Apache Ranger:Hadoop生态圈的安全管家
  • 2018-11-03区块链核心概念注解
  • 2018-11-03区块链第二层缩放性解决方案综述
  • 2018-11-03黄金的历史告诉我们比特币作为价值储备的理由是什么
  • 2018-11-03天涯钻是什么
  • 2018-11-03测试您是否适合参与ICO(行业观察)
  • 2018-11-03解析比特币钱包工作原理
  • 2018-11-03深度分析稳定币BASIS、CARBON、Fragments和MakerDAO
  • 2018-11-03分布式系统Paxos算法
  • 2018-11-03如何创建比特币纸质钱包或纸质账单

文章分类

  • 安全教程
  • 安全设置
  • 杀毒防毒
  • 病毒查杀
  • 脚本攻防
  • 入侵防御
  • 工具使用
  • 业界动态
  • Exploit
  • 漏洞分析
  • 加密解密
  • 手机安全
  • 区块链

最近更新的内容

    • 从当年 PPCoin 的 PoS 模式看 PoS 的演化
    • 如何在Linux系统建立自己的闪电网络节点和通道
    • 区块链数字货币新手如何辨别传销币?
    • 以太坊区块浏览器地址及使用
    • 获取比特币的3种途径
    • 区块链保险——简化保险流程
    • 区块链内容版权概念项目介绍
    • 所谓的“搬砖”到底是怎么一回事
    • 雷电网络如何与以太坊融合?
    • 基于服务众筹的合法性原理构建ICO的合规思路

关于我们 - 联系我们 - 免责声明 - 网站地图

©2015-2018 All Rights Reserved. 微课江湖 版权所有