区块链的所谓将军难题, 其实就是分布式节点之间的一种信任悖论。意思是一帮谁也不信任谁的参与者,在没有依靠任何中心权威机构的情况下, 到底怎么样才能够针对某一次交易动作或者一个状态变更的情况, 达成一致性的结果, 并且保证这个结果是不可被篡改的。
这个事情可不是哪一条具体的链出现了工程层面的缺陷, 而是所有共识协议在设计的时候, 都必须去直面并回应的一种底层约束条件。
区块链将军问题是什么
问题卡在“叛变”与“投票, 这两个环节的交集地带。拜占庭将军的原始设定里有这样一些将领, 他们故意传递矛盾的指令。映射到链上场景这个情况里, 节点可能会发出相互冲突的交易确认。导致这种情况的原因包括网络分区、恶意作恶或者硬件故障。
光靠简单的多数决是远远不够的, 你还要去确认那个所谓的多数本身是不是没有内部串通的这种现象存在, 如果不这样做的话, 那么一个被攻破的子集是能够让整个网络的账本状态产生撕裂的情况的。
区块链将军问题怎么解
当前的主流技术方案并没有从根本上消灭问题, 而是把攻击的成本推到了经济层面让人觉得不再划算, 比如PoW是利用算力的沉没成本让51%攻击的代价变得极高, PoS是利用质押罚没来把作恶的收益直接锁死, PBFT是依靠多轮投票的方法来恶意操作的空间给压缩得很小。
当你把这一点给弄明白以后, 就不会再去指望某一份白皮书里面会写什么"彻底解决了将军问题"这样的大话了, 因为说到底, 它只不过是在重新划定那个涉及到叛变的经济学方面的边界罢了。

每次当共识层进行升级操作的时候, 其本质上的含义, 就是在于调整这道边界所在位置的具体情况。需要把这一前提条件牢牢地记住在心间, 然后再去看待任何有关最终一致性这一概念所给出的承诺, 此时心里面自然就会觉得非常有把握了。
转载请注明出处:imtoken,如有疑问,请联系()。
本文地址:https://m.zmdyd.cn/imazbqb/11034.html
