主页 > imtoken安全吗 > 比特币解决拜占庭将军问题@刘教育

比特币解决拜占庭将军问题@刘教育

imtoken安全吗 2023-01-26 05:37:17

失落的拜占庭将军问题之谜

众所周知,作为一个开放的、分布式的点对点网络,比特币需要克服的一个非常关键的问题就是拜占庭将军问题,也就是关于分布式共识的问题。

共识机制也是区块链领域非常热门的创新点。 各种项目层出不穷,而他们热衷向大家推销的卖点之一,必然是摒弃比特币所谓的耗能的PoW共识算法比特币解决了什么问题,代之以某种不耗电的XXX共识算法. 甚至有一些项目公开将自己从 PoW(我在升级上打了引号)“升级”到其他共识算法,作为重要的技术路线图。

拜占庭两军问题详解图解算法

拜占庭两军问题的详细图解算法

很多人在谈到比特币的时候,也会选择从分布式共识的角度出发。 首先他们会讲拜占庭将军问题,然后引出比特币的分布式记账,然后展开比特币的整个设计。

比特币之父能不能随意制造比特币_比特币解决了什么问题_比特币期货对比特币影响

按照这个叙事逻辑,要从Leslie Lamport 1982年的《拜占庭将军问题》说起。接着讲到1985年Fischer, Lynch, Paterson的论文《存在一个错误的过程,使得无法达成分布式共识》和“FLP不可能性定理”在其中得到证明。 FLP不可能性定理基本上可以看作是一个严密的理论证明,扼杀了在异步网络下解决拜占庭一般问题的可能性。

因此,Leslie Lamport后来提出的BFT(拜占庭容错)是一种拜占庭容错共识算法。 基本上就是乖乖的在FLP不可能定理的框架下求生存,把同步性的假设作为解决问题的前提。 . 毕竟异步假设下的解都没有被理论严格证明过,没必要再试一次。

然后在 1990 年代,互联网出现了。 互联网通过将网络从开放网络变为封闭网络来消除拜占庭将军问题。 互联网公司都建立了防火墙,严格防范其运营和维护的服务器,尽最大努力防止黑客侵入其网络。 这样就可以对网络进行安全假设,假设系统中的所有节点都是“好的”,只会失败,不会主动作恶。

安全假设消除或避免了拜占庭将军问题。 因为所谓的拜占庭将军问题假设网络是一个开放的网络,节点不仅会失效,还可能主动作恶攻击系统。 存在这样的“坏”节点,分布式系统如何度过有限的时间? 达成共识的时间(而不是无限延迟)?

这个假设有很多优点。 最大的优势是通过互联网公司的集中控制和协调,分布在世界各地的节点可以实现高度精确的时间同步。 例如,谷歌的 Spanner 系统甚至使用了卫星计时和原子钟技术。 使用Paxos共识算法,十几个节点的Spanner可以达到几十万TPS(每秒交易数)。

按理说,比特币是第一个在开放网络下克服拜占庭将军问题,实现分布式共识的系统。 中本聪至少应该在比特币白皮书中提到这个问题。 但非常神秘的是,翻遍整个比特币白皮书,对此事只字未提,更别提在参考文献中引用Leslie Lamport的开创性论文,或与FLP不可能性定理相关的论文。

比特币期货对比特币影响_比特币之父能不能随意制造比特币_比特币解决了什么问题

难道中本聪不知道拜占庭将军问题? 2008 年的中本聪不知道 80 年代的 BFT? 不知道这是把中本聪当傻子,还是把炒家当傻子。 以至于每当我看到某个大牌项目声称自己改进了中本聪共识算法有多牛逼的时候,我都忍不住仔细一看,是PBFT、*BFT还是修改后的BFT算法。 我觉得太好笑了:这不是打中本聪的脸,说中本聪傻吗?

比如在2018年EOS大火的时候,DPoS投票选出21个超级节点后,采用PBFT算法作为超级节点之间的共识机制。

伪三段论推理:

大前提:中本聪不是傻X。

小前提:某项目说中本聪傻X。

结语:某项目傻X。

比特币之父能不能随意制造比特币_比特币期货对比特币影响_比特币解决了什么问题

还记得中本聪在论坛上怒怼EOS创始人BM(本名Daniel Larimer):“如果你不明白或者不相信我,我没时间说服你,sorry。” (中本聪,2010年7月29日比特币解决了什么问题,bitcointalk论坛演讲)

你认为中本聪可能不知道拜占庭将军问题吗? 他当然知道。 证据是,早在2008年11月3日,中本聪在邮件中就明确写道:“工作量证明链是拜占庭将军问题的解决方案”。

请注意中本聪的表达。 并不是说 PoW 是拜占庭将军问题的解决方案,而是使用 PoW 的区块链是拜占庭将军问题的解决方案。 解决方案就是区块链,而且是使用PoW的区块链。

没有 PoW,区块链无法解决拜占庭将军问题。 解决不了拜占庭将军问题的区块链,还是区块链吗? 至少,不是在异步网络假设下,因为 FLP 不可能定理的约束。

并且如果做出同步网络假设,则需要借助外部中心来控制和协调网络节点的时钟。 这给系统引入了隐含的中心化。

所以,只有三种方法可以到达这里。 第一是中心化; 二是无法解决,放弃; 三是采用PoW。 没有别的路可走。

比特币之父能不能随意制造比特币_比特币解决了什么问题_比特币期货对比特币影响

没有PoW的区块链,肯定会走第一条路。 这是有理论证明和约束的。 没有解决方案。

中本聪的解题思路非常具有开创性,是真正的think out of the box(跳出框框思考)。

当我们面对“异步网络中的拜占庭将军问题无法解决”这一命题时,包括提出拜占庭将军问题的分布式系统专家Leslie Lamport在内的大多数人都关注“拜占庭将军问题”本身,为此,我们不惜通过同步性假设悄悄绕过FLP不可能性定理,进而研究恶意节点情况下如何达成共识的算法。

中本聪异常关注“异步网络假说”。 如果我们能发明一个去中心化的、自运行的、自协调的全局定时器,拜占庭将军问题就解决了吗?

与过去不同的是,中本聪并没有通过假设外部有人会解决同步时钟的问题来回避这个问题,因为这个问题关系到中心化或去中心化的根源。 他认为发明一种在去中心化环境中实现时钟同步的方法是一个关键考虑因素。 这个方案就是比特币白皮书中提到的时间戳服务器。

然后我们惊奇的发现,当这个问题解决后,拜占庭将军问题就不存在了。 节点只需要就最长链达成一致,根本不需要任何拜占庭错误兼容的共识算法。 所以,你可以直接跳过整个链接。

比特币之父能不能随意制造比特币_比特币期货对比特币影响_比特币解决了什么问题

简单的说,有一个非常难的问题P,需要发明A算法来解决。 但是有人已经证明,当B条件不满足时,可以解决P问题的A算法是不存在的。

在中本聪之前,大家解题的思路是先假设条件B满足,让题更简单,然后再研究A可以用什么样的算法。

中本聪一来,就把B从一个要满足的“条件”变成了一个要解决的“问题”,然后又发明了一个C来克服B的条件不满足的问题。 这样就不需要A算法了。 C可以直接解决P。

比特币是否违反 FLP 不可能定理? 一点也不。 中本聪只是将解决这个问题转化为解决另一个问题。

不得不说,中本聪的洞察力和思维转变是惊人的。 以至于直到比特币白皮书发表 13 年后的今天,大家仍然没有完全理解中本聪是如何解决这个问题的。

无论如何,不​​需要A。 比特币白皮书就不用提了。

这就是为什么比特币白皮书中没有提到拜占庭将军问题的秘密。