Distributed computing FLP不可能结果证明中0-和1-价构型的存在性

Distributed computing FLP不可能结果证明中0-和1-价构型的存在性,distributed-computing,consensus,Distributed Computing,Consensus,在已知的论文中,FLP(Fisher、Lynch和Paterson)证明了一个令人惊讶的结果,即没有一个完全异步的一致性协议能够容忍甚至一个未宣布的进程死亡 在引理3中,在证明D同时包含0价和1价构型后,它说: 如果一个配置在一个步骤中由另一个配置产生,则调用两个配置邻居。通过一个简单的归纳,存在邻居C₀, C₁ ∈ C使Dᵢ = e(C)ᵢ) 是一价的,i=0,1 除非他们声称存在这样的C,否则我可以遵循整个证明₀ 和C₁. 您能给我一些提示吗?D(将e应用于C元素后的可能配置集)既包含0价配

在已知的论文中,FLP(Fisher、Lynch和Paterson)证明了一个令人惊讶的结果,即没有一个完全异步的一致性协议能够容忍甚至一个未宣布的进程死亡

在引理3中,在证明D同时包含0价和1价构型后,它说:

如果一个配置在一个步骤中由另一个配置产生,则调用两个配置邻居。通过一个简单的归纳,存在邻居C₀, C₁ ∈ C使Dᵢ = e(C)ᵢ) 是一价的,i=0,1

除非他们声称存在这样的C,否则我可以遵循整个证明₀ 和C₁. 您能给我一些提示吗?

D
(将
e
应用于
C
元素后的可能配置集)既包含0价配置,也包含1价配置(假设不包含二价配置)


也就是说,
e
C
中的每个元素映射为0价或1价配置。根据
C
的定义,必须有一个根元素通过一系列“邻居”连接到所有其他元素因此,必须有一个边界点,
C
中的一个元素在
e
之后导致0价配置,它与
C
中的一个元素相邻,该元素在
e
之后导致1价配置,定义一个映射
f
,从而
f(C)=0
,如果
e(C)
是0价的,否则,
f(C)=1
,如果
e(C)
是1价的

因为
e(C)
不能是二价的,如果我们假设
D
没有二价配置,
f(C)
只能是0或1


从树中的初始二价配置排列可访问的配置,树中必须有两个相邻的C0,C1,
f(C0)!=f(C1)
。因为如果不是,则所有的
f(C)
是相同的,这意味着
D
只有所有的0价配置或所有的1价配置。

我曾经阅读所有这些论文,却发现这完全是浪费时间

结果一点也不奇怪

你提到的那篇论文“[一个错误就无法达成分布式共识] 进程]”

是一长串复杂的数学证明,简单地等同于:

1) 共识是一种确定性状态

2) 环境中的一个(或多个)故障系统是非确定性环境

3) 在一个不确定的环境中,无法达到任何确定的状态、行动或结果

结束。无需进一步考虑

这就是它在阿卡达米亚以外的现实世界中的工作方式

如果您希望代理达成共识,那么必须添加同步(计时模型)近似构造,以使环境在给定的约束集内具有确定性。例如,简单的构造,如超时、Ack/Nack、握手、见证或更复杂的构造

您越想接近同步确定性模型,构造就变得越复杂。假设的同步模型将具有无限复杂的结构。还要记住,在非平凡的分布式系统中永远无法实现完全确定的同步模型。这是因为在任何具有可变初始状态的非平凡动态多变量系统中,在任何时间点都存在无限多个可能的状态、行为和结果


考虑由于跳数21处路由器中的缓冲区溢出错误而检测丢弃的TCP数据包的构造的复杂性。检测同一缓冲区溢出错误的复杂性将检测信号从构造本身丢弃。

这个特定引理是本文的核心,我观察到它在另一篇论文“无等待同步”中被广泛用于证明同步对象的一致数什么是配置中的元素?更具体地说,什么是根元素?我猜这里的“元素”就是本文中提到的“处理器”。但我也担心“根元素”的定义?你能澄清一下吗?
根据C的定义,必须有一个根元素通过一系列“相邻”关系连接到所有其他元素,
为什么C的定义会导致这种说法?我使用的是问题的语言<问题和我的回答中的code>C与论文中的
\mathscr{C}
相对应。这是一组由“让
\mathscr{C}
成为不应用e就可以从C访问的配置集”定义的配置集。
\mathscr{C}
的元素是配置。
\mathscr{C}
的定义将其描述为一组可到达的配置,即一组元素,所有元素都通过“相邻”关系连接。