Login
欢迎来到未来世界

您现在的位置是: 首页 > 计算机 > 区块链

区块链

拜占庭容错共识协议(拜占庭共识机制)

区块链 加入收藏
节点之间数据传输问题解决后,数据存储问题接踵而至。在中心化存储系统中,中心机构负责数据存储的完整性和准确性,而在分布式存储系统中,各节点记录、储存数据可能会出现以下问题:1)信息在记录和存储时被恶意篡
节点间的数据传输问题解决后,数据存储问题接踵而至。 在集中式存储系统中,中心组织负责数据存储的完整性和准确性,而在分布式存储系统中,各节点记录和存储数据时可能出现以下问题:1)记录和存储过程中信息被恶意篡改;2)信息失效、损坏或丢失。比如有的节点因为通信网络无法正常工作,没有收到信息;3)信息传输延迟,由于每个节点的地理位置和网络条件不同,不同的节点在不同的时间接收到某条信息。 这些情况的存在导致所有节点不能就信息的记录和存储达成一致。 解决方案是每个节点将待存储的信息内容发送给所有其他节点,每个节点根据收到的消息采用少数服从多数的原则确定数据存储的一致性。但是,在这个过程中,仍然可能有恶意节点将错误的节点传输给其他节点来破坏一致性,这就是著名的“拜占庭一般问题” “拜占庭通用问题”是实现分布式系统一致性的重要问题,由Leslie Lamport等科学家于1982年提出。 基本思路是这样的:拜占庭帝国的军队驻扎在相距很远的营地,他们不得不依靠信使传递消息。由于至少一半的军队同时进攻以夺取帝国,将军们需要就是否进攻敌人达成共识。 军队中可能有汉奸,汉奸可能任意改变进攻意图或进攻时间,破坏将领间的共识。 例如,有11名将军,包括一名叛军。如果五个将军选择“进攻”,另外五个选择“撤退”,叛军将向选择进攻的将军发送“进攻”消息,向选择撤退的将军发送“撤退”消息。 因为叛军的存在,将军们无法达成共识。五位将军选择“攻”,五位将军选择“退”,结果必然是失败。 在标杆分布式存储系统中,驻扎在每个营地的军队就是每个节点。节点要对某个信息达成共识,需要将自己记录的信息传输给其他节点,超过一半的被认可的信息可以作为统一存储的信息。 但在这个过程中,可能会有节点恶意破坏一致性。 例如,一个节点向网络中一半的节点发送“A”信息,向另一半的节点发送“B”信息,这样即使只有一个恶意节点,系统也无法形成统一的数据库。 因此,需要一种机制来确保即使存在恶意节点,其他节点仍然可以达到一致的结果。 因此,共识机制是区块链技术的核心问题。 目前,主流区块链主要有三种共识机制,即拜占庭容错机制、工作量证明和权利证明。
图集详情底部广告位