共识算法 —— PoA
定义
PoA的全称是“Proof Of Authority” 权威证明,(网上有些文章全称写得是“Proof Of Activity”,个人感觉明显不对,大家自行鉴别);
最早提出人是Ethereum 以太坊前技术专家Gavin Wood 在2017年提出。
PoA是一种基于信誉(或声誉)的共识算法,最适合动用在私有链中,在此算法中矿工凭借的不是抵押的加密货币而是个人的信誉而被选为区块的验证者,区块的验证者具有出块、签名和上链的权限。
原理
在PoA算法中,不再有普通矿工,拥有出块、签名和上链权限的矿工(也就是权威者)是通过普通节点选举而来(也就是说每个普通节点都有可能变为权威者,得到超50%的普通节点的选举票即可),权威者会附加一个信誉(或声誉)的信息,一但信誉(或声誉)出现问题,其它权威者们就可以通过投票的方式将其踢出权威者行列。
PoA机制下的矿工不像PoW矿工那样通过挖矿来赚取奖励,被认可且有影响力的矿工(权威者)可以参与验证交易和区块,参与验证的矿工(权威者)可以对交易的所有操作进行验证并得到奖励。
参与必需满足如下条件才能成为权威者:
1、必须在网络上正式验证过身份,并且能在公共领域中查到身份信息;
2、参与者必需具备一些资质来获得验证交易、区块和从中获取收益的权限;
3、必需确保验证程序正常,并与其它权威者保持一致。
流程
这里主要说明交易是如何上链的
特点
优点
1、性能好,验证交易的时间明显缩短,产生区块的时间加快。
2、节能。
3、审查、黑名单之类的功能比较容易实现。
缺点
1、趋向中心化。
2、通常用于私链和许可区块链。
3、由于权威节点的信息公开程度比较大,所以权威节点比较容易成为黑客的攻击对象。
共识算法 —— PoA相关推荐
- Windows环境下搭建基于PoA共识算法的多节点以太坊私链
本文阐述在一台windows电脑上,搭建基于PoA共识算法的以太坊私链(3个挖矿节点),步骤如下: (1)生成3个矿工账号 假设3个节点的数据目录分别是: 节点1 e:\work\test\1_poa ...
- [以太坊源代码分析]III. 挖矿和共识算法的奥秘
本系列的前两篇分别介绍了以太坊的基本概念,基本环节-交易,区块.区块链的存储方式等,这篇打算介绍一下"挖矿"得到新区块的整个过程,以及不同共识算法的实现细节. 1.待挖掘区块需要组 ...
- 投票选举 算法_区块链主流共识算法一文全通
在每种伟大的加密货币背后,都有着一个伟大的共识算法.没有共识算法是完美的,但是它们各有千秋.在加密世界中,需要共识算法来防止重支付.这是迄今为止一些最流行的共识算法的简要介绍,从区块链到DAG以及介于 ...
- 云小课 | 区块链关键技术之一:共识算法
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:区块链是一种去中心 ...
- 以太坊Geth 共识算法源码解析
共识算法 目前以太坊中有两个公式算法的实现,分别为clique和ethash.其中clique是PoA共识的实现,ethash是PoW共识的实现,其相应的代码位于go-ethereum/consens ...
- 比较流行的几种区块链共识算法
在每一种的加密货币背后,都有一种伟大的共识算法. 但没有一种共识算法是完美的,但它们各有优缺点.他们的主要目标是防止双重支出. 重要的是要记住,它们都不是绝对完美的,在分散或部分分散化的环境中,不存在 ...
- 榕树贷款分布式共识算法分为CFT与BFT(榕树贷款)
榕树贷款分布式共识算法可以分为CFT(Crash Fault Tolerance)与BFT(Byzantine Fault Tolerance). 榕树贷款CFT算法如Paxos.Raft,只能容忍分 ...
- 区块链中的共识机制以及共识算法
什么是共识 共识,从字面上来看,是在某方面达成一致.打个比方,一个部门最近来了几位新同事,部门主管为了欢迎新同事的加入,以能让新同事融入到新环境,提议下班后聚个餐,对于聚餐了,大伙对此举双手赞成,毕竟 ...
- 区块链入门系列之共识算法
区块链入门系列文章 区块链基本概念和名词解释 P2P 共识算法 梅克尔-帕特里夏树 从零开始搭建区块链 这里写自定义目录标题 区块链入门系列文章 前言 POW POS PBFT Raft 其他共识算法 ...
最新文章
- DL-5 深度学习框架的对比
- 转帖:关于MongoDB你需要知道的几件事
- 210124阶段三信号屏蔽,管道通信
- 从bootm 命令讲起/U-boot的环境变量: bootcmd 和bootargs
- 狼叔直播 Reaction《学习指北:Node.js 2022 全解析》
- ftp上传文件服务器报550错误_java ftp下载文件,Java 实现ftp上传下载文件
- c语言如何删除数组中的某一个元素_数据结构之线性表高效删除重复元素
- python处理word或者pdf文件_利用python程序生成word和PDF文档的方法
- 从零学ELK系列(四):Docker安装Elasticsearch(超详细图文教程)
- Linux内核之capabilities能力
- python in visual studio
- wps分析工具库如何加载_分析为周杰伦打榜的夕阳红老年团,告诉你他们真实年龄!...
- QQ查看撤回的语音消息,slk 文件转 mp3
- JAVA:实现一个CircularQueue循环队列算法(附完整源码)
- 单页应用首屏加载速度慢怎么解决?
- 路的选择与人生的哲思──读《未选择的路》
- RDMA RC UC UD
- 好玩的API调用之---星座运势的API与爬虫爬取
- 国内应届生是不是把Leetcode刷的滚瓜烂熟就能进google了?
- 如何开展软件测试工作
热门文章
- PDF转Word免费的软件有哪些?教给你三种转换方法
- CAD转PDF其实很简单,掌握这4种方法就可以
- js手机号中间部分隐藏****,显示前三位和后四位
- 哨兵2号数据的下载(各种方法)
- Flume 数据采集组件
- 个人的第一个Chrome插件ColorConversion
- 全球与中国远程监控(M&C)系统市场深度研究分析报告
- 鸿蒙系统正式版在哪下载,鸿蒙系统正式版安卓app下载-鸿蒙系统正式版最新下载v1.0_求知软件网...
- ZeroTier-全网畅连
- 5-6 uniapp 图片压缩