博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
secondday--拜占庭之书面算法
阅读量:6251 次
发布时间:2019-06-22

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

书面协议:

上面揭示了口头协议不能追本溯源、如果我们引入一种方法让他能达到追本溯源呢?

除了A1、A2和A3以外、我们在口头协议上加入一个A4、使之成为书面协议

A4:(1)、签名不可伪造、一旦被篡改即可被发现、而叛徒的签名可被其他叛徒伪造

        (2)、任何人都可以验证签名的可靠性

我们用集合Vi来表示副官受到的命令集、这是一个集合、也就是满足互异性(没有重复的元素)等集合的条件、再定义一个choice(V)函数来决定各个副官的选择、这个函数可以有非常多形式、只需满足两个条件:

1、如果集合V只包含了一个元素v、那么choice(V) = v

2、choice(o) = RETREAT 其中o是空集

任何满足这两个条件的函数都可以作为choice()、然后我们发现SM(m)并不是递归算法、只要让各个V集相同、choice(v)也一定能得到相同的值

解释;

初始化:Vi = 空集合

(1)、将军签署命令并发送给没个副官

(2)、对于没个副官i

    A:如果副官i从发令者收到v:0的消息、且还没有收到其他序列、那么他    (i) 使Vi为{v};(ii)发送v:0:j1:...jk给其他所有副官

    B:如果副官i收到了形如:v:0:j1:...jk的消息且v不在集合Vi中、那么他    (i)添加v到Vi中   (ii)如果k

(3)、对于没个副官i、当他不再接受任何消息时、则遵守命令choice(Vi)

如果司令忠诚、由于其签名不可伪造、所有忠诚的副官都将得到一个单点集{v}、他们采用相同的命令集Vi相同、得到的choice(Vi)也为v、满足LC1\LC2

如果司令并非忠诚、只需要满足LC1、但是算法SM(m)使得所有忠诚的副官得到相同的Vi、使用choice()函数采用的命令也就一定相同

推演算法

img_5c24126c65ef1a431bb19a0ac1ca78f6.png
m=1,n=3

img_a6f7a16ba2c007f4c668fb7bb2aa7e14.png
m=2,n=4

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

你可能感兴趣的文章
MongoDB监控一 mongostat
查看>>
Linux下SVN服务器搭建和维护
查看>>
OAuth2的一些改变
查看>>
Linux下搭建Pureftp
查看>>
iOS NSDate日期的基本使用
查看>>
带进度条的HTML5上传文件
查看>>
我的友情链接
查看>>
Pinterest架构之路-两年内从0到10亿月访问量
查看>>
【SeaJS】【2】再识SeaJS
查看>>
java中break和continue的区别
查看>>
spring mvc的表单类型转换(custom property editor)
查看>>
zabbix 安装配置及个别问题处理
查看>>
关于redis、memcache、mongoDB 的对比
查看>>
rancher.io:基于docker的开源PaaS
查看>>
object Source/sender, EventArgs e
查看>>
CSS的选择器
查看>>
[vSphere培训实录]虚拟机高可用
查看>>
关于Domino服务器升级
查看>>
用win2003作NAT服务器(NAT+ADSL)
查看>>
缓存(cached)与缓冲(buffers)的区别
查看>>