分布式共识算法(拜占庭容错算法)的系列整理一:PBFT、PoW、PoS、DPos

本文详细介绍了分布式共识算法,包括拜占庭容错(PBFT)、工作量证明(PoW)、权益证明(PoS)和委托权益证明(DPoS)。通过实例解析了PBFT的三阶段协议,PoW的哈希计算过程,PoS的权益竞争以及DPoS的受托人机制。分析了各种算法的优缺点,如PoW的资源消耗与PoS的权益集中问题。此外,讨论了51%攻击及不同共识算法在区块链系统中的应用和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

五篇分布式共识系列文章合集:
分布式共识算法(拜占庭容错算法)的系列整理一:PBFT、PoW、PoS、DPos
分布式共识算法(故障容错算法)系列整理(二):Bully、Gossip、NWR
分布式共识算法(故障容错算法)系列整理(三):Paxos
分布式共识算法(故障容错算法)系列整理(四):Raft
分布式共识算法(故障容错算法)系列整理(五):ZAB

什么是分布式共识?

  • 在多个节点均可独自操作或记录的情况下,使得所有节点针对某个状态达成一致的过程
  • 本质是“求同存异”

一致性和共识的区别是什么?

  • 一致性:分布式系统中的多个节点之间,给定一系列的操作,在约定协议的保障下,对外界呈现的数据或状态时一致的
  • 共识:分布式系统中多个节点之间,彼此对某个状态达成一致结果的过程
  • 一致性强调结果,共识强调达成一致的过程,共识算法是保障系统满足不同程度一致性的核心技术

分布式共识的两个关键点是什么?

  • 1.获得记账权
  • 2.所有节点或服务器达成一致

拜占庭容错算法和非拜占庭容错算法

  • 拜占庭将军问题描述的是最困难的,也是最复杂的一种分布式故障场景,除了存在故障行为,还存在恶意行为的一个场景。必须使用拜占庭容错算法(Byzantine Fault Tolerance,BFT)。还有:PBFT 算法,PoW 算法
  • 在计算机分布式系统中,最常用的是非拜占庭容错算法,即故障容错算法(Crash Fault Tolerance,CFT)。CFT 解决的是分布式的系统中存在故障,但不存在恶意节点的场景下的共识问题。这个场景可能会丢失消息,或者有消息重复,但不存在错误消息,或者伪造消息的情况。常见的算法有 Paxos 算法、Raft 算法、ZAB 协议

区块链是什么?

  • 由包含交易信息的区块从后向前有序链接起来的数据结构
  • 其中区块是指很多交易数据的集合,每个区块包括区块头和区块体
    • 区块体包括前一区块的哈希值、本区块的哈希值和时间戳
    • 区块体用来存储交易数据

PBFT

口信消息型拜占庭问题之解的局限

  • 如果将军数为 n、叛将数为 f,那么算法需要递归协商 f+1 轮,消息复杂度为 O(n ^ (f + 1)),消息数量指数级暴增。 如果叛将数为 64,消息数已经远远超过 int64 所能表示的了
  • 尽管对于签名消息,不管叛将数(比如 f)是多少,经过 f + 1 轮的协商,忠将们都 能达成一致的作战指令,但是这个算法同样存在“理论化”和“消息数指数级暴增”的痛点

过程

  • 客户端向主节点发送请求,主节点收到请求后,执行三阶段协议
  • 主节点进入预准备(Pre-prepare)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值