那么,什么是拜占庭将军问题呢?
拜占庭帝国由10个领地组成,每个领地由一个将军管理。拜占庭有一个敌国,实力雄厚、国富兵强,想要攻陷敌国,必须得有至少6个拜占庭将军联合起来攻打才能成功。而现在的问题是:
2)这10个将军中可能有叛徒,叛徒会违反承诺或者擅自变更作战计划。
3)信使可能会把信息弄丢、或者被敌国杀害;
5)无法确认消息的发出者真的是某个将军;
6)10个将军对进攻时间的商议过程可能会浪费很多天时间。
拜占庭将军问题是网络世界的模型化。比如在比特币的世界里,你可以把每个比特币交易账号看成一个将军,这些账号分布在世界各地,不能聚在一起、可能会有恶意账号;而账号之间的沟通也可能由于机器坏了、网断了、黑客攻击等受到破坏,并且账号之间关于支付与否、支付数额是多少的讨论也会浪费很多时间。
矿工相当于拜占庭将军问题里的信使,区别是在拜占庭每个将军都能派出信使,这使得信使数量过多、且质量不可控。而比特币中,矿工数量很多,但是能够记账(相当于传递消息)的矿工只有一个,这一个矿工是通过算力竞赛选出来的。在竞赛中胜出的矿工才有权记录交易信息(处理区块),并把这条信息盖上时间戳、将其与之前形成的交易信息放到一起(形成区块链),然后告知所有的比特币节点。
矿工制度加上公钥加密,使得原本不可信的网络变得可信,因此,任何人都可以在这个可信的网络中,在某些事情上达成一致。
|