Medium Archive

个人文章存档 · 从 Medium 导出

互联网时间同步的棘手问题

::: {#5552 .section .section .section—body .section—first .section—last} ::: section-divider


:::

::: section-content ::: {.section-inner .sectionLayout—insetColumn}

互联网时间同步的棘手问题 {#545f .graf .graf—h3 .graf—leading .graf—title name=“545f”}

原文:纽约客 The Thorny Problem of Keeping the Internet’s Time{.markup—anchor .markup—p-anchor data-href=“https://www.newyorker.com/tech/annals-of-technology/the-thorny-problem-of-keeping-the-internets-time” rel=“noopener” target=“_blank”}

1977 年,古怪的工程师和计算机科学家**大卫·米尔斯( David Mills )**在comsat公司工作,这是一家总部位于华盛顿特区的卫星公司,米尔斯是一个根深蒂固的修补匠:他曾经为女友的叔叔制造过助听器,并曾为福特解决关于如何将纸带计算机放入汽车中的问题。现在,在comsat,米尔斯参与了arpanet,这是一种将成为互联网先驱的计算机网络。少数研究人员已经在使用该网络连接远程计算机和交易信息。但是交换数据的保真度受到一个明显缺陷的威胁:机器没有共享一个单一的、可靠的同步时间。

几十年来,米尔斯在数学、工程和计算机科学方面获得了广泛的专业知识。七十年代初,作为爱丁堡大学的讲师,他编写了解码短波无线电和电报信号的程序。后来,主要是为了好玩,他研究了电网中的时钟如何在炎热的夏日里徘徊几秒钟。(它们变化的程度不仅取决于温度,还取决于电网是使用煤炭还是水力发电。)现在他专注于通过一个遥远的计算机网络同步时间的问题。米尔斯了解到,时钟时间是无休止地寻求共识的结果。即使是世界上最精确的政府维护的”主时钟”( master clocks )所显示的时间也是几个原子钟读数的合成。主时钟又被平均化,以帮助创建国际民用时间,称为 “协调世界时”( Coördinated Universal Time ),初始化为U.T.C。

为了解决arpanet上的时间同步问题,米尔斯构建了程序员所谓的协议 --- --- 为不同设备创建通用语言的规则和程序的集合。 arpanet 实验性和反复无常:电子产品经常出现故障,技术上的不当行为很常见。他的协议试图发现并纠正这些不当行为,通过巧妙的怀疑系统就时间达成共识。米尔斯以顽皮的命名法而自豪,因此他的时钟同步系统将可靠的”真正的嵌合体”( truechimers )与具有误导性的”虚假标记”( falsetickers )区分开来。他设计的一个名为 Fuzzball 的操作系统促进了早期的工作。米尔斯将他的创造称为网络时间协议( Network Time Protocol ),NTP 很快成为新生互联网的关键组成部分。程序员在为他们的计算机编写计时代码时遵循它的指示。到 1988 年,米尔斯改进了 NTP 它可以在几十毫秒内同步连接的计算机的时钟,这些计算机的时钟显示的时间相差很大 --- --- 眨眼的一小部分。“我一直认为这是一种黑魔法,“互联网基础设施的先驱文特·瑟夫( Vint Cerf)告诉我。

今天,我们认为全球时间同步是理所当然的。它对互联网至关重要,因此对文明也至关重要。重要的系统 --- --- 电网、金融市场、电信网络 --- --- 依靠它来保存记录和区分因果关系。NTP 与卫星系统(例如全球定位系统 (GPS))和其他技术合作,在我们的许多在线设备上同步时间。例如,精确且紧密对齐的原子钟同步的时间可以通过 GPS 广播到众多接收器,包括手机信号塔中的接收器;这些接收器可以连接到 NTP 服务器,然后在通过 Internet 连接在一起的设备之间分配时间,几乎所有设备都运行 NTP(原子钟也可以直接将时间提供给 NTP 服务器。)该协议在数十亿台设备上运行,协调各大洲的时间。社会从未如此同步。

几十年来,米尔斯一直是决定 NTP 应该如何工作的人(尽管他对他以完全主权行事的说法提出异议)。古怪、棘手、权威,有时不透明 --- --- “他不乐意忍受傻瓜,“一位长期合作者说 --- --- 他一直是互联网的时间之父。但他的任期即将结束。米尔斯出生时患有青光眼。当他还是个孩子的时候,一位外科医生能够挽救他左眼的部分视力,而且他一直使用非常大的电脑显示器工作。大约十年前,他的视力开始失明,现在他完全失明了。检查计算机代码并写出解释和更正变得非常乏味。绘制图表或组成复杂的数学方程几乎是不可能的。

几年前,我在特拉华州郊区的不起眼的房子里拜访了米尔斯。自 1986 年米尔斯成为特拉华大学教授以来,他和他的妻子贝弗利一直住在那里,他在该职位上担任了 22 年直到退休。当我们坐在他的厨房里时,我们的谈话经常被隔壁房间的自动语音打断。烤箱和微波炉时钟不同步。米尔斯留着雪白的胡须,穿着一件炭灰色的渔夫毛衣,他使用会说话的手表为自己追踪时间,手表通过无线电信号连接到科罗拉多州的主时钟。

他带我上楼到他的办公室,慢慢地穿过房子,摸索着一系列记住的”导航点”。在他的办公桌上,一只猫躺在一些噼啪作响的无线电设备上,米尔斯坐在他的电脑前。他用键盘调出他正在写的一篇研究论文,提出了改进 NTP 的建议(他让他的妻子和女儿校对他输入的内容。)当他使用箭头键滚动时,计算机大声说话。“这份备忘录探讨了新的安全和协议增强功能,“一个声音说。“空白的。目录。空白的。一。二。两点。… 三。三。四。四点一…” 很快,他就迷失了。“我用你听到的声音做我能做的事,“米尔斯说。“但我观察自己并评论如下:人是用眼球做英语作文的。”

技术不会停滞不前。互联网的规模和复杂性都在不断增长;即使基础设施老化,我们的世界也越来越依赖于它的功能。互联网时间同步系统的持续发展至关重要。然而,米尔斯无法迅速为 NTP 做出贡献,这削弱了他的权威。在他缺席的情况下,似乎只有少数人有能力并愿意监督关键但被忽视的软件。一场关于如何在互联网上保持时钟同步的影响力竞赛已经开始。

米尔斯于 1938 年出生于加利福尼亚州的奥克兰,距第一个石英钟的研制晚了 11 年,比第一个晶体管的制造早了 9 年。他乘坐蒸汽动力火车前往圣马特奥的一所视障学校,并惊叹于运行它的工程师。在他十几岁的时候,他成为了一名模型铁路和业余无线电爱好者,与朋友交流,并将南极的海军海员与他们的妻子联系起来。他的父亲是一名工程师和推销员,他与人共同创立了 National Oil Seal,这是一家制造设备以防止机械内部泄漏的公司。(“你可能不知道它是什么,但你的汽车引擎里至少有两个,“他的父亲在谈到密封件时告诉他。)他的母亲在多伦多音乐学院接受了钢琴家的培训,然后留在家里抚养他和他的两个弟弟。

家里搬来搬去,米尔斯的老师并不总是适应他的视觉障碍。米尔斯记得一位十一年级的老师告诉他,“你永远也上不了大学” --- 这句话 “就像在公牛面前挥舞旗帜一样”,他说。1971年,米尔斯在密歇根大学获得了计算机和通信科学博士学位;在爱丁堡讲学两年后,他带着妻子和两个孩子搬到了马里兰大学,该大学在五年后拒绝了他的任期。“米尔斯说:“这是发生在我身上最好的事情。他开始在comsat工作,在那里他可以获得国防部的资金,其中一些资金被指定用于arpanet。“那是一个沙盒,“他后来告诉一位采访者。“我们只是被告知,‘做善事’。但这些好事是像开发电子邮件和协议这样的事情。” 他告诉我,时间同步工作的部分诱惑力在于,他是唯一在做这件事的人。他有自己的 “小地盘”。

在 NTP 中, 米尔斯构建了一个允许无休止的修补的系统,他在优化中找到了乐趣。“时间信息的实际使用并不是核心利益,“他回忆道。刚刚起步的互联网几乎没有时钟可以同步。但在 19 世纪 80 年代,网络迅速发展,到 90 年代,个人计算机的广泛采用要求互联网包含比其最初设计者预想的更多的设备。编码人员创建了适用于 Unix 和 Windows 机器的 NTP 版本。其他人编写了 NTP 的”参考实现” --- --- 开源代码库,举例说明了协议应该如何运行,并且可供用户免费使用。政府机构,包括美国国家标准与技术研究院 ( nist) 和美国海军天文台,开始使用 NTP 分发他们的主时钟保持的时间。

世界各地的一个松散社区建立了自己的服务器,以通过协议提供时间。2000 年,NTP 服务器处理了来自数百万台计算机的 180 亿次时间同步请求 --- --- 在接下来的几年中,随着宽带的普及,对最繁忙的 NTP 服务器的请求增加了十倍。米尔斯在 2003 年的一篇论文中写道,时间服务器曾经”在美国和欧洲灯火通明,但在南美、非洲和环太平洋地区的其他地方却很暗”。“今天,在 NTP 上,太阳永远不会落下,甚至不会接近地平线。” 程序员开始将协议视为一种假设 --- --- 对他们来说,同步时间可靠且容易获得似乎很自然。米尔斯的小封地无处不在。

NTP 的工作原理是告诉计算机将带有时间戳的微小消息发送到层次结构中优于它们的时间检查设备。层次结构的最上层由与高度精确的时钟紧密连接的服务器组成,这些时钟与协调世界时保持紧密同步。然后,时间从一个层到另一个层,到层次结构底部的机器,比如普通的笔记本电脑。该协议跟踪时间检查消息被其原始发送者发送、接收、返回和再次接收所经过的时刻。一直以来,一系列算法 --- --- “爆米花尖峰抑制器”( popcorn spike suppressor )、“huff-n’-puff 过滤器”( huff-n’-puff filter ) --- --- 筛选数据,挑选出虚假和真实的嵌合体,并指导时钟如何根据什么来调整它们的时间。带有时间戳的消息告诉他们。

完美是工程学中一个难以捉摸的梦想。 米尔斯 收到了一系列关于 NTP 故障的投诉,以及可能的补丁和改进建议。出现了前所未有的问题。一些在他们的设备中内置了 NTP 的硬件设计人员被证明配置不正确。这些设备向威斯康星州和丹麦等地的各个服务器发送令人窒息的大量消息。一些程序员认为 NTP 是罪魁祸首。“我真的很生气,因为有人提到我的名字有点像’我是一个让互联网窒息的人’,“米尔斯说。他和其他人迅速编写了对策,包括一个”死亡之吻”( kiss-o’-death )数据包,能够让不必要的频繁时间请求者安静下来。与此同时,一些 NTP 贡献者开始对米尔斯的顽固倾向感到愤怒。一些人反对他的代码的古怪。

在 2000 年的一篇文章中,软件开发人员 Eric S. Raymond 描述了开源编码的”仁慈独裁者”( benevolent dictator )模型。其中,改进建议从志愿者社区流向单个决策者。米尔斯收到这些建议后,可能会很热情、很热情,但也很固执和不屑一顾。他在 2005 年发给 NTP 邮件列表的一封电子邮件中写道:“我被大多数人认为有点儿像个傻瓜[原文如此],我为我的缺点提前道歉。同时,他认为,“这只猴子的设计背后有真正重要的原则”。

Poul-Henning Kamp 是一位开发者,他曾操作一度陷入困境的丹麦 NTP 服务器,他告诉我,尽管米尔斯欢迎对 NTP 更晦涩的元素做出贡献,但随着合作者”越来越接近’皇冠上的宝石’“,他变得越来越难以说服 --- --- 协议的核心时间决定算法。九十年代末,当 Kamp 第一次开始参与小型 NTP 社区时,米尔斯给他的印象是”一个快乐的老精灵,有很多智慧可以分享,还有很多有趣的故事。” 尽管如此, Kamp 仍然理解其他人所感受到的疲惫和愤怒。“你必须爬上一座非常陡峭的山才能和 米尔斯 一起到达任何地方,“他说。仅仅提出解决问题的补丁是不够的;米尔斯想要”一种数学分析,证明它在所有情况下都会这样做。” 很少有其他仁慈的独裁者期望他们的志愿者能做到如此精确。结果,几乎没有其他人完全了解 NTP 的工作原理。“我这样做是有原因的,但我无法用船员中其他人会欣赏的语言进行交流,“米尔斯回忆道。

一位名叫 Harlan Stenn 的程序员一直是 米尔斯 最忠实的合作者。Stenn 出生于 1956 年,在芝加哥郊区长大,他在高中时爱上了计算机,因为他说:“我非常清楚地知道某件事是否会做正确的事情,而且对我来说非常平静和愉快。” 他对 NTP 的贡献始于九十年代初,当时他自愿让系统管理员更容易地在一系列不同的设备上调整软件。在 Stenn 的想法成功后,米尔斯让他查看积压的错误报告。

到 90 年代中期,米尔斯委托 Stenn 发布新版本的代码。Stenn 开始在一家保险公司工作,但他在那里的职责主要涉及在系统出现故障时随时待命。他开始将大部分工作时间花在 NTP 上。两者经常发生冲突,然而,十年后,Stenn 获得了 米尔斯 的许可,可以完全控制 NTP 的参考实现。他们虽然合作了几十年,但从未见过面;相反,Stenn 花费了数不清的时间查阅 米尔斯 的文档并通过电话与 米尔斯 讨论代码。Stenn 有时难以理解 NTP 的一些最复杂的功能,并告诉我他认为米尔斯是”超级天才”。尽管数十年来 NTP 的数十名贡献者中的大多数人来去匆匆,但 Stenn 仍然存在。在2010年,在 Netflix 结束一个学期后,他从合同工作中休了两年假,将其全部用于维护 NTP;从那以后,他再也没有从事过全职工作。

价值数十亿美元的科技公司依赖包括 NTP 在内的开源代码,而代码的维护通常由一小群人无偿辛勤工作。在探索代码维护经济的” Working in Public “一书中,作者 Nadia Eghbal 指出了如何,尽管”更多的人使用开源代码比以往任何时候都多,它的开发人员未能捕捉到他们创造的经济价值。” 由于 Internet 瞬息万变,总有一些问题需要修复,因此”维护供公众使用的代码很快就变成了一项你不能放弃的无偿工作”。Stenn 告诉我,他收到了一些公司的免费修复请求,这些公司向客户收取依赖于 NTP 的服务的费用。与此同时,他一直在努力为自己的努力争取资金。2011年创立网络时代基金会( Network Time Foundation{.markup—anchor .markup—p-anchor data-href=“https://www.nwtime.org/” rel=“noopener” target=“_blank”} ) --- --- 在米尔斯的转折中,这个名字省略了”the” --- --- 他希望把它变成一个为各种时间同步系统工作的人的中心。它每年通过捐款收集大约 30 万美元,Stenn 用这些钱来支付兼职员工以及他的互联网、电费和杂货费。他已经六十六岁了,他告诉我他的退休储蓄已经花光了。

Bug 并不是困扰 NTP 的唯一问题 2011 年,美国海军天文台的 NTP 服务器收到了大量的时间请求,其中大部分来自似乎是CN的机构。服务器被迫离线九个半小时。2014 年,喷子滥用 NTP 命令功能,对多个游戏平台发起所谓的分布式拒绝服务 (DDoS) 攻击,暂时关闭其服务。NTP 很快成为此类攻击的流行载体;相同的 NTP 漏洞后来被用于攻击网络安全提供商和内容交付网络 Cloudflare 的客户端,这是互联网历史上最大的 DDoS 攻击之一。这些活动有助于刺激竞争。一个名为 NTPsec 的开源组织,其目前的技术负责人是 Eric S. Raymond,削减了大量的 NTP 的代码,理由是更少的行意味着更少的漏洞;另一个竞争对手 Chrony 是从头开始编写的,它优先考虑用更少的数据快速同步时钟,同时省略某些经常不使用的操作模式。它仍然由捷克开发人员 Miroslav Lichvar 维护,Stenn 将其描述为”向导”( wizard )。

还有更多的基本问题。地球自转的速度受多种大气和地质因素的影响,包括地球内层的行为;地壳的重塑,例如通过山脉或岩浆体的生长;以及海洋潮汐与海底的摩擦。从历史上看,这些力量的总和效果一直是减缓行星自转的速度。在以前的时代,平均而言,日子更短:七千万年前,一年由三百七十二天组成,每天二十三个半小时。一天的长度也随着月与月、季与季、年与年的变化而波动。自从 20 世纪初首次确认以来,这种反复无常就给计时员带来了麻烦。在接下来的几十年里,当世界上的主时钟开始通过跟踪某些高度控制的原子的不变行为来保持时间时,进一步的皱纹出现了。一天的漂移持续时间与原子秒的稳定行进不同步,这有可能在原子告诉的时间和天文学告诉的时间之间打开裂痕。

为了解决这个问题,1972 年,当地球的缓慢自转使时钟与原子钟保持的时间不同步时,世界领先的计时员开始在单个”闰秒”(leap)内进行计时。这种做法将时钟与星星重新对齐。到目前为止,已经有三十七个闰秒。当 米尔斯 编写 NTP 时,他通过允许协议对特定秒数计算两次来解释它们。但是一些程序员,可能没有意识到闰秒的存在,忽略了它们。2005 年,谷歌的工程师意识到他们的一些系统容易受到闰秒故障的影响。“他们说,‘我看到时间倒流了。这不应该发生。会崩溃的,‘“谷歌网站可靠性工程师之一杰米·威尔金森( Jamie Wilkinson )告诉我;他解释说,这些程序会选择关闭,而不是冒险破坏用户数据。

谷歌开始更新其内部版本的 NTP 但它的程序员对这个问题采取了不同的方法:谷歌的系统没有像 NTP 那样计算两次闰秒,而是在一段时间内有效地重新定义了秒,在此期间他们添加了一些毫秒到每秒,分散时间的增加而不是集中时间。谷歌于 2008 年在其内部系统中首次使用了这种方法,它称之为跳跃涂抹( leap smear )。但在 2016 年,它通过其 NTP 服务器向互联网的其他部分引入了 跳跃涂抹 。

谷歌认为跳跃涂抹是解决一个奇怪问题的有用且聪明的解决方案。然而,两种跳跃技术同时存在可能会造成混乱。如果一个设备试图通过咨询两个来源来确定时间,其中只有一个抹掉了第二个来源,那么它将很难区分真正的嵌合体和虚假的时间,并且可能会确定一个微小的错误时间。尽管如此,包括亚马逊和 Facebook 在内的其他向公众提供时间服务的公司也开始提供模糊时间服务。

“他们都应该不吃晚饭就上床睡觉,“自 1969 年以来一直在nist工作的物理学家 Judah Levine告诉我,他指的是科技公司。 Levine 一直维护nist自己的 NTP 服务已有数十年了,他和他的一些同事负责将其主时钟与通用协调时间进行协调,通常在十亿分之一秒内。 Levine 说,如果这些公司不喜欢闰秒,他们应该通过有权废除闰秒的政府间机构游说改变。(Levine本人更喜欢没有闰秒的世界,在他的帮助下,美国政府提议为了计算机系统而消除闰秒;天文学家和其他政府反对。下一次正式讨论的机会将在 2023 年到来,并且此事已经在积极辩论。)“有一个过程,“Levine说。“如果他们不喜欢它,他们就不会说,‘好吧,我不会再玩了。我要做我要做的,祝你好运。” 作为世界上纳米级秒片的杰出观察者之一,Levine认为,如果计算机对何时发送消息或何时发生股票交易存在分歧,可能会产生法律影响。

与此同时,不知什么原因,近年来地球自转一直在逆势而上:非但没有减慢,反而一直在加速。自大约半个世纪前人们开始追踪一天的长度以来,今年是观察到的最短的一天。如果这种发展继续下去,那么世界可能需要减少一秒而不是增加一秒 --- --- 这是现代时间同步的架构师尚未尝试的任务。

程序员有时会病态地开玩笑说”巴士因素”(bus factor)。在某个项目受到威胁之前,有多少人需要被公共汽车撞到?很难确定NTP.以及更广泛的时间同步的总线因素,尤其是现在谷歌等公司已经开发了他们自己的受NTP.启发的专有代码。但是,说NTP.的总线系数相当小似乎是合理的。Eghbal在 ” Working in Public “中把代码描述为 “一种活生生的知识形式”(a living form of knowledge);就NTP.而言,很少有人拥有这种知识。 Stenn 说,在很长一段时间里,他不愿意对他的NTP代码进行太大幅度的修改,因为重大的改动可能会使它脱离米尔斯的回忆;米尔斯已经84岁了,他的记忆是有弹性的,但却不稳定。坐在他的厨房里,米尔斯告诉我,“我的大脑被岁月烧坏了”。

自 2010 年发布的第四次迭代以来,没有一个全新版本的 NTP。现在,Internet 的主要标准机构 Internet 工程任务组 (IETF) 中的一个由大约两打贡献者组成的小组正在朝着第五版的方向努力. 事实证明,这可能与当前存在的情况大相径庭。几十年前创建 IETF 时,它受到了米尔斯领导的早期工作组的启发。但他在 NTP 社区中的作用和影响力已经减弱。2020 年秋天,米尔斯将我看到他正在撰写的论文通过电子邮件发送给该小组,但几个月来没有收到任何实质性回复。他并不感到惊讶。“我被认为有点老顽固,“米尔斯说。“当我还是一名教授时,我才 20 多岁,我的学生认为我是他们中的一员。在接下来的二十年里,我是他们的父亲,我是邪恶的。而在接下来的二十年里,我是个老头,可以忽略不计。” Stenn 曾试图在小组中充当米尔斯的使者,但偶尔会因此而引起冒犯。在一个例子中, Stenn 在米尔斯有机会审查之前代表米尔斯投票反对一项提案,一位同事谴责他”试图夺取米尔斯教授的权威”。该成员继续说道,“你不是一个忠实的使者,我不会接受你的话。”

NTP 第五版的工作小组以协商一致的方式做出决定。但 Stenn 和米尔斯一样,既不是熟练的外交官,也不是忠诚的外交官。“我的目​​标不是建立共识,“Stenn 告诉我。“我的目​​标是拥有我们能拥有的最优质的计时产品。” 尽管 Stenn 坚持认为他的智商不及 米尔斯 ,但他相信数十年的经验让他对协议的细节和结构以及人们如何实际使用(和滥用)它有了独特的见解。然而,一些成员质疑 Stenn 的权威,包括他几十年来维护的代码是否应该被视为 NTP 的唯一参考实现。许多人希望看到他们的想法反映在该小组的输出中。一个广泛持有的观点是,NTP 应该变得更加模块化和灵活,以便可以更频繁地对其进行改进。对米尔斯的崇敬与对他建造的东西是否真正最优的怀疑相矛盾。“我认为过去在算法中有很多’魔法数学’,声称’永远不要改变这一点,否则世界将分崩离析’;-),“一位成员写道。

很难知道拥有一个更大的社区致力于 NTP 会以何种方式帮助或伤害它。它很少(如果有的话)像其他开源系统那样培育这样一个社区。由于不相信第五版的发展轨迹,Stenn 在很大程度上选择继续专注于第四版。与此同时,下一个版本的主要草稿正在由 Chrony 背后的”向导”捷克编码员 Miroslav Lichvar 编写,NTP Lichvar 的替代品在 NTP 社区中是一个有点神秘的存在。一位观察者评价他,“他非常安静,没人认识他。”

大约 15 年前,Lichvar 参与了 NTP,当时他接管了开源软件公司 Red Hat 的 NTP 包的维护工作。他很快将想法和补丁发送给米尔斯,但遭到拒绝。“这令人沮丧,“他在拒绝最初的采访请求后通过电子邮件告诉我。“他们似乎对自己拥有的东西感到满意,并且对做出重大改变不感兴趣。” 他多年开发 Chrony 代码证实了他对 米尔斯 工作的钦佩,但也让他相信替代计时算法可以有效地工作。他认为 NTP 应该在不指定必须使用哪些时间同步算法的情况下运行;对他来说,它们不是皇冠上的珠宝。“Chrony 有不同的算法,我认为它们在大多数情况下效果更好,但我不想把它们强加给任何人,“他说。“当然可以实现更好的算法。” 包括 Stenn 在内的多人告诉我,Lichvar 是 IETF 工作组中最受尊敬的人之一,但 Lichvar 说他不认为该工作组有领导。“这只是一群随机的人,通常很难达成共识,“他写道。

互联网时间同步是否应该运行在经过严格测试、久经考验但异想天开且可以说是臃肿的代码上,即使投入了数十年的时间,人们仍可能难以完全理解它?或者它应该基于一个更灵活、不那么迂腐的标准,这些标准是由无法就什么是最好的达成一致的人设计的?不会有一个答案:没有任何开源作者对公司和系统管理员选择部署什么实施具有强制执行权。(根据 Stenn 的说法,大部分互联网仍然使用 NTP 的第三版,该版本于 1992 年发布。)对于时钟和人们来说,找到共识可能很困难。与此同时,我们的社会不断开发同步时间的新用途,这需要进一步的技术创新。2000 年初首次发布的精确时间协议,主要为自动化机器人制造而设计;它为硬连线网络提供了特别紧密的时间同步,现在通常用于同步金融交易。2019 年,经过多年努力,IETF 发布了网络时间安全标准,该机制在 NTP 之上增加了功能,试图使其更加安全。(时间是互联网密码学基础设施的基础。)不断扩大的物联网只会促进对同步不断增长的需求。波士顿大学从事网络时间安全工作的计算机科学家 Sharon Goldberg 告诉我,她认为时间同步应该有一种类似于加密货币的嗡嗡声(最好是争议较少) --- --- 为此做出贡献的编码人员,她说,应该自豪地宣布,“每个人都在使用这个软件,它无处不在,而且是我编写的!” 令人惊讶的是,很少有人知道米尔斯的名字,因为有多少人知道创造比特币的人的笔名。

如今,米尔斯听着关于大爆炸、埃及、希腊、罗马、英国、犹太和苏联历史的书籍和论文。他和孩子们在一起,和妻子一起听电视,玩收音机。每隔几个月,Stenn 都会请他解释当前版本的 NTP。米尔斯 对衰老感到不满的某些方面:每次他走路时,他都觉得自己处于跌倒的边缘,他在最近的一次电话中告诉我他担心自己的”怪人商数。” 他在构思和描述数学思想方面更加困难,他的作品的活泼性已经消退。“我正忙于从一个句子中梳理出含义,“他说。

尽管如此,他还是每天花费几个小时撰写一篇论文,概述重新设计 NTP 的”骨架”。他的目标是修改和改进其基本模型,并简化它。他认为,当今的编程文化令人惊讶地具有扩张性:编码人员希望”添加功能、提高安全性并做我认为超出协议预期范围的事情”。米尔斯不确定他是否能找到编辑论文的人。他担心 Stenn 被”现实世界的问题”压得喘不过气来,无法帮助他重新考虑 NTP 的”基本原则”。他也不希望 NTP 社区中的许多人阅读这篇论文。“我认为他们也会忽略这个,“他说。我问他为什么,然后,他一直在努力。“因为它就在那里,“他说。“我喜欢改进我的工作。 ::: ::: :::

← 返回文章列表