时间:2023-06-12|浏览:176
拜占庭的故事大概是这么说的:拜占庭帝国拥有巨大的财富,周围10个邻邦垂诞已久,但拜占庭高墙耸立,固若金汤,没有一个单独的邻邦能够成功入侵。任何单个邻邦入侵的都会失败,同时也有可能自身被其他9个邻邦入侵。拜占庭帝国防御能力如此之强,至少要有十个邻邦中的一半以上同时进攻,才有可能攻破。然而,如果其中的一个或者几个邻邦本身答应好一起进攻,但实际过程出现背叛,那么入侵者可能都会被歼灭。于是每一方都小心行事,不敢轻易相信邻国。这就是拜占庭将军问题。
在这个分布式网络里,每个将军都有一份实时与其他将军同步的消息账本。账本里有每个将军的签名都是可以验证身份的。如果有哪些消息不一致,可以知道消息不一致的是哪些将军。尽管有消息不一致的,只要超过半数同意进攻,少数服从多数,共识达成。
由此,在一个分布式的系统中,尽管有坏人,坏人可以做任意事情(不受protocol限制),比如不响应、发送错误信息、对不同节点发送不同决定、不同错误节点联合起来干坏事等等。但是,只要大多数人是好人,就完全有可能去中心化地实现共识。
Paxos算法解决的问题是一个分布式系统如何就某个值(决议)达成一致。一个典型的场景是,在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点都执行相同的操作序列,那么他们最后能得到一个一致的状态。为保证每个节点执行相同的命令序列,需要在每一条指令上执行一个“一致性算法”以保证每个节点看到的指令一致。一个通用的一致性算法可以应用在许多场景中,是分布式计算中的重要问题。节点通信存在两种模型:共享内存和消息传递。Paxos算法就是一种基于消息传递模型的一致性算法。
区块链是一种分布式去中心化的架构。需要解决的问题就是在去中心化的条件下能够达到统一的认知,对于某些账单是否有效,账单是否可以写入。确定网络中的记账节点,保证数据的一致性与正确性。通俗一点来讲,某些区块链操作比如增加交易,生成新的区块均需要进行全网的所有节点确认。如果大部分的节点认为这个有效,那么则进行操作。
延迟工作量证明(dPoW,DelayedProof-of-Work)优点包括节能、安全性增加、可以通过非直接提供Bitcoin(或是其它任何安全链),添加价值到其它区块链,无需付出Bitcoin(或是其它任何安全链)交易的代价。不足之处是只有使用PoW或PoS的区块链,才能采用这种共识算法。
在“公证员激活”(NotariesAcTIve)模式下,必须校准不同节点(公证员或正常节点)的哈希率,否则哈希率间的差异会爆炸。
共识机制目前已经成为了区块链系统性能的关键瓶颈。单一的共识算法均存在各种问题,例如PoW算法存在消耗大量计算资源及性能低下的问题;PoS或DPoS存在“富豪统治”问题。融合多种共识算法优势的想法正受到越来越广泛的关注。
随着区块链中账本数据的增加和业务量的提升,可扩展性也是区块链系统迫切需要解决的问题,同时对共识算法也提出了新的挑战。#比特币[超话]# #欧易OKEx# #数字货币#
热点:区块链