程序猿日记S01E06-共识机制

"Be yourself."

评分

《黑镜》从第一季第一集开始,就是能看出是一个脑洞特大的剧集。每一集都是独立的剧情,涵盖了当前一些热门的人类行为和科技理念。比如社交网络、虚拟现实、记忆读取、人工智能。因为剧情脑洞很大,所以看起来比较怪诞哈。最近一位好朋友推荐看看第三季的第一季《急转直下》,因为里面提到的一个社交评分理念比较有意思。“故事讲述的是在未来世界里,科技的发展改变了人们的社交方式,当一个人和另外一个人接触之后,可以马上通过手机给对方打分,满分五分。每个人身上都贴着一个写着分数的标签,它代表了等级、阶层和地位。分数为4.2的女主角戴着厚厚的面具,永远对别人笑脸相迎,希望以此能获得别人的认可和高分。有一天她看上了一处房子,而想要租下它,分数至少要4.5。就在女主角为了提高分数而绞尽脑汁时,童年时的闺蜜正好准备结婚,看到生活在上流社会的发小分数为4.8,女主角认为这是个接触高分人群,提高自己分数的好机会,于是女主角联系上闺蜜,并打算在婚礼上担任伴娘。但是出师不利,女主角在出发去女闺蜜婚礼的路上发生了意外,分数跌落到3.1。而当闺蜜知道女主角分数如此之低时,竟然在电话里翻脸,毫不犹豫地粉碎掉多年的友情,让她不要再担任伴娘。最后女主角历尽重重困难,满身泥泞的来到了充满了穿着锦衣华服的上流社会人士的婚礼现场,在婚礼现场,她撕掉了自己所有的面具,大声斥喝着新娘的虚伪和自私,而她自己的分数也急转直下,最后变成零分,她也因此进了监狱“。看完之后觉得作者调了一个”信用“相关的量化指标来表达”信用“的荒谬。网上也有很多人拿芝麻信用来做对标,有点像而已吧。剧情里面提到的通过建立和高分人群的社交关系来提高分值,或者被人恶评降低分值,导致主角很多时候都要看社交对象的脸色行事,自己必须带上虚伪的面具。也许这是本剧集的主导思想吧,那么我用另外一个支线思想来理解下剧情,”共识机制“。

共识机制

剧情里面略微夸张的放大了评分的计算规则,点对点的一次评分会直接把主角的分值”急转直下“,有点类似现在贷款或者信用卡逾期,在银行的信用体系里面基本上就是污点了。银行为什么有能力来影响一个人的社会信用?因为现在的社会,大家都比较相信银行,所以它给出的评分体系其他机构和个人会认可。回到剧情,为什么社交评分系统给出的评分其他机构和个人会认可?而且任何一个人对你的差评,都会导致你的分值”急转直下“?作者最后解释了大家的疑虑,”F**k it and be yourself“。确实,这个系统有点烂,所以作者也不认可这个系统给出的评分。那么问题来了,除了银行这样传统的金融机构给出的评级能够得到广大社会机构和个人的认可,还有其他什么平民级别的机制能够替代这种方案?如果把每个参与到社会评分体系的人,看成一个个的网络节点,每个网络节点的评分,该怎么决定呢?这个问题早就有人想过了,而且提出了一些可行的算法,其中一个核心的要点就是”共识机制“,提出了如何通过群体投票来确定某个节点的状态。

拜占庭将军问题

拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军与将军之间只能靠信差传消息。 在战争的时候,拜占庭军队内所有将军和副官必需达成一致的共识,决定是否有赢的机会才去攻打敌人的阵营。但是,在军队内有可能存有叛徒和敌军的间谍,左右将军们的决定又扰乱整体军队的秩序。在进行共识时,结果并不代表大多数人的意见。这时候,在已知有成员谋反的情况下,其余忠诚的将军在不受叛徒的影响下如何达成一致的协议,拜占庭问题就此形成。拜占庭将军问题是一个协议问题,拜占庭帝国军队的将军们必须全体一致的决定是否攻击某一支敌军。问题是这些将军在地理上是分隔开来的,并且将军中存在叛徒。叛徒可以任意行动以达到以下目标:欺骗某些将军采取进攻行动;促成一个不是所有将军都同意的决定,如当将军们不希望进攻时促成进攻行动;或者迷惑某些将军,使他们无法做出决定。如果叛徒达到了这些目的之一,则任何攻击行动的结果都是注定要失败的,只有完全达成一致的努力才能获得胜利。这是Lamport在研究分布式系统容错性的时候编出的一个故事。”拜占廷将军问题就是要让爱国的将军达成一致,而不是找叛国的将军“。所以,评分也是一样,我们找出错误的评分,并从一个评分体系里面排除掉,就能够更为精确的反映出一个人的真实分值。

Paxos

Lamport编完第一个拜占庭将军问题之后,顿悟了,继续开始编Paxos的故事,而且用在了他的论文里面,审稿的人当然不爽了,拒绝发表。Lamport多牛逼啊,再怎么也是分布式系统祖师爷级别的人物,你不然评审通过我就没办法了吗。所以他把文章发表到自己的网站,没过多久,各种论文和系统实现都是引用他丫的Paxos故事和算法,审稿的人也只能认了,Lamport的论文得以发表(1990年到1998年,推迟了8年),牛逼的人耍起流氓来真是拿他没办法。Paxos算法的其中一块就是说明如何通过多数派投票来让分布式系统达成一致认知的问题,就是我们说的共识机制(Consensus)问题,算法细节可以去google search一下。

摘下面具

回到《急转直下》这个故事,在我看来这个故事说的不是社交评分本身的合理与不合理(就像前面提到的银行信用合理性),而是使用的评分计算规则,是否能够反映出每个人的真实评分。如果不能,我们应该使用一种什么样的共识机制,让社会这个大的群体意识,能够往正确的方向发展。社会必然会进步的,Paxos之后,有人提出了Raft。

时间: 2024-09-27 16:33:33

程序猿日记S01E06-共识机制的相关文章

程序猿日记S01E05-Do one thing and do it well

"Do one thing and do it well." 绝对优势 随着互联网技术的发展,程序猿的岗位也越来越细分.比如企业在招聘的时候,会区分前端开发岗.后端开发岗.不同岗位的程序猿,在各自领域的专精程度都是有一定优势的,但是也不排除那种很牛逼的程序猿,前后端都很牛逼,就是大家经常提到的全栈程序猿(coding方面的全栈).举个例子,Sophia和Antonio都会写前后端代码,Sophia每天(8小时)能最多能写32个前端组件或者16个后端组件:Antonio每天最多能写24个

程序猿日记S01E03

"Wake me up when it's done." 礼物文化 有一次给组员分享程序猿该如何去尽力帮助到其他人,如何赢得声誉.在日常开发过程中,我们在实现业务需求的同时,抽象出可复用的模块,提供API供业务层调用.不同的程序猿会设计出不一样的API,好的设计往往是遵循一定原则的.网上比较经典的是Google API Design指南,可以作为一个模板来Review我们日常的API设计.以前看过一本书,<以用户为中心的软件设计>,一个很重要的思想就是如何让设计的软件更易于

程序猿日记S01E01

"人类世界是个对许多事情无动于衷或冷嘲热讽的地方,布道势必付出重大成本,克服很多不利条件,才足以服人." 扎哈维的不利条件原理 动物世界有太多雌性专爱一些看似很愚蠢的雄性炫耀,包括利用鲜艳的羽毛.宽大的角.夸大的求偶仪式炫耀等等. 例如,雄孔雀必须耗费许多精力保养漂亮的尾羽,尽管尾羽有碍它的飞行能力,使它更易被掠食者捕获.雌孔雀自己的单调羽色证明她深信保护色大有优点,但是她几乎每次选对象都挑中尾巴更大.羽色更鲜艳的一个. 雌性之所以会选择某种夸张的特征,完全是因为这个特征确实能证明该雄

程序猿日记S01E02

"在哪里跌倒,就在哪里躺下." 信息不对称 我的水杯不小心摔坏了,需要新买一个.打开淘宝网,切换到天猫导航页,搜索"水杯",筛选条件选择"XX品牌",选了一个心理价位的水杯,下单付款.这个价位,应该能够买到更好的一个水杯(设计更好,材料更好),但是我缺少这些信息,所以"XX品牌"的商家通过信息不对称,占据了有利地势,获取了信息差价.如果我有更丰富的信息,就能够减小这个差价(今天咱先不谈generative).日常工作范畴的信息

程序猿日记S01E07 - wake up

"What's real?" 流走 从八卦田游玩出来,坐上公交车.因为同行还有其他人,为了一起扯淡,选择了一个逆向的座位.车子启动,窗外的人群.树木.房子开始流走,成为历史.<星际穿越>中有一段剧情,男主角在进入黑洞的过程中看见了未来时空的一个人,手指伸出去还能触摸到,就像我们平时把手伸到水流里面一样,从指间流走.电影里面描述的是时空流,多个世界交错在一起,相对流动,但是谁也不知道对方该流向何方.逆着坐车就是这种感觉,你看不见前方,只能任凭已经发生的事件在你的时空中流走.你

程序猿日记S01E04

"Nothing is everything." 分形 小时候,偶尔会收到一些特别喜欢的礼物.比如电动小汽车,还带遥控器的,那操控感,完美地诠释了人类掌控一切的心理.如今,当你要出行的时候,掏出手机,打开一款打车APP,马上就可以体会到更高一个层次的掌控感.但是,我当初喜欢电动小汽车的原因并不是顺应了人类的掌控心理,而是因为想拆开小汽车获取里面的电动马达.拆开马达,可以看见里面有一个线圈,包裹着一个环形的磁铁圈.吸引人的地方是,传动装置可以被肉眼看不见的一种力量驱动.当时觉得好神奇,也

《C语言点滴》一1.2 程序猿和互联网

1.2 程序猿和互联网 C语言点滴 虽然你可以对电脑的硬件要求不高,但是对另外一个功能还是应该严重关切一下的,那就是联网功能.最方便的联网方式无疑就是3G联网方式了,可以做到随时随地上网.我在北京上班的时候,地铁车厢里有时会有人拿着笔记本通过3G在上网.因为我还没有忙到这种程度,所以一般我在地铁上经常干的就是防范小偷.应付要饭的.还有偷眼看看周围的美女. 有了互联网,就有了一个巨大的宝藏,你需要了解一些知识,同时还需要能够利用一些工具从这个巨大的宝藏中获得你需要的信息和资源.本节的"搜索引擎&q

程序猿与设计狮之间的那些事儿

  很久没聊过设计师职场了,今天说回那个千古难题:工程师与设计师的1像素之争.设计师认为一像素至关重要,非改不可,工程师认为小题大做,精力没花在刀刃上,有的设计师也容易因此沮丧,如果你是其中之一,推荐来看会代码的设计师如何解决这件事. @JingDesign :无意挑起所谓的职位之间的矛盾,直到今天看到这样一篇文章的时候,是的,这是一篇关于程序猿和设计狮之间的文章,起源是这样的,一位网友在某社区上提了一个问题: 开发人员拒绝按照 UI 标注还原设计,如何让他理解精确还原的重要性,从而去修改代码?

有了Docker的程序猿们就能开启“上帝视角”?

现在,如果有程序猿说不知道Docker,这将是难以想象的. 百科是这样描述Docker的."Docker是dotCloud开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口."而更为通俗的说法是,Docker是轻量的虚拟化技术,它拥有"统一.一次操作和随处运行"的特性. 在很多程序媛心中,这应该是男神级的程序猿了吧 今年是Docker