美文网首页
secondday--拜占庭之书面算法

secondday--拜占庭之书面算法

作者: Winnifred_ | 来源:发表于2018-09-09 12:42 被阅读0次

书面协议:

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

除了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()函数采用的命令也就一定相同

推演算法

m=1,n=3 m=2,n=4

相关文章

  • secondday--拜占庭之书面算法

    书面协议: 上面揭示了口头协议不能追本溯源、如果我们引入一种方法让他能达到追本溯源呢? 除了A1、A2和A3以外、...

  • 拜占庭算法之口头协议

    1982 年,兰伯特在其论文 “拜占庭将军问题”中,提出了两种解决拜占庭问题的算法,一种是口头协议,一种是书面协议...

  • 区块链共识机制

    非拜占庭问题,采用帕克斯算法和RUFT算法;拜占庭问题,采用拜占庭容错算法,进一步发展了优化PBFT算法。PBFT...

  • 2018-07-20小白学区块链——拜占庭容错

    前文我们谈了算力51%的问题,比特币网络为了解决这个问题,设计者中本聪引用了拜占庭容错算法。在谈拜占庭容错之...

  • Tendermint 共识算法

    介绍 分布式一致性算法一般可以分为两类:拜占庭容错和非拜占庭容错。非拜占庭容错算法如 Paxos, Raft 等在...

  • 区块链技术基础—常见共识算法

    拜占庭将军问题 提到共识算法就不得不提到拜占庭将军问题。 拜占庭将军问题,是由莱斯利·兰波特在其同名论文拜占庭将军...

  • 细说区块链共识机制之PBFT

    PBFT意为实用拜占庭容错算法,这个算法是卡斯特罗和利斯科夫在1999年提出来的。解决了原始拜占庭容错算法效率不高...

  • 浅读共识算法

    PBFT(拜占庭容错实用算法) 拜占庭问题:拜占庭将军问题是一个协议问题,拜占庭帝国军队的将军们必须全体一致的决定...

  • PBTF共识机制

    简介 实用拜占庭容错 (Practical Byzantine Fault Tolerance, PBFT) 算法...

  • 拜占庭将军问题(三)—— 书面协议

    在上篇文章中,对口头消息算法OM(m)进行了阐述,OM(m)算法能够处理在大于3m个将军中至多存在m个叛徒的拜占庭...

网友评论

      本文标题:secondday--拜占庭之书面算法

      本文链接:https://www.haomeiwen.com/subject/cynrgftx.html