文章分类 - 共识机制
摘要:Practical Byzantine Fault Tolerance 实用拜占庭容错,是传统BFT的一种可用性实现,算法的时间复杂度为O(n^2^),使得其可以在现实世界中解决拜占庭容错问题,其在联盟链中有广泛应用,但由于pbft 不能动态添加删除节点且节点加入需要认证机制(女巫攻击),时间复杂度
阅读全文
摘要:简介 拜占庭将军问题 拜占庭帝国想要进攻一个强大的敌人,为此派出了10支军队去包围这个敌人。这个敌人虽不比拜占庭帝国,但也足以抵御5支常规拜占庭军队的同时袭击。基于一些原因,这10支军队不能集合在一起单点突破,必须在分开的包围状态下同时进攻。他们任一支军队单独进攻都毫无胜算,除非有至少6支军队同时袭
阅读全文
摘要:前置知识 拜占庭共识协议主要以下3种网络假设: 同步 存在一个已知的有限时间界限∆,对于发送的任何消息,对手最多可以延迟∆传递 异步 对于发送的任何消息,对手可以延迟任何有限时间后传递,但每个消息最终都必须到达 半同步 假设存在一个已知的优先时间界限∆和一个GST(Global Stabilizat
阅读全文
摘要:正文 NWR 协议是分布式系统中用于控制一致性级别的一种策略.在 Amazon 的 Dynamo 云存储系统中就应用 NWR 来控制一致性,这三个字母分别代表着: N: 副本数量, 例如 GFS 或 Ceph 中的 3 副本 W: 一次成功的更新操作至少需要多少副本写入成功,在 GFS 和 Ceph
阅读全文
摘要:1 简介 在分布式系统的数据冗余(复制集)中我们提到在中心化复制集中主节点选举是非常重要的一个步骤.最初所有节点都是普通节点,经过选举/指定操作后有了主节点才能对外提供服务,并且当主节点失效时能够快速的在所有机器中重新选择一个主节点. RAFT 是一个简单实用的一致性协议(在区块链中一般称为共识协议
阅读全文
摘要:一. 概述 在 GFS 中使用租约(Lease)机制来保持多个副本间变更顺序的一致性.接下来我们以 GFS 为例介绍Lease 租约,首先介绍 GFS 中的一些概念: Client: 使用 GFS 进行存储服务 Master: 元数据服务器, 同时管理读写与 Chunk 的分配 Chunk: 文件的
阅读全文