过去我们讲过时间戳、工作量证明、双倍支付。相信大家都已经知道,在比特币中,区块链通过时间戳和工作量证明机制解决了双重支付和拜占庭将军的问题。
拜占庭将军是谁?咳咳,开玩笑的。拜占庭不是一个人的名字。拜占庭是中世纪的土耳其。很多人听说过拜占庭将军,但不知道是什么意思。
在了解拜占庭将军之前,我们先来看看Leslie Lamport的短篇小说,描述分布式系统的一致性。
故事是这样的......
很久很久以前,有一个富裕而强大的帝国——拜占庭,它的10个邻国早就诞生了。然而,拜占庭坚不可摧,没有一个邻国能成功入侵。它需要10个邻居一起攻击。
然而,如果一个或几个邻国承诺一起进攻,但在实际过程中出现了背叛,侵略者可能会全部被歼灭。
因此,每一方都小心翼翼,不能轻易相信它的邻居。这是拜占庭的普遍问题。
一键解锁拜占庭将军
拜占庭一般问题是指“在消息丢失的不可靠信道上通过消息传输不可能达成共识”。
除了消息延迟和无法投递的问题外,系统中还存在消息篡改、节点不按协议处理等问题,这些问题都有可能对系统造成针对性的破坏。
可见拜占庭将领问题的核心是没有达成共识。这个问题早在1982年就提出来了,直到2008年中本聪提出比特币才得以解决。
解决拜占庭普遍问题的方法;
1.非对称加密技术确保发送的信息不会被修改;
2.POW工作量证明机制使得每个人发送的信息都被记录下来,打包的数据也是一致的。
比如比特币的工作机制POW完美解决了拜占庭的普遍问题。在比特币的世界里,每个人都可以达成统一的共识,认可同一个账本。任何人都可以随时加入比特币系统,阅读、更新、记录账本。只要解决问题的速度又快又准,他们就可以赢比特币作为奖励。
结论
区块链共识机制主要解决谁来建设区块链、如何维护区块链统一的问题。拜占庭一般问题也需要解决谁来发起信息,如何实现信息的统一和同步的问题。真巧!