分布式共识算法-paxos


title: 分布式共识算法:Paxos
tag:

  • paxos
  • blockchain
  • 分布式共识算法
    categories:
  • 分布式共识算法

1.paxos应用场景

没有恶意节点,但可能由于网络延迟或crash导致某些节点不能正常收到消息。
paxos要解决的问题是:
将所有节点都写入同一个值,且被写入后不再更改。
paxos需要满足的两个条件

  1. Safety
    只有一个值可能被选中。
    服务器永远不会知道一个值被选中,除非它真的被选中。

  2. Liveness
    一些提议的值最终有一个会被选中 。
    如果一个值被选中,最终会被其他服务器知道 。

2.节点种类

  • proposers:提出提案,提案信息包括提案编号和提议的value
  • acceptor:收到提案后可以接受提案,若提案获得多数派的acceptor的接受,则提案被称为被批准(chosen)
  • learners: 只能“学习”chosen的提案

在paxos算法中,有以下几点需要注意:

  • value只有在被proposers提出后才能被批准(未被批准的决议称为“提案”proposal)
  • 在一次Paoxs算法执行实例中,只chosen一个value
  • learners只能学习chosen的value

3.算法的基本理论

(这部分非常难以理解,可以先看后面的章节,再回过来理解这一章的内容)

主要有3个约束

条件1:Acceptor必须accept它接收到的第一个决议
条件2:如果一个提案(n,v)chosen,那么之后所有chosen的提案(编号更高)包含的value都是v。

acceptor有多个,proposer向一组acceptor提出提案(提案是< 编号,value >对)。

  • promise: Acceptor对proposer承诺,如果没有比你提出的提案的编号更大的提案,我就accpet你提出的提案
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值