首页
下载应用
提交文章
关于我们
🔥 热搜 🔥
1
上海
2
习近平
3
新疆
4
鄂州父女瓜
5
乌鲁木齐
6
疫情
7
H工口小学生赛高
8
习明泽
9
芊川一笑图包
10
印尼排华
分类
社会
娱乐
国际
人权
科技
经济
其它
首页
下载应用
提交文章
关于我们
🔥
热搜
🔥
1
百度
2
今日热点
3
微信公众平台
4
贴吧
5
opgg
6
dnf私服
7
百度贴吧
8
知乎
9
dnf公益服
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日
查看原文
其他
【连载】比特币史话 | 拜占庭将军(6)
Original
刘教链
刘教链
2023-01-30
收录于合集 #史话
102个
(图片来源于网络)
本篇看点:
中本聪是如何解决拜占庭将军问题的?
他又是从什么时候开始设计比特币的呢?
前情回顾:
【连载】比特币史话 | 拜占庭将军(3)
【连载】比特币史话 | 拜占庭将军(4)
【连载】比特币史话 | 拜占庭将军(5)
正文:
在2008年10月31日中本聪向密码学邮件列表投递比特币白皮书不久,一个叫詹姆斯·唐纳德(James A. Donald)的人回复说“保持
一致性
很棘手”,并请中本聪详细解释一下他是如何做到的。11月8日,中本聪回信说,“
工作量证明链
就是同步问题的解决方案,
无需信任
任何人就能知道
全局共享视图
是什么。”[1]
[公众号:刘教链]
他继续解释交易的广播,“一个交易将在整个网络中快速传播,因此,如果在十分接近的时间发出了同一交易的两个版本,那么具有先发优势的一个版本将具有较大的优势,可以首先到达更多的
节点
。节点将只接受他们看到的第一个交易,拒绝第二个到达的,因此较早的交易将有更多的节点在一起努力将其合并到下一个
工作量证明
中。实际上,每个节点通过将交易包含在工作量证明中来对它先看到哪个交易的观点进行投票支持。”
[公众号:刘教链]
并解释了如何解决冲突,“如果交易确实是同时到达的,并且是平分秋色,那么就扔硬币决定让哪一个先进入工作量证明,然后决出哪个是有效的(交易)。”
[公众号:刘教链]
“当一个节点找到工作量证明时,新区块将在整个网络中传播,每个人都将其添加到链中,并开始在其后的下一个区块上工作。拥有另一个交易的任何节点都将停止尝试将其包含在一个区块中,因为根据已被接受的链,该交易现在无效了。”
[公众号:刘教链]
最后,中本聪总结道,“
工作量证明链
本身就是其来自于
全局共享视图
的不证自明的证据。只有网络的多数(节点)总体拥有足够的CPU
算力
,才能生成如此困难的一条工作量证明链。任何用户,基于接收到的工作量证明链,都可以知道网络的多数(节点)已经批准了什么。一旦交易被哈希进了链上若干环之前的某一环(link),它就被牢牢地铭刻在全局
历史
之中。”
[公众号:刘教链]
在中本聪2008年11月13日的邮件中,他又进一步地阐述了工作量证明链是如何解决拜占庭将军问题的[2]。以下是中本聪的邮件原文:
[公众号:刘教链]
“
工作量证明链
就是
拜占庭将军问题
的解。我来尝试在拜占庭将军问题的语境下对此重述一下。”
[公众号:刘教链]
“有一些数量的
拜占庭将军
,每个人都拥有一台计算机,并想合作起来暴力破解国王的WiFi密码。他们知道WiFi密码是一定长度的字符。一旦激发网络生成数据包,他们就必须在
有限的时间
内破解密码,侵入系统并清除日志,否则他们将被发现并陷入麻烦。只有大多数人在同时发起攻击,他们才能有足够的CPU
算力
以够快的速度
破解
密码。”
[公众号:刘教链]
“他们并不特别在乎在什么时间发动攻击,只要他们都同意(这个时间)就可以。已经决定的是,任何愿意参与的人都可以宣布一个时间,而首先听到的时间将是正式的攻击时间。问题在于,网络(数据同步)不是瞬时的,如果两名将军在十分接近的时间内宣布了不同的攻击时间,则有些人可能首先听到其中的一个意见,而另一些人则首先听到另一个意见。”
[公众号:刘教链]
“他们使用
工作量证明链
来解决这个问题。一旦每个将军收到他首先听到的任何攻击时间,他就设置计算机去解决一个极其困难的
工作量证明问题
,该问题在其
哈希
中包含了攻击时间。工作量证明是如此之困难,以至于他们全部一起工作,也需要花费10分钟之久,才能有一个人找到一个解。一旦有一位将军找到工作量证明,便将其广播到网络,每个人都更改其当前的工作量证明计算,以将该
工作量证明
包含在他们正在工作的哈希中。如果有人正在不同的攻击时间上工作,他们会切换到这一时间,因为它的工作量证明链现在更长了。”
[公众号:刘教链]
“两个小时之后,有一个攻击时间应该被一条包含12个工作量证明的链所哈希。每个将军,只需要验证工作量证明链的
难度
,就可以估算出每小时有多少并行的CPU
算力
花费在这条链上,并明白了这需要大多数的计算机才能在指定时间内产生那么多的
工作量证明
。所有人都应该已经明白了这一点,因为工作量证明正是他们在这上面工作的证明。如果工作量证明链展示出的CPU算力足以破解密码,那么他们就可以在
一致同意
的时间安全地发起攻击。”
[公众号:刘教链]
“
工作量证明链
正是你所提出的所有
同步性问题
、
分布式数据库问题
以及
全局视图问题
的解决方法。”
[公众号:刘教链]
显然,中本聪是知道拜占庭将军问题的。那么他必然也会知道
莱斯利·兰伯特
(Leslie Lamport) 1982年的论文,也一定知道1999年的
PBFT算法
等前人提出过的一系列拜占庭容错算法。
[公众号:刘教链]
但是,更显然地,中本聪认为这些*BFT类的算法统统不堪大任,根本不具有支撑
比特币规模
的
去中心化网络
的能力。更有趣的是,中本聪在比特币的白皮书里,对于“拜占庭将军问题”
只字未提
,莱斯利·兰伯特的著名论文以及其他知名的分布式计算论文,没有一篇出现在比特币白皮书的参考文献里。
[公众号:刘教链]
也许在中本聪看来,他根本就不是冲着解决什么
分布式计算问题
去的,也没有使用任何该领域曾经出现过的一致性算法,而解决掉这个分布式计算难题,不过是创造出一个
去中心化
的
时间之矢
之后的“顺手牵羊”而已。
[公众号:刘教链]
也许是近二十年互联网商业化的巨大成功,让分布式计算领域的研究重心也纷纷从去中心化网络转向了中心化集群,毕竟后者更有市场,难度也更低。
[公众号:刘教链]
所幸,还有
密码朋克
奋力前行。
[公众号:刘教链]
中本聪所做的课题,
加密货币
,是密码学领域的课题。但要做好这个课题,要解决的最关键问题,是
分布式计算
领域的问题,是
去中心化
的
分布式共识问题
。而解决这个问题,却又不是用分布式计算领域25年间所研究过的方法,而是又回到了密码学领域,逆向使用密码学技术,利用密码学技术难以被破解的特点,构造出了解决方案。
[公众号:刘教链]
随着后面的逐步揭秘,我们会发现,中本聪所运用的,还有
博弈论
和
经济学
的原理,若非如此,只靠计算机技术,是无论如何也不能完全解决去中心化共识这个问题的。
[公众号:刘教链]
中本聪在2010年6月18日发表的、回答网友提问“什么时候开始设计比特币”的论坛帖子中如此写道[3]:
[公众号:刘教链]
“从
2007年
开始的。在某个时间点,我变得确信,有一种方法可以不需要任何必需的
信任
就可以做到(去中心化支付和电子现金系统)。
我无法拒绝继续思考这件事。
大部分工作都是
设计
,而不是
编码
。”
[公众号:刘教链]
“幸运的是,到目前为止,所有出现的问题都是我之前考虑和计划到的。”
[公众号:刘教链]
【未完待续】(公众号:刘教链)
您可能也对以下帖子感兴趣
{{{title}}}
文章有问题?点此查看未经处理的缓存