当前位置: 首页 > news >正文

区块链的三种共识机制——PoW、PoS和DPoS原理

区块链的核心是去中心化网络的信任机制,而共识机制是实现这一目标的关键。共识机制可分为两个阶段:(1)提出共识内容(2)对内容达成共识(遵循最长链原则)。三种主流的共识机制主要有工作量证明PoW(Proof of Work),权益证明PoS(Proof of Stake),委托权益证明机制DPoS(Delegate Proof of Work),除了了解其基本内容,还需要学习其技术实现。

一、工作量证明(PoW)

PoW这个概念是1993年提出的,最早的用途不是用来实现加密货币的,而是用来防止垃圾邮件的。人们开始在使用电子邮件的时候会收到垃圾邮件的骚扰,如果发送垃圾邮件没有成本,那么发送一百万封电子邮件是很轻松的。所以人们想到了如果让每一封邮件发送时都有一个微小的成本,那么鉴于成本,垃圾邮件就会被很大程度遏制了。而PoW就是为了服务这个目的而产生的。基本过程就是邮件接收方先广播一道题出去,邮件发送方在发邮件时必须附带上这道题的答案,这样邮件才会被接受,否则就会被认为是垃圾邮件。

同理我们引入PoW机制下的哈希函数,实际上就是如何用哈希函数给计算机出题,由于计算机的解题速度很快,因此出的题目对于计算机“有挑战性”,我们知道哈希函数最大的特点是如果输入的数据哪怕有微小的区别,输出的结果也会完全不同,这点保证了无法通过输出结果去反向运算输入,也没有办法缩小输入的可能性范围,另一方面,如果输入相同则运算得到的输出哈希一定相同。这一点保证了任何人都可以在一瞬间内验证最终的哈希值是否正确。

比特币系统的一个众所周知的特点,就是很多矿工参与挖矿,但是每十分钟网络上产生的比特币却不是所有矿工均分的,而是谁先抢到记账权,就把所有的比特币奖励给谁。记账权的抢夺就是计算能力的比拼。比特币的PoW机制,宏观上就是要达成的就是判定哪个矿工的运算能力最强。这道题用到了哈希函数,但是系统要的答题结果也就是所谓的PoW,不是哈希函数的输出,而是输入。

为什么会这样设置呢?因为从输入计算哈希输出,是一个非常直白的过程,计算机很擅长这样的工作,不能明显地体现出矿工之间计算能力的差异,而且系统必须要给全网广播一个超级大的数,这样才能比拼计算能力,涉及到网速等延迟问题,也不是很公平。所以比特币系统的做法是反过来,给全网广播一个哈希值,让大家消耗自身算力尝试不同的随机数(nonce)找到它的输入。因为前面提到的哈希函数独特的特点,矿工们要想找到输入,只能每次选一个数不断尝试瞎蒙,运算它的输出和系统广播的哈希值对比,如果不符合,换下一个数继续,这显然是一个概率问题,在相同的时间内谁能尝试的次数多,大概率他会首先拿到正确的输入,这就是PoW的基本原理了。

当然在实际中,比特币系统是每十分钟记账一次,也就是需要所有矿工每十分钟比一次,但是在十分钟内想计算出一个精确哈希值的输入是根本不可能的。所以系统每次给定的是一个哈希值范围。具体规则就是,只要保证运算出的哈希值小于某个特定的数值,就认为提交的PoW是正确的,也就是说矿工们要尽力找到哈希值前几位0越多越好(哈希值越小)对应的输入。多年来矿工们的算力也有了很大提高,但是为什么比特币系统还是能保证算出PoW的时间大致保证在十分钟左右呢?答案就是系统可以通过调整0的个数来改变出题难度,虽然矿工们算力提高了,但是题也变得更难,所以需要花费的解题时间就会保持相对稳定。最快得到结果的矿工会把把自己的结果发送到全网(提交新创建的区块),其他矿工都会验证结果是否符合有效,如果有效,则每个节点都在自己的区块链数据副本中添加这个有效区块,开始新处理新的交易数据,努力创建新区块。如果无效,则会被丢弃,矿工们继续做手头工作。

PoW共识的优点就是安全性高,随着有效区块的不断积累,恶意节点需要极高的算力(超过总体的51%)来完成双花攻击,成本高昂。也存在着消耗算力和电力大的缺点。

二、权益证明(PoS)

在PoW中通过消耗大量的算力来争夺记账权,但是在每一轮共识中,只有一个节点得到了记账权,其他节点的相当于是“陪跑”,算了被浪费了。而权益证明PoS于2013年首次提出被应用到了PeerCoin系统中,可以解决资源浪费的问题。

PoS 通过持有代币的数量和时间(即“权益”)决定记账权,​​权益越高,被选中验证交易的概率越大。

具体的技术实现是每个节点在每一轮共识中只需要计算一次Hash,当拥有的权益越多,满足Hash目标的机会越大,获得记账权的机会越大。可以说,PoS是一个资源节省的共识协议。PeerCoin定义的权益除了与代币数量有关,引入了币龄(Coin Age),100个代币持有两天,币龄为200,因此持有的代币数量越多,时间越长,获得记账权的机会越大。

PoS的优点是​​节能高效​​:无需大量计算,能耗降低99%以上;缺点就是存在​​“富人更富”问题​​:代币越多,收益越高,可能导致财富集中;
​​改进方案​​:以太坊2.0引入​​Casper协议​​,结合质押惩罚机制;Cardano采用分层PoS提升可扩展性。这里提到的一些前沿的技术先挖个坑,后面再补充。

三、委托权益证明机制(DPoS)

DPoS是由PoS演化而来的,持币用户通过抵押代币获得选票,以投票的方式选出若干的节点作为区块生产者,代表持币用户履行产生区块的义务。用户投票最多的若干节点成为出块节点,以EOX为代表是21个节点。在每一轮共识中,轮流选出一个出块节点产生区块,并广播给其他的出块节点进行验证。若节点在规定时间内无完成出块,或产生无效区块,就会被取消资格,取而代之的事重新投票选取新的出块节点。

 

值得一提的是,EOS初期的DPoS的共识方法才采用的是最长链共识,意味着与PoW一样区块没有绝对的最终性,交易的不可逆需要等待多个区块确认。在18年时,EOS使用拜占庭共识代替最长链共识,名为BFT-DPoS。 

优点是高吞吐量​​:区块生成速度快(EOS可达3000+ TPS);​​低延迟​​:适合高频交易场景

缺点是​​中心化争议​​:超级节点数量少,权力集中;贿选风险​​:代币大户可能操控选举。

四、三种共识对比

  1. ​公有链场景​​:注重去中心化与安全性时,PoW或PoS更合适;
  2. ​联盟链/高频应用​​:追求效率时,DPoS或PBFT更优;
  3. ​新兴方向​​:混合机制(如Hedera Hashgraph)或分片技术(如Zilliqa)正在探索更高性能的解决方案。

 

 

 

 

 

 

 


http://www.lryc.cn/news/588967.html

相关文章:

  • 数据库第二次作业
  • 【Python练习】044. 编写一个函数,实现快速排序算法
  • 本地电脑安装Dify|内网穿透到公网
  • 开源AI应用开发平台Dify系列(一)
  • YOLO融合CFFormer中的FeatureCorrection_s2c模块
  • 多租户SaaS系统中设计安全便捷的跨租户流程共享
  • 遥感数据与作物生长模型同化及在作物长势监测与估产中的应用
  • 弗兰肯斯坦式的人工智能与GTM策略的崩溃
  • 运维效率提升利器:grep、sed、awk详解与实战练习指南
  • (LeetCode 面试经典 150 题) 383. 赎金信 (哈希表)
  • AR眼镜:重塑医学教育,开启智能教学新时代
  • 配置使用SSH与VScode进行连接
  • dockerfile 最佳实践
  • 如何解决服务器频繁重启的问题?
  • 流媒体直播分发服务器
  • 基于深度学习的LSTM、GRU对大数据交通流量分析与预测的研究
  • Python初学者笔记第十二期 -- (集合与字典编程练习题)
  • 信息学奥赛一本通 1552:【例 1】点的距离
  • 短剧小程序的「技术革命」:从「粗放生长」到「精准运营」
  • MySQL中的“引擎“是什么意思
  • 【算法-BFS 解决最短路问题】探索BFS在图论中的应用:最短路径问题的高效解法
  • UnitTest测试框架的基本使用方法(详细介绍)
  • Ubuntu24 辅助系统-屏幕键盘的back按键在网页文本框删除不正常的问题解决方法
  • 博客项目 laravel vue mysql 第六章 文章功能
  • WPF中的ListBox详解
  • QTableView鼠标双击先触发单击信号
  • 3. ArrayList与LinkedList的区别
  • Redis的下载安装+基础操作+redis客户端的安装
  • Java :List,LinkedList,ArrayList
  • 23种设计模式--#1工厂模式