拜占庭容错无色计算全解析
在分布式计算领域,故障处理是一个关键问题。传统的崩溃故障模型中,故障进程只是简单停止运行,但在拜占庭故障模型中,故障进程可能会表现出任意甚至恶意的行为。下面我们深入探讨拜占庭故障模型及其相关的通信抽象、协议和任务可解性。
拜占庭故障概述
在拜占庭故障模型里,故障进程的行为十分复杂。它可能会对自己的输入值说谎,对从其他进程收到的消息说谎,向非故障进程发送不一致的消息,甚至与其他故障进程勾结。一个能容忍拜占庭故障的算法,其特征由弹性 t 来描述,即该算法能够应对的故障进程数量。
拜占庭故障模型最初源于硬件系统,比如飞机或航天器的自动驾驶仪,其中的传感器可能会以复杂且不可预测的方式发生故障。该模型不做关于组件可能故障的具体方式的冒险假设,而是简单假定故障组件可能以最坏的方式失效。
与崩溃故障模型不同,在拜占庭故障模型中,没有进程能“信任”从其他进程收到的单个输入值,因为那个进程可能在“说谎”。一个进程只有在从至少 t + 1 个进程(可能包括自身)收到相同输入值时,才能确定该输入值是真实的,因为此时这些进程中至少有一个是非故障的。
一个任务由三元组 (I, O, ) 定义,其中输入和输出复形 I 和 O 定义了可能的输入和输出值,载体映射 : I →2O 指定了哪些输出值分配对于哪些输入值分配是合法的。需要注意的是,`` 仅约束非故障进程的输入和输出,因为拜占庭进程可以忽略其输入并选择任何它喜欢的输出。
对于严格的无色任务
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



