【网络安全】——区块链安全和共识机制

news2024/12/25 9:20:39

区块链安全和共识机制

摘要:区块链技术作为一种分布式去中心化的技术,在无需第三方的情况下,使得未建立信任的交易双方可以达成交易。因此,区块链技术近年来也在金融,医疗,能源等多个行业得到了快速发展。然而,区块链为无信任的网络提供保障的同时,也面临着一些安全隐患。本文就从区块链共识层面,分析了区块链存在的攻击问题。并且我们还分析总结了未来共识算法可能的发展方向。

关键字:区块链;共识算法;共识攻击;分布式安全

Abstract: Blockchain technology, as a distributed and decentralized technology, enables both parties to reach a transaction without establishing trust without a third party. Therefore, blockchain technology has also developed rapidly in finance, medical treatment, energy and other industries in recent years. However, while blockchain provides protection for untrusted networks, it also faces some security risks. This paper analyzes the attack problems of blockchain from the perspective of blockchain consensus. And we also analyze and summarize the possible development direction of consensus algorithm in the future.

Keywords: blockchain;consensus algorithm;consensus attack;distributed security

目录

一、区块链概述

1、区块链基本概念

2、区块链安全挑战

3、本文章节安排

二、区块链主流共识算法

1、PoW工作量证明

2、PoS权益证明

三、基于区块链共识的攻击

1、双花攻击

2、51%攻击

3、自私挖矿

4、无利害关系问题

四、共识算法未来发展

1、PoW与PoS算法相结合

2、原生PoS算法的改进

3、原生PoW算法的改进

4、传统分布式一致性算法的改进及其他

五、总结与展望

六、参考文献


一、区块链概述

1、区块链基本概念

图1.区块链结构

区块链技术起源于比特币,是以比特币为代表的众多数字货币方案的底层核心技术,最初设计目的是解决电子支付中过度依赖可信第三方的问题[1]。比特币通过哈希函数将交易区块按时间顺序前后相连,形成链式结构,区块链结构如图1所示。每个区块包含交易信息和区块头部两部分。交易信息是区块的主体部分,将交易以 Merkle树结构存储。最终生成 Merkle树的根作为交易摘要被记录在区块头部中,便于交易的验证和查找. 区块头部还记录了版本号、区块高度、随机数nonce、时间戳等信息[2]。

区块链是一种典型的分布式账本技术,通过共识等多边自治技术手段支持数据验证、共享、计算、存储等功能。从区块链的组织结构和运行原理来看,可以狭义地将区块链视为一种以区块为单位的、按照时间顺序前后相连的单向链式数据结构,通过共识机制、密码学组件和系统容错等技术保证分布式网络中节点共享数据的一致性和安全性。从应用角度来看,区块链是一种集成了密码学算法、分布式网络、共识机制、博弈论等技术的复合分布式网络技术,利用链式区块结构存储数据,利用共识机制实现交易的更新和共享,利用密码学技术保证交易的安全性,利用自动化脚本代码实现可编程性和自治性,利用经济学激励机制激发节点自主维护系统稳定,构成了一种全新的、自治的分布式基础架构与计算范式。

图2.区块链安全目标

2、区块链安全挑战

根据网络系统的安全需求,结合区块链的特点,区块链系统构建的基本安全目标是通过密码学和网络安全等技术手段,保护区块链系统中的数据安全、共识安全、隐私保护、智能合约安全和内容安全[3]。各安全目标之间的关系如图2所示。

共识机制是区块链的核心,共识安全对区块链的数据安全起到重要的支撑作用。本文引用比特币骨干协议[4]中定义的一致性和活性两个安全属性来衡量和评估区块链的共识安全。

一致性:要求任何已经被记录在区块链上并达成共识的交易都无法更改,即一旦网络中节点在一条区块链上达成共识,那么任意攻击者都无法通过有效手段产生一条区块链分叉,使得网络中的节点抛弃原区块链,在新区块链分叉上达成共识。一致性是共识机制最重要的安全目标。根据共识机制在达成共识的过程中是否出现短暂分叉,一致性又分为弱一致性和强一致性。

活性:要求诚实节点提交的合法数据终将由全网节点达成共识并被记录在区块链上。合法数据包括诚实节点提交的合法交易、正确执行的智能合约中间状态变量、结果等。活性保证了诚实节点能够抵抗拒绝服务攻击,维护区块链持续可靠运行。

3、本文章节安排

本文第一章节对比特币基本概念以及存在的安全问题做了一个系统介绍。第二章介绍了区块链的主流的共识算法,主要介绍了PoW工作量证明机制[5]和PoS权益证明机制。第三章介绍区块链传统共识机制下可能存在的安全隐患。第四章介绍了区块链共识算法未来的发展现状。并在第五章对本文作一个总结以及对未来区块链发展的作一个展望。

二、区块链主流共识算法

1、PoW工作量证明

图3.PoW共识机制流程图

PoW(Proof of Work),即工作量证明,闻名于比特币,俗称"挖矿”。PoW共识机制是通过竞争记账的方式来解决区块链网络中一致性的问题。当一笔交易产生后,每一个想要记账的节点需要依靠自己的计算能力与他人竞争,争夺记账的权力。PoW共识机制流程图如图3所示。从流程图中看出,PoW工作量证明的流程主要经历三步:

1.生成Merkle根哈希;

2.组装区块头;

3.计算出工作量证明的输出;

   i. 工作量证明的输出=SHA256(SHA256(区块头))。

   ii. if(工作量证明的输出<目标值),证明工作量完成。

   iii.if(工作量证明的输出>=目标值),变更随机数,递归,继续与目标值比对。

经过PoW共识后,最终获得记账权的人,他所打包的区块会连接到区块链的链上。同时它处理的数据也会被全网的其他节点记录在各自的小账本中。

PoW的优势在于,它将每个节点的算力都加入进网络的交易认证中,使得网络去中心化性更强,节点的作恶成本更高。理论上,除非有人掌握了全网51%以上的算力,否则网络的任何东西都是无法被篡改的。但PoW也存在一定的劣势,如浪费了大量资源,性能效率较低等。

2、PoS权益证明

PoS权益证明的原理类似于现实世界中的股份制,拥有股份越多,话语权就越强,获得记账机会的概率就越大。PoS算法要求节点验证者必须质押一定的资金才有挖矿打包资格,并且区域链系统在选定打包节点时使用随机的方式,当节点质押的资金越多时,其被选定打包区块的概率越大。

POS机制的优点就是不需要拼算力挖矿,不会浪费能源,同时缩短了共识达成的时间,记账效率提高了。POS机制的缺点也是非常明显,首先就是去中心化程度弱,容易出现强者恒强的情况,持币大户持币生息,从而出现垄断问题。另外一点就是安全程度,POS机制实现较为复杂,容易产生安全漏洞。

三、基于区块链共识的攻击

1、双花攻击

双花攻击又叫双重消费攻击,顾名思义,就是指同一个货币被花费了多次。在区块链网络中,每个用户的每一次交易都可以对应一个网络请求。而区块链整个系统会进行对此请求的验证。其中包括检查其资产的有效性,是否已经使用已花费的资产来进行交易。经过全网节点的检验后,广播这个成功验证的账本。

区块链网络能够通过以下两种方式应对双花攻击。一是每一笔交易都会有记录,他会提前确认这个比特币的状态,如果它已经被标记为划掉,那么交易会被拒绝。二是如果在此次交易被确认前先发起一笔交易,也就是这个时间段的交易还未被记账成区块block时,进行矛盾的第二笔交易,那么在记账时这些交易会被矿工拒绝。

2、51%攻击

比特币白皮书中,有过这样的表述:诚实节点控制算力的总和,大于有合作关系的攻击者算力的总和,该系统就是安全的。换句说,当系统中有合作关系的恶意节点所控制的算力,超过诚实节点所控制的算力,系统就是有被攻击的风险。

所谓51%的攻击,就是利用比特币网络采用PoW竞争记账权和“最长链共识”的特点,使用算力优势生成一条更长的链“回滚”已经发生的“交易行为”。51%是指算力占全网算力的51%,比特币网络需要通过哈希碰撞来匹配随机数从而获得记账权,算力衡量的是一台计算机每秒钟能进行哈希碰撞的次数。算力越高,意味着每秒钟能进行越多次的哈希碰撞,即获得记账权的几率越高。在理论上,如果掌握了50%以上的算力,就拥有了获得记账权的绝对优势,可以更快地生成区块,也拥有了篡改区块链数据的权利。当一个网络足够大时,如果恶意节点想发动51%攻击,那么他必须要掌握50%以上的算力,因此比特币自诞生以来从未遭受过51% 的攻击。

3、自私挖矿

自私挖矿攻击是一种针对比特币挖矿与激励机制的攻击方式,它的目的不是破坏比特币的运行机制,而是获取额外的奖励,并让诚实矿工进行无效计算。简而言之,自私挖攻击的核心思想是矿池故意延迟公布其计算得到的新块,并构造一条自己控制的私有分支,造成链的分叉。由于攻击门槛相对较低,且收益好,理论上,这种攻击更容易出现,并且其仅对使用PoW共识有效果,对PoS等不适用。自私挖矿是针对比特币协议的一种攻击,但很多相关文献中的论点没有正确地证明这种攻击的合理性。他们缺乏对攻击成本和每单位时间的损益进行适当的分析。

4、无利害关系问题

无利害关系(Nothing At Stake Attacks)问题指的是,权益证明机制中的矿工最佳的策略是在所有的叉上进行挖矿,因为签名的制造非常便宜。

解决方法可以将保证金加入剑手协议意味着无利害关系问题被正式解决。这里的剑手协议是指如果你在同一个层级的分叉上同时签署了两份协议,那么你就会失去你所能得到的区块奖励。只有当验证节点缴纳存款保证金的时候,它签署的承诺才有意义。当一个保证金节点在相同高度处创建或签署两个区块时,则其存款保证金就会被削减,并且这种行为会被认为是“明显不良的行为”。此类攻击仅针对PoS共识。

四、共识算法未来发展

自2014年起,随着比特币和区块链技术快速进入公众视野,许多学者开始关注并研究区块链技术,共识算法也因此进入快速发展的时期。我们从四条主线分别介绍未来区块链共识算法可能发展的方向。

1、PoW与PoS算法相结合

研究者基于PoW和PoS算法的有机结合,相继提出了权益-速度证明(PoSV)、燃烧证明(PoB),行动证明(PoA)等,致力于取长补短,解决PoW与PoS存在的能源消耗与安全风险问题。

图4.PoA共识过程

2014年4月,拉里雷恩提出了PoSV共识算法, 针对PoS中币龄是时间的线性函数这一问题进行改进, 致力于消除持币人的屯币现象。PoSV将PoS中币龄和时间的线性函数修改为指数式衰减函数,即币龄的增长率随时间减少最后趋于零。因此新币的币龄比老币增长地更快,直到达到上限阈值,这在一定程度上缓和了持币者的屯币现象。2014年5月发行的Slimcoin借鉴了比特币和点点币的设计,基于PoW和PoS首创提出了PoB共识算法。其中,PoW共识被用来产生初始的代币供应,随着时间增长,区块链网络累积了足够的代币时,系统将依赖PoB和PoS共识来共同维护。PoB共识的特色是矿工通过将其持有的Slimcoin发送至特定的无法找回的地址(燃烧)来竞争新区块的记账权,燃烧的币越多则挖到新区块的概率越高。PoA共识也是基于PoW和PoS,其共识过程如图4所示。其中采用PoW挖出的部分代币以抽奖的方式分发给所有活跃节点,而节点拥有的权益与抽奖券的数量即抽中概率成正比。

2、原生PoS算法的改进

原生PoS共识算法的改进目标主要是解决其固有的无利害关系问题。为解决无利害关系问题,形成了Tendermint等新共识算法。2014年提出的Tendermint的重大突破是使用区块、哈希链接、动态验证器集合和循环的领导者选举,实现了第一个基于PBFT的PoS共识算法。为解决无利害关系问题,Tendermint节点需要缴纳保证金,如果作恶则保证金就会被没收。Tendermint是一种拜占庭容错的共识算法,具有抵御双花攻击的鲁棒性,并且可以抵御网络中至多三分之一的破坏者的攻击。

3、原生PoW算法的改进

原生PoW共识算法的改进目标主要是实现比特币扩容或者降低其能耗。研究者相继提出了消逝时间证明(PoET)和运气证明(PoL)。

PoET是超级账本HyperLedger采用的共识算法,其基本思路是每个区块链节点都根据预定义的概率分布生成一个随机数,来决定其距离下一次获得记账权的等待时间。PoET共识的意义在于使得区块链系统不必消耗昂贵算力来挖矿,从而提高了效率,同时也真正实现了“一CPU一票”的公平性。类似地,PoL共识采用TEE平台的随机数生成器来选择每一轮共识的领导者(记账人),从而可降低交易验证延迟时间和交易确认时间,实现可忽略的能源消耗和真正公平的分布式挖矿。

4、传统分布式一致性算法的改进及其他

传统分布式一致性算法大多是非拜占庭容错的,因而难以应用于区块链场景(特别是公有链)。为此,研究者结合Raft和PBFT算法的优势,于2014年提出拜占庭容错的Tangaroa算法.Tangaroa继承了Raft简洁和容易理解的优势,同时在拜占庭错误环境下也能够维持安全性、容错性和活性。

五、总结与展望

区块链解决了分布式网络中的一致性问题, 颠覆了依赖可信第三方实现大规模组织管理控制的传统技术架构, 应用逐渐延伸至金融、物联网、智能制造等众多领域, 成为全球学术界的研究热点。区块链行业风风火火发展的同时, 技术本身存在的共识安全薄弱、隐私泄露、系统漏洞、等问题,阻碍区块链的发展。

而良好的共识机制有助于提高区块链系统的性能效率, 提供强有力的安全性保障, 支持功能复杂的应用场景, 促进区块链技术的拓展与延伸。但现如今存在的共识算法在不同层面有着大大小小的问题隐患。因此,通过不断改进共识算法,使其朝着更加安全可靠高效节能的方向发展,这也为区块链技术能够应用于各领域打了一个重要基础。

六、参考文献

  1. Yuan Yong, Wang Fei-Yue. Blockchain: the state of the artand future trends. Acta Automatica Sinica, 2016, 42(4):481-494
  2. Yuan Yong, Zhou Tao, Zhou Ao-Ying, Duan Yong-Chao, Wang Fei-Yue. Blockchain technology: from data intelligence to knowledge automation. Acta Automatica Sinica, 2017, 43(9): 1485-1490
  3. Qin Bo, Chen Li Chang-Hao, Wu Qian-Hong, Zhang YiFeng, Zhong Lin, Zheng Hai-Bin. Bitcoin and digital flat currency. Journal of Cryptologic Research, 2017, 4(2): 176-186
  4. Garay J, Kiayias A, Leonardos N. The bitcoin backbone protocol: analysis and applications. In: Proceedings of the 34th Annual International Conference on the Theory and Applications of Cryptographic Techniques. Sofla, Bulgaria:EUROCRYPT, 2015. 281-310
  5. Dwork C, Naor M. Pricing via processing or combatting junk mail. In: Proceedings of the 12th Annual International Cryptology Conference. California, USA: CRYPTO, 1992. 139-147

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

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

相关文章

Medical Image Analyse

NC2022: Federated learning enables big data for rare cancer boundary detection 尽管机器学习&#xff08;ML&#xff09;在各个学科领域都显示出了潜力&#xff0c;但样本外泛化仍然令人担忧。目前通过共享多个站点的数据来解决这个问题&#xff0c;但由于各种限制&#…

内网渗透之linuxwindows密码读取haschcat破解sshrdp

0x00 说明 微软为了防止明文密码泄露发布了补丁KB2871997&#xff0c;关闭了Wdigest功能。 当系统为win10或2012R2以上时&#xff0c;默认在内存缓存中禁止保存明文密码&#xff0c;此时可以通过修改注册表的方式抓取明文&#xff0c;但需要用户重新登录后才能成功抓取。 wind…

知识变现海哥:知识变现的本质就是卖

知识变现的本质就是卖&#xff0c;而有人买的本质&#xff0c;就是你解决了某方面的需求。 好的成交&#xff0c;从来都是相互的&#xff0c; 只靠一边主动推销来维系是远远不够的。 绝对不是靠忽悠&#xff0c;而是靠实力。 先讲一个故事。 19世纪时&#xff0c;一个年轻的…

IOS开发指南之UITableView控件使用

1.创建一个IOS单页应用 2.双击Main.storyboard然后拖放UITableView到视图中 3.添加TableViewCell 成功添加Table View Cell 4.修改Table View Cell属性 选中Table View Cell 在右边的Image栏输入default.png回车 到此布局设计完成,现在运行还是显示 空白,要在代码中做相关的实…

B.【机器学习实践系列二】数据挖掘-二手车价格交易预测(含EDA探索、特征工程、特征优化、模型融合等)

【机器学习入门与实践】入门必看系列&#xff0c;含数据挖掘项目实战&#xff1a;数据融合、特征优化、特征降维、探索性分析等&#xff0c;实战带你掌握机器学习数据挖掘 专栏详细介绍&#xff1a;【机器学习入门与实践】合集入门必看系列&#xff0c;含数据挖掘项目实战&…

Spellman高压电源X射线发生器维修XRB160PN480X4593

spellman高压发生器维修VMX40P5X4629&#xff1b;Spellman X射线发生器维修X4593系列 X射线源维修。 Spellman所拥有的变频器架构可以使高压电源获得高利用率的效率和功率密度。固体密封的高压模块进一步减少了尺寸和重量。 基于表面贴装控制电路的数字信号处理器提供通讯接口…

2023,谁还在花钱减肥?

【潮汐商业评论/原创】 “这是益生菌、酵素、0蔗糖酸奶&#xff0c;促进肠胃蠕动的&#xff1b;这是蒟蒻果冻、魔芋零食&#xff0c;嘴馋占嘴用的&#xff1b;这是全麦面包&#xff0c;饱腹感强&#xff0c;不易发胖&#xff1b;这是我刚办的健身卡&#xff1b;这是……”Lily…

【Qt编程之Widgets模块】-007:QTextStream类及QDataStream类

1 概述 QTextStream和QDataStream都是对流进行操作 QTextStream只能普通类型的流操作像QChar、QString、int…&#xff0c;其实就很类似我们c或者c中读写文件的感觉&#xff0c; QDataStream就厉害了&#xff0c;无论是QTextStream的普通类型的流操作还是一些特殊类型的流操作…

设计模式之【外观/门面模式】,不打开这扇门永远不知道门后有多少东西

文章目录 一、什么是外观模式&#xff08;门面模式&#xff09;1、外观模式的结构2、使用场景3、外观模式的优缺点4、外观模式注意事项 二、实例1、外观模式的通用写法2、智能家居案例3、积分换礼品案例 参考资料 一、什么是外观模式&#xff08;门面模式&#xff09; 外观模式…

yoloV5项目工程源码解读(2)(未完成)

概述 将主要从三个部分对源码进行解读。 数据层面&#xff0c;dataloader 和 数据增强网络模型&#xff0c;模型细节和逻辑模型训练&#xff0c;训练策略等 数据源解读 utils 中有&#xff0c;在train.py中能跳到该函数。 train.py中 # Trainloader 创建dataloader就是我们…

网络安全工程师辛苦吗?

“人生如寄&#xff0c;何事辛苦怨斜晖”&#xff0c;意思是人活着就像寄生在这个世界上&#xff0c;为什么一定要劳碌奔波&#xff0c;最后还抱怨人生苦短呢&#xff1f; 但说到辛苦二字&#xff0c;什么工作不辛苦呢&#xff1f;除了体制内的一些工作稍微轻松一些&#xff0c…

打家劫舍问题

题目&#xff1a; 打家劫舍https://leetcode.cn/problems/house-robber/ 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#xff0c;如果两间相邻的房屋在同一晚上…

重写Properties类,实现对properties文件的有序读写,数据追加,解决中文乱码

前言 *.properties文件&#xff0c;是 Java 支持的一种配置文件类型&#xff0c;并且 Java 提供了 properties 类来读取 properties 文件中的信息。文件中以键值对 "键值"的形式&#xff0c;存储工程中会多次重复使用的配置信息&#xff0c;通过“Properties”类来读…

【Mysql实战】使用存储过程和计算同比环比

背景 同环比&#xff0c;是基本的数据分析方法。在各类调研表中屡见不鲜&#xff0c;如果人工向前追溯统计数据&#xff0c;可想而知工作量是非常大的。 标题复制10行&#xff0c;并且每行大于10个字符【源码解析】SpringBoot接口参数【Mysql实战】使用存储过程和计算同比环比…

超全总结:硬件设计基础60条

硬件是一个非常复杂的系统&#xff0c;在设计过程中都会遇到或多或少的问题&#xff0c;本文中总结了非常基础的60个问题&#xff0c;供大家参考。 1、请说明一下滤波磁珠和滤波电感的区别。 磁珠由导线穿过铁氧体组成&#xff0c;直流电阻很小&#xff0c;在低频时阻抗也很小…

数字化转型,目的是为了转型还是数字化?

受第四次工业革命浪潮的影响&#xff0c;传统工业经济社会快速向数字经济转型过渡&#xff0c;企业创新面临的经济环境发生根本性变革。数字技术广泛应用于生产、交换、消费等经济环节&#xff0c;为企业产品创新、服务创新以及数字化开放式创新提供了动力源泉。数字经济背景下…

如何利用生产管理系统提高粉末治金工业的生产调度能力

在粉末冶金工业中&#xff0c;生产管理系统的应用已经成为了一个必不可少的部分。生产管理系统可以帮助企业实现自动化、信息化、智能化的生产&#xff0c;提高生产效率、降低生产成本、提高产品质量。生产管理系统可以对生产流程进行全面的监控和管理&#xff0c;从而实现生产…

11个超好用的SVG编辑工具

SVG的优势在于SVG图像可以更加灵活&#xff0c;自由收缩放大而不影响图片的质量&#xff0c;一个合适的SVG编辑工具能够让你的设计事半功倍&#xff0c;下面就一起来看看这些冷门软件好用在哪里。这11个超好用的SVG编辑工具依次为&#xff1a;即时设计、Justinmind、Sketsa SVG…

Sentinel-Dashboard-1.8持久化Nacos

Sentinel-Dashboard-1.8持久化Nacos 目录 Sentinel-Dashboard-1.8持久化Nacos一、客户端改造1.引入pom.xml文件依赖2.配置application.yml文件。 二、Sentinel-Dashboard源码改造三、测试 一、客户端改造 1.引入pom.xml文件依赖 <!-- https://mvnrepository.com/artifact/…

这些神奇的AI智能机器人很早就已出现过,你确定你不了解?

很多人自从ChatGPT出现以后&#xff0c;就总是担忧&#xff0c;担心自己的职业被影响&#xff0c;然后很多人大肆宣扬 ChatGPT 真是了不得&#xff0c;未来再辅助机器人&#xff0c;加上大数据&#xff0c;一定可以怎么怎么样&#xff0c;说的神乎其神&#xff0c;说实话&#…