NO.17 浅谈共识机制(POW、POS、DPOS、PBFT、POP)

2023-11-18

区块链是一种去中心化的分布式账本,可以简单理解为分布在全球各个节点的分布式数据库,数据库由区块按时间顺序相连而成,区块中记录的是数笔交易。

 

为了能支持这一套系统的运行,需要各节点矿工的参与,他们参与的主要原因是因为有奖励,奖励可以去交易所换成钱,他们这样参与的过程类似于挖矿,所以被成为矿工


矿工在什么样的规则下才会得到奖励,这样的规则在区块链中叫共识机制。以下是几种常见的共识机制。

 

POWProof of Work,工作量证明。按劳分配,谁工作量多,谁拿的多。体现在谁的挖矿设备CPUGPU等更牛逼。缺点就是太费电了,还污染环境。

 

POSProof of Stake,股权证明。按照持有此币数量比例以及持有的时间,来进行发放利息,跟把钱存银行是类似的。优点是节能,不需要挖矿了。

 

POW+POS把这两种机制进行结合。

 

DPOSDelegated Proof of Stake,授权股权证明。持有币的人可以进行投票选举,选举出一些节点做为代表来记账,类似于全国人名代表大会制度。

 

PBFTPractical Byzantine Fault Tolerance,实用拜占庭容错算法。链上所有人参与投票,结果按照拜占庭共识算法来处理。数学上有一个很有名的问题叫拜占庭将军问题,很有意思,大家可以度娘。

 

POIProof of Importance,重要性证明。使用账户重要性评分来分配记账权的概率。

 

POPProof of Participation,参与度证明。结合了DPOSPOI的思想。

 

【作者:Sammy,做为区块链的一个长期学者,研究者,对区块链有着强烈的兴趣,愿意跟大家分享区块链知识,带领大家一起进入区块链的大门,共同体验区块链带来的变革。原创作品,欢迎转载,转载请标明出处。可加微信公众号共同探讨、学习,扫码或搜索:区块链之我见】


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NO.17 浅谈共识机制(POW、POS、DPOS、PBFT、POP) 的相关文章

  • 支付宝转账有“后悔药”了 遇诈骗这样做可冻结资金

    在支付宝上转完账猛然意识到可能是骗子 怎么办 今后 可以 一键 撤回了 昨天 在2018网络安全生态峰会上 蚂蚁金服集团副总裁芮雄文宣布支付宝的延时到账升级为2 0 如果遭遇诈骗 只要延时转账还未到账 及时报警就能冻结交易 一旦警方下达止付
  • C++ primer Plus 第十三章复习题

    1 派生类从基类哪里继承了什么 成员数据 还有一半的成员函数 公有成员和保护成员是可见得 私有成员不可见 2 派生类不能从基类哪里继承什么 构造函数 析构函数 赋值运算符 还有友元函数 都不能继承 3 假设baseDMA operator
  • 大数据毕业设计 深度学习股票预测系统 - python lstm

    文章目录 0 前言 1 课题意义 1 1 股票预测主流方法 2 什么是LSTM 2 1 循环神经网络 2 1 LSTM诞生 2 如何用LSTM做股票预测 2 1 算法构建流程 2 2 部分代码 3 实现效果 3 1 数据 3 2 预测结果
  • 什么是高内聚,低耦合?

    高内聚 低耦合是一个老生常谈的话题 所以拿出来说一下 我们在看Linux的一些资料 或者是在面试 又或者跟一个比较牛的大佬讨论技术的时候 可能会听到这个概念 所以 什么是高内聚 低耦合呢 高内聚 我们指的是认识的一群人或者一些东西分成的一类
  • 第一次从零到有开发项目

    在达内培训中 我们有项目峰会的活动 身为项目组长我组织了我的组员们从零到有进行了一个类CSDN的博客网站开发 目录 项目介绍 项目页面 总结 项目介绍 Kun吧 Kun吧是一个类csdn的学习技术社区 在这里可以交流学习技术 分享学习日常
  • 第十一届蓝桥杯C/C++回文日期

    include
  • 程序员转行做什么工作比较好?

    作为程序员来说 其实程序员的发展之路有多种 你可以结合自己的实际情况去做出相应的选择 程序员最基本的发展路线就是 从普通程序员做到熟练的开发者 接下来就会有多种选择 你可以选择做高级开发工程师 也可以成为一个一线熟练的开发人员 或者你也可以
  • Yolo v7的最简TensorFlow实现

    Yolo v7去年推出之后 取得了很好的性能 作者也公布了基于Pytorch实现的源代码 在我之前的几篇博客当中 对代码进行了深入的解析 了解了Yolo v7的技术细节和实现机制 因为我一直是用的Tensorflow 因此也想尝试把代码移植
  • c#数据结构转c++指针

    C string转c char C 使用IntPtr类型接受Marshal StringToHGlobalAnsi分配的内存 string sno 12345 IntPtr strsno Marshal StringToHGlobalAns
  • c++基础:循环练习案例展示

    1 猜数字 题目 系统随机生成一个1到100的数字 玩家进行猜测 如果猜错 提示玩家数字过大或过小 如果猜对恭喜玩家胜利 并且退出游戏 代码 include
  • Portainer -- Docker可视化管理工具

    http blog csdn net A632189007 article details 78779920 https portainer io install html https portainer readthedocs io en
  • vue3 computed

    前言 import computed from vue let aa computed gt 传回调函数 let aa computed 传对象 返回的类似一个ref包装的响应式对象 如果值是基本数据类型 需要 value进行拆箱 一 常规
  • Kaggle猫狗分类Pytorch CNN

    介绍 猫狗分类来源于Kaggle上的一个入门竞赛 https www kaggle com competitions dogs vs cats redux kernels edition overview 代码及解释 首先 导入一系列的库
  • python如何输出文字和变量_python中print怎么输出文字和变量

    本帖最后由 ButcherRabbit 于 2017 6 27 13 06 编辑 你说的知识点是 字符串拼接 n 3 print 还有多少 str n 机会 用加号拼接的话 记得拼接的元素必须同一个类型 如 还有多少 和 机会 属于字符串类
  • Cocos2dx-OpenGL ES2.0教程:编写自己的shader(2)

    在上篇文章中 我给大家介绍了如何在cocos2d x里面绘制一个三角形 当时我们使用的是cocos2d x引擎自带的shader和一些辅助函数 在本文中 我将演示一下如何编写自己的shader 同时 我们还会介绍VBO 顶点缓冲区对象 和V
  • 确知信号分析

    写在前面 现代通信原理是电子系的一门专业必修课 介绍了通信原理系统的基本概念 基本原理 基本技术以及设计和分析的方法 俗话说得好 实践出真知 要想学好这门课 必要的动手实践是必不可少的 实践是基于Matlab上实现仿真的 Matlab具有函

随机推荐

  • Access denied for user XX

    解决方法 将pom xml中的mysql connector java降低版本 直接去maven仓库复制 https mvnrepository com 比如
  • python+flask+mysql实现数据可视化

    准备工作 1 Python3 2 Echarts 下载地址 echarts 3 Flask 项目结构 创建DB 使用sqlite数据库 coding utf 8 author liudinglong software pycharm fil
  • 1.R语言基础知识

    目录 一 R语言的介绍 R语言的下载与按照 Rstudio R包的安装 工作空间管理 基本运算 二 R的数据结构 1 数据类型 2 数据类型的转换和判断 3 数据结构 三 导入 导出数据 获取内置数据集 获取其他格式的数据 四 数据框的常用
  • AI绘画指南:在CentOS7中安装Stable Diffusion WebUI

    一 安装GPU驱动 1 1 购买云服务器 在腾讯云选购一台GPU型的服务器 最好的境外的 境外的服务器后面关于镜像加速的步骤都可以跳过 购买成功之后腾讯的站内信会发送初始的密码给你 登录成功后会自动帮我们安装相关的驱动 提示整个过程大概需要
  • LeetCode-283. 移动零【数组,双指针】

    LeetCode 283 移动零 数组 双指针 题目描述 解题思路一 首先想到的是双指针 但是不行 非零元素的位置会改变 解题思路二 改进的是每次从当前0元素的位置取后面第一个非0元素替换过来 替换之和那个break非常重要 解题思路三 优
  • Future 和 Callable

    一 Runnable 缺陷 不能返回一个返回值 不能抛出 checked Execption 二 Callable接口 类似于Runnable 被其他线程执行的任务 实现call方法 有返回值 三 Future的作用 Callable和Fu
  • 【infiniband】 MAD、 uMAD、Verbs、RDMACM

    1 MAD Management Datagram MAD是InfiniBand网络中用于管理和配置的数据报文 它包含了各种类型的管理操作 如查询端口状态 配置端口参数等 MAD通常用于执行网络管理任务 2 uMAD User MAD uM
  • 模板类 通用数组的实现

    实现自定义数组 重载 lt lt 运算符 并且数组可以使用自定义类 头文件 ifndef MYARRAY H define MYARRAY H include
  • pandas datetime与时间戳互相转换,字符串转换datetime

    参考pandas to datetime的api 字符串转换为pandas datetime 通过to datetime函数可以把字符串转换为pandas datetime df pd DataFrame date 2011 04 24 0
  • python的xlrd、xlwt模块/pymsql使用

    xlrd模块 https www cnblogs com machangwei 8 p 10736528 html label0 xlwt模块https www cnblogs com machangwei 8 p 10738244 htm
  • Filter过滤器实现权限拦截

    一 要求 用户登陆之后才能进入主页 用户注销之后不能进入首页 二 思路 用户登陆之后 向session中放入用户的数据 进入主页的时候要判断用户是否已经登陆 在过滤器中实现 public void doFilter ServletReque
  • 电脑怎样连接打印机?分享4个简单操作!

    为了更方便学习 我买了一个打印机来打印需要用的资料 但是操作了半天还是没连接上 想请问一下有经验的朋友是怎么将打印机与电脑进行连接的呢 在现代人的工作和生活中 打印机是一个重要的设备 我们可以利用打印机进行资料 文件等的打印 但是也会有很多
  • SpringBoot调用PageHelper.startPage(Object params)报错:分页查询缺少必要的参数:XXX

    问题描述 项目中使用了MyBatis分页插件 调用以下方法实现分页 无论传入JavaBean还是Map都报错 分页查询缺少必要的参数 XXX Map
  • 【Docker】云原生利用Docker确保环境安全、部署的安全性、安全问题的主要表现和新兴技术产生

    前言 Docker 是一个开源的应用容器引擎 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中 然后发布到任何流行的Linux或Windows操作系统的机器上 也可以实现虚拟化 容器是完全使用沙箱机制 相互之间不会有任何接口 云原生
  • Python学习 第二章 数据类型

    Python学习 第二章 数据类型上 1 数字 1 1 整型 int 1 2 浮点型 float 1 3 布尔类型 bool 1 4 代码实现 1 5 复数 2 字符串 string 2 1 如果字符串内容中出现了引号 2 2 代码实现 2
  • pandas生成excel文件

    可以使用pandas中的to excel 函数将DataFrame数据写入Excel文件 例如 import pandas as pd 创建测试数据 data name Mike John Bob age 25 32 45 city New
  • STM-32:SPI通信协议/W25Q64简介—软件SPI读写W25Q64

    目录 一 SPI简介 1 1电路模式 1 2通信原理 1 3SPI时序基本单元 1 3 1起始和终止 1 3 2交换字节 二 W25Q64 2 1W25Q64简介 2 2W25Q64硬件电路 2 3W25Q64框图 2 4Flash操作注意
  • double类型精度丢失问题以及解决方法

    double类型精度丢失问题 1 加法运算 public static void main String args double number1 1 double number2 20 2 double number3 300 03 dou
  • arcgis for android 学习 - (5) 在地图指定位置添加“标记“,并尝试选中它

    我做一个例子 1 首先显示一个地图 2 点击 添加要素 按钮后再次点击地图 将会在地图上添加 红色的位置标记 3 再次点击按钮后 这时 就可以点击刚刚添加的 红色的位置标记 就可以查看到 该标记关联到得属性值 布局
  • NO.17 浅谈共识机制(POW、POS、DPOS、PBFT、POP)

    区块链是一种去中心化的分布式账本 可以简单理解为分布在全球各个节点的分布式数据库 数据库由区块按时间顺序相连而成 区块中记录的是数笔交易 为了能支持这一套系统的运行 需要各节点矿工的参与 他们参与的主要原因是因为有奖励 奖励可以去交易所换成