深入探索区块链
上QQ阅读APP看书,第一时间看更新

第1章 从拜占庭将军问题说起

占庭将军问题是描述分布式系统一致性问题的经典案例,由莱斯利·兰伯特(Leslie Lamport)等于1982年首次提出,其核心思想是多个军队在可能有叛徒发布虚假消息的情况下,如何保持进攻或撤退的一致性。由于其设置的场景与计算机领域的分布式系统协同关系具有一定关联,进而发展成一种分布式容错理论。本章主要通过对拜占庭将军问题的分析和解读,引出区块链技术作为分布式系统一致性问题的解决方案。

比特币自2008年由中本聪提出发展至今,已成为最具代表性的去中心化现金系统。去中心化是指在比特币系统中,各个用户权利对等,没有银行或者支付宝这种第三方权威的存在。然而,缺少了认证机构,货币面临的最大的两个问题是双花(Double Spending)问题和拜占庭问题。

“双花”很好理解,就是一笔现金被支付多次。而拜占庭问题又是什么?拜占庭问题实质上是一个分布式下的共识问题,在比特币系统没有第三方机构的情况下,演变成为大家如何认同同一个账本,并在这个账本上添加后续的交易。

拜占庭问题首先由Leslie Lamport等在1982年提出,被称为拜占庭将军问题(The Byzantine Generals Problem或者Byzantine Failure),其核心描述是多个军队在可能有叛徒发布虚假消息的情况下,如何保证进攻的一致性,由此引申到计算领域,发展成了一种容错理论。随着比特币的出现和兴起,这个著名问题重入大众视野。