中移链共识机制介绍

news2025/1/19 22:13:58

01

为什么需要共识

共识是对某事达成的共同看法,它是区块链的灵魂,对确保区块链的完整性和安全性起着至关重要的作用。在传统的集中式系统中,单个实体或一组实体有权验证和记录交易。然而,区块链中的一个核心概念是去中心化,在区块链中没有和传统数据库系统一样的中心数据库,每个节点都是对等的,如大多区块链采用对等式网络(Peer-to-peer network, P2P网络)来组织参与数据验证和生产的节点。P2P网络中的每个节点以扁平式拓扑结构相互交互, 要保证交易统一和安全成一个难题,这样就需要一套算法和机制来保证所有对等节点之间可以有效协作,这套算法和方式称为共识机制。共识机制的存在可以有效保证各个节点之间按照既定的原则共同维护账本,实现对交易的验证和确认,并达成一致的决策。共识机制本质上是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。

随着区块链技术的不停发展,共识机制也发展出了很多版本,以满足不同区块链系统的需求。现今主流的共识机制如下:

共识机制介绍优缺点
工作量证明(Proof of Work,PoW)是比特币和一些其他区块链项目最早采用的共识机制。节点需要通过解决复杂的数学难题来竞争产生区块的权利。第一个解答正确的节点可以获得区块奖励。这种机制需要大量计算能力,安全性较高,但能耗较大。

优点:安全性高,经过比特币多年的验证。需要计算复杂的数学问题,确保节点通过解题来创建新的区块,从而防止恶意节点的攻击。

缺点:计算机资源消耗巨大,需要大量的计算能力,限制了网络的扩展性,记账权容易集中在拥有大量算力的矿工手中。

权益证明(Proof of Stake,PoS)节点的产生权和验证权依赖于它们持有的通证数量。拥有更多通证的节点在出块和验证交易方面有更大的机会,无需进行大量计算,节省了能源。PoS的变体有DPoS(委托权益证明)和PoS的多个版本。

优点:计算资源消耗较低,不需要大量计算,通过抵押通证来获得出块权。可以提高网络的扩展性。

缺点:可能导致“富者愈富”的情况,因为拥有更多通证的节点有更大的影响力。可能存在“令牌堆叠”问题,即一个实体拥有过多的通证从而控制整个网络。

拜占庭容错( Byzantine Fault Tolerance,BFT)在分布式系统中,存在节点间的通信可能失败、消息可能延迟、节点可能崩溃等问题,这些问题都可能导致共识协议的失败。BFT共识算法旨在应对这些问题,确保在最多容忍一定数量的节点故障的情况下,系统仍能够达成一致的共识。

优点:适用于联盟链和私有链,具有高度的安全性和效率。允许在节点出现故障或攻击时仍能保持一致性。

缺点:一般较难实现,需要节点之间进行复杂的协调和通信。可能存在性能限制。

委托权益证明(Delegated Proof of Stake,DPoS)DPoS是PoS的一种扩展,选出代表节点负责出块和验证交易,提高网络性能和可扩展性。

优点:通过选举代表来执行出块,提高了网络的效率和扩展性。交易确认速度较快。

缺点:可能导致中心化,因为只有少数几个代表在出块。依赖于生产节点的诚实性和活跃性。

权威证明(Proof of Authority,POA)旨在解决一些传统的区块链共识机制(如Proof of Work和Proof of Stake)所面临的问题。网络的节点不是通过解决计算难题或抵押通证来获得权威,而是基于节点的身份和信任,由已知的权威实体或预选的验证者来验证和确认交易。这使得POA具有一定的中心化特点,但也赋予了网络更高的性能和可扩展性。

优点:高吞吐量和低延迟,适合快速交易确认。计算资源消耗较低,不需要大量计算。安全性可预测,与验证者信誉相关。

缺点:中心化风险,验证者选择集中。依赖验证者的信任,容易受到攻击。

总体来说,每种共识机制在不同的项目和应用场景中都有自己的适用性。选择合适的共识机制需要考虑项目的需求、性能要求、安全性需求以及社区治理等因素。随着技术的不断发展,未来可能还会出现新的共识机制或对现有机制进行改进,以满足不断变化的需求。

02

中移链的共识

在中移链中,使用委托权益证明(Delegated Proof of Stake,DPoS)和aBFT(异步拜占庭容错)结合的共识机制。委托权益证明(DPoS)用来选出活跃的生产者,这些生产者将被授权在网络中产生区块。异步拜占庭容错涉及交易确认过程和直到它成为最终(不可逆)的实际过程。

基于DPoS共识的核心思想,中移链通过选举产生多个生产节点,并由选举的生产节点按照顺序轮流产生区块。生产者每0.5秒生产一个区块,每个生产者可连续生产12个区块,即拥有6秒的连续出块时间。任何时刻,只会有一个生产者被授权产生区块。如果在某个时间内没有成功出块,则跳过该块。这样即使某个生产节点出现问题,区块链网络依然能正常运转。整体的共识流程大致如下:

图片

  • 投票权重:对于每个账户,将其持有的通证数量除以总的通证数量,得到一个比例,这个比例就是账户的投票权重,它反映了该账户在整个网络中的通证占比。

  • 选出生产节点:作为生产节点,需要通过投票系统来选择区块生产者,生产节点有责任维护区块链的安全和稳定。通常情况下,中移链网络中有一组固定数量的生产节点来保证链的稳定。同时取消了EOS中的区块产生的奖励和交易手续费,通过统一的资源管理员进行管理,保证了节点资源的稳定性。

  • 生产节点轮流生产区块:一旦代表节点被选举为生产节点,他们就有权利轮流产生区块。生产节点按照事先约定的时间间隔(默认为0.5秒)依次执行出块任务。这样的安排确保了区块的连续性,并使得交易能够迅速得到确认和处理。

  • 区块的生成和验证:当生产节点轮到执行出块任务时,他们会打包并确认一批待处理的交易。然后,这些交易被写入新的区块中,并附加到区块链的末尾。区块生成的过程通常包括对交易的签名和验证,以确保其有效性和安全性。

  • 区块验证:当超过2/3+1的验证者在他们的本地区块链上确认某个区块时,这个区块被认为是被多数验证者同意的。一旦一个区块被多数验证者确认,它被认为是“不可逆块”,即不会被更改。

需要注意的是,交易的确认时间也取决于网络的拥塞程度和交易的复杂性。高交易量或复杂的交易可能会导致确认时间延迟。因此,在实际操作中,建议根据网络状况和交易的重要性来确定等待的确认深度,以确保交易的安全性和不可逆性。

03

共识安全

共识安全是区块链系统中的一个至关重要的概念,它指的是确保网络中所有节点就区块链的状态达成一致的过程。在区块链中,共识机制决定了哪些节点有权力添加新的区块到区块链中,并决定了网络中所有节点对于交易和状态的认同程度。共识安全对于区块链系统的稳定性、安全性和可信度有着重要的影响,中移链主要通过以下几点来实现共识安全:

  • 去中心化:中移链中通过投票选出大量的区块生产者。这种分散的方法确保了权力在多个实体之间分配,而不是集中在少数人手中。网络越去中心化,恶意行为者就越难以勾结和破坏系统。

  • 出块机制:生产节点轮流生产区块,不仅能提供更高的性能和吞吐量,还能确保区块链网络的连续性。每个代表节点都有一定的时间段来生产区块,即使某个节点暂时出现问题或离线,其他节点仍然可以继续产生区块,避免了整个网络的停滞。同时生产节点需要遵守共识规则并按照约定的时间产生区块,否则他们可能会失去出块资格和面临罚没。这样的机制有助于防止恶意节点的行为,保护网络的安全性。

  • 罚没机制:如果一个代表节点违反共识规则或恶意行为,其可能会受到罚没。例如,如果代表节点出现双花攻击、延迟生产区块、拒绝确认合法交易等行为,其他节点可以发起投票将其罢免。罚没机制保证了生产节点必须遵守共识规则和维护网络的安全性。

  • 不可逆转的区块确认:在中移链中,一旦一个区块被特定数量的后续区块确认,它就变得不可逆转。此功能确保记录在确认块中的交易是不可变的,保证了交易的永久可信。

  • 定期升级周期:中移链会定期升级和改进。这些升级有助于解决任何潜在的安全漏洞,并确保网络与最新的安全最佳实践保持同步。

需要注意的是,没有任何共识机制可以完全免受安全风险的影响,持续警惕和改进对于维护安全的区块链生态系统至关重要。

04

总结

中移链是在满足我国信息化监管需求、合规可控的前提下,打造的中国移动区块链服务平台。其中,共识机制是确保区块链安全、稳定的核心机制。不同于传统中心化系统,区块链的共识是指网络中所有节点对交易有效性和顺序达成一致的过程,共识能确保节点交易状态的统一。缺乏共识会使区块链失去可靠性和防篡改特性。中移链使用DPoS(委托权益证明)共识算法来选出活跃的生产者,结合aBFT(异步拜占庭容错)共识算法进行快速的交易确认,确保网络连续性和更快的交易速度,保证了区块链系统安全高效。

参考资料

[1]BSN开放联盟链:

https://opb.bsnbase.com/main/index

[2]官方EOSIO共识介绍:

https://developers.eos.io/welcome/latest/protocol-guides/consensus_protocol#3-eosio-consensus-dpos--abft

[3]官方EOSIO白皮书:

https://github.com/EOSIO/Documentation/blob/master/TechnicalWhitePaper.md

[4]官方EOSIO核心概念:

https://developers.eos.io/welcome/latest/introduction-to-eosio/core_concepts

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1215397.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux查看资源占用情况常用命令

1. 查看 CPU 使用情况: top这个命令会显示系统中当前活动进程的实时信息,包括 CPU 使用率、内存使用率等。按 q 键退出。 2. 查看内存使用情况: free -m这个命令显示系统内存的使用情况,以兆字节(MB)为…

VINS-MONO代码解读----配置文件,数据结构,前端feature_tracker

跑通代码之后可以深入看代码了,整体代码很多,可先从配置文件开始看。 1. VINS-MONO配置文件理解 参考启动文件launch与参数配置文件yaml介绍 启动文件launch:euroc.launch 参数配置文件yaml:euroc_config.yaml:包括…

【kerberos】使用 curl 访问受 Kerberos HTTP SPNEGO 保护的 URL

前言: 大数据集群集成 Kerberos 后,很多 WEBUI 打开都会提示输入用户名和密码。由于我想获取 flink 任务的详情,且KNOX 并不支持Flink api,查看KNOX 直接的列表:https://docs.cloudera.com/cdp-private-cloud-base/7.…

vivado产生报告阅读分析-Report Power4

在布线后会生成“ Power Report ” ( 功耗报告 ), 它基于当前器件工作条件和设计的切换率来报告功耗详情。功耗分析要求网表已完成综合或设计已完成布局布线。 • set_operating_conditions 命令用于设置工作条件。 • set_switching_ac…

想转行互联网行业,是选择网络安全还是人工智能?

随着数字时代的到来,网络安全和人工智能成了科技创新产业的重要组成部分。也逐渐成了大多数人心中热门的行业选择。那么该如何抉择呢? 首先我们来了解下人工智能的发展前景: 如今,人工智能技术无论是在核心技术方面&#xff0c…

插件漏洞导致 60 万个 WordPress 网站遭受攻击

WordPress 插件 WP Fastest Cache 容易受到 SQL 注入漏洞的攻击,该漏洞可能允许未经身份验证的攻击者读取站点数据库的内容。 WP Fastest Cache 是一个缓存插件,用于加速页面加载、改善访问者体验并提高网站在 Google 搜索上的排名。 根据 WordPress.o…

photoshop插件开发入门

photoshop 学习资料和sdk 下载地址https://developer.adobe.com/console/servicesandapis/ps 脚本编程文档 官方文档: https://extendscript.docsforadobe.dev/ 官方文档: https://helpx.adobe.com/hk_en/photoshop/using/scripting.html open(new F…

如何做到百万数据半小时跑批结束

什么是跑批 跑批就是应用程序定时对数据的批量处理。 跑批有以下特性: 大数据量:批量任务一般伴随着大量的数据处理 自动化:要求制定时间或频率自动运行 性能:要求在指定时间内完成批处理任务 健壮性:针对于异常数…

【每周一测】Java阶段三第三周学习

目录 1、事务四个隔离级别中,哪一个不能防止脏读 2、关于sleep()和wait(),以下描述错误的一项是() 3、以下关于Servlet生命周期说法错误的是( ) 4、下列概念解释说明错误的是 5、在 JWT 中&#xff0c…

(二)什么是Vite——Vite 和 Webpack 区别(冷启动)

vite分享ppt,感兴趣的可以下载: ​​​​​​​Vite分享、原理介绍ppt 什么是vite系列目录: (一)什么是Vite——vite介绍与使用-CSDN博客 (二)什么是Vite——Vite 和 Webpack 区别&#xff0…

云课五分钟-05一段代码修改-AI修改C++

前篇: 云课五分钟-04一段代码学习-大模型分析C 在前一节,使用大模型工具文心一言等可以帮助分析代码,加快理解。 信息时代→智能时代,系统学习转为碎片学习。 发散思维的能力在智能时代尤为重要。 同样我们也可以借助智能化…

爬虫基础之爬虫的基本介绍

一、爬虫概述 爬虫又称网络蜘蛛、网络机器人,网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型: 通用网络爬虫(Scalable Web Crawler):抓取互联网上所有数据,爬取对象从一些种子 URL…

开源大模型部署及推理所需显卡成本必读之二

在前面的文章中,我们介绍了大模型占用显卡空间的一些分析情况,这次我们继续来看看具体量化角度上的结论。 因此,本文来来介绍一个偏具体数值量化的工作。 随着各厂商相继发布大型模型,排行榜变化频繁,新旧交替&#xf…

[云原生2.] Kurbernetes资源管理 ---- (陈述式资源管理方式)

文章目录 1. K8s管理资源的方法类别1.1 陈述式资源管理方式1.2 声明式资源管理方式1.3 GUI式资源管理方法 2. 陈述式资源管理方式2.1 命令行工具 ---- Kubelet2.1.1 简介2.1.2 特性2.1.3 kubelet拓展命令2.1.4 kubectl基本语法2.1.5 Kubectl工具的自动补全 2.2 k8s Service 的类…

外汇天眼:失败的投资者经常陷入两个误区!

一、价格与价值的混淆 在金融领域,价格和价值往往被错误视为同义词。然而,审视市场时,我们会逐渐发现一个“安全差”的重要概念,这是由巴菲特的导师本杰明格雷厄姆提出的。 安全差是指股票的内在价值与市场价格之间的差异。内在…

sklearn笔记:neighbors.NearestNeighbors

1 最近邻 class sklearn.neighbors.NearestNeighbors(*, n_neighbors5, radius1.0, algorithmauto, leaf_size30, metricminkowski, p2, metric_paramsNone, n_jobsNone)邻居搜索算法的选择通过关键字 algorithm 控制,它必须是 [auto, ball_tree, kd_tree, brute] …

分类预测 | Matlab实现PSO-LSTM-Attention粒子群算法优化长短期记忆神经网络融合注意力机制多特征分类预测

分类预测 | Matlab实现PSO-LSTM-Attention粒子群算法优化长短期记忆神经网络融合注意力机制多特征分类预测 目录 分类预测 | Matlab实现PSO-LSTM-Attention粒子群算法优化长短期记忆神经网络融合注意力机制多特征分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1…

块设备 I/O 请求送达到外部设备

对于 ext4 文件系统,最后调用的是 ext4_file_write_iter,它将 I/O 的调用分成两种情况: 第一是直接 I/O。最终我们调用的是 generic_file_direct_write,这里调用的是 mapping->a_ops->direct_IO,实际调用的是 e…

[nlp] 损失缩放(Loss Scaling)loss sacle

在深度学习中,由于浮点数的精度限制,当模型参数非常大时,会出现数值溢出的问题,这可能会导致模型训练不稳定。为了解决这个问题,损失缩放(Loss Scaling)技术被引入,它通过缩放损失值来解决这个问题。 在深度学习中,损失缩放技术通常是通过将梯度进行缩放来实现的。具…

太激动了!摄像头终于有画面了!

有了放弃的想法 摄像头APP在我这里好好的,到了老外那里就不能 用。反复试了几套源码,都没有画面。后来干脆把老外说通用的APK反编译后,新做了个APP,结果还是没画面。到了这个时候,我是真的有点沮丧,准备放弃…