secondday--拜占庭之书面算法

书面协议:

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

除了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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值