符合学术规范的学术服务

区块链安全研究综述

分类:计算机职称论文 时间:2020-01-13

  摘要:区块链是一种去信任化的分布式新型计算范式,是一种带激励的基于博弈论共识的分布式账本技术.区块链的出现促进了信息互联网向价值互联网的转化,加快了可编程货币、可编程金融和可编程社会的产生.区块链对金融、物联网、征信等领域势必会产生革命性的影响,在提高生产效率、降低生产成本以及保护数据安全等方面,区块链将发挥重要的作用.区块链对数据安全、网络安全将产生积极的影响,同时区块链本身也面临着严重的安全问题,受到研究者的广泛关注.本文将分层介绍区块链的基本技术原理.重点从算法、协议、使用、实现、系统的角度出发,对区块链的技术存在的安全问题进行分模块介绍,讨论区块链面临的安全问题的本质原因,主要分析协议安全性中的共识算法问题、实现安全性中的智能合约问题、以及使用安全性中的数字货币交易所安全问题.最后,分析了现有区块链安全保护措施存在的缺陷,给出了区块链安全问题的解决思路,并明确了区块链安全的未来研究方向.

区块链安全研究综述

  关键词:区块链;安全;智能合约;分布式系统;共识算法

  i前言

  区块链起源于中本聪的论文[1],在论文中并没有直接提出“blockchain”这个词,而是提到了“achainofblock”.2009年诞生的比特币就是世界上第一个去中心化的数字加密货币,这之后加密货币一词多指此类设计,比特币是目前为止区块链最成功的应用,目前已有上千种以区块链技术作为底层技术的加密货币,其中的一些加密货币也受到了人们的认可,例如莱特币、以太币M等等.现存的加密货币大多由两种方式产生,一种是在已有加密货币的基础上做改进,这种方式中最有代表性的是在比特币基础上做硬分叉,例如比特币现金(BCH)、比特币黄金(BCG)等等.另外一种方式就是完全原创的加密货币,这种方式最有代表性的就是以太币、EOS?.并且大多数的加密货币都有自己的特性,例如达氏币《、门罗币W、零币W等以隐私保护为特性;EOS、ZILm等以交易速率为特性.当然并不是所有的加密货币都对应着—条区块链,真正有区块链的加密货币非常少,大多数的加密货币都仅仅是有一个虚拟的概念.区块链最开始的应用领域仅仅局限在加密货币,后来逐渐向更多的金融领域拓展.随着2013年以太坊的诞生,区块链的应用领域逐渐向其它方面拓展,其中智能合约与区块链的结合起到了主要的作用.以太坊的应用中,以Cryptokitties为代表的区块链游戏和发行TOKEN是最有代表性的,然而受到交易速率以及隐私保护方面缺陷的影响,以太坊的现实应用仍然比较局限.2015年,Hyperledger项目推出,其中以IBM为主要贡献者的Fabric项目受到了大家的广泛认可.Fabric考虑到现实的应用环境,牺牲了部分去中心化的特性,在隐私保护与交易速率方面基本满足现实应用需求.

  目前区块链的应用领域已经十分广泛,2018年由工业和信息化部主编的《2018年中国区块链产业白皮书》中提到了供应链金融、物联网等22个重点应用领域.当然区块链的应用领域并不仅仅局限在这22个领域,任何高价值数据的管理、流通与共享都可以用区块链.另外区块链在数据安全、网络安全方面也起到重要的作用.美国国防部正在尝试利用区块链技术创建一个黑客无法入侵的安全信息服务系统,北约也在探索使用区块链技术开发下一代军事系统,以实现北约网络防御平台的现代化,我军也在积极探索区块链在军事领域的应用价值.区块链在越来越多的重要场景中被应用,在这些场景中安全性是非常重要的,但是目前区块链本身存在严重的安全问题.从2016年的“TheDAO”事件开始,区块链上智能合约的安全问题层出不穷.据不完全统计,从2011年到2018年4月份,区块链安全事件中,共识机制安全事件造成的损失达3100万美元,矿工安全事件损失的金额达6328美元,普通用户安全事件造成的损失达1.73亿美元,智能合约安全事件造成的损失达12.4亿美元,交易平台安全事件造成的损失达13.44亿美元,其他安全事件造成的损失达1260万美元.

  本文第2节将介绍区块链的基本技术原理,第3节对区块链安全的背景知识进行介绍,主要对区块链安全进行分类,分为算法安全、协议安全、实现安全、使用安全和系统安全,并将区块链安全分类与区块链基础架构进行对应.第4节将按照第3节中对区块链安全的分类分别对区块链安全问题进行分析.第5节将针对第4节中的区块链安全分析讨论并给出相应的区块链安全应对机制以及未来研究方向.第6节将对全文进行总结.

  2区块链基础技术原理

  区块链起源于比特币,比特币是最简单也是最典型的区块链架构.后期的区块链也基本延续了比特币的基础架构,主要由数据层、网络层、共识层、激励层、合约层和应用层构成.但是随着区块链的发展,区块链的基础架构已经不完全按照这6个模块构建,一些传统的模块己经被弱化,甚至被丢弃,同时一些新的模块也被采用.例如,以Fabric为代表的联盟链缺少了激励模块,而增加了相应的身份认证模块;以IOTA间和Byteball间为代表的有向无环图(directedacyclicgraph,DAG)放弃了传统的单链模式,采用了图的交易结构.根据目前区块链的发展趋势,将区块链的技术框架分为4个模块,具体如图1所示.

  2.1网络层

  网络层负责区块链节点之间的通信,主要包括区块链网络的组网方式和区块链节点之间的通信机制.在组网方式上,区块链采用对等网络(peer-to ̄peernetworking,P2P)的组网技术,具有去中心化的特性.不同的区块链节点分布在不同的物理位置,且所有节点的关系平等,不存在中心权威节点.目前规模最大的区块链网络是比特币,近一年可访问的比特币节点数量平均为10589个,主要来自美国、德国、中国、法国等国家.

  P2P通信是区块链中一切活动的前提,根据结构关系可以将P2P系统细分为四种拓扑形式@1:

  (1)中心化拓扑,即存在一个中心节点保存了其他所有节点的索引信息,索引信息一般包括节点IP地址、端口、节点资源等.由于去中心的要求,目前区块链不会使用中心化拓扑的P2P网络.

  (2)全分布式非结构化拓扑,移除了中心节点,在P2P节点之间建立随机网络,就是在一个新加入节点和P2P网络中的某些节点间随机建立连接通道,从而形成一个随机的拓扑结构,比较典型的是Gnutella.比特币也采用的是类似的网络结构,但是,比特币通常使用像TorrentTracker的IRC通道来找到连接到节点的节点.

  3)全分布式结构化拓扑的P2P网络主要是采用分布式散列表(distributedhashtable)组织网络,所以也称作DHT网络.

  (4)半分布式拓扑吸取了中心化结构和全分布式非结构化拓扑的优点,选择性能较高的结点作为超级节点,超级节点需要索引其他部分节点的信息,网络中流转的包首先在超级节点转发,然后才是超级节点传递给叶子节点,这样信息传播速度可以得到保证.

  2.2交易层

  交易层是实现区块链系统任务的具体内容部分,可以在满足共识条件后,使得两个地址之间完成价值数据的传递.基于账本和基于UTXO的交易模式中,交易层信息主要包含输入部分、输出部分和交易信息部分.但是随着对区块链效率的更高要求,NXT社区提出了有向无环图与区块链结合的方式来存储交易信息,这个时候更多还是类似侧链的解决思路,不同的链条存储不同类型的交易,在之后某个节点需要合并的时候,几个分支再归并到一个区块.真正将DAG与区块链结合的是IOTA的Tangle协议,Tangle里的一个Bundle可以包含多个TX信息,其中某些交易可以是价值TX包括token的收入和支出,也可以是非价值TX包括一段数据?与比特币区块相比,Bundle通常TX含量非常少,而且可以被节点独立完成并提交到公共账本中,下表给出Bundle和比特币Block的对比.

  交易信息不仅可以是代币数量,也可以是存储信息索引、证书ID、智能合约代码等.智能合约是一套以数字形式定义的承诺,在比特币中智能合约以脚本方式完成简单的延迟交易和条件交易,在以太坊中的虚拟机中实现了可以编写智能合约的图灵完备脚本语言.随着区块链体系结构的进步,智能合约也可能会有新的表现形式.

  2.3共识层

  共识层中封装的是相应的共识算法,正如TechTarget的解释“在计算机科学中,共识算法是一种用在分布式过程或系统中,实现单一数据值的协议”,分布式过程中各个节点表现不一致,所以共识算法必须要有一定的容错能力.常见的共识机制有工作量证明共识(proofofwork,PoW)、权益证明共识(proofofstack,PoS)、实用拜占庭容错协议(practicalByzantinefaulttolerance,PBFT)授权权益证明共识(delegateproofofstack,DPoS)、基于DAG的共识,Paxosl12]共识算法以及对Paxos改进的共识RAFT【13〗等.

  PoW可以容忍小于1/2的错误节点,是迄今为止使用最为广泛的共识机制,但是此类共识要求计算大量的哈希会造成资源浪费问题和中心化问题

  .PoS是针对PoW缺陷产生的替代技术,用户必须具有系统中的一些权益,每次投票都会消耗掉用户的权益,这使得如果在使用PoS的区块链系统中进行51%攻击更加困难.正如以太坊研宄员VladZamfir提到的,在PoS中重复51%攻击的代价,可类比为每增长一个攻击区块,都会毁掉所有矿机.

  PBFT可以容忍小于1/3的错误节点,已经被HyperledgerFabric0.6采用.PBFT使用了较少的共识参与者,因此运行非常高效,但是不足之处在于是中心化程度过高,不能作为公有链共识.

  在DPoS共识中,所有拥有token的节点都是权益持有者,权益持有者按照权益投票选举见证者,再由见证者代表自己进行投票共识.通常见证节点采用轮询方式,一个节点只能产生一个区块,这样可以防止“双重支付攻击”,一旦见证节点做坏,权益持有者就会投票决定其退出并选择其他更好的见证者.

  基于DAG的共识算法可以支持高并发的共识,从结构上提高了区块链的可扩展性,但是以DAG作为基础架构的区块链项目IOTA,由于早期采用了中心化协调器来保证系统的可用性,因此存在一些安全性隐患.

  RAFT是一种可以形式化证明安全性的共识算法,通过逻辑分离保证状态的一致性,与PBFT相同,RAFT也被部署在Fabric0.6中作为可插拔的组件起作用.

  相关论文推荐:区块链隐私保护研究综述

  摘 要 区块链技术的核心特征是“去中心化”和“去信任化”,作为分布式总账技术、智能合约基础平台、分布式新型计算范式,可以有效构建可编程货币、可编程金融和可编程社会,势必将对金融及其他领域带来深远影响,并驱动新一轮技术变革和应用变革.但是区块链技术在提高效率、降低成本、提高数据安全性的同时,也面临严重的隐私泄露问题,得到研究者的广泛关注.将介绍区块链技术架构,定义区块链技术中身份隐私和交易隐私的概念,分析区块链技术在隐私保护方面存在的优势和不足,并分类描述现有研究中针对区块链隐私的攻击方法,例如交易溯源技术和账户聚类技术;然后详细介绍针对区块链网络层、交易层和应用层的隐私保护机制,包括网络层恶意节点检测和限制接入技术、区块链交易层的混币技术、加密技术和限制发布技术,以及针对区块链应用的防御机制;最后,分析了现有区块链隐私保护技术存在的缺陷,展望了未来发展方向.此外,还讨论针对恶意使用区块链技术的监管方法.

全学科期刊推荐 中英文发表指导

* 稍后学术顾问联系您

学术顾问回访> 详细沟通需求> 确定服务项目> 支付服务金> 完成服务内容

SCI期刊

国际英文期刊

核心期刊

国外书号出书

国内纸质出书

2023最新分区查询