图灵奖得主论文解读:区块链的「生物钟」长啥样?

原文标题:《区块链的「生物钟」长啥样?》
原文来源: stakefish


「时间」是岁月更迭中的永恒话题。围绕时间的探讨一直在区块链以及其他分布式系统中进行。时间连接起进程与节点,我们也用时间的「粒度」来衡量连块成链的去中心化网络。


分布式系统中关于时间的难题在于,不同参与者的「物理时钟」很难达成完全一致。分布式系统大师 Lamport 提供了去中心化的方法,将问题转化为时间与顺序的联系,提出了逻辑时钟的概念,就像为包括区块链在内的分布式系统引入了「生物钟」。


stakefish 编译 Vac 分析师、ENS 开发者 Dean Eigenmann 的一篇文章,介绍 Lamport 关于时间、时钟和顺序的论述,为大家提示理解区块链和分布式系统时间另一个角度。


关于分布式系统的系列文章,用哪个话题开篇比较合适呢?以太坊的隐私交易协议 AZTEC?以难以掌握著称的 Paxos 算法?这些话题还是留在以后写。今天,我选了一个基础话题作为开篇:分布式系统的时间话题。


本文解读的是图灵奖得主、计算机大师 Leslie Lamport 的知名论文《分布式系统内的时间、时钟和事件顺序(Time, clocks, and the ordering of events in a distributed system)》。很久之后重读这篇文章并提炼关键概念,另有一番趣味。


不熟悉 Leslie Lamport 的朋友可以大概了解一下,他以创造 LaTeX、TLA+、Paxos 而闻名,还论述了拜占庭将军问题。当然还有 Lamport 时钟(第一个逻辑时钟),在本文中我们也将对其基本概念进行介绍。


理解逻辑时钟:掌管区块链世界的「生物钟」

先来看看分布式系统的定义。Lamport 给出的定义是这样的:


「如果一个系统内信息传递的延迟,与单一进程里的事件间隔的时间相比是不能忽略不计的,则称之为分布式系统。」


我喜欢这个定义,因为其专注在发出和收取消息之间的延迟上。


明确了定义,我们开始正式介绍。


顺序


为事件排序在本地再简单不过了。你只需在发生的时候为每一个事件赋予一个时间戳就好了。我们能够获得所有事件的总体顺序,也就意味着,所有事件都能够按照特定顺序排列。


但这个问题在分布式系统的情境下就困难多了。为什么呢?


一切皆因分布式系统的一个非常简单的性质:在节点之间传递的消息在发出之后,在未来的任何时间点都可能到达 0 次、1 次或多次。这样的话,分布式系统的各个节点之间就不能就时间达成一致。举例来说:

免责申明:本文是[ 雷电财经官方 ]发布的稿件, 版权属[ 雷电财经官方 ]所有,未经授权不得转载, 已经协议授权的媒体下载使用时须注明稿件来源: [ 雷電财經 ], 违者将依法追究法律责任。根据国家《关于防范代币发行融资风险的公告》,社会公众应当高度警惕代币发行融资与交易的风险隐患。如您对本文存在异议,或不巧侵犯了您的合法权益,请通过邮件联系我们!

下一篇:没有了