区块链分布式系统核心问题

“区块链其实是一种分布式系统”

分布式系统的问题

一致性问题

在分布式系统中,一致性(Consistency,早期也叫 Agreement)是指对于系统中的多个服务节点,给定一系列操作,在协议(往往通过某种共识算法)保障下,试图使得它们对处理结果达成某种程度的一致。如果分布式系统能实现“一致”,对外就可以呈现为一个功能正常的,且性能和稳定性都要好很多的“虚处理节点”。举个例子,某影视公司旗下有西单和中关村的两个电影院,都出售某电影票,票一共就一万张。那么,顾客到达某个电影院买票的时候,售票员该怎么决策是否该卖这张票,才能避免超售呢?当电影院个数更多的时候呢?这个问题在人类世界中,看起来似乎没那么难,你看,英国人不是刚靠 投票 达成了“某种一致”吗?

注意:一致性并不代表结果正确与否,而是系统对外呈现的状态一致与否,例如,所有节点都达成失败状态也是一种一致。

共识问题

  • 提案(proposal)

为了简化理解,仍然以两个电影院一起卖票的例子。可能有如下的解决思路:每次要卖一张票前打电话给另外一家电影院,确认下当前票数并没超售;两家电影院提前约好,奇数小时内一家可以卖票,偶数小时内另外一家可以卖;成立一个第三方的存票机构,票都放到他那里,每次卖票找他询问;更多……这些思路大致都是可行的。实际上,这些方法背后的思想,将可能引发不一致的并行操作进行串行化,就是现在计算机系统里处理分布式一致性问题的基础思路和唯一秘诀。只是因为计算机系统比较傻,需要考虑得更全面一些;而人们又希望计算机系统能工作的更快更稳定,所以算法需要设计得再精巧一些。共识算法解决的是对某个提案(Proposal),大家达成一致意见的过程。提案的含义在分布式系统中十分宽泛,如多个事件发生的顺序、某个键对应的值、谁是领导……等等,可以认为任何需要达成一致的信息都是一个提案。

FLP不可能原理

三个人在三个不同房间里面投票 , ABC, C经常睡着。先别这么悲观,学术界做研究,考虑的是数学和物理意义上最极端的情形,很多时候现实生活要美好的多。例如,上面例子中描述的最坏情形,总会发生的概率并没有那么大。工程实现上多试几次,很大可能就成功了。

科学告诉你什么是不可能的;工程则告诉你,付出一些代价,可以把它变成可能。

这就是工程的魅力。那么,退一步讲,在付出一些代价的情况下,我们能做到多少?另外还有个博弈学上的概念,  科学上告诉你去赌场赌博从概率上总会是输钱的;工程则告诉你,如果你愿意接受最终输钱的结果,中间说不定偶尔能小赢几笔呢!?例如,科学上告诉我们,飞机绝对是有危险的。这是绝对的事情,不管我们做得多么安全,总是含有危险。而工程学则把它变为可能,不是不制造飞机,而是在细节防护上多做功夫。

常见分布式共识算法

  • Paxos

1990 年由 Leslie Lamport 提出的 Paxos 共识算法,在工程角度实现了一种最大化保障分布式系统一致性(存在极小的概率无法实现一致)的机制。Paxos 被广泛应用在 Chubby、ZooKeeper 这样的系统中,Leslie Lamport 因此获得了 2013 年度图灵奖。故事背景是古希腊 Paxon 岛上的多个法官在一个大厅内对一个议案进行表决,如何达成统一的结果。他们之间通过服务人员来传递纸条,但法官可能离开或进入大厅,服务人员可能偷懒去睡觉。算法中将节点分为三种类型:proposer:提出一个提案,等待大家批准为结案。往往是客户端担任该角色;acceptor:负责对提案进行投票。往往是服务端担任该角色;learner:被告知结案结果,并与之统一,不参与投票过程。可能为客户端或服务端。Raft是paxos的一个简单实现

  • Raft

可靠性指标

一般来说,单点服务器系统至少能满足两个九。

原文地址:https://www.cnblogs.com/zhenghongxin/p/10293777.html

时间: 2024-10-01 04:27:25

区块链分布式系统核心问题的相关文章

区块链分布式账本开发_区块链分布式账本金融系统开发

区块链分布式账本开发_区块链分布式账本金融系统开发分布式账本技术是应用在资本市场最重要的区块链技术,该技术可以移除当前市场基础设施中的效率极低和成本高昂的部分. 分布式账本的优势:分布式账本技术可以有效的改善当前基础设施中出现的效率极低成本高昂的问题,而导致当前市场基础设施成本高的原因可以分为三个:交易费用,维护资本的费用和投保风险费用.在某些情况下,特别是在有高水平的监管和成熟市场基础设施的地方,分布式账本技术更有可能会形成一个新的架构,而不是完全代替当前的机构. 金融创新在现实中经常遇到一些

区块链分布式云存储项目盘点

随着人类发展,产生了无数PB的数据,存储它的位置和方式的问题变得越来越重要.从内部部署存储迁移到云存储一直是过去十年的主题,而且这一趋势正在加速.但是现目前云存储都是由科技巨头主导到这个市场,这些公司拥有广泛的管辖权,可以审查个人或数据,向政府或其他执法机构提供用户数据,甚至向广告商出售客户数据.它们是中心坏点,是作恶者的目标,本质上是脆弱的.例如,今年早些时候,亚马逊S3员工的人为错误导致几个知名网站暂时脱机. 区块链技术首次创造了在技术层面和经济体系层面重新思考云存储.解决这些主要问题的机会

区块链分布式技术【点量软件】

[区块链系统] 区块链是通过分布式节点的存储资源,对全网全节点进行存储同步,并通过相应的共识技术保证内部节点对存储内容更改的有效性,维护一个完整的可查找的数据库.在此系统中,存储的都是链内生成账户之间余额的更改或者总剩余,当然,更完善的一些系统功能也包括存储了多个账户对数据库中子账目的数据状态维护. 因此,该系统的主要功能是记录状态的改变,然后同步.对节点来说,无论是PoW,PoS还是PoX,其核心的要求就是遵循特定的投票规则,将新的变动同步在所有节点的存储中. 如果一个系统使用的是区块链结构,

谈谈今年很火的区块链 CDN

2017 年初,区块链被越来越多的人知道.区块链的概念其实很早就被提出来,曾经有人说过"区块链技术被认为是继蒸汽机.电力.互联网之后,下一代颠覆性的核心技术. 如果说蒸汽机释放了人们的生产力,电力解决了人们基本的生活需求,互联网彻底改变了信息传递的方式,那么区块链作为构造信任的机器,将可能彻底改变整个人类社会价值传递的方式." 在技术实现上区块链分布式与 CDN 的内容分发有着异曲同工之处,今天笔者就简单聊下对区块链 CDN 的见解. 什么是区块链和去中心化账本? 在聊区块链之前,先来

区块链创业,这些认识很重要!拥抱变化更要明确方向

在区块链发展的过程里,不断出现的各种区块链应用总能带给人们不一样的惊喜.除了区块应用在不断丰富,区块链本身的内部组织架构也在发生变化.当前,区块链的组织架构主要有以下几种形态.1.社区型:比特币( Bitcoin) ,数字货币,2009年至今.2.社区+基金会:以太坊( Ethereum) ,智能合约,2014年至今.3.基金会+公司型:公证通(Factom),防伪证明,2015年至今.4.公司制:各种联盟链.私链, 2015年至今.从以上四种形式分别看,基于社区形式的组织数量伴随着比特币201

iVeryone:区块链时代的Facebook

区块链最大的价值之一就是实现了价值的确权.衡量和流通.这也是它区别传统互联网的最明显的地方之一.说区块链时代的facebook也好,区块链时代的google也好,或区块链时代的uber也好,其实是借用了一个比喻,让大家更好地理解,但它其实是全新的物种,传统的社交网络.搜索引擎.分享经济大多数都是信息的中介平台. iVeryOne注册地址:https://beta.ivery.link/I/1892297,现在注册免费送50vry,赶紧注册吧,千万不要错过! 之前互联网大小巨头的成功源于把传统中小

黑客专家深度分析区块链技术主要用途

区块链的缺陷及其面临的技术挑战,黑客教父郭盛华试图警示大家:该技术还处于非常早期的阶段,企业应做足信息安全措施,以防泄露信息. 区块链技术可以集成到多个领域.目前,区块链的主要用途是作为加密货币的分布式账本,最值得注意的是比特币.虽然在印度,中国,美国,瑞典,新加坡,南非和英国等国家的几个中央银行正在研究发行中央银行颁布的加密货币(CICC),但迄今为止没有这样做. 一般潜力 区块链技术在长期转变商业运营模式方面具有巨大潜力.区块链分布式分类账技术更像是一种基础技术 - 具有为全球经济和社会系统

腾讯区块链+医疗,一场值得期待的卫生行业创新探索

4月12日,腾讯CEO马化腾表示,腾讯区块链将落地医疗领域,借力腾讯区块链技术实现电子处方不被篡改. 4月13日,在2018中国"互联网+"数字经济峰会智慧医院分论坛上,腾讯正式对外发布了微信智慧医院3.0.相比1.0和2.0版本,新版微信智慧医院加入了AI和区块链等新技术. 据悉,新版微信智慧医院把所有知情方全部纳入区块链(建了个联盟链),实现实时链上监管,就医信息从哪儿来到哪儿去,被谁使用,应该处于什么状态,全程可追溯. 腾讯对区块链的应用探索,正在踏步前进. 一.医疗数据,我们都

区块链:价值网络的中国机遇

本文转自 http://blog.sina.com.cn/s/blog_182cf59430102xebs.html 互联网实现了信息专递,而区块链则实现了价值传递.反观20世纪90年代以来互联网对人类社会发展的巨大贡献,区块链也因此被追捧为下一个数字时代的新动力. 作为一项创新的技术架构,有人将区块链比作20世纪90年代的互联网基础协议TCP/IP,而将基于区块链所形成的新互联网称为价值网络:也有人将区块链比作更为具体的SMTP协议,认为互联网实现了信息传递,而区块链则实现了价值传递. 反观2