首页
下载应用
提交文章
关于我们
🔥 热搜 🔥
1
上海
2
习近平
3
新疆
4
鄂州父女瓜
5
乌鲁木齐
6
疫情
7
H工口小学生赛高
8
习明泽
9
芊川一笑图包
10
印尼排华
分类
社会
娱乐
国际
人权
科技
经济
其它
首页
下载应用
提交文章
关于我们
🔥
热搜
🔥
1
上海
2
习近平
3
新疆
4
鄂州父女瓜
5
乌鲁木齐
6
疫情
7
H工口小学生赛高
8
习明泽
9
芊川一笑图包
10
印尼排华
分类
社会
娱乐
国际
人权
科技
经济
其它
李尚福、魏凤和双双被拿下,与美国一份报告是否有关?
有的人走了,却永远活着
圈内疯传某谣言
不要放过这些人渣
最大“独立日烟花秀”存恐怖威胁 纽约市警全力部署
生成图片,分享到微信朋友圈
2023年1月30日
2023年2月21日
2023年2月22日
2023年2月22日
2023年2月23日
2023年2月23日
2023年2月24日
2023年2月24日
2023年2月25日
2023年2月25日
2023年2月26日
2023年2月26日
2023年2月27日
2023年2月27日
2023年2月28日
查看原文
其他
【连载】比特币史话 | 时间之矢(2)
Original
刘教链
刘教链
2023-01-30
收录于合集 #史话
102个
(莱斯利·兰伯特,Paxos算法发明者。图片来源于网络)
本篇看点:
互联网分布式系统为什么无法去中心化,最主要的技术障碍是什么?
前情回顾:
【连载】比特币史话 | 哈希(3)
【连载】比特币史话 | 哈希(4)
【连载】比特币史话 | 时间之矢(1)
正文:
2012年,谷歌(Google)发表了一篇标题叫做《Spanner: 谷歌的全球分布式数据库》的论文[1],首次向世界公开了其早在2007年就已经开始研发的高性能分布式数据库Spanner[2]。2017年,Spanner正式成为谷歌云计算平台对外提供的托管式服务之一。据谷歌披露,Spanner的数据节点部署在遍布全球六个大洲、几十个机房的成千上万台服务器上,具有5个9的高可用性(即在99.999%的时间可用)[3]。对谷歌云Spanner的测试数据表明,14个节点的Spanner服务,性能便可达到约15万TPS(每秒事务数)、每秒钟135兆字节数据吞吐量、平均延迟仅1.2毫秒[4]。
[公众号:刘教链]
我们不知道谷歌全球部署的整个Spanner分布式集群的总性能会达到多少,但是我们可以看看另外一个使用了相似技术的系统的性能数据。2016年,国内最大的聊天应用“微信”披露了它的一个后台分布式存储系统的设计和运行情况。微信的这套分布式存储系统,使用了大概2000多台机器,单机内存64GB,机械硬盘存储,每天峰值请求高达每分钟10亿次(约合1500多万TPS)[5]。
[公众号:刘教链]
谷歌Spanner和微信存储,都使用了同样一个分布式共识算法(分布式一致性算法),叫做Paxos。Paxos算法是美国计算机科学家莱斯利·兰伯特(Leslie Lamport, 1941-)在1989年提出、1998年正式发表的杰作[6]。它在分布式系统设计中的地位是如此重要,以至于谷歌分布式锁服务Chubby的作者麦克·巴伦(Mike Burrows)评价说,“这个世界上只有一种一致性算法,那就是Paxos”[7]。关于Paxos算法的来龙去脉,我们暂且按下不表。
[公众号:刘教链]
使用了Paxos算法的谷歌Spanner系统,机器遍布全球,达到极高性能,但是,这套系统高度依赖一个因素——时间同步性。也就是说,这成千上万台机器的时钟的时间必须严丝合缝,分秒不差,否则整个系统就会有崩溃的危险。计算机的时钟总会出现时间漂移的现象,而依靠人工调整时间显然不现实。互联网常用的传统解决方案是采用中心化的时间服务,并通过NTP(网络时间协议)进行全网时钟同步。但是对于谷歌Spanner这样规模的分布式系统,这种网络同步的方法也已经不够用了,因为网络延迟难以预测,仍然难以保证各节点时间严格同步。事实上,谷歌采用的解决方案是更为尖端的技术,原子钟和卫星授时[8]。
[公众号:刘教链]
谷歌Spanner是分布式系统,但这套系统是由谷歌中心化控制的。中心化控制的一个重要原因是,系统的运行需要依赖于外部时钟的时间,而这个外部时钟,是由谷歌提供和控制的。当我们谈及所谓“去中心化”(decentralization)的时候,其实我们所意指的并非节点机器的分布式,而是整个系统不再由一个单一主体或多个一致行动主体进行控制。要把传统的分布式系统,改造为去中心化系统,就要消除中心控制点,其中最困难的问题之一,就是要消除对系统外时钟时间的依赖。
[公众号:刘教链]
这个比特币走向去中心化设计之路上的最大障碍,被中本聪巧妙地解决了。时至今日,比特币网络中可探明的全节点已遍布全球六个大洲、上百个国家、上万台机器,而且这些机器分别是由非常多互不相识、无统一指挥的人各自独立运行和维护的[9]。据统计,11年来,比特币网络的实际可用性高达99.985%[10],足以比肩世界顶级互联网服务商。
[公众号:刘教链]
【未完待续】(公众号:刘教链)
您可能也对以下帖子感兴趣
{{{title}}}
文章有问题?点此查看未经处理的缓存