拜占庭将军问题与双花问题

拜占庭将军问题 拜占庭将军问题是一个共识问题。

首先由莱斯利·兰伯特等人在1982年提出,又叫拜占庭容错问题、两军问题。拜占庭帝国想要进攻一个强大的敌人,为此派出了十支军队去包围这个敌人。这个敌人的实力虽然无法与拜占庭帝国相匹敌,但以足够抵御五只常规拜占庭军队的同时袭击。基于某些原因,这十支军队不能集合在一个单点突破,只能在分开的包围状态下同时进攻,它们任一军队单独进攻都毫无胜算,除非有至少6支军队同时袭击才能打败敌人的进攻。这些军队分散在敌人的四周,依靠军中信使来协商进攻意向及进攻时间,眼下困扰这些将军的问题是,它们不确定军中信使是否绝对忠诚。信使中一旦混入敌国奸细,阻碍军事行动的顺利进行。在这种状态下,如何找到一种分布式的协议来让他们远程协商、赢取战斗呢?
将上述概念引入到P2P通信网络中,则可以理解为在分布式网络中,处于不同地理位置的计算机通过讯息交换尝试达到共识,但有时候系统中的协调计算机(Coordinator/Commander)和成员计算机(Member/Lieutanent)可能由于系统错误而交换错的讯息,影响最终的系统一致性。
区块链通过对这个系统做出一个简单的修改,解决了拜占庭将军问题。以比特币为例,比特币的区块链通过基于哈希运算的工作证明机制为发送信息加入了成本,进而降低了信息传递的速率,并
双花问题
指一笔数字现金在交易中被重复使用的现象。和其他数字资产一样,加密数字货币具有无限可复制性,如何确认一笔加密数字货币在实际的交易中只被支付一次成为数字货币必须解决的问题。
依靠区块链技术构建的交易系统,则在分布式的网络形式中用全网记账的机制代替了传统交易中第三方机构的职能。
与中心机构验证确认支付信息的机制不同,全网记账需要在整个网络中达成共识。以比特币交易为例,在交易发生的那一刻起,比特币的交易数据被盖上了时间戳。当交易数据被打包到一个区块中后,交易会得到进一步的确认。在连续得到六个区块确认之后,这笔交易基本得到确认。除了上文提到的时间戳。一笔交易所需的确认时间也进一步增强了交易的安全机制。例如当一笔企图被用来支付两次交易时,较长的确认时间可以使后一笔交易先于前一笔得到确认的难度增加。货币在第一次交易得到确认后支付有效,第二笔交易因此无法得到确认。
【拜占庭将军问题与双花问题】分叉的时候哪个区块后先连上6个区块,才能被验证成功。

    推荐阅读