PoW vs. BFT
写在前面
比特币挖矿对应PoW(工作量证明)、拜占庭容错对应BFT。
PoW和BFT目的都是在去中心化且不可信的分布式环境中达成共识,但两者思路不同,所能达成的共识在效果上存在细微差别,而在性能(吞吐率和可扩展性)上面则呈现两极分化。
PoW
-
PoW可以认为是间接达成共识。它的做法是网络的参与者都在努力解决一个数学难题,该题目很难得到答案(且只能那个用类似穷举的方法来求解),但很容易验证答案是否正确。
-
由于产生的区块可能分叉,比特币网络通常需要等待6个区块才能以很高的概率确认某个交易被网络接受。
-
无须任何身份认证。
-
放宽了对一致性的要求,满足可用性和分区容忍性。(CAP理论)
BFT
-
BFT可认为是直接达成共识。网络的参与者直接通过投票的方式来决定共识的内容。
-
一旦达成一致,新的共识就会被加入到区块链上去。(即共识的不可改变性)
-
需要每个节点的身份以及数字证书(这就是最大的限制,于是才有了后来的FBFT中的SCP)
-
在分区容忍性上做出让步,满足一致性和可用性。(CAP理论)
对比总结
- 性能对比
响应时间 | 吞吐率 | 可扩展性 | |
---|---|---|---|
PoW | ✓ | ||
BFT | ✓ | ✓ |
- CAP理论
一致性 | 可用性 | 分区容忍性 | |
---|---|---|---|
PoW | ✓ | ✓ | |
BFT | ✓ | ✓ |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!