区块链分布式系统面临一致性问题及共识算法的理论知识解析.doc
《区块链分布式系统面临一致性问题及共识算法的理论知识解析.doc》由会员分享,可在线阅读,更多相关《区块链分布式系统面临一致性问题及共识算法的理论知识解析.doc(5页珍藏版)》请在三一文库上搜索。
1、区块链分布式系统面临一致性问题及共识算法的理论知识解析共识机制已经成为了目前区块链系统性能提升的关键瓶颈。单一的共识算法均存在各种问题,如PoW算法存在消耗大量计算资源及性能低下的问题,PoS或DPoS存在“富豪统治”问题,融合多种共识算法优势的想法正受到越来越广泛的关注。分布式系统面临的挑战区块链是一个分布式系统,分布式系统碰到的第一个问题就是一致性问题。在分布式系统中,一致性是指:对于系统中的多个服务节点,给定一系列操作,在协议(往往通过某种共识算法)保障下,试图使得他们对处理结果达成某种程度的一致。如果一个分布式系统无法保证处理结果一致的话,那任何建立于其上的业务系统都无法正常工作。分布
2、式系统面临的主要挑战包括:1)资源受限:节点间的通信需要通过网络,而网络存在带宽限制和时延,节点也无法做到瞬间响应和高吞吐。2)故障的独立性:系统的任何一个模块都可能发生故障,如节点之间的网络通讯是不可靠的,随时可能发生网络故障或任意延迟;节点的处理可能是错误的,甚至节点自身随时可能宕机。3)不透明性:分布式系统中任何组件所在的位置、性能、状态、是否故障等情况对于其它组件来说都是不可见的、也无法预知的。4)并发:分布式系统的目的,是为了更好的共享资源。同步调用会让系统阻塞,因此节点间通信通常设计成异步的。5)缺乏全局时钟:在程序需要协作时,它们通过交换消息来协调它们的动作。紧密的协调经常依赖于
3、对程序动作发生时间的共识,但是,实际上网络上计算机同步时钟的准确性受到极大的限制,即没有一个一致的全局时间的概念。这是通过网络发送消息作为唯一的通信方式这一事实带来的直接结果。由于上述挑战的存在,分布式系统中的一致性保证机制是分布式系统设计中最关键也是最有难度的领域,分布式系统中关于一致性的理论基础已经比较完善,在理论指导下,学术界和业界都提出了很多的共识算法试图解决分布式系统中的一致性问题。接下来我们先来了解一下分布式系统中关于一致性的理论基础,再基于理论来分析几个被区块链项目所广泛采用的一致算法。共识算法的理论基础FLP不可能定理因为同步通信中的一致性被证明是可以达到的,因此一直有人尝试各
4、种算法解决异步环境的一致性问题。然而Fischer, Lynch and Patterson三位作者于1985年发表了一篇论文,提出并证明了一个定理,即“FLP不可能定理”:在网络可靠,存在节点失效(即便只有一个)的最小化异步模型系统中,不存在一个可以解决一致性问题的确定性算法。FLP不可能定理论证了最坏的情况是没有下限,要实现一个完美的容错的异步的一致性系统是不可能的。CAP定理FLP不可能定理只是说明了100%保证一致性是不可能的,这并不影响我们对分布一致性的探索。例如99%以上的一致性还是完全有可能做到的;又如放宽时间限制,即要求系统在一段时间后最终达到一致性(达不成一致则系统不可用),
5、也是可以做到的;再如,将部分通信改成同步的,牺牲一定的可用性和吞吐量,就能得到一个一致性较强的协议。CAP定理即描述了分布式系统中关于一致性和可用性的关系:一个分布式系统最多只能同时满足(强)一致性(Consistency)、可用性(Availability)和分区容错性(PartiTIon tolerance)这三项要素中的两项。CAP定理起源于计算机科学家埃里克布鲁尔在2000年的分布式计算原则研讨会(Symposium on Principles of Distributed CompuTIng(PODC)上提出的一个猜想。在2002年,麻省理工学院(MIT)的Nancy Lynch (
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 区块 分布式 系统 面临 一致性 问题 共识 算法 理论知识 解析
链接地址:https://www.31doc.com/p-3396712.html