拜占庭容错技术详解
1. 视图变更与正确性证明
在拜占庭容错系统中,视图变更时会有一些特殊情况。部分消息重排序时,副本仍会参与排序阶段,通过多播准备和提交消息来完成。若副本已执行过某个请求,则不会再次执行。另外, min - s 可能大于主副本在视图 v + 1 下最新稳定检查点的序列号。若主副本已进行过 min - s 对应的检查点,会将其标记为稳定,并记录该稳定检查点的证明;若主副本落后太多且未进行该检查点,则需从其他副本请求该稳定检查点的副本。
为了实现更快的视图变更,无故障副本在视图变更计时器到期前,只要收到来自其他副本的 f + 1 条有效视图变更消息,就会加入视图变更。
1.1 安全性证明
定理表明,所有无故障副本会以相同的总顺序执行接收到的请求。已经证明,若两个无故障副本在同一视图 v 下为序列号 s 进行本地提交,那么它们必定将 s 绑定到相同的请求 m 。还需证明的是,若两个无故障副本在不同视图下为序列号 s 进行本地提交,它们也必须将 s 绑定到相同的请求 m 。
假设 m ≠ m' 且不失一般性地设 v' > v 。因为副本 i 的 commit - local(m, v, s, i
超级会员免费看
订阅专栏 解锁全文
2262

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



