博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
What is Equivocation in Byzantine Fault Tolerance?
阅读量:6906 次
发布时间:2019-06-27

本文共 665 字,大约阅读时间需要 2 分钟。

Equivocation: a faulty processor that lies (inconsistently) to two correct processors. 

指一个错误节点对两个正确节点发出不一致的信息,而这两个正确节点分别认为所有的正确节点都收到了一致的信息

比如有n=3f个节点,其中有f个错误节点,当这f个错误节点中有一个节点发出信息a给f个正确节点(集A),发出信息b给另外f个正确节点(集B),当所有2f个正确节点都认为所有正确节点都收到了相同的信息,这个错误节点equivocation成功.

那么正确节点如何判断所有正确节点都收到了相同的信息呢?通过广播,每个节点把自己收到的信息广播给其它节点,因为有n个节点以及f个错误节点,那么正确节点认为,只要我收到的信息和n-f-1个节点(除开自己)收到的信息是一致,那就认为所有正确节点收到了相同的信息.此时只需要f个错误节点给A广播a,则A中每个节点收到了2f-1个a,f个b,又n-f-1=2f-1,所以A集中的所有节点都认为所有正确节点统一了信息.同理,在给B集所有节点广播b之后,b也会认为所有正确节点统一了信息. 其实不然,错误节点equivocation成功.

要避免就最简单的办法就是使n-f-1>f+k-1,n-f-1>f+p-1,k,p分别为集合A,B的大小.比如,当n=3f+1时,n-f-1=2f>2f-1.

其次还可以在发信通道上想办法,让节点之间相互监视,以达到给两个正在监视错误节点的正确节点发不一致的信息,会被正确节点检查出来

转载地址:http://glrdl.baihongyu.com/

你可能感兴趣的文章
MBR和GPT分区学习
查看>>
鼠标事件-拖拽
查看>>
忘记网站密码了怎么查看(谷歌浏览器)
查看>>
10.属性
查看>>
1.单一职责原则(Single Responsibility Principle)
查看>>
LeetCode--058--最后一个单词的长度
查看>>
Mysql JSON 新特性用法
查看>>
关于老驱动不能在windows 8下正常安装的问题
查看>>
POJ 1458 Common Subsequence DP
查看>>
#ifdef,#else,#endif,#if用法详解
查看>>
(2,1,2)卷积码译码器的JAVA实现
查看>>
1112对他人的博客评论及建议
查看>>
php 数据库的增删改查
查看>>
python List 对象
查看>>
为知笔记MathJax使用教程
查看>>
@RequestParam注解的使用
查看>>
JQ_简单图片拖动
查看>>
【直视骄阳】生命的留言
查看>>
家居建材企业信息化管理路在何方?
查看>>
华为第1书:《华为交换机学习指南》全面预售中
查看>>