IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 区块链知识拼图:共识算法(简介) -> 正文阅读

[区块链]区块链知识拼图:共识算法(简介)

很多接触或者了解区块链过区块链的人,对“共识”两个字一定不陌生。今天,便借一个系列的分享,和大家一起学习“共识”算法的一些点滴。可能不全,但希望对大家有所帮助。首先,先通过这篇分享,帮助我们理清共识算法 一些理论概念。


什么是共识

所谓共识,就是指处在分布式系统中的众多节点就某一个决策或行为达成一致。但是达成共识并不是一件简单的事,整个系统中的节点可能会出现各种无法预知的问题,比如说节点宕机、通讯故障或者被恶意攻击了等。

在分布式系统领域,存在着一个FLP不可能定理,F、L、P是其三位提出者的姓名首字母。FLP不可能定理:在一个异步通讯网络中,只要存在一个故障节点,就不存在一种完美的共识算法可以正确的终止。只有在同步网络中,才存在这样的共识算法。

值得注意的是,同步网络中的共识模型使得整个系统在一个可控可预估的时间内到达某一个状态。而异步网络中的共识模型不存在这种可预估的可能,因为其中节点的通讯延迟是无上界的,节点的处理速度也是未知的。可以看出,这种异步模型更贴近我们真实的网络世界。我们上面也提到了,想要在异步环境下设计出这样的一种共识模型或共识算法是不可能的,而同步算法由于其需要等待所有的节点完成某一个动作,性能较为低下,所以,便产生了两者的中间产物:部分同步模型(Partial Synchrony Model)

部分同步模型,顾名思义,同步了但没完全同步。该模型会设置一个全局稳定时间(Global Stabilization Time,GST)作为该模型异步和同步之间的分界线。在GST到达之前,整个系统保持为异步状态,而到GST到达之后,整个系统恢复为同步状态。

但无论是同步网络还是异步网络,一个正确的共识算法必须满足以下三点:

  1. 一致性(Agreement):所有的节点都统一某个结果。
  2. 有效性(Validity):最终的结果必须是网络中某个节点提出来的。
  3. 终止性(Termination):所有节点最终都能到达某个结果。比如前面提到的部分同步模型中,GST后系统切换成同步状态就是为了保证节点能满足终止性。

共识算法有哪些

其实共识算法不是什么新鲜的东西,很久前它名为分布式一致性算法。随着区块链的出现,共识算法便专门被默认为是区块链中的分布式一致性算法。适用于区块链的共识算法按照不同的需要被分为不同的类别。

分类标准可以大致总结为以下这三种,随表进行举例:

  • 按照是否能够容忍拜占庭错误,即是否能够容许节点进行恶意的行为分类。公有链环境存在的节点无法监管和控制,必须使用拜占庭容错算法,而联盟链因为存在一定的信任基础,可以视情况选择非拜占庭容错算法。
  • 按照算法确定性类别分类,即分为确定性共识算法和概率性共识算法。确定性共识算法即一旦共识结果出来了,便不可能再出现更改的可能。而概率性共识算法则可能出现更改的情况,比如bitcoin中的分叉攻击,可能使得链上一部分已经达成的共识作废。
  • 按照选择矿工的方式进行分类。大致可以分为以下两种:选举类和证明类。选举类即通过选举决定谁作为出块节点。而证明类则通过设置某种证明方式,节点通过完成规定的证明过程,获得出块的权力。
共识算法拜占庭容错算法确定性是否需要证明
PBFT×
PoW×
PoS×
Paxos××
Raft××

未完待续

下一小节将和大家分享一些常见的共识算法。咕咕咕咕咕。

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-01-24 10:55:15  更:2022-01-24 10:57:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 19:05:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计