本站资源限时全部免费
开启辅助访问
切换到窄版
登录
立即注册
首页
论坛
前线论坛
频道
软件
插件
Plugin
网课
搜索
搜索
每日签到
本版
文章
帖子
用户
QQ前线乐园
»
论坛
›
前线大厅
›
新闻资讯
›
BFTCore共识算法可以应对分布式系统中的拜占庭故障(上 ...
返回列表
发新帖
BFTCore共识算法可以应对分布式系统中的拜占庭故障(上)
[复制链接]
986
|
0
|
2022-12-24 08:59:38
|
显示全部楼层
|
阅读模式
BFT共识算法可以应对分布式系统中的拜占庭故障(Byzantine failures),也就是可以在集群中部分节点存在恶意行为时依然保证整个系统的正常工作。
1.1 Tendermint Core
Tendermint Core 是一个拜占庭容错的中间件,可以安全的将任何语言开发的状态机复制到集群中的其他机器上。Tendermint Core已经被用于Cosmos、币安链等多种公链环境中。
Tendermint Core的协议详情可以参考这里,开发教程访问这里:tendermint开发详解。
1.2 BFT-SMaRt
BFT-SMaRt是一个拜占庭容错的状态机复制实现,采用Java开发,目前由里斯本大学的LsSIGE研究组负责维护。BFT-SMaRt要求JRE 1.8+。
BFT-SMaRt是最知名的Java版BFT实现,京东的区块链就是采用这个库解决共识问题。
1.3 BABBLE
Babble是用于分布式应用的拜占庭共识平台,它可以让一组计算机表现的如同单一计算机。Babble它使用P2P网络和BFT共识算法来保证一组彼此互联的计算机可以同样的顺序处理同样的命令,也就是通常说的状态机复制。Babble可以让整个系统安全的应对部分节点的故障或恶意行为。
Babble主要采用Go语言开发,但是其设计目标是可以集成进任何语言开发的应用,如上图所示。
1.4 Concord-BFT
concord-bft是vmware开源的一个通用的状态机复制库,可以应对集群中的恶意行为(拜占庭故障)。 concord-bft被设计用于分部署数据仓库复制的核心构建模块,特别适合作为许可制区块链系统的基础。
concord-bft的实现基于这片论文中的算法:SBFT: a Scalable Decentralized Trust Infrastructure for Blockchains。
1.5 HBBFT
HBBFT是论文Honey Badger of BFT Protocols提出的蜜獾BFT共识算法的Rust实现。HBBFT要求Rust 1.36+以及cargo,下面展示了其中的一个仿真示例:
<p><pre> <code class="language-text">$ cargo run --example simulation --release</code></pre></p>
蜜獾(Honey Badger)共识算法可以让分布式异步环境中的节点交易达成一致,该算法不需要主导节点,可以应对恶意节点的攻击,适合于去中心化数据库和区块链应用。
1.6 libbft
libbft是一个轻量级的拜占庭容错库,用于neo区块链,采用C++开发,由neo研究院维护,计划移植到Python、go等多种语言。
2、Raft共识开发库
Raft共识可以处理集群中部分节点的崩溃故障,但不能处理恶意节点行为,因此通常用于节点身份已知的环境中,例如许可制区块链 Hyperledger Fabric 就使用了基于Raft共识的排序服务。
Raft官网列出了数十种各种语言开发的Raft共识算法实现,可以访问这里获取详细清单:raft.github.io/
3、Paxos共识
Paxos共识算法是比较早期的分布式系统共识算法,特点是比较复杂,目前用的已经不多。
3.1 Paxos-consensus
Paxos-consensus是一个Python实现的Paxos共识协议库,支持Python 2.6+。
3.2 Pluggable Paxos
Pulggable Paxos是一个采用go语言实现的paxos共识协议库,采用可插拔设计。
3.3 Go Paxos
Go Paxos是另一个采用go语言实现的paxos共识协议库。
3.4 Java Paxos
Java Paxos是一个基本的Paxos共识协议库,采用java实现。
4、PoW共识 - Proof of Work
PoW,即工作量证明,其核心设计思路是提出求一个复杂度计算值的运算过程。用户通过进行一定的运算和消耗一定的时间来计算一个满意值并提供给服务方快速做验证,以防止服务被攻击,数据资源被滥用,确保数据交易的公平和安全。这一概念最早在1993年由Cynthia Dwork和Moni Naor的学术论文中提出,并在1999年由Markus Jakobsson与Ari Juels 对工作量证明这一词的进行了发表。到了2008年这工作量证明技术被运用在比特币区块链系统上,到目前为此PoW技术在区块链中起着至关重要的作用,它也成为了加密货币中主流的共识机制之一,像比特币,以太坊等都有使用。
4.1 proof-of-work
Proof-of-Work是一个JS实现的PoW共识库,使用SHA256和布隆过滤器。下图显示了目标难度与解析时间的关系:
4.2 pow.py
pow.py是PoW共识的Python实现。
4.3 go-pow
go-pow是PoW共识的go语言版本的简单实现。
4.4 ProgPow
ProgPow实现了一种可以对抗ASIC的PoW算法。
5、PoS共识 - Proof of Stake5.1 ValidateProofOfStake
ValidateProofOfStake是一个纯粹的权益证明共识协议,它使用区块 验证人和铸币人惩罚机制,无需锁定状态。
原文链接:区块链共识算法开源代码大全 - 汇智网
新浪短链接算法实现
,
新浪微博短链接
,
微博短链接算法
相关帖子
•
微信朋友圈系列篇(16):Facebook内容排序算法研究
•
【师】useragent工具utils分析:抓取并持久化
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
LI123
1064
主题
1065
帖子
3764
积分
论坛元老
论坛元老, 积分 3764, 距离下一级还需 9996235 积分
论坛元老, 积分 3764, 距离下一级还需 9996235 积分
积分
3764
加好友
发消息
回复楼主
返回列表
QQ教程篇
网络分享
绿色软件
虚拟商品
影视资源
VIP项目
网络资源
软件下载
有奖活动
新闻资讯
图文推荐
热门排行
1
TikTok:粉丝哪里来?上哪“买粉”?
2
为什么选择微博粉丝自助?看完你就知道了!
3
为什么选择?我们会以最专业的水准,最快的速度
4
抖音短视频出了个领现钱的主题活动
5
快手怎么能涨粉快?发布什么样的作品能够提高流量
6
快手刷粉神器,快手评论让你快速成为快手直播网红
7
避迹藏时-快手买赞-所有代快手点赞
8
50个快手刷播放点,不看你就亏大了!