时间:2017.4.20

地点:A118
主讲人:15级杨力维 17级付求爱
主持人:朴雪威
参与人员:15级,16级,17级实验室同学
活动内容:
    2017年4月20号,我们迎来了本学期第一次科研沙龙活动。此次科研沙龙主要讲解微信小程序和拜占庭将军问题。

第一位主讲人是17届的付求爱师弟,付求爱师弟讲的是最新的前沿知识“微信小程序”,讲解主要分为五个部分,小程序概念,小程序的特点,小程序适用场景,小程序与App的对比,小程序的现状以及自己的一些看法。小程序作为微信投入如此精力,甚至寄托于未来的一款产品,野心不可谓不大。而且从最近的趋势来看,微信会逐步放开小程序线上的限制,包括已经开放的长按二维码识别,公众号绑定,微信支付等,以及直接分享朋友圈,时间也许是一个月,也许是一年或两年,但毫无疑问,小程序与微信的联系将会越来越紧密,背靠微信线上的红利也会越来越多,入口以及限制也会越来越开放。最后他总结到,小程序,短期是不可高估的,长期是不可低估的,才3个半月,不妨先让子弹飞一会儿。

第二位主讲人是15级的杨力维,他首先介绍了2013年图灵奖得主Leslie Lamport在分布式系统领域所做的贡献,最著名的四篇文章是:Time, clocks, and the ordering of events in a distributed system,The Byzantine generals problem,The part-time parliament和Paxos made simple。接下来的讲解从宏观的层面梳理了分布式系统一致性的各项内容。分布式一致性不仅包括终值的结果,还包括事件发生顺序或值的变化历史,引申出四种一致性模型:严格一致性,线性一致性,顺序一致性和最终一致性。分布式系统分为同步网络和异步网络,同步网络的特点是具有全局时钟,消息传递有时延上限,消息顺序交付。异步网络没有以上保证,存在以下问题:通讯时延、节点故障(宕机),节点处理错误,甚至恶意破坏系统,节点之间的网络通讯是不可靠的,网络中断。两军问题表明了在不可靠信道中,无法达成一致,FLP定理表明即使信道可靠也无法达成一致。但实际网络中可以放宽对一致性或可用性的要求,实现不同场景的一致性。CAP定理表明了分布式计算系统不可能同时确保一致性(Consistency)、可用性(Availability)和分区容忍性(Partition tolerance),设计中往往需要弱化对某个特性的保证。实际工程中时间的算法都是基于对一致性和可用性的Trade-off。著名的一致性算法有:二阶提交协议(Two Phase Commitment Protocol)、三阶提交协议(Three Phase Commitment Protocol)、Paxos、Raft。它们均引入一个“协调者”的组件来统一调度所有分布式节点的执行。这些算法解决了分布式的系统中存在故障(fault),但不存在恶意(corrupt)节点场景(即可能消息丢失或重复,但无错误消息)下的一致性问题,这是因为传统分布式系统是可控、可信的,但完全分布式系统(比特币,公有区块链)存在拜占庭错误的情况,对于这种情况,需要BFT,PBFT,PoW等算法解决。

两位同学的讲解深入浅出,让我们微信小程序和拜占庭将军问题有了新的认识,大家可以在空闲时间对感兴趣的问题进行深入研究。

 

2017-2018S1科研沙龙活动记录(一)插图

2017-2018S1科研沙龙活动记录(一)插图1

附:获奖名单

 

鼓励奖:付求爱、杨力维

好问题奖:倪嘉科,朱帅,张强,张冰