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

2024-01-24

区块链安全和共识机制

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

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

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、无利害关系问题

四、共识算法未来发展

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、无利害关系问题

无利害关系(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

黑客学习资源推荐

最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

????朋友们如果有需要的话,可以V扫描下方二维码联系领取~

1️⃣零基础入门
① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的 学习成长路线图 。可以说是 最科学最系统的学习路线 ,大家跟着这个大的方向学习准没问题。

image

需要详细路线图的,下面获取

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

image-20231025112050764

2️⃣视频配套工具&国内外网安书籍、文档
① 工具

② 视频

image1

③ 书籍

image2

资源较为敏感,未展示全面,需要的下面获取

### 3️⃣Python面试集锦

① 面试资料

在这里插入图片描述 在这里插入图片描述

② 简历模板

在这里插入图片描述

因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取????

------ ????‍♂️ 本文转自网络,如有侵权,请联系删除 ????‍♂️ ------

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

【网络安全】——区块链安全和共识机制 的相关文章

  • 【网络安全】web漏洞-xml外部实体注入(XXE)

    web漏洞 xml外部实体注入 XXE 目录 web漏洞 xml外部实体注入 XXE 概念 危害 检测方法 利用方法 漏洞利用 xxe lab 有回显情况 无回显情况 pikachu靶场
  • 期权开户最低多少钱个人可以开?

    大家新年好 现在2024年龙年 很多想玩期权的小伙伴都知道期权开通需要50万的门槛 那么今天来给大家详细介绍下期权开户最低多少钱个人可以开 本文将对期权开户最低金额进行探讨 帮助投资者更好地了解期权交易的投资门槛 本文来自 期权酱 一 期权
  • CTF之逆向入门

    逆向工程 Reverse Engineering 又称反向工程 是一种技术过程 即对一项目标产品进行逆向分析及研究 从而演绎并得出该产品的处理流程 组织结构 功能性能规格等设计要素 以制作出功能相近 但又不完全一样的产品 逆向工程源于商业及
  • 【网络安全】Web缓存欺骗攻击原理及攻防实战

    Web缓存欺骗是一种新的攻击方式 危害范围可扩大至各种技术及框架 本文仅分享Web缓存攻击知识 不承担任何由于传播 利用本文所发布内容而造成的任何后果及法律责任 文章目录 前言 攻击前提及原理 实例一 ChatGPT帐户接管漏洞 实例二 P
  • 【CTF必看】从零开始的CTF学习路线(超详细),让你从小白进阶成大神!

    最近很多朋友在后台私信我 问应该怎么入门CTF 个人认为入门CTF之前大家应该先了解到底 什么是CTF 而你 学CTF的目的又到底是什么 其次便是最好具备相应的编程能力 若是完全不具备这些能力极有可能直接被劝退 毕竟比赛的时候动不动写个脚本
  • Web 安全漏洞之 OS 命令注入

    什么是 OS 命令注入 上周我们分享了一篇 Web 安全漏洞之 SQL 注入 其原理简单来说就是因为 SQL 是一种结构化字符串语言 攻击者利用可以随意构造语句的漏洞构造了开发者意料之外的语句 而今天要讲的 OS 命令注入其实原理和 SQL
  • SRC漏洞挖掘经验+技巧篇

    一 漏洞挖掘的前期 信息收集 虽然是前期 但是却是我认为最重要的一部分 很多人挖洞的时候说不知道如何入手 其实挖洞就是信息收集 常规owasp top 10 逻辑漏洞 重要的可能就是思路猥琐一点 这些漏洞的测试方法本身不是特别复杂 一般混迹
  • 线程安全(中)--彻底搞懂synchronized(从偏向锁到重量级锁)

    接触过线程安全的同学想必都使用过synchronized这个关键字 在java同步代码快中 synchronized的使用方式无非有两个 通过对一个对象进行加锁来实现同步 如下面代码 synchronized lockObject 代码 对
  • 2024年网络安全十10大发展趋势发布

    2023年网络安全十10大发展趋势发布 近日 中国计算机学会 CCF 计算机安全专委会中 来自国家网络安全主管部门 高校 科研院所 大型央企 民营企业的委员投票评选出2023年网络安全十大发展趋势 福利 趋势一 数据安全治理成为数字经济的基
  • Android开发中常见安全问题和解决方案

    前言 开发APP时经常有问到 APP的安全怎么保障 应用程序被PJ了怎么办 手机被人捡去了怎么办 特别在号称 安全第一 风控牛逼 的银行系统内 移动产品安全性仍被持有怀疑态度 那我们来总结下APP安全的方向和具体知识 1 应用程序安全 2
  • 【网络安全】Facebook代码执行实现命令执行、敏感信息泄露

    部分网站开设编码练习 若安全配置不当 则代码执行将升级为操作系统命令注入 导致敏感信息泄露 本文仅分享命令执行相关知识 不承担任何由于传播 利用本文所发布内容而造成的任何后果及法律责任 未经许可 不可转载 文章目录 信息泄露 扩大危害 信息
  • 网络安全(黑客)自学

    1 网络安全是什么 网络安全可以基于攻击和防御视角来分类 我们经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 2 网络安全市场 一 是市场需求量高 二 则是发展相对成熟入门比较容易 3 所需要的
  • 渗透测试常用工具汇总_渗透测试实战

    1 Wireshark Wireshark 前称Ethereal 是一个网络分包分析软件 是世界上使用最多的网络协议分析器 Wireshark 兼容所有主要的操作系统 如 Windows Linux macOS 和 Solaris kali
  • 内网安全:隧道技术详解

    目录 隧道技术 反向连接技术 反向连接实验所用网络拓扑图及说明 网络说明 防火墙限制说明 实验前提说明 实战一 CS反向连接上线 拿下Win2008 一 使用转发代理上线创建监听器 二 上传后门执行上线 隧道技术 SMB协议 SMB协议介绍
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 为什么我强烈推荐大学生打CTF!

    前言 写这个文章是因为我很多粉丝都是学生 经常有人问 感觉大一第一个学期忙忙碌碌的过去了 啥都会一点 但是自己很难系统的学习到整个知识体系 很迷茫 想知道要如何高效学习 这篇文章我主要就围绕两点 减少那些罗里吧嗦的废话 直接上干货 CTF如
  • 为什么这么多人自学黑客,但没过多久就放弃了(掌握正确的网络安全学习路线很重要)

    网络安全是一个 不断发展和演变 的领域 以下是一个 网络安全学习路线规划 旨在帮助初学者快速入门和提高自己的技能 基础知识 网络安全的 基础知识 包括 网络结构 操作系统 编程语言 等方面的知识 学习这些基础知识对理解网络安全的原理和技术至
  • 【安全】原型链污染 - Hackit2018

    目录 准备工作 解题 代码审计 Payload 准备工作 将这道题所需依赖模块都安装好后 运行一下 然后可以试着访问一下 报错是因为里面没内容而已 不影响 准备工作就做好了 解题 代码审计 const express require exp
  • 【安全】简单解析统一身份认证:介绍、原理和实现方法

    深入解析统一身份认证 介绍 原理和实现方法 导语 统一身份认证是什么 统一身份认证的原理 统一身份认证的实现 结语 导语 随着互联网的发展和各种在线服务的普及 用户在不同的应用和平台上需要进行多次身份验证 为了简化用户的登录和减少重复操作
  • 【安全】mybatis中#{}和${}导致sql注入问题及解决办法

    0 问题 使用mybatis的时候遇到了 和 可能导致sql注入的问题 1 预先了解 1 底层通过prepareStatement对当前传入的sql进行了预编译 一个 被解析为一个参数占位符 解析之后会将String类型的数据自动加上引号

随机推荐