月亮链 月亮链
Ctrl+D收藏月亮链
首页 > 币安币 > 正文

区块链:科普 | 什么是共识?(生活篇)_区块链了多少人

作者:

时间:1900/1/1 0:00:00

分布式一致性问题本质上可以从两个维度来认识:一是如何就某一个值达成一致的决策;二是如何就一系列连续的值达成一致的顺序决策。很显然,如果我们能够找到问题一的解决方案,那么问题二也就迎刃而解了。下面我们就从一个生活中的小问题来入手,看看如何去设计一个合理的算法来解决问题一。

有这样一个家庭,由6个成员组成,分别是爸爸妈妈、爷爷奶奶、姐姐和一个3岁的弟弟。这一天,大家要线上决定一下明天出游时,弟弟戴什么颜色的帽子。由于此时5位家长分处在不同的地方,因此只能通过微信来交流。我们尝试通过这样一个案例来剖析一个最简单的共识问题。

单点故障

既然目的是要做出一个一致的决策,最简单的方式就是找出一个公信度最高的人,由他负责给出一个决策,大家都同意即可。比如,我们始终选择妈妈的决策,因为平时都是妈妈负责弟弟的着装。可是如果每次决策都需要等待妈妈的提案的话,难免有时候妈妈的手机会不在线,比如在坐飞机的时候手机开了飞行模式。因此,始终选择一个人来做决定是不行的。这种因为一个参与方就导致整个集群出现阻塞的情况就是典型的单点故障问题。

少数服从多数

既然由一个人来做决策不可靠,最容易想到的一个解决方案就是:少数服从多数。即每次决策都至少得到半数以上人的同意才可以通过。当然,这里我们不考虑有人乱投票,即向不同人发送不一样的投票。以当前的场景为例,5个人当中需要至少3个人接受同一个提案才能表明该提案值被选定。并且我们需要保证一旦某个提案值被选定了,就不可能在后续出现另外一个提案值也被选定。

民盟中央建议加速元宇宙科普和立法:3月4日消息,民盟中央已起草了《关于“元宇宙”技术发展的提案》,并将提交全国政协十三届五次会议。在提案中,民盟中央建议,在科普层面需加速知识传播,法律层面则需加快立法步伐。民盟中央拟提交的提案指出,目前,在新兴网络层面,相关政策法规相对缺失。“元宇宙”在未来将会带动形成全新的网络形态,当遇到突发舆情,全虚拟的环境、场景将更难进行源头追踪、问题疏导。因此建议应尽早加快立法研究,尽快形成与技术、市场发展相适应的治理模式和法律基础,全面提升我国社会治理的水平。建议组织相关部门,针对“元宇宙”相关需求、风险进行立法研究,并尽快发布。此前消息,民进中央拟向全国政协十三届五次会议提交《关于积极稳妥推进元宇宙技术和产业发展的提案》。建议推进元宇宙技术产业发展,建立相关监管治理体系。(华夏时报)[2022/3/4 13:37:12]

注:这里的选定是全局视角的,而接受是单个人的视角的,即同一个人可能会接受多次提案,但是整个群体最终只能选定一个提案值。

▲场景1

首先依旧给出一个最简单的方案,为了能够完成最终的决策,我们规定每个人必须接受他收到的第一个提案,这样也可以调动起大家的积极心,如果想要自己的提案通过就必须快速想出一种颜色并发出提案。

欧易OKEx将于3月18日推出DeFi系列科普视频:据欧易OKEx官方消息显示,欧易OKEx将正式推出DeFi系列科普视频《欧易DeFi20讲》,本系列节目由欧易OKEx亚太区CEO马克金主讲。该视频首期将于3月18日11:00(HKT)推出,用户可以在欧易OKEx官方学院、金色财经观看。

《欧易DeFi20讲》主要包含DeFi入门指南、全景解读DeFi生态及如何参与DeFi三个篇章,可以轻松使用户了解DeFi原理,洞察DeFi价值,掌握DeFi热点,更多详情请关注欧易OKEx官方学院。[2021/3/18 18:55:59]

但是,这种方案可能导致一种无法完成决策的困境。如上图所示,爸爸提出了红色帽子,觉得比较正能量!并及时将提案私戳给了妈妈,妈妈也欣然接受。几乎同一时间,爷爷提出了蓝色帽子,觉得比较复古!并及时将提案私戳给了奶奶,奶奶也欣然接受。而姐姐认为绿色比较时髦,然而等她将消息发送出去后,发现大家都已经有了自己的选择。最终形成了2-2-1的局面,没有哪个提案能够达到半数以上。因此,我们发现,如果想要最终完成决策,有些人可能要接受多个不同的提案。

▲场景2

既然如此,我们再考虑如下方案,即每个人都接受他收到的所有提案。

动态 | 人民日报官方微博科普区块链 强调区块链不等于比特币:人民日报官方微博今早发表9图科普区块链。其中涉及区块链的特点有:1、安全;2、不可篡改;3、可访问;4、无第三方。区块链对未来的影响:1、不需繁琐个人证明;2、看病避免反复检查;3、旅行消费更加便捷;4、交易无需第三方。同时强调,区块链不等于比特币。比特币只是区块链技术的一种应用,区块链还有医疗卫生、食品安全、版权保护等诸多应用领域。[2019/10/28]

这次,我们只考虑有两个人发起了提案,分别是爸爸的红色提案和姐姐的绿色提案。如果爸爸的提案已经获得了3票的同意达到了选定状态,随后姐姐才发起提案,根据每个人都接受所有提案的原则,绿色提案最终也能够达到选定状态。显然,这种方案违背了唯一性的原则,如果一直这样运转下去可能最终也没法选定一个提案值。

此时,我们发现一个问题,即爸爸的红色提案既然事先已经达到了选定状态,那么我们可以让姐姐在提案之前确认下所有人的状态,如果已经有半数节点对某个提案值达成了共识,那么姐姐就可以停止发出提案,或者再发出一个包含相同提案值的提案来保证唯一性。这样是否就能够解决问题了呢?

▲场景3

动态 | 美国演说家Anthony Robbins开始科普什么是比特币:美国演说家安东尼·罗宾(Anthony Robbins)在自己的网站上发布了一篇比特币的科普文章,并在推特上向自己的粉丝介绍什么是比特币,目前他的推特账户共有粉丝304万人。[2019/1/1]

场景2中的问题依然存在,如上图所示,如果爸爸和姐姐分别事先确认了下所有人的状态都处在未投票的状态,并依次发出了各自的提案,由于爸爸是分别私戳的,因此消息有一定的延迟,而姐姐直接拉了一个群聊一次性通知给了爷爷和奶奶,因此姐姐的提案先于爸爸的提案达到选定状态,稍后等爸爸的提案通知到了妈妈和爷爷的时候,他们又该如何决策呢?

通过上面的问题,我们发现,为了防止整个决策进入到一种无法终止的状态,我们还需要通过某种方式对提案进行排序,从而拒绝一些旧的、无效的提案,并及时地向提案者反馈自己接受的提案值,避免提案者一直发起相同的提案。也就是说,如果爷爷在收到爸爸的延迟提案时,能够知道先前已经存在一个更新的提案并拒绝旧提案,同时告知爸爸已经接受了姐姐的绿色提案的话,就可以避免出现多种提案达到选定状态的困境。

例如,我们可以分别为5个人分配一系列提案号,提案号按如下规则递增:

中科院自动化研究所将面向大中小学生开展区块链等主题的科普讲座:5月21日,新华网讯,今年,中国科学院自动化研究所将举办第十四届“自动化之光”公众科学开放日活动。届时,自动化所将面向大中小学生分别开展《脑与智能》、《区块链技术与平行智能》、《大数据时代的视觉智能》、《动画真奇妙》等4个主题报告,用实例和生动的演示深入浅出地为大家揭示智能技术的原理和奥妙。[2018/5/21]

同时做如下规定:

一条提案由提案值color和提案号seqNo组成,可表示为(color,seqNo)每个人记录下自己收到的最大提案号,并拒绝提案号比它更小的提案当提案者收到一个已经被接受的提案时,必须无条件接受该提案,否则有可能陷入无限提案的循环每个提案都需要分为两阶段来完成,分别为事先询问阶段与最终确认阶段,其中询问阶段用来确定一个序号值seqNo并及时检测出是否已经存在被接受的提案值,确认阶段用来确定一个提案值color。

场景1的解决方案比较简单,即在一定时间内无法收到大多数人的同意消息之后,尝试用新的提案号再发起一次提案,直到某次提案消息能够成功传达到大多数人后,即可完成决策。

下面我们来看一下如何解决场景2与场景3。

注:下图中,以Pn表示事先询问消息,询问其他节点是否接受提案号n;以R(v,n)表示响应消息,告知提案者当前已经接受的最大提案号和提案值;以A(v,n)表示最终确认消息,告诉其他节点尝试最终确认一个提案值v,其提案号为n。

场景2解决方案

对于已经达成选定状态的提案,我们可以保证后续的提案不会覆盖原先的提案值。

此时提案决策流程如下:

爸爸使用提案号1发起询问爸爸、妈妈、爷爷都同意提案号1,并且反馈当前未接收任何提案值,提案号默认为0由于收到了大多数人的同意,爸爸发出最终确认消息给到了大多数人,提案号为1,提案值为红色,此时红色其实已经达到选定状态姐姐使用提案号5发起询问由于提案必须经过至少3人同意,而任选3人必然与此前同意爸爸提案的人群有交集,因此处在交集中的人能够及时反馈之前已经同意的提案,即1号红色提案,其余人还是反馈空投票姐姐在等到大多数人的反馈结果之后,发现此前已经有提案被其他人同意了,选择提案号最高的那个提案值,覆盖自己的提案值姐姐发出最终确认消息,提案号为5,提案值为红色最终所有人都接受了红色提案,虽然提案号可能不尽相同场景3解决方案

对于未达成选定状态的提案,如果有新的提案提出,最终选定的提案值可能有两种情况。

第一种情况是新提案者能够发现旧的提案值,最终会选定旧的提案值。

第二种情况是新提案者不能够发现旧的提案值,最终会选定新的提案值。

场景3-1解决方案

新提案者能够发现旧的提案值,最终会选定旧的提案值。

此时提案决策流程如下:

爸爸使用提案号1发起询问爸爸、妈妈、爷爷都同意提案号1,并且反馈当前未接收任何提案值,提案号默认为0由于收到了大多数人的同意,爸爸发出最终确认消息,但是因为消息延迟的原因,最终确认消息只发送到了爸爸、爷爷。妈妈延迟接受了该消息,因此红色其实并未达到选定状态姐姐使用提案号5发起询问由于提案必须经过至少3人同意,而如果此时选中的3人中恰巧有一人接受过爸爸的最终确认消息,他会立即反馈之前已经同意的提案,即1号红色提案,其余人还是反馈空投票姐姐在等到大多数人的反馈结果之后,发现此前已经有提案被其他人同意了,选择提案号最高的那个提案,覆盖自己的提案值姐姐发出最终确认消息,提案号为5,提案值为红色妈妈延迟接收到了爸爸的最终确认消息,由于没有收到提案号更大的提案,因此也接受了红色提案最终所有人都接受了红色提案,虽然提案号可能不尽相同场景3-2解决方案

新提案者不能够发现旧的提案值,最终会选定新的提案值。

此时提案决策流程如下:

爸爸使用提案号1发起询问爸爸、妈妈、爷爷都同意提案号1,并且反馈当前未接收任何提案值,提案号默认为0由于收到了大多数人的同意,爸爸发出最终确认消息,但是因为消息延迟的原因,最终确认消息只发送到了爸爸、妈妈。爷爷延迟接受了该消息,因此红色其实并未达到选定状态姐姐使用提案号5发起询问由于提案必须经过至少3人同意,而如果此时选中的3人中恰巧都没有人接受过爸爸的最终确认消息,那么姐姐会收到3个人反馈的空投票由于收到了大多数人的同意,姐姐发出最终确认消息给到了大多数人,提案号为5,提案值为绿色,此时绿色其实已经达到选定状态妈妈延迟接收到了爸爸的最终确认消息,由于之前已经接受了提案号更大的提案,因此拒接爸爸的旧提案值,并将新提案值及时反馈给爸爸爸爸在收到拒接响应消息后,会尝试从头开始重新发起提案,最终选择绿色提案最终所有人都接受了绿色提案,虽然提案号可能不尽相同总结

总结一下,为了能够让决策最终能够收敛,其实我们已经显式或者隐式地做了一些约束:

1.每个人的手机需要实时在线并且任意一条微信消息都可以在一定时延内收到,当出现网络断开的场景时,可能会导致共识无法达成

2.每个人都需要严格按照上述规则进行提案/投票,不能有胡乱提案/投票的动作

上面其实就是运用了经典分布式一致性算法Paxos的原理。然而Paxos解决的仅仅是一个最基本的共识的问题,即在非拜占庭的同步网络环境下,如何就一个决策值达成一致。如果系统进入了异步网络环境呢?如果出现了拜占庭节点呢?当我们将这一系列的问题考虑进去之后,整个问题就变得复杂的多了。

好在前人已经给我们提供了非常多的理论基础,为了应对不同的问题,已经出现了非常多优秀的共识算法。大家感兴趣的话,后面会有详细的共识算法分类介绍,为大家全面地展示不同场景下共识算法的选择与权衡。添加小助手加入技术交流群,欢迎您和我们共享观点,共论区块链的无限未来~

作者简介

端豪

趣链科技基础平台部共识算法研究小组

标签:区块链EFIDEFIDEF区块链了多少人Phoenix Defi FinanceGenesisDefiMetaegg DeFi

币安币热门资讯
区块链:圆桌实录:区块链开源生态建设丨2021世界区块链大会_MetaDoctor

7月24日,2021世界区块链大会·杭州正式开幕。本届大会以“无限未来”为主题,汇聚全球的100+区块链、加密货币行业头部创业者、研究者,以胸怀万里世界的姿态,共同放眼无限未来的行业想象.

1900/1/1 0:00:00
区块链:区块链走进政法系统:欧科云链集团受邀出席2021·全国政法装备展开幕式_人工智能

巴比特讯,7月27日,“2021·全国政法智能化建设技术装备及成果展”在北京国家会议中心盛大开幕,欧科云链集团受邀出席会展开幕式.

1900/1/1 0:00:00
CRYPT:拉美的Crypto革命还在继续?又一国家提出相关法案_CRYP价格

乌拉圭参议员JuanSartori提出了一项法案,使企业能够接受Crypto作为付款方式,并在南美国家就使用Crypto进行立法.

1900/1/1 0:00:00
PTI:OptionRoom:旧市场已禁用,新市场将在48小时内上线_TIMI

巴比特讯,波卡生态预言机和预测协议OptionRoom在推特上发布有关“将OptionRoom恢复至ChainSwap攻击事件之前状态”的最新进展:1.已对所有智能合约进行审计并增加安全措施.

1900/1/1 0:00:00
GATE:艾贝链动CEO叶新:基础设施的安全性是保障资产安全的重点丨2021世界区块链大会_gate.io交易平台合法吗

巴比特讯,7月24日下午,“2021世界区块链大会·杭州”在杭州未来科技城学术交流中心召开。本次大会由杭州时戳信息科技有限公司主办,杭州未来科技城管委会等机构支持.

1900/1/1 0:00:00
NCE:Aavegotchi联合创始人Coder Dan:区块链游戏强调的是开放式经济丨2021世界区块链大会_Supersonic Finance

巴比特讯,7月25日,“2021世界区块链大会·杭州”在杭州未来科技城学术交流中心举行。本次大会由杭州时戳信息科技有限公司主办.

1900/1/1 0:00:00