imtoken钱包下载国际版|区块链技术原理及底层架构
imtoken钱包下载国际版|区块链技术原理及底层架构
从概念到底层技术,一文看懂区块链架构设计(附知识图谱) - 知乎
从概念到底层技术,一文看懂区块链架构设计(附知识图谱) - 知乎切换模式写文章登录/注册从概念到底层技术,一文看懂区块链架构设计(附知识图谱)巴比特已认证账号前言区块链作为一种架构设计的实现,与基础语言或平台等差别较大。区块链是加密货币背后的技术,是当下与VR虚拟现实等比肩的热门技术之一,本身不是新技术,类似Ajax,可以说它是一种技术架构,所以我们从架构设计的角度谈谈区块链的技术实现。无论你擅长什么编程语言,都能够参考这种设计去实现一款区块链产品。与此同时,梳理与之相关的知识图谱和体系,帮助大家系统的去学习研究。基本概念区块链的概念最近很火,它来自于比特币等加密货币的实现,但是目前,这项技术已经逐步运用在各个领域。什么是区块链技术?为了感性认识这个问题,我们可以使用谷歌地球的例子做类比,ajax不是什么新技术,但组合在一起就成就了产品谷歌地球,与之类似,区块链也不是什么新技术,但与加密解密技术、P2P网络等组合在一起,就诞生了比特币。技术人员,特别是Web开发工程师,学习了解ajax技术最早是被谷歌地球酷炫的效果所吸引。而现在,历史再一次重演,很多人被比特币的疯狂发展所吸引,进而开始研究其背后的技术——区块链。区块链原本是比特币等加密货币存储数据的一种独特方式,是一种自引用的数据结构,用来存储大量交易信息,每条记录从后向前有序链接起来,具备公开透明、无法篡改、方便追溯的特点。实际上,这种特性也直接体现了整个比特币的特点,因此使用区块链来概括加密货币背后的技术实现是非常直观和恰当的。区块链是一项技术,加密货币是其开发实现的一类产品(含有代币,也有不含代币的区块链产品),不能等同或混淆。与加密货币相比,区块链这个名字抛开了代币的概念,更加形象化、技术化、去政治化,更适合作为一门技术去研究、去推广。所以,目前当大家单独说到区块链的时候,就是指的区块链技术,是实现了数据公开、透明、可追溯的产品的架构设计方法,算作广义的区块链。而当在具体产品中谈到区块链的时候,可以指类似比特币的数据存储方式,或许是数据库设计,或许是文件形式的设计,这算作狭义的区块链。广义的区块链技术,必须包含点对点网络设计、加密技术应用、分布式算法的实现、数据存储技术的使用等4个方面,其他的可能涉及到分布式存储、机器学习、VR、物联网、大数据等。狭义的区块链仅仅涉及到数据存储技术,数据库或文件操作等。本文的区块链,指的是广义的区块链。架构图从架构设计上来说,区块链可以简单的分为三个层次,协议层、扩展层和应用层。其中,协议层又可以分为存储层和网络层,它们相互独立但又不可分割。如图:协议层所谓的协议层,就是指代最底层的技术。这个层次通常是一个完整的区块链产品,类似于我们电脑的操作系统,它维护着网络节点,仅提供Api供调用。通常官方会提供简单的客户端(通称为钱包),这个客户端钱包功能也很简单,只能建立地址、验证签名、转账支付、查看余额等。这个层次是一切的基础,构建了网络环境、搭建了交易通道、制定了节点奖励规则,至于你要交易什么,想干什么,它一概不过问,也过问不了。典型的例子,自然是比特币,还有各种二代币,比如莱特币等,本书介绍的亿书币也是。这个层次,是现阶段开发者聚集的地方,这说明加密货币仍在起步当中。从用到的技术来说,协议层主要包括网络编程、分布式算法、加密签名、数据存储技术等4个方面,其中网络编程能力是大家选择编程语言的主要考虑因素,因为分布式算法基本上属于业务逻辑上的实现,什么语言都可以做到,加密签名技术是直接简单的使用(请看书中相关的加密解密文章,不建议自由发挥,没有过多的编码逻辑),数据库技术也主要在使用层面,只有点对点网络的实现和并发处理才是开发的难点,所以对于那些网络编程能力强,对并发处理简单的语言,人们就特别偏爱。也因此,Nodejs开发区块链应用,逐渐变得更加流行,Go语言也在逐渐兴起。上面的架构设计图里,我把这个层面进一步分成了存储层和网络层。数据存储可以相对独立,选择自由度大一些,可以单独来讨论。选择的原则无非是性能和易用性。我们知道,系统的整体性能,主要取决于网络或数据存储的I/O性能,网络I/O优化空间不大,但是本地数据存储的I/O是可以优化的。比如,比特币选择的是谷歌的LevelDB,据说这个数据库读写性能很好,但是很多功能需要开发者自己实现。目前,困扰业界的一个重大问题是,加密货币交易处理量远不如现在中心化的支付系统(银行等),除了I/O,需要全方位的突破。分布式算法、加密签名等都要在实现点对点网络的过程中加以使用,所以自然是网络层的事情,也是编码的重点和难点,《Nodejs开发加密货币》全书分享的基本上就是这部分的内容。当然,也有把点对点网络的实现单独分开的,把节点查找、数据传输和验证等逻辑独立出来,而把共识算法、加密签名、数据存储等操作放在一起组成核心层。无论怎么组合,这两个部分都是最核心、最底层的部分,都是协议层的内容。扩展层这个层面类似于电脑的驱动程序,是为了让区块链产品更加实用。目前有两类,一是各类交易市场,是法币兑换加密货币的重要渠道,实现简单,来钱快,成本低,但风险也大。二是针对某个方向的扩展实现,比如基于亿书侧链,可为第三方出版机构、论坛网站等内容生产商提供定制服务等。特别值得一提的就是大家听得最多的“智能合约”的概念,这是典型的扩展层面的应用开发。所谓“智能合约”就是“可编程合约”,或者叫做“合约智能化”,其中的“智能”是执行上的智能,也就是说达到某个条件,合约自动执行,比如自动转移证券、自动付款等,目前还没有比较成型的产品,但不可否认,这将是区块链技术重要的发展方向。扩展层使用的技术就没有什么限制了,可以包括很多,上面提到的分布式存储、机器学习、VR、物联网、大数据等等,都可以使用。编程语言的选择上,可以更加自由,因为可以与协议层完全分离,编程语言也可以与协议层使用的开发语言不相同。在开发上,除了在交易时与协议层进行交互之外,其他时候尽量不要与协议层的开发混在一起。这个层面与应用层更加接近,也可以理解为B/S架构的产品中的服务端(Server)。这样不仅在架构设计上更加科学,让区块链数据更小,网络更独立,同时也可以保证扩展层开发不受约束。从这个层面来看,区块链可以架构开发任何类型的产品,不仅仅是用在金融行业。在未来,随着底层协议的更加完善,任何需要第三方支付的产品都可以方便的使用区块链技术;任何需要确权、征信和追溯的信息,都可以借助区块链来实现。我个人觉得,这个目标应该很快就能实现。应用层这个层面类似于电脑中的各种软件程序,是普通人可以真正直接使用的产品,也可以理解为B/S架构的产品中的浏览器端(Browser)。这个层面的应用,目前几乎是空白。市场亟待出现这样的应用,引爆市场,形成真正的扩张之势,让区块链技术快速走进寻常百姓,服务于大众。大家使用的各类轻钱包(客户端),应该算作应用层最简单、最典型的应用。很快,亿书将基于亿书网络推出文档协作工具,这个就是典型的应用层的产品。限于当前区块链技术的发展,亿书只能从协议层出发,把目标指向应用层,同时为第三方开发者提供扩展层的强大支持。这样做既可以避免贪多,又可以避免无法落地,是真正理性的开发路线。因为纯粹的开发协议层或扩展层,无法真正理解和验证应用层,会脱离实际,让第三方开发者很难使用。如果仅仅考虑应用层,市面上又找不到真正牢固、易用的协议层或扩展层的产品。所以,我们只好全面发力,采取完全开源开放的态度,通过社区的力量,共同去做一件有意义的事情,也算为中国区块链技术发展做点技术积累和微薄贡献。编程实现很多小伙伴,习惯结合自己的技术背景,来理解上面的架构设计。这里,结合具体的编程语言,简单介绍几款产品,仅供参考。(1)C/C++这两个语言是无法逾越的,任何开发遇到瓶颈,基本上都会找到它们,自然应该排在第一位要介绍的。同时,区块链技术的鼻祖,比特币(协议层)就是用C++语言开发的,而且目前为止,没有比比特币更加成功的区块链产品。所以,无论你使用什么语言开发,在正式进入这个行业的过程中,都应该先研究研究比特币。比特币官方客户端钱包用的Qt,第三方钱包有Python语言开发的,特别是第三方整理的开发库(Api包)很多是Nodejs设计的。比特币的架构,与上面的架构设计基本相同,另外,因为共识算法采用的是工作量证明机制(PoW:Proof of work),还有一些特殊的挖矿的过程。其他竞争币都是直接来自比特币的分支,所以编程语言相同,具体的技术选型和技术实现上可能有所改进,比如:莱特币,使用了其他的加密算法。官方网站:https://bitcoin.org/源码库:https://github.com/bitcoin(2)Nodejs/JavascriptNodejs平台强大的网络编程能力,以及js脚本语言的简单快捷,在区块链领域自然少不了它的身影。亿书便是这样一个区块链产品,亿书币是它的协议层,使用了著名的express开发框架,基于http协议开发而成。同时,它采用了授权股权证明机制(DPoS),算法上的改进,让它在处理交易时更加轻量,处理能力大大提升。它提供了强大的协作机制,为数字出版、版权保护提供了便利;扩展了侧链功能,可以基于它开发任何去中心化的应用,从而为专业作者、博客爱好者和开发者提供很多方便。《Nodejs开发加密货币》这本书完整分享了它的源码,从区块链基础概念到代码实现,从基本原理到开发设计思路,都做了比较详细的探索,目前为止,从协议层面深入代码讲解区块链技术实现的书籍极少,这算作一本。官方网站:http://ebookchain.org/源码库:https://github.com/Ebookcoin(3)Python如果是Python语言爱好者,我建议研究研究以太坊(Ethereum)的Python实现。尽管因为The Dao事件闹得沸沸扬扬,但从技术实现的角度来说,仍然值得参考学习。以太坊官方定位为一种开发管理分布式应用的平台,主攻方向就是“智能合约”,并为其定制了一种编程语言Solidity。以太坊的核心是以太坊虚拟机(EVM),允许用户按照自己的意愿创建操作。以太坊给出了Go、Java、Python等多语言的实现。其中以python为基础的实现主要包括三个部分:Pyethapp是客户端部分;pyethereum是核心库,实现了区块链、以太坊模拟机和挖矿等功能;pydevp2p是点对点网络库,实现了节点发现、合约代码传输、加密签名等功能,这三者组合在一起就是完整的区块链实现,后面两个核心库共同组成了协议层。另外,go-ethereum是go语言的完整实现;Ethereum(J) 是纯Java实现,它作为可以嵌入任何Java/Scala项目的库提供。客户端方面,还有Rust、Ruby、Javascript等语言的实现。官方网站:https://ethereum.org/源码库:https://github.com/ethereum/pyethapp(4)Go在多核时代,Go语言备受喜爱,它可以让你用同步方式轻松实现高并发,特别是在分布式系统、网络编程等领域,应用非常广。所以,在区块链开发领域,也有很多使用Go语言的项目。其中,由linux基金会主导的超级账本(HyperLeger),版本库的名字叫Fabric,就是其中一个。该项目试图为新一代的事务应用创建一种开放的分布式账本标准,支持许可式区块链(这种方式可能无法再现比特币那种强大的网络效应)。Fabric的开发环境建立在VirtualBox虚拟机上,部署环境可以自建网络,也可以直接部署在BlueMix上,部署方式可docker化,支持用Go和JavaScript开发智能合约。它采用PBFT分布式算法,网络编程方面用gRPC来做P2P通讯,使用 Protocol Buffer来序列化要传递的数据结构。在架构设计上,Fabric可能与比特币等区块链产品有所不同,但是上述基本组成部分还是不可或缺的。官方网站:https://www.hyperledger.org/源码库:https://github.com/hyperledger其他编程语言,比如:C#等,也有具体实例,这里就不再列举。总之,针对不同的编程语言,在具体的编码或架构设计上可能有所差别,甚至很大,但是协议层所使用的技术并没有太大的变化。其中,网络编程是重点和难点,多数没有现成的框架可用,都是使用编程语言自身提供的库来设计开发,所以比较底层,非常考验开发者的编码功底。知识图谱循着上面的分析,我们已经可以了解区块链是什么,并知道怎么实现了,顺便梳理一下其中的编程技术知识,自然也就清晰多了。根据个人的理解,我把与区块链相关的知识分为下面5个方面:(1)基础知识区块链是新技术,与之相关的是其背后大量的新概念、新理论。这些知识,虽然不直接体现在编码里,但却是理解区块链,掌握区块链技术的基本知识。所以,理当成为区块链技术不可或缺的一部分。这部分从基本概念入手,到工作原理的描述,就能够把区块链基础知识全部覆盖。(2)技术实现区块链是一项技术,但从上面的分析可以看出,它应该是一种架构应用,架构的实现理当是我们知识库的核心。正如大家看到的,任何一款区块链产品,协议层必须包括点对点网络、加密签名、数据存储、分布式算法等4个部分,应用层也必然要提供钱包、客户端浏览器等基础应用。所以,把这部分独立出来,也是合情合理。在扩展层的部分,区块链技术可以对接各种应用,比如:金融、物联网、网络安全、版权保护、电子商务等等,现有的很多技术都可以用在这里。只不过,如何与区块链结合,如何实现跨行业使用,自然是这部分内容研究的课题。所以,这里所罗列或涉及到的技术,理应归为技术实现的一个重要部分。(3)开发环境区块链是多项技术的组合,有其自身的复杂性,个别应用对开发环境依赖较大,开发工具与环境搭建,是让开发者快速上手的重要内容。(4)项目实践据说,短短数年,全球区块链产品已经有几千个,其中不乏创新应用。有些优秀的开源产品和项目实践,是最好的学习研究资料。(5)开发文档这个自然不用说了,每一种产品也都会有自己的开发文档。另一个,就是有心的开发者整理汇总的一些资源,可以帮助我们节省很多查询的时间。我在考虑这个知识体系的过程中,主要思考的是,读者循着这些标签去查阅文章,能否快速掌握区块链技术,并最终上手开发实现一个区块链产品。另外,也刻意规避了与具体编程语言,以及特定领域相关的词汇,唯一可以区分的就是这些节点之下对应的文章标签。所以,这些分类就显得非常中性。也考虑过使用比特币、竞争币、智能合约、数字资产、智能资产等具体领域的实现作为分类方法,但又怕限制了读者的思维,同时随着区块链的发展,这个图谱将不停的修改下去。这里,呼吁一下,希望读到这篇文章的小伙伴提供您的宝贵意见,让我们把这个关于区块链的知识分类图谱做得更加科学合理,使用更加方便。总结这篇文章,我们把区块链技术基础架构描述了一下,需要再次强调的是,这仅仅是一种实现方式,绝非所有的区块链产品都是如此,我们也期待更多创新出现,也相信一定会出现。编程实现罗列了几种编程语言与其实现的典型产品,因为协议层技术较为底层,并没有太多现成的框架需要介绍或讨论,同时,具体的技术细节,也绝非几行字能够罗列清楚,所幸,这些产品都是开源产品,大家可以结合自己的技术背景,进一步查看对应的产品源码,很快就能了解其中的奥妙。作者简介:朱志文,亿书创始人,CSDN区块链知识库特邀编辑。中国区块链俱乐部主创者和发起人,比特币的忠实粉丝,区块链技术的布道者,代表作《Nodejs开发加密货币》。原文:从概念到底层技术,一文看懂区块链架构设计(附知识图谱)发布于 2016-10-28 16:33区块链(Blockchain)比特币 (Bitcoin)赞同 17013 条评论分享喜欢收藏申请
区块链架构有哪些 - 知乎
区块链架构有哪些 - 知乎切换模式写文章登录/注册区块链架构有哪些解决方案工程师本文将整理汇总目前常见的区块链各种架构,通过汇总分析,区块链的架构基本都大同小异,前面详细介绍几个,后面的就不重复介绍了。一、区块链原理架构技术层面,区块链的结构如下图所示。一条区块链上有多个区块,每个区块包括区块头与区块体。区块头中主要包括版本号、前一区块哈希值、时间戳、随机数、目标哈希、默克尔根;区块体中是通过默克尔树记录的账本信息。这个主要是展示的区块链原理的技术架构,接下来,主要介绍组织架构及层级。二、早期的区块链架构区块链技术刚提出的时候,在架构上通常被分为6层,即数据层、网络层、共识层、激励层、合约层和应用层,下图为区块链技术早期架构图。下面,对各个层级进行解释。(1)数据层: 该层通过块存储数据,并且所有数据都包含在每个数据节点之间。数据层主要解决这些数据如何组合形成有意义的块的形式。每个块包括块的大小、块头、块中包含的事务数,以及最近一些或所有的新事务。(2)网络层: 该层扮演着区块链网络中节点和节点之间信息交换的角色,负责用户点对点信息交换,它主要包括P2P( Peer-To-Peer network)网络机制、数据传播和验证机制。正是由于块的P2P特性,数据传输在节点之间进行,因此即使某些节点或网络被破坏,也不会对其他部分的传输产生影响。(3)共识层: 该层允许高度分散的节点在P2P网络中对于区块数据的有效性达成一致,确定谁可以向主链中添加新的区块。目前,共识机制算法有十多种,其中最著名的是工作量证明机制(PoW) 、权益证明机制(PoS) 、股份授权证明机制(DPoS) 等。(4)激励层: 该层提供了一些激励方法,鼓励节点参与记账并确保整个网络的安全运行。通过共识机制,赢得记账权的节点可以获得一定的奖励。目前最熟悉的比特币有两个主要的激励因素,一是产生新区块的系统奖励,二是每次的交易手续费。(5)合约层: 该层封装了各种脚本、程序和合约,使区块链可编程。例如,智能合约是区块链的一些脚本,区块链上的各种交易会触发对应的脚本。触发后,该脚本就可以从区块链读取数据或向区块链写入数据甚至去触发其他脚本协同工作。通过这种方式,就可以使用程序算法来替换人员去仲裁和执行合同,为用户节省巨大的信任成本。(6)应用层: 该层封装了区块链的各种应用和场景,比如3种可编程应用类型,即可编程货币、可编程金融及可编程社会。例如,之前制作以太网的以太猫已部署在应用层。三、近期的区块链架构随着时间的推移,区块链技术的研究越来越深入,区块链技术发展迅速,区块链架构也在不断变化,很多传统的模块被弱化,激励层的机制在联盟链和私有链技术中甚至已被替代。例如数据层、共识层、激励层以及合约层的技术和机制大部分都是在交易的过程中体现,并没有很明显的区分,而类似于激励机制在联盟链和私有链中与公有链的区别在于大多公有链需依赖代币机制激励节点进行挖矿,从而打包新的交易数据,在联盟链和私有链中由于系统结构相对较为封闭,多为互相合作的多方来构建,可不使用代币机制来进行激励。通过详细分析区块链技术的本质特性和进展,本文将区块链技术的架构简化为 3 个层次,即网络层、交易层和应用层,如下图所示。下面,对各个层级进行解释。(1)网络层:网络层主要控制建立区块链网络以及所有节点之间信息的传递,其核心内容包括两部分,即组网方式和数据传播协议。网络层利用 P2P 技术实现分布式网络机制,主要任务是保证区块链节点之间可以通过 P2P 网络进行有效通信。通过自动联网机制,节点通过维护公共区块链结构来维持通信。网络层对区块链系统的组网方式、消息传播协议和数据验证机制进行了封装。根据实际应用需求,区块链系统中的每个节点都可以通过设计特定的传播协议和数据验证机制参与块数据的校验和记账过程。只有经过整个网络上的大多数节点验证后,才能在区块链中输入区块链。(2)交易层:交易层负责交易数据的建立、检验和保存,区块链的核心业务在该层中实现,主要内容包括地址格式、交易格式、全局账本和共识机制。区块链的核心业务由交易层实现,即两个地址之间可靠和有说服力的数据传输,且地址、交易、合约、账本、共识机制和激励措施都是其传递的主要内容。用户之间的一系列数据交互过程就是区块链中的“交易”过程,其被记录并公布在区块链网络中。区块链中的“地址”是用户用来隐藏真实身份的伪装,类似于支付宝或银行卡账户,可以使用公钥并经过加密算法( 例如椭圆加密算法 ECC得到。在加密算法中,交易的输入地址和输出地址是由公钥生成的,私钥信息由用户自己保存并用于生成签名以验证所需资金的所有权。(3)应用层:目前应用程序场景的程序和接口都是由应用层提供,并且安装在应用层的各种应用程序是直接与用户进行交互的,用户不用去探究区块链那些底层的细节。目前,典型的区块链应用包括数字货币应用,数据存储应用以及能源应用等。四、区块链+数据管理架构基于区块链的数据资产管理平台链系统的架构体系如下图所示,这个架构类似于早期的区块链架构。下面,对各个层级进行解释。(1)数据层:数据层主要包括数据类别等的数字资产所有相关信息、系统节点账户信息等,使用链式区块进行存储。(2)网络层:网络层包括点对点网络在内的数据传播机制与数据验证机制等,目的是维持不同节点之间区块数据的同步并进行验证。(3)共识层:区块链系统本质上是一种多个节点同时运行,共同维护的去中心化应用,单节点生成的结果需与全网节点达成共识经确认后才可被打包入链。其中,较多采用的PoW(工作量证明)机制需要耗费大量的时间与算力来争取记账权以达成共识,而DPoS(委任权益证明)机制采用所有节点投票选取超级节点直接获得记账权的方式,仅需极少的计算时间和消耗就能够保证区块链系统的正常运转。考虑到数据资产管理系统为联盟链,节点可信度高,采用DPoS共识算法更为简洁、高效,更适合作为系统的共识算法。(4)合约层:合约层主要是在管理制度的约束下利用由自动化脚本代码组成的智能合约来实现各类功能如匹配交易双方等。(5)应用层:应用层能对外提供多种基于区块链的系统的应用,如节点注册、账户管理、数字资产的确权和流转交易等。五、区块链+大数据治理区块链+大数据治理的应用场景主要包含数据层、网络层、共识层、激励层、合约层和应用层,各层相互衔接、互为关联,以求达到智慧治理、精准治理、系统治理、科学治理的目标。下面,对各个层级进行解释。(1)数据层:数据层是基础层,功能在于采集、记录和存储城市公共安全大数据。区块头封装时间戳、根哈希值、版本号、工作量证明等信息,区块体则包含利用哈希算法、Merkle 树、非对称加密等技术计算的公共安全交易记录,这一层的密码学技术和运作规则能够保证公共安全大数据的安全性和完整性。(2)网络层:网络层作为工作机制层,可使治理主体共同参与数据区块的传播、验证及记账,保持公共安全大数据的更新与维护。(3)共识层:共识层主要包括各类共识算法,旨在让政府部门、私人单位、社会公众等治理主体在分布式系统中达成共识并建立信任网络,从而维护公共安全大数据的有效性。(4)激励层:激励层功能在于各共识主体在集体维护区块链系统的过程中能够得到相应激励,使得各主体既能维护自身利益,又可以保证区块链数据的有效性和时序性。(5)合约层:合约层则需要在国家制度环境下进行设计,其智能合约是各主体一致遵循的计算机数字协议,可以根据治理的逻辑和流程制定合约规则,自发进行公共安全的数据记录、存储、共享,从而有效降低治理成本,提高治理效率。(6)应用层:应用层则可以根据去中心化程度和治理主体设计公有链和联盟链网络面向政府普通系统和非政府系统,私有链面向政府机密系统,用户根据网络访问入口获得多元化服务,真正实现数据的共建共享。(7)目标层:目标层便是我们治理的目标任务。另外,还有下图架构,包括应用层、激励层、共识层、网络层、数据层,无非是在上图的架构中进行了简化,这里就不详细介绍了。六、“趣链科技”区块链架构“趣链科技”提出了全球首个完善区块链3.0全栈全生态支持:区块链基础共识网络、链上链下协同、跨链协同、芯片级上链支持与企业级服务平台。七、蚂蚁区块链溯源架构蚂蚁区块链提出的溯源架构如下图所示,主要包括BaaS层、平台层、交互层、物理层。八、工业区块链架构工业区块链应用指南中,介绍了工业区块链的架构,如下图所示。下面,对各个层级进行解释。(1)物理层:在基础网络、服务器、存储、虚拟机等基础组件之外,物理层还包括传感器、智能设备、视频监控、边缘设备、成套设备、成像设备等。该层提供了基本的互联网基础信息服务,主要是为上层架构组件提供基础设施,保证上层服务可靠运行,物联网IoT设备决定了数据来源的可靠性,区块链保证了数据的真实性,最后将数据安全的存储、分析和计算,提供高效、精准的数据服务。此外,为了更快处理延迟,减少无效数据传到云端账本,降低网络的带宽压力以及存储压力,往往会在边缘侧进行计算。在边缘侧的计算资源的环境下,和云端的计算形成共识,产生可信事件。该事件可以直接触发交易流程,比如支付、派工等。(2)核心层:核心层是区块链系统最重要的组成部分,将会影响整个系统的安全性和可靠性。共识机制与P2P网络传输是区块链的核心技术,保证了网络的安全性和分布式一致性。为了实现物理设备的数字孪生,除了传统设备标识之外,对于一些高价值的设备,需要额外为每一个设备配备一个物理级别的嵌入式的身份证书一次写入到设备中。数据的使用方可以通过统一的工业CA中心来验证设备数据的身份。在工业场景中,有许多企业商业数据,所以隐私保护也是溯源架构中必不可少的一环。针对于工业应用特点的分布式账本,除了具有传统的难以篡改、共识、受限访问、智能合约等特点以外,还需要具备适应工业数据的账本查询能力,满足资产转移状态迁移的快速读写能力等,以达到快速溯源和资产交易的目的。(3)接口层:接口层主要用于完成功能模块的封装,为应用层提供简洁的调用方式。应用层通过调用RPC接口与其他节点进行通信,通过调用SDK工具包对本地账本数据进行访问、写入等操作。数据从设备端发送上来以后,经过网关,数据处理,存放在云端的账本里面。在这个过程中,数据可能被有意无意的篡改,这里需要有技术协议保障数据在进入账本前不会被篡改或者删除。(4)应用层:基于可信数据,相关参与方的数据、过程和规则通过智能合约入链后,默认就达到相关参与方的链上共享。通过拖拽的方式,让区块链联盟成员可以非常方便的设计相关参与者(人、机、机构)的身份权限和规则,并且自动转化为相应的智能合约部署在区块链网络上,快速生成应用APP。区块链技术在应用层通过在生产端、流通端、产融协同端共享数据、流程和规则,实现数据要素的可信互联,促进参与主体之间的可信协作,服务于实体经济,服务于产业转型优化。生产端,实现企业内部与企业之间的数据共享。流通端,由生产企业延伸至消费者,包括物流商、销售商等中间环节,涉及多主体的供应链、贸易链的确权、协同、管理。产融协同,主要在企业与金融机构之间根据多主体可信产业数据,进行金融赋能和支持。(5)监管层:监管层涉及工业区块链整体架构自上而下的网管、监控以及相关认证、鉴权等服务。监管机构以区块链节点的身份参与到基于联盟区块链的工业互联网基础设施中,合规科技监管机制以智能合约的软件程序形式介入到产业联盟的区块链系统中,负责获取企业的可信生产和交易数据并进行合规性审查,通过大数据分析技术进行分析以把握整体工业行业的动态。九、腾讯云区块链架构腾讯云区块链的架构如下图所示,包括基础设施层、TBaaS层、行业应用层。 其中,TBaaS层的技术架构如下图所示。此外,另一种版本如下图所示。十、SHAREX区块链架构SHAREX区块链架构如下图所示。十一、京东区块链架构京东区块链服务平台架构如下图所示。以上便是总结整理的一些区块链的架构,核心的还是包括:网络层、共识层、合约层,这都是区块链技术本身附带的一些功能。另外,根据不同的应用场景及底层设施,再附加上一些应用层、基础层等。总体而言区块链架构已经有了较为公认的模型,但技术总是不断升级的,区块链4.0、5.0...以后,架构还会有更多的升级,区块链实现的场景还会源源不断丰富。发布于 2021-06-11 15:11技术架构区块链开发指南(书籍)区块链技术赞同 281 条评论分享喜欢收藏申请
分享实录|一文读懂区块链整体架构及应用方向 - 知乎
分享实录|一文读懂区块链整体架构及应用方向 - 知乎首发于HiBlock区块链社区切换模式写文章登录/注册分享实录|一文读懂区块链整体架构及应用方向yaoyao路是什么,走着走着就知道了1区块链概念及特征1、区块链的定义相较于区块链,大家似乎更了解比特币。区块链是一种技术,支撑和保障整个比特币的货币机制在这样一个分布式网络中运行,包括产生、流通、交易等等。简单来说它就是一个账本,在整个交易过程中,每产生一笔交易,大家都会记一笔账,认可这个交易是有价值的,这笔钱从这个账户通过某种方式转移到另一个账户,区块链就是保证这个交易数据实时和不可篡改的一个记录。从技术的角度来看,区块链是多种技术的整合。它不仅仅包括发币的制度,更重要的是分布式网络、加密技术、分布式数据存储技术等多种技术的组合。从数据存储的角度来看,区块链是一个分布式数据库。区块链网络中的所有参与的节点都在存储数据,每个人都有一个账本,这就解决了伪造和中心的问题。区块链完全使用分布式的网络。以前我们的金融交易系统更多的是中心化的,比如银行。我们的钱存到银行,过去很多年之后,银行可能说找不到那个存钱的记录了,这笔存款就作废了,这就是中心化的一个弊端,存在单点失效的问题。分布式存储就不会存在这样的问题,历史上产生过的每一笔交易,每个节点的账本都有记录。在区块链或者说比特币的结构中,每笔交易的信息,包括币的产生、币的交易,都会产生一个区块,区块里包括了交易信息和时间,通过时间戳、随机数和前一区块的哈希值算一个新的区块,新的区块中包括当前产生的交易内容、数额大小和整个区块大小,区块链就是这么来的。随着交易的增加,链会越来越长,链上的所有信息都不可删除不可篡改。如上图所示,交易数据随时可以回溯,任何一步都可以验证曾经发生过的交易。区块链中每笔交易的流程都要经过上图所示的这七步,第三步就是所谓的“挖矿”。假如有笔交易是Alice要给Bob发送2个比特币,就代表着网络上这2个比特币的权属会发生转移。首先Alice发起交易,向全网广播,让全世界人都知道Alice要给Bob2个比特币,广播之后所有节点接收到这个消息,矿工知道生意来了:现在有一个新的交易。于是所有矿工开始挖矿。前面我们说每笔交易都会记录到区块里去,怎么记进去、由谁来记呢?矿工挖矿就是去争取记账的权利,他争取到记账权后,要确认这笔交易是否正常,确认后把交易信息打包放到区块里,生成新的区块,做完这些事情之后系统会奖励给他比特币,同时还会给他一定的交易费。挖矿的奖励加上交易费组成矿工的收益。这个记账权需要矿工通过计算来争取,矿工需要在最快的时间内通过一个随机数加上时间戳、前一区块的内容、本次交易的数据等计算出一个值小于给定的难度目标,(这个难度目标是根据上一个区块的计算难度、时间和全网的算力情况来决定的),而要找到这个值,并没有固定算法,只能靠计算机随机的哈希碰撞。随机数可以变化,而且要从0试到最大值2^32。第一个算出来的人把得到的结果放到区块上让大家都认可即达成共识,经过连续6-7次确认即可认为这笔交易是可靠的,该矿工也就可以得到奖励,比特币是在挖矿的过程中产生的。交易被打包进区块,并放到了链上,交易双方不可以反悔或赖账,因为交易经过了全网广播、全网验证。这就是比特币的产生和交易流程。2、区块链的特征开放、共识区块链是一个分布式网络,任何人都可以参与到网络中来,所有节点都是平等的,都拥有一份账本,以共识机制通过竞争来维护区块。去中心、去信任完全分布式的端到端的网络,没有一个中心化的设备,节点之间无需互相信任。交易透明、匿名交易规则公开透明,交易数据公开,每笔交易都会经过全网广播,大家都能看到和参与验证交易的发生,同时所有参与节点都是匿名的。不可篡改、可追溯大部分节点同时确认新增区块,整个区块链上的数据只能增加,不能删除,不能篡改,通过这样的一个机制来保证在节点匿名和无需信任的状态下建立一种信任。因为每个区块都包含了上一区块的信息,所以每笔交易都是可追溯的。3、区块链的核心技术区块链包括四个核心技术:共识机制,即前面提到的算力的证明,矿工怎么争取记账权,大家如何达成一致。公钥机制,即交易产生的时候怎么验证身份。在区块链里我们用公钥机制来进行签名、加密和身份验证。分布式存储,保证整个账本及交易的公开透明。数字化合约,即我们所说的智能合约。4、区块链分类根据应用场景不同,区块链可以分为三类:公有链、联盟链和私有链。公有链,比如比特币、以太坊等,所有节点都可以参与。联盟链,部分节点可加入,需要通过联盟的审核和授权。比如大型金融机构之间建立联盟链。私有链,一般在企业内部使用。5、解决信任区块链的整个设计思想就是为解决信任问题。分布式网络、全部节点共同记账、共识机制等都是为了解决“在一个网络中大家没有信任的情况下如何保证交易的可信”的问题。从技术层面来看,多方参与,即分布式网络当中所有节点都参与,每次交易矿工通过计算竞争记账权,保证记账机会每个节点都公平拥有,而且计算结果需要经过大部分节点验证才能证明是有效交易并写入区块,个人修改或改变数据不影响整个账本的交易数据,保证交易的可信和不可篡改。从经济层面看,通过这种方式降低了交易成本,实际上很多交易成本就在于信任的建立。淘宝做起来的一个很重要的原因就是它通过支付宝这个第三方平台来做背书,解决了电子商务中交易信任的问题。区块链通过保证每笔交易都被记录、交易数据双方不能篡改、每笔交易都经过节点共识并可追溯,让交易可信,不用担心反悔或欺诈。2区块链技术架构1、区块链技术架构区块链技术架构可以分为以下几层:应用层,比如我们向钱包、客户端记账或转账。激励层,比如怎么挖矿、怎么分配比特币的机制。共识层,通过POW、权利证明等方式争取记账权。网络层,区块链主要是通过P2P网络来保证整个分布式网络当中的传播和验证机制。数据层,包括区块数据怎么生成、数字签名、哈希计算、整个链式结构的生成、以及非对称加密。最核心的是交易的生成,上图所示是实际的一个区块的产生过程,每个区块都有它的前一个区块,通过前一个区块的信息结合当时交易发生的时间戳以及随机数进行计算,求得一个小于目标难度值的数,通过其他节点认证,大家认可就生成一个新的区块哈希值,写到新的区块中。每一个区块都是这么产生的,在整个交易链条中环环相扣。因为每个区块中都包含上一个区块的信息,因此它可以从后往前追溯,同时不可篡改。上图是实际发生的一笔交易,块的高度等都在里面,能够实现快速检索是谁算出的随机数、广播的是谁、广播的内容和时间等信息。而所有用户都是匿名的,这也是比特币交易在黑市流行的一个很重要的原因。激励层就是发币的机制,前面提到任何一笔交易广播后,所有节点都会去争抢记账权,获得记账权完成记账后就会有奖励,比特币就是通过挖矿奖励产生。比特币的总量也不是无穷的,每四年减半。当比特币全部产生之后,矿工的收益就只有交易费,这也是比特币不会导致通胀的原因。区块链技术中最核心的是共识机制,共识机制是获取记账权的凭证。共识机制包括:POW,工作量证明,即通过算力争夺记账权。POS,权益证明,谁拥有的比特币越多,获得记账权的概率就越大。BFT,拜占庭容错协议,实际上整个共识机制就解决了所谓的拜占庭将军问题,少数节点不会影响多数节点的共识。了解一下比特币的双花,这是比特币或者区块链面临的一个安全问题。还是刚才的例子,Alice要给Bob2个比特币,从Bob那买一千克黄金,Bob答应了,Alice在网上公布说要跟Bob发生一笔交易:Alice用2个比特币买Bob的一千克黄金。而Alice具有足够的算力,网络公布之后,大家去计算,算出来之后会生成一个新的区块放到上面,因为全网确认需要一段时间,在这个过程中Alice撤销了,又告诉全网说我要把这2个比特币给第三个人不给Bob了,然后又在全网广播,节点收到新的交易消息又开始挖矿,也算出来一个数,这样的话就会发生分叉,其他节点在同步账本的时候就会面临两个新的区块选择哪一个的问题。区块链里的机制是选择长的链,所以前面说到需要在5-6个区块后才能确认交易可靠,节点根据这个长的链同步数据,短的链就被撤销掉了,以此来共同来维护这个账本。解决这个问题我们需要在确认的时候有一个延时的机制,也就是说当延时一定程度之后再确认,使得它在这个时间当中不可能快速地去创建一个更长的链来撤销这个交易,这是时间也是根据当前整个网络的算力来估计的。理论上有双花的可能,但实际上发生的概率非常低。回顾一下比特币的交易机制。首先交易输出,比如我要从我的钱包里拿出2个比特币来进行交易,我要先对这两个比特币进行锁定,再告诉全网我要发起这笔交易,这2个比特币属于交易状态,即在交易中不能再交易,然后用公钥私钥进行加密和签名。然后是交易输入,支出方用私钥签名和加密,接收方同时用公钥加密,完成双重加密后,由矿工打包区块、节点完成共识,验证交易后,双方共同用公钥和私钥进行验证并解密,完成交易。也就是说整个交易过程中,首先是对交易账户中的余额即交易的内容做锁定,双方确定之后再解锁,然后从账户里扣除掉想要的交易数和手续费。2、区块链应用架构体系设计这是整个区块链的应用架构体系设计图,我们可以根据这样的思路构建一个应用:首先是区块链协议,整个账本怎么建立、账本状态怎么更新、账本历史怎么证明、账本当中节点怎么更新、智能合约指令如何保证智能合约引擎。其次组件模型是实现这些协议的内容,包括共识网络、账本、持久化引擎、合约引擎等。最上面是服务平台,包括网关、服务、节点网络、SDK、工具等。简单展开介绍一下。三大块:区块链协议,我们自己开发相应的区块链技术和应用的时候,一定要定义自己的区块链协议,比如账本怎么建立、区块怎么构建、奖励怎么设置、账本怎么操作、账本的数据怎么更新、怎么计算等。基于这样的一个协议,来开发相应的支持账本和状态更新、历史证明、账本添加等的组件。最后再提供服务平台。在协议设计时有3个原则:面向业务。一定要面向我们的具体业务,利用区块链的思想解决具体业务中的什么问题,要解决什么问题决定了这个账本应该怎么设计。标准化。我们的业务一般会涉及多个主体,这种情况下我们应该尽量让区块链协议标准化,解决各个主体之间数据交互的问题。松耦合和模块化。定义模块间清晰的接口,实现模块之间的松耦合,以此获得整个系统的扩展性,满足不同用户和场景的需要,采用可插拔的模块组件。区块链应用模型设计,包括3步:定义身份。所有参与这个链的节点的身份都要通过某种方式来验证。编写智能合约。账户验证的同时,我们要使得交易正常进行的话,需要把参与者之间达成的商业协议以智能合约代码的形式进行定义。智能合约最核心的是提高效率,降低交易的可替代性。之前合约的签订具有主观性,容易产生违约的情况,智能合约是通过代码的形式统一规则,保证只要满足合同所约定的条件就会自动执行,谁也不能更改。签署智能合约。智能合约最后需要经过参与者以各自的身份账户做出签署,之后每一方参与者只需要根据业务范围内的业务进程做出相应的操作,触发智能合约执行。确定了应用模型后,我们进行区块链应用账本协议设计。账本协议是从数据的角度定义模型。账本数据的标准格式:包括账本状态、账户的历史证明等。读写账本数据的指令的标准格式:包括账本操作集、合约指令集。再来看区块链应用组件模型设计,区块链应用组件模型包括共识网络、账本、持久化存储、合约引擎。共识网络包括算法的使用和共识过程两方面。共识网络中共识算法可以根据整个应用的业务需求来设定,只要满足标准化和具备不可伪造性的条件,可以通过网络当中参与的节点证明它所有的权益就可以。共识过程包括怎么证明交易在网络上扩散;如果发生两个节点具备同样能力的情况,怎么进行交易排序;在产生交易的时候如何调用交易执行程序;如何对交易结果进行全网共识?如何提交共识结果生成块?账本。账本状态和合约分离,使用基于身份的访问控制协议约束合约对状态的访问,这种将数据和逻辑分离的设计模式是典型的贫血模式,可为上层业务逻辑提供无状态的逻辑抽象。持久化存储。利用成熟的NoSQL数据库实现持久化存储。合约引擎。前端包括合约高级语言规范及其工具链;后端提供轻量级合约中间代码执行环境。最后来看区块链应用服务层设计。区块链网关,包括私钥管理、隐私保护、协议转换。区块节点服务,包括账号管理、节点进入网络的认证授权、账本数据访问框架、网络当中整个交易的事件通知机制、智能合约管理等。区块链共识网络,由共识节点组成的网络,基于P2P网络和共识算法确保交易数据在节点之间保持一致。工具,配套的工具集合包括SDK、数据管理、安装部署工具、监控服务。3区块链应用解析1、区块链适合解决哪些问题?第一类:业务开展需要跨主体合作。也就是需要很多个单位或业务部门合作并且有很多流程的时候,区块链可以解决多主体之间的信任问题,提升交易效率。对于此类问题目前的一种解决方式是:有一个中心化的节点去协调业务开展,各方存在成本分摊及数据隐私的问题,成本较高,且参与各方不愿意把自己的数据贡献出来。另外一种是SOA方式,因为要打通各业务方之间的数据,技术比较负责,方案缺少通用性,只能解决当前特定业务领域的问题,难以支持复杂业务。以上两种方式都难以防止数据被篡改。利用区块链可以做到:共有数据,通过加密的方式既保证了数据的隐私也可以做到防篡改,利用分布式和数字化合约的特点能够将一些业务层面的协调解决问题放在技术层面解决,更高效灵活客观。第二类:对方参与并需要低成本信任。参与的节点很多,节点之间验证或构建信任的成本又要比较低。第二类问题需要多方参与同时又要求低成本信任。首先要解决数据可信的问题。传统的方式是数据由中心节点强势持有,比如传统的银行等,数据可信由数据持有者的商业或社会信用来保证,只能建立主观的可信;区块链结合密码学哈希和数字签名,以区块链的形式将数据变更历史结合,通过共识协议使得参与方共同拥有数据,多方持有相同数据副本,并数据被签名确认,数据变得可信。其次是合约履行。通过智能合约的方式,使得整个业务方之间确定的这种合同协议自动化客观地执行,只要满足条件,合约就会自动执行,降低履行成本,确保高效履约,一般的契约是事后以人的主观意愿来执行,智能合约是在触发条件被满足后,由计算机程序来保证合约及时执行,具有客观性。最后是历史可证明。固话交易历史,并提供对交易历史的追溯查询,保证交易的不可篡改和不可抵赖,保留参与交易各方可信的历史记录。第三类:业务存在长周期交易。第三类问题是业务过程存在长交易、长周期链条。最典型的就是供应链,业务在多个主题之间流转,难以确定间接主体的真实性和有效性,由于多主体间业务隔离,难以延伸出多级业务。区块链从技术上保证整个长交易、长周期链条的各参与主体身份真实,数据可信,实现信用多级传递,提升业务效率。2、区块链应用生态圈区块链应用最典型的场景是金融,包括跨境支付、保险、政权、股权登记等。跨境支付方面,目前市场上跨境支付存在中心节点的问题,商业机构之间对账导致跨境交易时间变长,一笔交易对账可能需要几天的时间。保险理赔方面,以前保险理赔需要准备很多材料经过各种核实,过程很长。通过智能合约的应用,既无需投保人申请,也无需保险公司批准,只要触发了理赔条件就能事先自动理赔和支付。整个理赔过程会在区块链上向全网广播,因为区块链数据不可篡改不可造假的特点,还能大大较低骗保的概率。政券交易方面,将股权整合进区块链中成为数字资产,可实现无需通过中介机构直接发起权属转移等交易。票据方面,借助分布式高容错性和非对称加密算法可实现票据价值的去中心化传递,较低对传统业务模式中票据交易中心的依赖,降低系统中心化带来的运营和操作风险。区块链在公共服务领域的应用主要是文化、教育、产权登记、医疗健康等方面。文化方面,主要是版权保护。3、区块链技术在国内外布局4、区块链技术应用解析:共享经济接下来举个典型的应用案例:Airbnb。Airbnb是一个P2P房屋共享平台,最大的问题是房主和房客之间的信任。房主会担心住进来的这个人不安全,房客去到一个陌生的地方同样会担心这个房子或房东的安全。快速解决信任问题,目前的方式是用户注册账户之后要做一个身份验证,网站会保证所有用户都是实名的。房客会通过线上交流的方式对房东和房子的情况做一些了解,同时房东也会对房客进行考察,这个人的信用怎么样、有没有租过房子、什么背景、要不要租房子给他等等。这个过程会很长,因为这是个全球化的平台,还涉及到时区的问题,一个交易有时候可能会需要20-30小时来确认。确认后预定交易最后互评,整个过程非常长。这种方式存在的痛点包括:房主和顾客交流耗费大量时间;评价房主、顾客和房屋存在困难,会有类似刷单的行为;支付和担保速度慢。区块链技术恰恰是针对解决信任问题,信任问题解决后所有痛点也将迎刃而解。比如快速在房东和顾客之间建立信任,就可以缩短交流时间,甚至可以不用交流。入住就将钱打给房东也就解决了支付和担保的问题。信任怎么建立呢?通过区块链的方式每一个交易都在区块链的网络中进行,所有人都可以看到交易的整个过程,顾客身份信息的提交经过匿名化的加密处理,通过签名来保证账户信息的有效性,预定的时候通过加密机制保证预定的安全,验证预定可信后整个交易会让网络中的所有节点知晓,信用也会在交易中体现并记录,取消或伪造交易的作恶行为同样也会被记录在网络中,成为下次交易的判断依据。同时会有一个智能合约,触发入住条件后自动将钱打给房东。最后评价机制设置上通过区块链的方式保证评价的可追溯、不可篡改和不可伪造。从三个方面解决整个交易的信任问题,同时也提升了交易效率。5、区块链应用解析:供应链物流供应链中存在两个比较明显的痛点:信息不透明、不流畅,交易效率低;纠纷处置难,举证追责难。我们通过区块链技术保证整个物流的每个环节都生成一个块,形成每一步都可溯源的链。解决思路是:首先各方交易数据公开透明,加快信息流提升效率;其次交易数据不可篡改,便于举证和追责;最后交易数据可追溯,杜绝虚假交易和假冒伪劣。区块链在供应链的两个应用场景:物流和溯源防伪物流方面主要是:利用数字签名机制保证无法伪造签名,防止货物丢失冒领;通过真实身份证生成数字化身份证,既能保护个人隐私,又能落实实名制度;简化物流流程。溯源防伪方面主要是:数据完整性和不可篡改;商品交易全流程记录;贵重物品的防伪溯源。内容来源:HiBlock区块链线下沙龙西安站 赵建强老师的分享《区块链整体架构及应用案例分析》本文编辑:CynthiaHiBlock区块链社区线下沙龙西安站视频回放:http://www.itdks.com/eventlist/detail/2090以下是我们的社区介绍,欢迎各种合作、交流、学习:)编辑于 2018-06-04 23:27区块链(Blockchain)金融赞同 5添加评论分享喜欢收藏申请转载文章被以下专栏收录HiBlock区块链社区HiBlock区块
一文看懂 区块链底层技术 及其 架构设计(附图谱)_如何 设计 底层 技术-CSDN博客
>一文看懂 区块链底层技术 及其 架构设计(附图谱)_如何 设计 底层 技术-CSDN博客
一文看懂 区块链底层技术 及其 架构设计(附图谱)
最新推荐文章于 2024-03-07 20:36:03 发布
置顶
小蟹蟹蟹蟹
最新推荐文章于 2024-03-07 20:36:03 发布
阅读量1.8w
收藏
22
点赞数
9
分类专栏:
杂文
文章标签:
区块链
区块链技术基础
Go语言
杂文
专栏收录该内容
22 篇文章
0 订阅
订阅专栏
前言
区块链作为一种架构设计的实现,与基础语言或平台等差别较大。区块链是加密货币背后的技术,是当下与VR虚拟现实等比肩的热门技术之一,本身不是新技术,类似Ajax,可以说它是一种技术架构,所以我们从架构设计的角度谈谈区块链的技术实现。
无论你擅长什么编程语言,都能够参考这种设计去实现一款区块链产品。与此同时,梳理与之相关的知识图谱和体系,帮助大家系统的去学习研究。
基本概念
区块链的概念最近很火,它来自于比特币等加密货币的实现,但是目前,这项技术已经逐步运用在各个领域。什么是区块链技术?为了感性认识这个问题,我们可以使用谷歌地球的例子做类比,ajax不是什么新技术,但组合在一起就成就了产品谷歌地球,与之类似,区块链也不是什么新技术,但与加密解密技术、P2P网络等组合在一起,就诞生了比特币。技术人员,特别是Web开发工程师,学习了解ajax技术最早是被谷歌地球酷炫的效果所吸引。而现在,历史再一次重演,很多人被比特币的疯狂发展所吸引,进而开始研究其背后的技术——区块链。
区块链原本是比特币等加密货币存储数据的一种独特方式,是一种自引用的数据结构,用来存储大量交易信息,每条记录从后向前有序链接起来,具备公开透明、无法篡改、方便追溯的特点。实际上,这种特性也直接体现了整个比特币的特点,因此使用区块链来概括加密货币背后的技术实现是非常直观和恰当的。区块链是一项技术,加密货币是其开发实现的一类产品(含有代币,也有不含代币的区块链产品),不能等同或混淆。与加密货币相比,区块链这个名字抛开了代币的概念,更加形象化、技术化、去政治化,更适合作为一门技术去研究、去推广。
所以,目前当大家单独说到区块链的时候,就是指的区块链技术,是实现了数据公开、透明、可追溯的产品的架构设计方法,算作广义的区块链。而当在具体产品中谈到区块链的时候,可以指类似比特币的数据存储方式,或许是数据库设计,或许是文件形式的设计,这算作狭义的区块链。广义的区块链技术,必须包含点对点网络设计、加密技术应用、分布式算法的实现、数据存储技术的使用等4个方面,其他的可能涉及到分布式存储、机器学习、VR、物联网、大数据等。狭义的区块链仅仅涉及到数据存储技术,数据库或文件操作等。本文的区块链,指的是广义的区块链。
架构图
从架构设计上来说,区块链可以简单的分为三个层次,协议层、扩展层和应用层。其中,协议层又可以分为存储层和网络层,它们相互独立但又不可分割。如图:
协议层
所谓的协议层,就是指代最底层的技术。这个层次通常是一个完整的区块链产品,类似于我们电脑的操作系统,它维护着网络节点,仅提供Api供调用。通常官方会提供简单的客户端(通称为钱包),这个客户端钱包功能也很简单,只能建立地址、验证签名、转账支付、查看余额等。这个层次是一切的基础,构建了网络环境、搭建了交易通道、制定了节点奖励规则,至于你要交易什么,想干什么,它一概不过问,也过问不了。典型的例子,自然是比特币,还有各种二代币,比如莱特币等,本书介绍的亿书币也是。这个层次,是现阶段开发者聚集的地方,这说明加密货币仍在起步当中。
从用到的技术来说,协议层主要包括网络编程、分布式算法、加密签名、数据存储技术等4个方面,其中网络编程能力是大家选择编程语言的主要考虑因素,因为分布式算法基本上属于业务逻辑上的实现,什么语言都可以做到,加密签名技术是直接简单的使用(请看书中相关的加密解密文章,不建议自由发挥,没有过多的编码逻辑),数据库技术也主要在使用层面,只有点对点网络的实现和并发处理才是开发的难点,所以对于那些网络编程能力强,对并发处理简单的语言,人们就特别偏爱。也因此,Nodejs开发区块链应用,逐渐变得更加流行,Go语言也在逐渐兴起。
上面的架构设计图里,我把这个层面进一步分成了存储层和网络层。数据存储可以相对独立,选择自由度大一些,可以单独来讨论。选择的原则无非是性能和易用性。我们知道,系统的整体性能,主要取决于网络或数据存储的I/O性能,网络I/O优化空间不大,但是本地数据存储的I/O是可以优化的。比如,比特币选择的是谷歌的LevelDB,据说这个数据库读写性能很好,但是很多功能需要开发者自己实现。目前,困扰业界的一个重大问题是,加密货币交易处理量远不如现在中心化的支付系统(银行等),除了I/O,需要全方位的突破。
分布式算法、加密签名等都要在实现点对点网络的过程中加以使用,所以自然是网络层的事情,也是编码的重点和难点,《Nodejs开发加密货币》全书分享的基本上就是这部分的内容。当然,也有把点对点网络的实现单独分开的,把节点查找、数据传输和验证等逻辑独立出来,而把共识算法、加密签名、数据存储等操作放在一起组成核心层。无论怎么组合,这两个部分都是最核心、最底层的部分,都是协议层的内容。
扩展层
这个层面类似于电脑的驱动程序,是为了让区块链产品更加实用。目前有两类,一是各类交易市场,是法币兑换加密货币的重要渠道,实现简单,来钱快,成本低,但风险也大。二是针对某个方向的扩展实现,比如基于亿书侧链,可为第三方出版机构、论坛网站等内容生产商提供定制服务等。特别值得一提的就是大家听得最多的“智能合约”的概念,这是典型的扩展层面的应用开发。所谓“智能合约”就是“可编程合约”,或者叫做“合约智能化”,其中的“智能”是执行上的智能,也就是说达到某个条件,合约自动执行,比如自动转移证券、自动付款等,目前还没有比较成型的产品,但不可否认,这将是区块链技术重要的发展方向。
扩展层使用的技术就没有什么限制了,可以包括很多,上面提到的分布式存储、机器学习、VR、物联网、大数据等等,都可以使用。编程语言的选择上,可以更加自由,因为可以与协议层完全分离,编程语言也可以与协议层使用的开发语言不相同。在开发上,除了在交易时与协议层进行交互之外,其他时候尽量不要与协议层的开发混在一起。这个层面与应用层更加接近,也可以理解为B/S架构的产品中的服务端(Server)。这样不仅在架构设计上更加科学,让区块链数据更小,网络更独立,同时也可以保证扩展层开发不受约束。
从这个层面来看,区块链可以架构开发任何类型的产品,不仅仅是用在金融行业。在未来,随着底层协议的更加完善,任何需要第三方支付的产品都可以方便的使用区块链技术;任何需要确权、征信和追溯的信息,都可以借助区块链来实现。我个人觉得,这个目标应该很快就能实现。
应用层
这个层面类似于电脑中的各种软件程序,是普通人可以真正直接使用的产品,也可以理解为B/S架构的产品中的浏览器端(Browser)。这个层面的应用,目前几乎是空白。市场亟待出现这样的应用,引爆市场,形成真正的扩张之势,让区块链技术快速走进寻常百姓,服务于大众。大家使用的各类轻钱包(客户端),应该算作应用层最简单、最典型的应用。很快,亿书将基于亿书网络推出文档协作工具,这个就是典型的应用层的产品。
限于当前区块链技术的发展,亿书只能从协议层出发,把目标指向应用层,同时为第三方开发者提供扩展层的强大支持。这样做既可以避免贪多,又可以避免无法落地,是真正理性的开发路线。因为纯粹的开发协议层或扩展层,无法真正理解和验证应用层,会脱离实际,让第三方开发者很难使用。如果仅仅考虑应用层,市面上又找不到真正牢固、易用的协议层或扩展层的产品。所以,我们只好全面发力,采取完全开源开放的态度,通过社区的力量,共同去做一件有意义的事情,也算为中国区块链技术发展做点技术积累和微薄贡献。
编程实现
很多小伙伴,习惯结合自己的技术背景,来理解上面的架构设计。这里,结合具体的编程语言,简单介绍几款产品,仅供参考。
(1)C/C++
这两个语言是无法逾越的,任何开发遇到瓶颈,基本上都会找到它们,自然应该排在第一位要介绍的。同时,区块链技术的鼻祖,比特币(协议层)就是用C++语言开发的,而且目前为止,没有比比特币更加成功的区块链产品。所以,无论你使用什么语言开发,在正式进入这个行业的过程中,都应该先研究研究比特币。比特币官方客户端钱包用的Qt,第三方钱包有Python语言开发的,特别是第三方整理的开发库(Api包)很多是Nodejs设计的。比特币的架构,与上面的架构设计基本相同,另外,因为共识算法采用的是工作量证明机制(PoW:Proof of work),还有一些特殊的挖矿的过程。其他竞争币都是直接来自比特币的分支,所以编程语言相同,具体的技术选型和技术实现上可能有所改进,比如:莱特币,使用了其他的加密算法。
官方网站:https://bitcoin.org/
源码库:https://github.com/bitcoin (2)Nodejs/Javascript
Nodejs平台强大的网络编程能力,以及js脚本语言的简单快捷,在区块链领域自然少不了它的身影。亿书便是这样一个区块链产品,亿书币是它的协议层,使用了著名的express开发框架,基于http协议开发而成。同时,它采用了授权股权证明机制(DPoS),算法上的改进,让它在处理交易时更加轻量,处理能力大大提升。它提供了强大的协作机制,为数字出版、版权保护提供了便利;扩展了侧链功能,可以基于它开发任何去中心化的应用,从而为专业作者、博客爱好者和开发者提供很多方便。《Nodejs开发加密货币》这本书完整分享了它的源码,从区块链基础概念到代码实现,从基本原理到开发设计思路,都做了比较详细的探索,目前为止,从协议层面深入代码讲解区块链技术实现的书籍极少,这算作一本。
官方网站:http://ebookchain.org/
源码库:https://github.com/Ebookcoin (3)Python
如果是Python语言爱好者,我建议研究研究以太坊(Ethereum)的Python实现。尽管因为The Dao事件闹得沸沸扬扬,但从技术实现的角度来说,仍然值得参考学习。以太坊官方定位为一种开发管理分布式应用的平台,主攻方向就是“智能合约”,并为其定制了一种编程语言Solidity。以太坊的核心是以太坊虚拟机(EVM),允许用户按照自己的意愿创建操作。以太坊给出了Go、Java、Python等多语言的实现。其中以python为基础的实现主要包括三个部分:Pyethapp是客户端部分;pyethereum是核心库,实现了区块链、以太坊模拟机和挖矿等功能;pydevp2p是点对点网络库,实现了节点发现、合约代码传输、加密签名等功能,这三者组合在一起就是完整的区块链实现,后面两个核心库共同组成了协议层。另外,go-ethereum是go语言的完整实现;Ethereum(J) 是纯Java实现,它作为可以嵌入任何Java/Scala项目的库提供。客户端方面,还有Rust、Ruby、Javascript等语言的实现。
官方网站:https://ethereum.org/
源码库:https://github.com/ethereum/pyethapp (4)Go
在多核时代,Go语言备受喜爱,它可以让你用同步方式轻松实现高并发,特别是在分布式系统、网络编程等领域,应用非常广。所以,在区块链开发领域,也有很多使用Go语言的项目。其中,由linux基金会主导的超级账本(HyperLeger),版本库的名字叫Fabric,就是其中一个。该项目试图为新一代的事务应用创建一种开放的分布式账本标准,支持许可式区块链(这种方式可能无法再现比特币那种强大的网络效应)。Fabric的开发环境建立在VirtualBox虚拟机上,部署环境可以自建网络,也可以直接部署在BlueMix上,部署方式可docker化,支持用Go和JavaScript开发智能合约。它采用PBFT分布式算法,网络编程方面用gRPC来做P2P通讯,使用 Protocol Buffer来序列化要传递的数据结构。在架构设计上,Fabric可能与比特币等区块链产品有所不同,但是上述基本组成部分还是不可或缺的。
官方网站:https://www.hyperledger.org/
源码库:https://github.com/hyperledger 其他编程语言,比如:C#等,也有具体实例,这里就不再列举。总之,针对不同的编程语言,在具体的编码或架构设计上可能有所差别,甚至很大,但是协议层所使用的技术并没有太大的变化。其中,网络编程是重点和难点,多数没有现成的框架可用,都是使用编程语言自身提供的库来设计开发,所以比较底层,非常考验开发者的编码功底。
知识图谱
循着上面的分析,我们已经可以了解区块链是什么,并知道怎么实现了,顺便梳理一下其中的编程技术知识,自然也就清晰多了。
根据个人的理解,我把与区块链相关的知识分为下面5个方面:
(1)基础知识
区块链是新技术,与之相关的是其背后大量的新概念、新理论。这些知识,虽然不直接体现在编码里,但却是理解区块链,掌握区块链技术的基本知识。所以,理当成为区块链技术不可或缺的一部分。这部分从基本概念入手,到工作原理的描述,就能够把区块链基础知识全部覆盖。
(2)技术实现
区块链是一项技术,但从上面的分析可以看出,它应该是一种架构应用,架构的实现理当是我们知识库的核心。正如大家看到的,任何一款区块链产品,协议层必须包括点对点网络、加密签名、数据存储、分布式算法等4个部分,应用层也必然要提供钱包、客户端浏览器等基础应用。所以,把这部分独立出来,也是合情合理。
在扩展层的部分,区块链技术可以对接各种应用,比如:金融、物联网、网络安全、版权保护、电子商务等等,现有的很多技术都可以用在这里。只不过,如何与区块链结合,如何实现跨行业使用,自然是这部分内容研究的课题。所以,这里所罗列或涉及到的技术,理应归为技术实现的一个重要部分。
(3)开发环境
区块链是多项技术的组合,有其自身的复杂性,个别应用对开发环境依赖较大,开发工具与环境搭建,是让开发者快速上手的重要内容。
(4)项目实践
据说,短短数年,全球区块链产品已经有几千个,其中不乏创新应用。有些优秀的开源产品和项目实践,是最好的学习研究资料。
(5)开发文档
这个自然不用说了,每一种产品也都会有自己的开发文档。另一个,就是有心的开发者整理汇总的一些资源,可以帮助我们节省很多查询的时间。
我在考虑这个知识体系的过程中,主要思考的是,读者循着这些标签去查阅文章,能否快速掌握区块链技术,并最终上手开发实现一个区块链产品。另外,也刻意规避了与具体编程语言,以及特定领域相关的词汇,唯一可以区分的就是这些节点之下对应的文章标签。所以,这些分类就显得非常中性。也考虑过使用比特币、竞争币、智能合约、数字资产、智能资产等具体领域的实现作为分类方法,但又怕限制了读者的思维,同时随着区块链的发展,这个图谱将不停的修改下去。这里,呼吁一下,希望读到这篇文章的小伙伴提供您的宝贵意见,让我们把这个关于区块链的知识分类图谱做得更加科学合理,使用更加方便。
总结
这篇文章,我们把区块链技术基础架构描述了一下,需要再次强调的是,这仅仅是一种实现方式,绝非所有的区块链产品都是如此,我们也期待更多创新出现,也相信一定会出现。编程实现罗列了几种编程语言与其实现的典型产品,因为协议层技术较为底层,并没有太多现成的框架需要介绍或讨论,同时,具体的技术细节,也绝非几行字能够罗列清楚,所幸,这些产品都是开源产品,大家可以结合自己的技术背景,进一步查看对应的产品源码,很快就能了解其中的奥妙。
本文转载自: http://www.8btc.com/ebook-blockchain
此次转载,仅供学习记录使用,如有侵权,告知即删;
优惠劵
小蟹蟹蟹蟹
关注
关注
9
点赞
踩
22
收藏
觉得还不错?
一键收藏
知道了
0
评论
一文看懂 区块链底层技术 及其 架构设计(附图谱)
前言 区块链作为一种架构设计的实现,与基础语言或平台等差别较大。区块链是加密货币背后的技术,是当下与VR虚拟现实等比肩的热门技术之一,本身不是新技术,类似Ajax,可以说它是一种技术架构,所以我们从架构设计的角度谈谈区块链的技术实现。无论你擅长什么编程语言,都能够参考这种设计去实现一款区块链产品。与此同时,梳理与之相关的知识图谱和体系,帮助大家系统的去学习研究。 基本概念 ...
复制链接
扫一扫
专栏目录
一文读懂区块链整体架构及应用案例
01-27
对分类器的高层次攻击可以分为以下三种类型:对抗性输入:这是专门设计的输入,旨在确保被误分类,以躲避检测。对抗性输入包含专门用来躲避防病毒程序的恶意文档和试图逃避垃圾邮件过滤器的电子邮件。数据中毒攻击:...
一文看懂分布式数据库原理和PostgreSQL分布式架构
02-01
分布式系统数据库系统原理(第三版)中的描述:“我们把分布式数据库定义为一群分布在计算机网络上、逻辑上相互关联的数据库。分布式数据库管理系统(分布式DBMS)则是支持管理分布式数据库的软件系统,它使得分布对于...
参与评论
您还未登录,请先
登录
后发表或查看评论
区块链架构发展和特征以及B/S、C/S、云架构
m0_59416550的博客
08-05
2153
原理:
C/S模型的关键要素为:
如组网架构
如PowerDesigner基于c/s
工作原理:
工作模式:
三层架构:
云计算架构
1.三层架构:
2.虚拟化技术
3.开发
区块链
组成
分层架构
技术架构
特征
去中心化应用架构
区块链+IPFS
区块链网络类型
目前存在的问题...
一文看懂RPA的技术架构及原理.pdf
03-30
一文看懂RPA的技术架构及原理.pdf一文看懂RPA的技术架构及原理.pdf一文看懂RPA的技术架构及原理.pdf一文看懂RPA的技术架构及原理.pdf一文看懂RPA的技术架构及原理.pdf
java 5 个底层程序设计逻辑
第七宇林的博客
04-05
1985
阿里妹导读:肉眼看计算机是由CPU、内存、显示器这些硬件设备组成,但大部分人从事的是软件开发工作。计算机底层原理就是连通硬件和软件的桥梁,理解计算机底层原理才能在程序设计这条路上越走越快,越走越轻松。从操作系统层面去理解高级编程语言的执行过程,会发现好多软件设计都是同一种套路,很多语言特性都依赖于底层机制,今天董鹏为你一一揭秘。
文章目录结合 CPU 理解一行 Java 代码是怎么执行的中断从...
分享实录|一文读懂区块链整体架构及应用方向
weixin_34405354的博客
05-16
605
1
区块链概念及特征
1、区块链的定义
相较于区块链,大家似乎更了解比特币。区块链是一种技术,支撑和保障整个比特币的货币机制在这样一个分布式网络中运行,包括产生、流通、交易等等。
简单来说它就是一个账本,在整个交易过程中,每产生一笔交易,大家都会记一笔账,认可这个交易是有价值的,这笔钱从这个账户通过某种方式转移到另一个账户,区块链就是保证这个交易数据实时和不可篡改的一个记录。
从技术的角度来看...
一文看懂区块链架构设计
热门推荐
lucky_greenegg的专栏
10-15
8万+
转自:http://www.8btc.com/ebook-blockchain
前言
区块链作为一种架构设计的实现,与基础语言或平台等差别较大。区块链是加密货币背后的技术,是当下与VR虚拟现实等比肩的热门技术之一,本身不是新技术,类似Ajax,可以说它是一种技术架构,所以我们从架构设计的角度谈谈区块链的技术实现。
无论你擅长什么编程语言,都能够参考这种设计去实现一款区块链
几张图看懂区块链技术到底是什么?
July_whj
04-01
1万+
“区块链”的概念可以说是异常火爆,好像互联网金融峰会上没人谈一谈区块链技术就out了,BAT以及各大银行还有什么金融机构都在开始自己的区块链研究工作,就连IBM最近也成立了自己的区块链研究实验室,但其实区块链到底是什么?大家或许并不清楚,停留在雾里看花的状态。从今天开始,就让我们一起走进区块链,揭开区块链的神秘面纱吧!
取快链?你想说的是区块链吧?
要说清楚区块链,我们先来...
区块链结构图
深漂小码哥
03-12
413
区块链结构图
区块链系统简要架构和重点知识点梳理
fyxxq的专栏
11-06
4239
区块链几大核心:
分布式帐本,所需技术:微服务架构,高性能RPC通讯。
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,每一个数据链表可以看作账本。它由多个区块构成了一个有时序的链表,而每个区块里含有多条交易trasaction(缩写为tx)构成的链表。
智能合约机制,所需技术:共识算法
1. 智能合约:智能合约就是一段代码,一个具体的场景下的应用程序。...
区块链的结构和原理
weixin_42419611的博客
11-03
1万+
区块链的结构和原理
文章目录区块链的结构和原理区块链原理区块链结构关于区块链的几个问题结语
区块链原理
区块链是一个链表,链表上存有交易信息,所有人共享同一个链表,因此它也是一个没有管理员的分布式数据库,即去中心化数据库,所有人都能加入这个数据库,并且可以读取任意块,也可以在区块链尾加入块,但无法修改已有块,新块加入后所有人的链表都将更新。采矿就是在链表中加入新块。
区块链结构
图 1:区块链的一个例子,它由连续的块序列组成
图 2:块结构
块由块头和块体组成:
块头包含:
Block versio
如何用架构师思维解读区块链技术?
weixin_40581617的博客
08-06
3311
导读:很多童鞋反馈,区块链技术有点绕,有点晦涩,大都是一知半解,理解不够通彻。但在阿里技术专家郑吉看来,区块链特别是比特币本身,并没有使用高大上复杂的新技术,只是对现有技术的组合。其天才的地方体现在系统的架构上,体现在把金融学,货币学,博弈学,甚至是哲学思想体现在比特币的系统架构上。如果单纯从系统中的技术点着手学习研究,那么往往就会觉得有点绕,有点晦涩。这就像我们在平时工作中了解某个系统,如果首先...
【笔记】区块链的系统架构、数据结构及运行机制
time-space的博客
02-22
1万+
文章目录一、区块链的系统框架1.区块链的系统架构与运行2.数据层、网络层与共识层3.激励层、合约层与应用层二、区块的概念和识别1.区块与区块头2.区块的识别三、创世区块与区块的连接1.创世区块2.区块的连接四、区块链的数据结构1.区块链的结构基础2.哈希值、梅克尔根等数据及作用3.难度确认、运行及其作用4.时间戳、随机数及其作用五、区块链的工作流程与机制1.步骤与防止分叉2.安全、透明与不可篡改的...
常见区块链基础架构
qq_41547320的博客
07-07
1万+
本文根据当前网络上大家熟知的公链和联盟链,介绍下区块链的整体架构。
一、基础原理架构技术层面,区块链的结构如下图所示。一条区块链上有多个区块,每个区块包括区块头与区块体。区块头中主要包括版本号、前一区块哈希值、时间戳、随机数、目标哈希、默克尔根;区块体中是通过默克尔树记录的账本信息。
这个主要是展示的区块链原理的技术架构,接下来,主要介绍组织架构及层级。二、早期的区块链架构
区块链技术刚提出的时候,在架构上通常被分为6层或者4层,6层的概念即数据层、网络层、共识层、激励层、合约层和应用层,下图为区块链技术早
从概念到底层技术,区块链一站式分析和汇总(附知识图谱)
程序人生
10-11
7658
作者简介:朱志文,亿书创始人,CSDN区块链知识库特邀编辑。中国区块链俱乐部主创者和发起人,比特币的忠实粉丝,区块链技术的布道者,代表作《Nodejs开发加密货币》。个人博客:http://blog.csdn.net/imfly
区块链是与当下与VR虚拟现实等比肩的热门技术之一。区块链是加密货币背后的技术,与基础语言或平台等差别较大,它本身不是新技术,类似Ajax,可以说它是一种技术架构,所...
《区块链基础知识25讲》-第八讲-设计区块链
我是一只小嵩鼠
05-25
935
目标
设计一套在一个完全开放且不可靠环境下运行的软件,让其去管理运行在去中心化点对点系统上的分布式账本。管理所有权。
所研究系统的特征
完全去中心化的点对点系统,计算机资源由系统用户提供
节点通过互联网连接
节点数量,节点是否值得信任,以及节点的可靠性均未知
初衷是为了管理数字资产的所有权,如消费积分或者加密货币
要完成的任务
描述所有权:交易是描述所有权转移的好方法
保护所有权:...
区块链知识整理之系统架构及各层功能
qq_39209117的博客
01-14
1万+
文章目录前言一、区块链技术基础模型和关键技术1.1系统架构1.1.1数据层二、使用步骤1.引入库2.读入数据总结
前言
本篇笔记是阅读区块链综述论文
[1] 袁勇,王飞跃. 区块链技术发展现状与展望_袁勇[J]. 自动化学报, 2016, 42(4): 481-494.
[2] 代闯闯,栾海晶,杨雪莹,等. 区块链技术研究综述[J]. 计算机科学, 2021(S2).
和查阅一些网络资料所作整理。
一、区块链技术基础模型和关键技术
比特币是由交易、共识协议和通信网络等技术组件所构成的一种去中心化的电子交
融资利率选哪家好?
最新发布
jiucaixiuyang的博客
03-07
426
顾名思义就是加杠杆,相信很多的投资者对这个概念并不陌生,你本来你有10块钱,你却想买20块钱的东西,于是你决定借10块钱,而这借的10块钱就是杠杆。我玩金融10多年,从基金理财,股票期货,期权外汇,数字货币等等,都接触过,真真假假的平台,专业能力不同的客户经理,私募大佬,投资机构也都接触过。是指券商向客户出借资金供其买入上市证券,并收取担保物的经营活动。是指券商向客户出借上市证券供其卖出,并收取担保物的经营活动。资格的证券公司提供担保物,,且测评结果在有效期内。1. 从事证券交易满。
如何做代币分析:以 USDC 币为例
m0_60517769的博客
03-06
487
USDC 是最透明和值得信赖的稳定币之一,因为每个流通中的 USDC 代币都有相应数量的美元储备。
一文看懂分布式数据库原理和postgresql分布式架构
10-23
分布式数据库原理是指将数据分散存储在不同的物理节点上,通过网络进行通信和数据同步的数据库系统。...PostgreSQL的分布式架构基于流复制技术,通过多个节点的协作来提供可靠的数据存储和高效的数据访问。
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
小蟹蟹蟹蟹
CSDN认证博客专家
CSDN认证企业博客
码龄7年
暂无认证
44
原创
6万+
周排名
173万+
总排名
7万+
访问
等级
997
积分
92
粉丝
38
获赞
4
评论
110
收藏
私信
关注
分类专栏
移动开发
2篇
码云
3篇
小程序
1篇
杂文
22篇
技巧
18篇
最新评论
原始值(primitive value)
都来我家吃饭:
console.log(price1 == price3);//这处为true,强制转化了
webpack中SplitChunksPlugin的作用
ezjoke:
maxInitialRequests是什么情况呢,看不太懂
Vue项目中自动将px转换为rem
小蟹蟹蟹蟹:
有可能postcss-loader没配置好
Vue项目中自动将px转换为rem
我胖虎不答应!!:
Module build failed (from ./node_modules/postcss-loader/src/index.js):
TypeError: Invalid PostCSS Plugin found at: plugins[1]
大佬 这个是需要 loader来解析吗
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
vue3和vue2 v-model 和sync语法糖区别
递归和堆栈关系
call, apply, bind 用法和区别
2023年1篇
2022年1篇
2021年6篇
2020年33篇
2019年1篇
2018年9篇
目录
目录
分类专栏
移动开发
2篇
码云
3篇
小程序
1篇
杂文
22篇
技巧
18篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
个
红包个数最小为10个
红包总金额
元
红包金额最低5元
余额支付
当前余额3.43元
前往充值 >
需支付:10.00元
取消
确定
下一步
知道了
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom 发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。
余额充值
区块链技术研究综述:原理、进展与应用
区块链技术研究综述:原理、进展与应用
主管单位:中国科学技术协会
主办单位:中国通信学会
ISSN 1000-436X CN 11-2102/TN
首页
期刊简介
编委会
投稿指南
道德声明
期刊协议
期刊订阅
会议活动
下载中心
联系我们
English
期刊介绍
期刊信息
投稿须知
稿件格式要求
审稿流程
下载中心
联系方式
Toggle navigation
首页
期刊简介
期刊介绍
期刊信息
编委会
投稿指南
投稿须知
稿件格式要求
审稿流程
下载中心
道德声明
期刊协议
期刊订阅
会议活动
联系我们
English
通信学报, 2020, 41(1): 134-151 doi: 10.11959/j.issn.1000-436x.2020027
综述
区块链技术研究综述:原理、进展与应用
曾诗钦1, 霍如2,3, 黄韬1,3, 刘江1,3, 汪硕1,3, 冯伟4
1 北京邮电大学网络与交换国家重点实验室,北京 100876
2 北京工业大学北京未来网络科技高精尖创新中心,北京 100124
3 网络通信与安全紫金山实验室,江苏 南京 211111
4 工业和信息化部信息化和软件服务业司,北京 100846
Survey of blockchain:principle,progress and application
ZENG Shiqin1, HUO Ru2,3, HUANG Tao1,3, LIU Jiang1,3, WANG Shuo1,3, FENG Wei4
1 State Key Laboratory of Networking and Switching Technology,Beijing University of Posts and Telecommunications,Beijing 100876,China
2 Beijing Advanced Innovation Center for Future Internet Technology,Beijing University of Technology,Beijing 100124,China
3 Purple Mountain Laboratories,Nanjing 211111,China
4 Department of Information Technology Application and Software Services,Beijing 100846,China
通讯作者: 霍如,huoru@bjut.edu.cn
修回日期: 2019-12-12
网络出版日期: 2020-01-25
基金资助:
国家高技术研究发展计划(“863”计划)基金资助项目. 2015AA015702未来网络操作系统发展战略研究基金资助项目. 2019-XY-5
Revised: 2019-12-12
Online: 2020-01-25
Fund supported:
The National High Technology Research and Development Program of China (863 Program). 2015AA015702The Development Strategy Research of Future Network Operating System. 2019-XY-5
作者简介 About authors
曾诗钦(1995-),男,广西南宁人,北京邮电大学博士生,主要研究方向为区块链、标识解析技术、工业互联网
。
霍如(1988-),女,黑龙江哈尔滨人,博士,北京工业大学讲师,主要研究方向为计算机网络、信息中心网络、网络缓存策略与算法、工业互联网、标识解析技术等。
。
黄韬(1980-),男,重庆人,博士,北京邮电大学教授,主要研究方向为未来网络体系架构、软件定义网络、网络虚拟化等。
。
刘江(1983-),男,河南郑州人,博士,北京邮电大学教授,主要研究方向为未来网络体系架构、软件定义网络、网络虚拟化、信息中心网络等。
。
汪硕(1991-),男,河南灵宝人,博士,北京邮电大学在站博士后,主要研究方向为数据中心网络、软件定义网络、网络流量调度等。
。
冯伟(1980-),男,河北邯郸人,博士,工业和信息化部副研究员,主要研究方向为工业互联网平台、数字孪生、信息化和工业化融合发展关键技术等
。
摘要
区块链是一种分布式账本技术,依靠智能合约等逻辑控制功能演变为完整的存储系统。其分类方式、服务模式和应用需求的变化导致核心技术形态的多样性发展。为了完整地认知区块链生态系统,设计了一个层次化的区块链技术体系结构,进一步深入剖析区块链每层结构的基本原理、技术关联以及研究进展,系统归纳典型区块链项目的技术选型和特点,最后给出智慧城市、工业互联网等区块链前沿应用方向,提出区块链技术挑战与研究展望。
关键词:
区块链
;
加密货币
;
去中心化
;
层次化技术体系结构
;
技术多样性
;
工业区块链
Abstract
Blockchain is a kind of distributed ledger technology that upgrades to a complete storage system by adding logic control functions such as intelligent contracts.With the changes of its classification,service mode and application requirements,the core technology forms of Blockchain show diversified development.In order to understand the Blockchain ecosystem thoroughly,a hierarchical technology architecture of Blockchain was proposed.Furthermore,each layer of blockchain was analyzed from the perspectives of basic principle,related technologies and research progress in-depth.Moreover,the technology selections and characteristics of typical Blockchain projects were summarized systematically.Finally,some application directions of blockchain frontiers,technology challenges and research prospects including Smart Cities and Industrial Internet were given.
Keywords:
blockchain
;
cryptocurrency
;
decentralization
;
hierarchical technology architecture
;
technology diversity
;
PDF (1174KB)
元数据
多维度评价
相关文章
导出
EndNote|
Ris|
Bibtex
收藏本文
本文引用格式
曾诗钦, 霍如, 黄韬, 刘江, 汪硕, 冯伟. 区块链技术研究综述:原理、进展与应用. 通信学报[J], 2020, 41(1): 134-151 doi:10.11959/j.issn.1000-436x.2020027
ZENG Shiqin. Survey of blockchain:principle,progress and application. Journal on Communications[J], 2020, 41(1): 134-151 doi:10.11959/j.issn.1000-436x.2020027
1 引言
2008年,中本聪提出了去中心化加密货币——比特币(bitcoin)的设计构想。2009年,比特币系统开始运行,标志着比特币的正式诞生。2010—2015 年,比特币逐渐进入大众视野。2016—2018年,随着各国陆续对比特币进行公开表态以及世界主流经济的不确定性增强,比特币的受关注程度激增,需求量迅速扩大。事实上,比特币是区块链技术最成功的应用场景之一。伴随着以太坊(ethereum)等开源区块链平台的诞生以及大量去中心化应用(DApp,decentralized application)的落地,区块链技术在更多的行业中得到了应用。
由于具备过程可信和去中心化两大特点,区块链能够在多利益主体参与的场景下以低成本的方式构建信任基础,旨在重塑社会信用体系。近两年来区块链发展迅速,人们开始尝试将其应用于金融、教育、医疗、物流等领域。但是,资源浪费、运行低效等问题制约着区块链的发展,这些因素造成区块链分类方式、服务模式和应用需求发生快速变化,进一步导致核心技术朝多样化方向发展,因此有必要采取通用的结构分析区块链项目的技术路线和特点,以梳理和明确区块链的研究方向。
区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值。袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势。上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析。本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望。
2 相关概念
随着区块链技术的深入研究,不断衍生出了很多相关的术语,例如“中心化”“去中心化”“公链”“联盟链”等。为了全面地了解区块链技术,并对区块链技术涉及的关键术语有系统的认知,本节将给出区块链及其相关概念的定义,以及它们的联系,更好地区分易使人混淆的术语。
2.1 中心化与去中心化
中心化(centralization)与去中心化(decentralization)最早用来描述社会治理权力的分布特征。从区块链应用角度出发,中心化是指以单个组织为枢纽构建信任关系的场景特点。例如,电子支付场景下用户必须通过银行的信息系统完成身份验证、信用审查和交易追溯等;电子商务场景下对端身份的验证必须依靠权威机构下发的数字证书完成。相反,去中心化是指不依靠单一组织进行信任构建的场景特点,该场景下每个组织的重要性基本相同。
2.2 加密货币
加密货币(cryptocurrency)是一类数字货币(digital currency)技术,它利用多种密码学方法处理货币数据,保证用户的匿名性、价值的有效性;利用可信设施发放和核对货币数据,保证货币数量的可控性、资产记录的可审核性,从而使货币数据成为具备流通属性的价值交换媒介,同时保护使用者的隐私。
加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示。
图1
新窗口打开|
下载原图ZIP|
生成PPT
图1
“electronic cash”交易模型
交易开始前,付款者使用银行账户兑换加密货币,然后将货币数据发送给领款者,领款者向银行发起核对请求,若该数据为银行签发的合法货币数据,那么银行将向领款者账户记入等额数值。通过盲签名技术,银行完成对货币数据的认证,而无法获得发放货币与接收货币之间的关联,从而保证了价值的有效性、用户的匿名性;银行天然具有发放币种、账户记录的能力,因此保证了货币数量的可控性与资产记录的可审核性。
最早的加密货币构想将银行作为构建信任的基础,呈现中心化特点。此后,加密货币朝着去中心化方向发展,并试图用工作量证明(PoW,poof of work)[8]或其改进方法定义价值。比特币在此基础上,采用新型分布式账本技术保证被所有节点维护的数据不可篡改,从而成功构建信任基础,成为真正意义上的去中心化加密货币。区块链从去中心化加密货币发展而来,随着区块链的进一步发展,去中心化加密货币已经成为区块链的主要应用之一。
2.3 区块链及工作流程
一般认为,区块链是一种融合多种现有技术的新型分布式计算和存储范式。它利用分布式共识算法生成和更新数据,并利用对等网络进行节点间的数据传输,结合密码学原理和时间戳等技术的分布式账本保证存储数据的不可篡改,利用自动化脚本代码或智能合约实现上层应用逻辑。如果说传统数据库实现数据的单方维护,那么区块链则实现多方维护相同数据,保证数据的安全性和业务的公平性。区块链的工作流程主要包含生成区块、共识验证、账本维护3个步骤。
1) 生成区块。区块链节点收集广播在网络中的交易——需要记录的数据条目,然后将这些交易打包成区块——具有特定结构的数据集。
2) 共识验证。节点将区块广播至网络中,全网节点接收大量区块后进行顺序的共识和内容的验证,形成账本——具有特定结构的区块集。
3) 账本维护。节点长期存储验证通过的账本数据并提供回溯检验等功能,为上层应用提供账本访问接口。
2.4 区块链类型
根据不同场景下的信任构建方式,可将区块链分为2类:非许可链(permissionless blockchain)和许可链(permissioned blockchain)。
非许可链也称为公链(public blockchain),是一种完全开放的区块链,即任何人都可以加入网络并参与完整的共识记账过程,彼此之间不需要信任。公链以消耗算力等方式建立全网节点的信任关系,具备完全去中心化特点的同时也带来资源浪费、效率低下等问题。公链多应用于比特币等去监管、匿名化、自由的加密货币场景。
许可链是一种半开放式的区块链,只有指定的成员可以加入网络,且每个成员的参与权各有不同。许可链往往通过颁发身份证书的方式事先建立信任关系,具备部分去中心化特点,相比于非许可链拥有更高的效率。进一步,许可链分为联盟链(consortium blockchain)和私链(fully private blockchain)。联盟链由多个机构组成的联盟构建,账本的生成、共识、维护分别由联盟指定的成员参与完成。在结合区块链与其他技术进行场景创新时,公链的完全开放与去中心化特性并非必需,其低效率更无法满足需求,因此联盟链在某些场景中成为实适用性更强的区块链选型。私链相较联盟链而言中心化程度更高,其数据的产生、共识、维护过程完全由单个组织掌握,被该组织指定的成员仅具有账本的读取权限。
3 区块链体系结构
根据区块链发展现状,本节将归纳区块链的通用层次技术结构、基本原理和研究进展。
现有项目的技术选型多数由比特币演变而来,所以区块链主要基于对等网络通信,拥有新型的基础数据结构,通过全网节点共识实现公共账本数据的统一。但是区块链也存在效率低、功耗大和可扩展性差等问题,因此人们进一步以共识算法、处理模型、交易模式创新为切入点进行技术方案改进,并在此基础上丰富了逻辑控制功能和区块链应用功能,使其成为一种新型计算模式。本文给出如图2 所示的区块链通用层次化技术结构,自下而上分别为网络层、数据层、共识层、控制层和应用层。其中,网络层是区块链信息交互的基础,承载节点间的共识过程和数据传输,主要包括建立在基础网络之上的对等网络及其安全机制;数据层包括区块链基本数据结构及其原理;共识层保证节点数据的一致性,封装各类共识算法和驱动节点共识行为的奖惩机制;控制层包括沙盒环境、自动化脚本、智能合约和权限管理等,提供区块链可编程特性,实现对区块数据、业务数据、组织结构的控制;应用层包括区块链的相关应用场景和实践案例,通过调用控制合约提供的接口进行数据交互,由于该层次不涉及区块链原理,因此在第 5节中单独介绍。
3.1 网络层
网络层关注区块链网络的基础通信方式——对等(P2P,peer-to-peer)网络。对等网络是区别于“客户端/服务器”服务模式的计算机通信与存储架构,网络中每个节点既是数据的提供者也是数据的使用者,节点间通过直接交换实现计算机资源与信息的共享,因此每个节点地位均等。区块链网络层由组网结构、通信机制、安全机制组成。其中组网结构描述节点间的路由和拓扑关系,通信机制用于实现节点间的信息交互,安全机制涵盖对端安全和传输安全。
图2
新窗口打开|
下载原图ZIP|
生成PPT
图2
区块链层次化技术结构
1) 组网结构
对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示。
图3
新窗口打开|
下载原图ZIP|
生成PPT
图3
区块链组网结构
无结构对等网络是指网络中不存在特殊中继节点、节点路由表的生成无确定规律、网络拓扑呈现随机图状的一类对等网络。该类网络结构松散,设计简洁,具有良好的容错性和匿名性,但由于采用洪泛机制作为信息传播方式,其可扩展性较差。典型的协议有Gnutella等。
结构化对等网络是指网络中不存在特殊中继节点、节点间根据特定算法生成路由表、网络拓扑具有严格规律的一类对等网络。该类网络实现复杂但可扩展性良好,通过结构化寻址可以精确定位节点从而实现多样化功能。常见的结构化网络以DHT (distributed hash table)网络为主,典型的算法有Chord、Kademlia等。
混合式对等网络是指节点通过分布式中继节点实现全网消息路由的一类对等网络。每个中继节点维护部分网络节点地址、文件索引等工作,共同实现数据中继的功能。典型的协议有Kazza等。
2) 通信机制
通信机制是指区块链网络中各节点间的对等通信协议,建立在 TCP/UDP 之上,位于计算机网络协议栈的应用层,如图4所示。该机制承载对等网络的具体交互逻辑,例如节点握手、心跳检测、交易和区块传播等。由于包含的协议功能不同(例如基础链接与扩展交互),本文将通信机制细分为3个层次:传播层、连接层和交互逻辑层。
传播层实现对等节点间数据的基本传输,包括2 种数据传播方式:单点传播和多点传播。单点传播是指数据在2个已知节点间直接进行传输而不经过其他节点转发的传播方式;多点传播是指接收数据的节点通过广播向邻近节点进行数据转发的传播方式,区块链网络普遍基于Gossip协议[10]实现洪泛传播。连接层用于获取节点信息,监测和改变节点间连通状态,确保节点间链路的可用性(availability)。具体而言,连接层协议帮助新加入节点获取路由表数据,通过定时心跳监测为节点保持稳定连接,在邻居节点失效等情况下为节点关闭连接等。交互逻辑层是区块链网络的核心,从主要流程上看,该层协议承载对等节点间账本数据的同步、交易和区块数据的传输、数据校验结果的反馈等信息交互逻辑,除此之外,还为节点选举、共识算法实施等复杂操作和扩展应用提供消息通路。
图4
新窗口打开|
下载原图ZIP|
生成PPT
图4
区块链网络通信机制
3) 安全机制
安全是每个系统必须具备的要素,以比特币为代表的非许可链利用其数据层和共识层的机制,依靠消耗算力的方式保证数据的一致性和有效性,没有考虑数据传输过程的安全性,反而将其建立在不可信的透明P2P网络上。随着隐私保护需求的提出,非许可链也采用了一些网络匿名通信方法,例如匿名网络Tor(the onion router)通过沿路径的层层数据加密机制来保护对端身份。许可链对成员的可信程度有更高的要求,在网络层面采取适当的安全机制,主要包括身份安全和传输安全两方面。身份安全是许可链的主要安全需求,保证端到端的可信,一般采用数字签名技术实现,对节点的全生命周期(例如节点交互、投票、同步等)进行签名,从而实现许可链的准入许可。传输安全防止数据在传输过程中遭到篡改或监听,常采用基于TLS的点对点传输和基于Hash算法的数据验证技术。
4) 研究现状
目前,区块链网络层研究主要集中在3个方向:测量优化、匿名分析与隐私保护、安全防护。
随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络。Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法。Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动。Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡。
匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害。Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击。
区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击。为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案。Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性。Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能。
3.2 数据层
区块链中的“块”和“链”都是用来描述其数据结构特征的词汇,可见数据层是区块链技术体系的核心。区块链数据层定义了各节点中数据的联系和组织方式,利用多种算法和机制保证数据的强关联性和验证的高效性,从而使区块链具备实用的数据防篡改特性。除此之外,区块链网络中每个节点存储完整数据的行为增加了信息泄露的风险,隐私保护便成为迫切需求,而数据层通过非对称加密等密码学原理实现了承载应用信息的匿名保护,促进区块链应用普及和生态构建。因此,从不同应用信息的承载方式出发,考虑数据关联性、验证高效性和信息匿名性需求,可将数据层关键技术分为信息模型、关联验证结构和加密机制3类。
1) 信息模型
区块链承载了不同应用的数据(例如支付记录、审计数据、供应链信息等),而信息模型则是指节点记录应用信息的逻辑结构,主要包括UTXO (unspent transaction output)、基于账户和键值对模型3种。需要说明的是,在大部分区块链网络中,每个用户均被分配了交易地址,该地址由一对公私钥生成,使用地址标识用户并通过数字签名的方式检验交易的有效性。
UTXO是比特币交易中的核心概念,逐渐演变为区块链在金融领域应用的主要信息模型,如图5所示。每笔交易(Tx)由输入数据(Input)和输出数据(Output)组成,输出数据为交易金额(Num)和用户公钥地址(Adr),而输入数据为上一笔交易输出数据的指针(Pointer),直到该比特币的初始交易由区块链网络向节点发放。
图5
新窗口打开|
下载原图ZIP|
生成PPT
图5
UTXO信息模型
基于账户的信息模型以键值对的形式存储数据,维护着账户当前的有效余额,通过执行交易来不断更新账户数据。相比于UTXO,基于账户的信息模型与银行的储蓄账户类似,更直观和高效。
不管是UTXO还是基于账户的信息模型,都建立在更为通用的键值对模型上,因此为了适应更广泛的应用场景,键值对模型可直接用于存储业务数据,表现为表单或集合形式。该模型利于数据的存取并支持更复杂的业务逻辑,但是也存在复杂度高的问题。
2) 关联验证结构
区块链之所以具备防篡改特性,得益于链状数据结构的强关联性。该结构确定了数据之间的绑定关系,当某个数据被篡改时,该关系将会遭到破坏。由于伪造这种关系的代价是极高的,相反检验该关系的工作量很小,因此篡改成功率被降至极低。链状结构的基本数据单位是“区块(block)”,基本内容如图6所示。
图6
新窗口打开|
下载原图ZIP|
生成PPT
图6
基本区块结构
区块由区块头(Header)和区块体(Body)两部分组成,区块体包含一定数量的交易集合;区块头通过前继散列(PrevHash)维持与上一区块的关联从而形成链状结构,通过MKT(MerkleTree)生成的根散列(RootHash)快速验证区块体交易集合的完整性。因此散列算法和 MKT 是关联验证结构的关键,以下将对此展开介绍。
散列(Hash)算法也称为散列函数,它实现了明文到密文的不可逆映射;同时,散列算法可以将任意长度的输入经过变化得到固定长度的输出;最后,即使元数据有细微差距,变化后的输出也会产生显著不同。利用散列算法的单向、定长和差异放大的特征,节点通过比对当前区块头的前继散列即可确定上一区块内容的正确性,使区块的链状结构得以维系。区块链中常用的散列算法包括SHA256等。
MKT包括根散列、散列分支和交易数据。MKT首先对交易进行散列运算,再对这些散列值进行分组散列,最后逐级递归直至根散列。MKT 带来诸多好处:一方面,对根散列的完整性确定即间接地实现交易的完整性确认,提升高效性;另一方面,根据交易的散列路径(例如 Tx1:Hash2、Hash34)可降低验证某交易存在性的复杂度,若交易总数为N,那么MKT可将复杂度由N降为lbN。除此之外,还有其他数据结构与其配合使用,例如以太坊通过MPT(Merkle Patricia tree)——PatriciaTrie 和MerkleTree混合结构,高效验证其基于账户的信息模型数据。
此外,区块头中还可根据不同项目需求灵活添加其他信息,例如添加时间戳为区块链加入时间维度,形成时序记录;添加记账节点标识,以维护成块节点的权益;添加交易数量,进一步提高区块体数据的安全性。
3) 加密机制
由上述加密货币原理可知,经比特币演变的区块链技术具备与生俱来的匿名性,通过非对称加密等技术既保证了用户的隐私又检验了用户身份。非对称加密技术是指加密者和解密者利用2个不同秘钥完成加解密,且秘钥之间不能相互推导的加密机制。常用的非对称加密算法包括 RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等。对应图5,Alice 向 Bob 发起交易 Tx2,Alice使用Bob的公钥对交易签名,仅当Bob使用私钥验证该数字签名时,才有权利创建另一笔交易,使自身拥有的币生效。该机制将公钥作为基础标识用户,使用户身份不可读,一定程度上保护了隐私。
4) 研究现状
数据层面的研究方向集中在高效验证、匿名分析、隐私保护3个方面。
高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种。为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究。Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程。Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销。
区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接。Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度。Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址。Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率。
隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私。Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性。非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成。
3.3 共识层
区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测。因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题。实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究。
状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论。其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态。假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性。同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息。状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议。其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同。学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题。
区块链网络中主要包含PoX(poof of X)[34]、BFT(byzantine-fault tolerant)和 CFT(crash-fault tolerant)类基础共识协议。PoX 类协议是以 PoW (proof of work)为代表的基于奖惩机制驱动的新型共识协议,为了适应数据吞吐量、资源利用率和安全性的需求,人们又提出PoS(proof of stake)、PoST (proof of space-time)等改进协议。它们的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错。BFT类协议是指解决拜占庭容错问题的传统共识协议及其改良协议,包括PBFT、BFT-SMaRt、Tendermint等。CFT类协议用于实现崩溃容错,通过身份证明等手段规避节点作恶的情况,仅考虑节点或网络的崩溃(crash)故障,主要包括Raft、Paxos、Kafka等协议。
非许可链和许可链的开放程度和容错需求存在差异,共识层面技术在两者之间产生了较大区别。具体而言,非许可链完全开放,需要抵御严重的拜占庭风险,多采用PoX、BFT类协议并配合奖惩机制实现共识。许可链拥有准入机制,网络中节点身份可知,一定程度降低了拜占庭风险,因此可采用BFT类协议、CFT类协议构建相同的信任模型[35]。
限于篇幅原因,本节仅以 PoW、PBFT、Raft为切入进行3类协议的分析。
1) PoX类协议
PoW也称为Nakamoto协议,是比特币及其衍生项目使用的核心共识协议,如图7所示。
图7
新窗口打开|
下载原图ZIP|
生成PPT
图7
PoW协议示意
该协议在区块链头结构中加入随机数Nonce,并设计证明依据:为生成新区块,节点必须计算出合适的 Nonce 值,使新生成的区块头经过双重SHA256 运算后小于特定阈值。该协议的整体流程为:全网节点分别计算证明依据,成功求解的节点确定合法区块并广播,其余节点对合法区块头进行验证,若验证无误则与本地区块形成链状结构并转发,最终达到全网共识。PoW是随机性协议,任何节点都有可能求出依据,合法区块的不唯一将导致生成分支链,此时节点根据“最长链原则”选择一定时间内生成的最长链作为主链而抛弃其余分支链,从而使各节点数据最终收敛。
PoW协议采用随机性算力选举机制,实现拜占庭容错的关键在于记账权的争夺,目前寻找证明依据的方法只有暴力搜索,其速度完全取决于计算芯片的性能,因此当诚实节点数量过半,即“诚实算力”过半时,PoW便能使合法分支链保持最快的增长速度,也即保证主链一直是合法的。PoW是一种依靠饱和算力竞争纠正拜占庭错误的共识协议,关注区块产生、传播过程中的拜占庭容错,在保证防止双花攻击的同时也存在资源浪费、可扩展性差等问题。
2) BFT类协议
PBFT是 BFT经典共识协议,其主要流程如图8 所示。PBFT将节点分为主节点和副节点,其中主节点负责将交易打包成区块,副节点参与验证和转发,假设作恶节点数量为f。PBFT共识主要分为预准备、准备和接受3个阶段,主节点首先收集交易后排序并提出合法区块提案;其余节点先验证提案的合法性,然后根据区块内交易顺序依次执行并将结果摘要组播;各节点收到2f个与自身相同的摘要后便组播接受投票;当节点收到超过2f+1个投票时便存储区块及其产生的新状态[36]。
图8
新窗口打开|
下载原图ZIP|
生成PPT
图8
PBFT协议示意
PBFT 协议解决消息传播过程的拜占庭容错,由于算法复杂度为 O(n2)且存在确定性的主节点选举规则,PBFT 仅适用于节点数量少的小型许可链系统。
3) CFT类协议
Raft[37]是典型的崩溃容错共识协议,以可用性强著称。Raft将节点分为跟随节点、候选节点和领导节点,领导节点负责将交易打包成区块,追随节点响应领导节点的同步指令,候选节点完成领导节点的选举工作。当网络运行稳定时,只存在领导节点和追随节点,领导节点向追随节点推送区块数据从而实现同步。节点均设置生存时间决定角色变化周期,领导节点的心跳信息不断重置追随节点的生存时间,当领导节点发生崩溃时,追随节点自动转化为候选节点并进入选举流程,实现网络自恢复。
Raft协议实现崩溃容错的关键在于领导节点的自选举机制,部分许可链选择降低可信需求,将拜占庭容错转换为崩溃容错,从而提升共识速度。
4) 奖惩机制
奖惩机制包括激励机制与惩罚策略,其中激励机制是为了弥补节点算力消耗、平衡协议运行收益比的措施,当节点能够在共识过程中获得收益时才会进行记账权的争夺,因此激励机制利用经济效益驱动各共识协议可持续运行。激励机制一般基于价值均衡理论设计,具有代表性的机制包括PPLNS、PPS等。为了实现收益最大化,节点可能采用不诚实的运行策略(如扣块攻击、自私挖矿等),损害了诚实节点的利益,惩罚策略基于博弈论等理论对节点进行惩罚,从而纠正不端节点的行为,维护共识可持续性。
5) 研究现状
随着可扩展性和性能需求的多样化发展,除了传统的BFT、CFT协议和PoX协议衍生研究,还产生了混合型协议(Hybrid)——主要为 PoX类协议混合以及PoX-BFT协议混合。因此本节从PoX类、BFT类以及Hybrid类协议归纳共识层研究进展。
如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错。uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费。PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块。PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举。Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性。PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用。
BFT协议有较长的发展史,在区块链研究中被赋予了新的活力。SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识。Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性。HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致。LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能。
Hybrid 类协议是研究趋势之一。PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享。PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力。ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延。Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份。
3.4 控制层
区块链节点基于对等通信网络与基础数据结构进行区块交互,通过共识协议实现数据一致,从而形成了全网统一的账本。控制层是各类应用与账本产生交互的中枢,如果将账本比作数据库,那么控制层提供了数据库模型,以及相应封装、操作的方法。具体而言,控制层由处理模型、控制合约和执行环境组成。处理模型从区块链系统的角度分析和描述业务/交易处理方式的差异。控制合约将业务逻辑转化为交易、区块、账本的具体操作。执行环境为节点封装通用的运行资源,使区块链具备稳定的可移植性。
1) 处理模型
账本用于存储全部或部分业务数据,那么依据该数据的分布特征可将处理模型分为链上(on-chain)和链下(off-chain)2种。
链上模型是指业务数据完全存储在账本中,业务逻辑通过账本的直接存取实现数据交互。该模型的信任基础建立在强关联性的账本结构中,不仅实现防篡改而且简化了上层控制逻辑,但是过量的资源消耗与庞大的数据增长使系统的可扩展性达到瓶颈,因此该模型适用于数据量小、安全性强、去中心化和透明程度高的业务。
链下模型是指业务数据部分或完全存储在账本之外,只在账本中存储指针以及其他证明业务数据存在性、真实性和有效性的数据。该模型以“最小化信任成本”为准则,将信任基础建立在账本与链下数据的证明机制中,降低账本构建成本。由于与公开的账本解耦,该模型具有良好的隐私性和可拓展性,适用于去中心化程度低、隐私性强、吞吐量大的业务。
2) 控制合约
区块链中控制合约经历了2个发展阶段,首先是以比特币为代表的非图灵完备的自动化脚本,用于锁定和解锁基于UTXO信息模型的交易,与强关联账本共同克服了双花等问题,使交易数据具备流通价值。其次是以以太坊为代表的图灵完备的智能合约,智能合约是一种基于账本数据自动执行的数字化合同,由开发者根据需求预先定义,是上层应用将业务逻辑编译为节点和账本操作集合的关键。智能合约通过允许相互不信任的参与者在没有可信第三方的情况下就复杂合同的执行结果达成协议,使合约具备可编程性,实现业务逻辑的灵活定义并扩展区块链的使用。
3) 执行环境
执行环境是指执行控制合约所需要的条件,主要分为原生环境和沙盒环境。原生环境是指合约与节点系统紧耦合,经过源码编译后直接执行,该方式下合约能经历完善的静态分析,提高安全性。沙盒环境为节点运行提供必要的虚拟环境,包括网络通信、数据存储以及图灵完备的计算/控制环境等,在虚拟机中运行的合约更新方便、灵活性强,其产生的漏洞也可能造成损失。
4) 研究现状
控制层的研究方向主要集中在可扩展性优化与安全防护2个方面。
侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷。Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花。Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余。分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载。ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证。OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性。区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障。上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案。实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付。Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认。
一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点。Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题。Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利。Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测。
4 技术选型分析
区别于其他技术,区块链发展过程中最显著的特点是与产业界紧密结合,伴随着加密货币和分布式应用的兴起,业界出现了许多区块链项目。这些项目是区块链技术的具体实现,既有相似之处又各具特点,本节将根据前文所述层次化结构对比特币、以太坊和超级账本Fabric项目进行分析,然后简要介绍其他代表性项目并归纳和对比各项目的技术选型及特点。
4.1 比特币
比特币是目前规模最大、影响范围最广的非许可链开源项目。图9为比特币项目以账本为核心的运行模式,也是所有非许可链项目的雏形。比特币网络为用户提供兑换和转账业务,该业务的价值流通媒介由账本确定的交易数据——比特币支撑。为了保持账本的稳定和数据的权威性,业务制定奖励机制,即账本为节点产生新的比特币或用户支付比特币,以此驱动节点共同维护账本。
图9
新窗口打开|
下载原图ZIP|
生成PPT
图9
比特币运行模式
比特币网络主要由2种节点构成:全节点和轻节点。全节点是功能完备的区块链节点,而轻节点不存储完整的账本数据,仅具备验证与转发功能。全节点也称为矿工节点,计算证明依据的过程被称为“挖矿”,目前全球拥有近 1 万个全节点;矿池则是依靠奖励分配策略将算力汇集起来的矿工群;除此之外,还有用于存储私钥和地址信息、发起交易的客户端(钱包)。
1) 网络层
比特币在网络层采用非结构化方式组网,路由表呈现随机性。节点间则采用多点传播方式传递数据,曾基于Gossip协议实现,为提高网络的抗匿名分析能力改为基于Diffusion协议实现[33]。节点利用一系列控制协议确保链路的可用性,包括版本获取(Vetsion/Verack)、地址获取(Addr/GetAddr)、心跳信息(PING/PONG)等。新节点入网时,首先向硬编码 DNS 节点(种子节点)请求初始节点列表;然后向初始节点随机请求它们路由表中的节点信息,以此生成自己的路由表;最后节点通过控制协议与这些节点建立连接,并根据信息交互的频率更新路由表中节点时间戳,从而保证路由表中的节点都是活动的。交互逻辑层为建立共识交互通道,提供了区块获取(GetBlock)、交易验证(MerkleBlock)、主链选择(CmpctBlock)等协议;轻节点只需要进行简单的区块头验证,因此通过头验证(GetHeader/Header)协议和连接层中的过滤设置协议指定需要验证的区块头即可建立简单验证通路。在安全机制方面,比特币网络可选择利用匿名通信网络Tor作为数据传输承载,通过沿路径的层层数据加密机制来保护对端身份。
2) 数据层
比特币数据层面的技术选型已经被广泛研究,使用UTXO信息模型记录交易数据,实现所有权的简单、有效证明,利用 MKT、散列函数和时间戳实现区块的高效验证并产生强关联性。在加密机制方面,比特币采用参数为Secp256k1的椭圆曲线数字签名算法(ECDSA,elliptic curve digital signature algorithm)生成用户的公私钥,钱包地址则由公钥经过双重散列、Base58Check 编码等步骤生成,提高了可读性。
3) 共识层
比特币采用 PoW 算法实现节点共识,该算法证明依据中的阈值设定可以改变计算难度。计算难度由每小时生成区块的平均块数决定,如果生成得太快,难度就会增加。该机制是为了应对硬件升级或关注提升引起的算力变化,保持证明依据始终有效。目前该阈值被设定为10 min产出一个区块。除此之外,比特币利用奖惩机制保证共识的可持续运行,主要包括转账手续费、挖矿奖励和矿池分配策略等。
4) 控制层
比特币最初采用链上处理模型,并将控制语句直接记录在交易中,使用自动化锁定/解锁脚本验证UTXO模型中的比特币所有权。由于可扩展性和确认时延的限制,比特币产生多个侧链项目如Liquid、RSK、Drivechain等,以及链下处理项目Lightning Network等,从而优化交易速度。
4.2 以太坊
以太坊是第一个以智能合约为基础的可编程非许可链开源平台项目,支持使用区块链网络构建分布式应用,包括金融、音乐、游戏等类型;当满足某些条件时,这些应用将触发智能合约与区块链网络产生交互,以此实现其网络和存储功能,更重要的是衍生出更多场景应用和价值产物,例如以太猫,利用唯一标识为虚拟猫赋予价值;GitCoin,众筹软件开发平台等。
1) 网络层
以太坊底层对等网络协议簇称为DEVP2P,除了满足区块链网络功能外,还满足与以太坊相关联的任何联网应用程序的需求。DEVP2P将节点公钥作为标识,采用 Kademlia 算法计算节点的异或距离,从而实现结构化组网。DEVP2P主要由3种协议组成:节点发现协议RLPx、基础通信协议Wire和扩展协议Wire-Sub。节点间基于Gossip实现多点传播;新节点加入时首先向硬编码引导节点(bootstrap node)发送入网请求;然后引导节点根据Kademlia 算法计算与新节点逻辑距离最近的节点列表并返回;最后新节点向列表中节点发出握手请求,包括网络版本号、节点ID、监听端口等,与这些节点建立连接后则使用Ping/Pong机制保持连接。Wire子协议构建了交易获取、区块同步、共识交互等逻辑通路,与比特币类似,以太坊也为轻量级钱包客户端设计了简易以太坊协议(LES,light ethereum subprotocol)及其变体PIP。安全方面,节点在RLPx协议建立连接的过程中采用椭圆曲线集成加密方案(ECIES)生成公私钥,用于传输共享对称密钥,之后节点通过共享密钥加密承载数据以实现数据传输保护。
2) 数据层
以太坊通过散列函数维持区块的关联性,采用MPT实现账户状态的高效验证。基于账户的信息模型记录了用户的余额及其他 ERC 标准信息,其账户类型主要分为2类:外部账户和合约账户;外部账户用于发起交易和创建合约,合约账户用于在合约执行过程中创建交易。用户公私钥的生成与比特币相同,但是公钥经过散列算法Keccak-256计算后取20 B作为外部账户地址。
3) 共识层
以太坊采用 PoW 共识,将阈值设定为 15 s产出一个区块,计划在未来采用PoS或Casper共识协议。较低的计算难度将导致频繁产生分支链,因此以太坊采用独有的奖惩机制——GHOST 协议,以提高矿工的共识积极性。具体而言,区块中的散列值被分为父块散列和叔块散列,父块散列指向前继区块,叔块散列则指向父块的前继。新区块产生时,GHOST 根据前 7 代区块的父/叔散列值计算矿工奖励,一定程度弥补了分支链被抛弃时浪费的算力。
4) 控制层
每个以太坊节点都拥有沙盒环境 EVM,用于执行Solidity语言编写的智能合约;Solidity语言是图灵完备的,允许用户方便地定义自己的业务逻辑,这也是众多分布式应用得以开发的前提。为优化可扩展性,以太坊拥有侧链项目 Loom、链下计算项目Plasma,而分片技术已于2018年加入以太坊源码。
4.3 超级账本Fabric
超级账本是Linux基金会旗下的开源区块链项目,旨在提供跨行业区块链解决方案。Fabric 是超级账本子项目之一,也是影响最广的企业级可编程许可链项目;在已知的解决方案中,Fabric 被应用于供应链、医疗和金融服务等多种场景。
1) 网络层
Fabric 网络以组织为单位构建节点集群,采用混合式对等网络组网;每个组织中包括普通节点和锚节点(anchor peer),普通节点完成组织内的消息路由,锚节点负责跨组织的节点发现与消息路由。Fabric网络传播层基于Gossip实现,需要使用配置文件初始化网络,网络生成后各节点将定期广播存活信息,其余节点根据该信息更新路由表以保持连接。交互逻辑层采用多通道机制,即相同通道内的节点才能进行状态信息交互和区块同步。Fabric 为许可链,因此在网络层采取严苛的安全机制:节点被颁发证书及密钥对,产生PKI-ID进行身份验证;可选用 TLS 双向加密通信;基于多通道的业务隔离;可定义策略指定通道内的某些节点对等传输私有数据。
2) 数据层
Fabric的区块中记录读写集(read-write set)描述交易执行时的读写过程。该读写集用于更新状态数据库,而状态数据库记录了键、版本和值组成的键值对,因此属于键值对信息模型。一方面,散列函数和 MerkleTree 被用作高效关联结构的实现技术;另一方面,节点还需根据键值验证状态数据库与读写集中的最新版本是否一致。许可链场景对匿名性的要求较低,但对业务数据的隐私性要求较高,因此Fabric 1.2版本开始提供私有数据集(PDC,private data collection)功能。
3) 共识层
Fabric在0.6版本前采用PBFT 共识协议,但是为了提高交易吞吐量,Fabric 1.0 选择降低安全性,将共识过程分解为排序和验证2种服务,排序服务采用CFT类协议Kafka、Raft(v1.4之后)完成,而验证服务进一步分解为读写集验证与多签名验证,最大程度提高了共识速度。由于Fabric针对许可链场景,参与方往往身份可知且具有相同的合作意图,因此规避了节点怠工与作恶的假设,不需要奖惩机制调节。
4) 控制层
Fabric 对于扩展性优化需求较少,主要得益于共识层的优化与许可链本身参与节点较少的前提,因此主要采用链上处理模型,方便业务数据的存取;而 PDC 中仅将私有数据散列值上链的方式则属于链下处理模型,智能合约可以在本地进行数据存取。Fabric 节点采用模块化设计,基于 Docker构建模块执行环境;智能合约在Fabric中被称为链码,使用GO、Javascript和Java语言编写,也是图灵完备的。
4.4 其他项目
除了上述3种区块链基础项目外,产业界还有许多具有代表性的项目,如表1所示。
5 区块链应用研究
区块链技术有助于降低金融机构间的审计成本,显著提高支付业务的处理速度及效率,可应用于跨境支付等金融场景。除此之外,区块链还应用于产权保护、信用体系建设、教育生态优化、食品安全监管、网络安全保障等非金融场景。
根据这些场景的应用方式以及区块链技术特点,可将区块链特性概括为如下几点。1) 去中心化。节点基于对等网络建立通信和信任背书,单一节点的破坏不会对全局产生影响。2) 不可篡改。账本由全体节点维护,群体协作的共识过程和强关联的数据结构保证节点数据一致且基本无法被篡改,进一步使数据可验证和追溯。3) 公开透明。除私有数据外,链上数据对每个节点公开,便于验证数据的存在性和真实性。4) 匿名性。多种隐私保护机制使用户身份得以隐匿,即便如此也能建立信任基础。5) 合约自治。预先定义的业务逻辑使节点可以基于高可信的账本数据实现自治,在人-人、人-机、机-机交互间自动化执行业务。
鉴于上述领域的应用在以往研究中均有详细描述,本文将主要介绍区块链在智慧城市、边缘计算和人工智能领域的前沿应用研究现状。
表1
表1
代表性区块链项目
技术选型CordaQuorumLibraBlockstackFilecoinZcash控制合约Kotlin,JavaGOMoveClarity非图灵完备非图灵完备非图灵完备执行环境JVMEVMMVM源码编译源码编译源码编译处理模型链上链上/链下(私有数据)链上链下(虚拟链)链下(IPFS)链上奖惩机制——Libra coinsStacks tokenFilecoinZcash/Turnstiles共识算法Notary 机制/RAFT,BFT-SMaRtQuorum-Chain,RAFTLibraBFTTunable Proofs,proof-of-burnPoRep,PoETPoW信息模型UTXO基于账户基于账户基于账户基于账户UTXO关联验证结构散列算法MKT散列算法MPT散列算法MKT散列算法Merklized Adaptive Radix Forest (MARF)散列算法MKT散列算法MKT加密机制Tear-offs机制、混合密钥基于EnclaveSHA3-256/EdDSA基于Gaia/Blockstack AuthSECP256K1/BLSzk-SNARK组网方式混合型结构化混合型无结构结构化/无结构无结构通信机制AMQP1.0/单点传播Wire/GossipNoise-ProtocolFramework/GossipAtlas/GossipLibp2p/GossipBitcoin-Core/Gossip安全机制Corda加密套件/TLS证书/HTTPSDiffie-HellmanSecure BackboneTLSTor区块链类型许可链许可链许可链非许可链非许可链非许可链特点只允许对实际参与给定交易的各方进行信息访问和验证功能基于以太坊网络提供公共交易和私有交易2种交互渠道稳定、快速的交易网络剔除中心服务商的、可扩展的分布式数据存储设施,旨在保护隐私数据激励机制驱动的存储资源共享生态基于比特币网络提供零知识证明的隐私保护应用场景金融业务平台分布式应用加密货币互联网基础设施文件存储与共享加密货币
新窗口打开|
下载CSV
5.1 智慧城市
智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景。智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战。区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决。Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据。
5.2 边缘计算
边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验。安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障。区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用。首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据。其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础。Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性。Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题。Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性。
5.3 人工智能
人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标。人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费。此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大。区块链不可篡改的特性可以实现感知和训练过程的可信。另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率。Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果。Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库。
6 技术挑战与研究展望
6.1 层次优化与深度融合
区块链存在“三元悖论”——安全性、扩展性和去中心化三者不可兼得,只能依靠牺牲一方的效果来满足另外两方的需求。以比特币为代表的公链具有较高的安全性和完全去中心化的特点,但是资源浪费等问题成为拓展性优化的瓶颈。尽管先后出现了PoS、BFT等共识协议优化方案,或侧链、分片等链上处理模型,或Plasma、闪电网络等链下扩展方案,皆是以部分安全性或去中心化为代价的。因此,如何将区块链更好地推向实际应用很大程度取决于三元悖论的解决,其中主要有2种思路。
1) 层次优化
区块链层次化结构中每层都不同程度地影响上述3种特性,例如网络时延、并行读写效率、共识速度和效果、链上/链下模型交互机制的安全性等,对区块链的优化应当从整体考虑,而不是单一层次。
网络层主要缺陷在于安全性,可拓展性则有待优化。如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19]。信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69]。相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素。
数据层的优化空间在于高效性,主要为设计新的数据验证结构与算法。该方向可以借鉴计算机研究领域的多种数据结构理论与复杂度优化方法,寻找适合区块链计算方式的结构,甚至设计新的数据关联结构。实际上相当一部分项目借鉴链式结构的思想开辟新的道路,例如压缩区块空间的隔离见证、有向无环图(DAG)中并行关联的纠缠结构(Tangle),或者Libra项目采用的状态树。
共识机制是目前研究的热点,也是同时影响三元特性的最难均衡的层次。PoW牺牲可拓展性获得完全去中心化和安全性,PoS高效的出块方式具备可扩展性但产生了分叉问题,POA结合两者做到了3种特性的均衡。以此为切入的Hybrid类共识配合奖惩机制的机动调节取得了较好效果,成为共识研究的过渡手段,但是如何做到三元悖论的真正突破还有待研究。
控制层面是目前可扩展性研究的热点,其优势在于不需要改变底层的基础实现,能够在短期内应用,集中在产业界的区块链项目中。侧链具有较好的灵活性但操作复杂度高,分片改进了账本结构但跨分片交互的安全问题始终存在,而链下处理模型在安全方面缺少理论分析的支撑。因此,三元悖论的解决在控制层面具有广泛的研究前景。
2) 深度融合
如果将层次优化称为横向优化,那么深度融合即为根据场景需求而进行的纵向优化。一方面,不同场景的三元需求并不相同,例如接入控制不要求完全去中心化,可扩展性也未遇到瓶颈,因此可采用BFT类算法在小范围构建联盟链。另一方面,区块链应用研究从简单的数据上链转变为链下存储、链上验证,共识算法从 PoW 转变为场景结合的服务证明和学习证明,此外,结合 5G 和边缘计算可将网络和计算功能移至网络边缘,节约终端资源。这意味着在严格的场景建模下,区块链的层次技术选型将与场景特点交叉创新、深度融合,具有较为广阔的研究前景。
6.2 隐私保护
加密货币以匿名性著称,但是区块链以非对称加密为基础的匿名体系不断受到挑战。反匿名攻击从身份的解密转变为行为的聚类分析,不仅包括网络流量的IP聚类,还包括交易数据的地址聚类、交易行为的启发式模型学习,因此大数据分析技术的发展使区块链隐私保护思路发生转变。已有Tor网络、混币技术、零知识证明、同态加密以及各类复杂度更高的非对称加密算法被提出,但是各方法仍有局限,未来将需要更为高效的方法。此外,随着区块链系统的可编程化发展,内部复杂性将越来越高,特别是智能合约需要更严格、有效的代码检测方法,例如匿名性检测、隐私威胁预警等。
6.3 工业区块链
工业区块链是指利用区块链夯实工业互联网中数据的流通和管控基础、促进价值转换的应用场景,具有较大的研究前景。
工业互联网是面向制造业数字化、网络化、智能化需求,构建基于海量数据采集、汇聚、分析的服务体系,支撑制造资源泛在连接、弹性供给、高效配置的重要基础设施。“工业互联网平台”是工业互联网的核心,通过全面感知、实时分析、科学决策、精准执行的逻辑闭环,实现工业全要素、全产业链、全价值链的全面贯通,培育新的模式和业态。
可以看到,工业互联网与物联网、智慧城市、消费互联网等场景应用存在内在关联,例如泛在连接、数据共享和分析、电子商务等,那么其学术问题与技术实现必然存在关联性。区块链解决了物联网中心管控架构的单点故障问题,克服泛在感知设备数据的安全性和隐私性挑战,为智慧城市场景的数据共享、接入控制等问题提供解决方法,为激励资源共享构建了新型互联网价值生态。尽管工业互联网作为新型的产业生态系统,其技术体系更复杂、内涵更丰富,但是不难想象,区块链同样有利于工业互联网的发展。
“平台+区块链”能够通过分布式数据管理模式,降低数据存储、处理、使用的管理成本,为工业用户在工业 APP 选择和使用方面搭建起更加可信的环境,实现身份认证及操作行为追溯、数据安全存储与可靠传递。能够通过产品设计参数、质量检测结果、订单信息等数据“上链”,实现有效的供应链全要素追溯与协同服务。能够促进平台间数据交易与业务协同,实现跨平台交易结算,带动平台间的数据共享与知识复用,促进工业互联网平台间互联互通。
当然,工业是关乎国计民生的产业,将区块链去中心化、匿名化等特性直接用于工业互联网是不可取的,因此需要研究工业区块链管理框架,实现区块链的可管可控,在一定范围内发挥其安全优势,并对工业互联网的运转提供正向激励。
7 结束语
区块链基于多类技术研究的成果,以低成本解决了多组织参与的复杂生产环境中的信任构建和隐私保护等问题,在金融、教育、娱乐、版权保护等场景得到了较多应用,成为学术界的研究热点。比特币的出现重塑了人们对价值的定义,伴随着产业界的呼声,区块链技术得到了快速发展,而遵循区块链层次化分析方法,能够直观地区别各项目的技术路线和特点,为优化区块链技术提供不同观察视角,并为场景应用的深度融合创造条件,促进后续研究。未来的发展中,区块链将成为更为基础的信任支撑技术,在产业互联网等更广阔的领域健康、有序地发展。
The authors have declared that no competing interests exist.
作者已声明无竞争性利益关系。
参考文献
View Option
原文顺序
文献年度倒序
文中引用次数倒序
被引期刊影响因子
[1]
袁勇, 王飞跃 . 区块链技术发展现状与展望[J]. 自动化学报, 2016,42(4): 481-494.
[本文引用: 1]
YUAN Y , WANG F Y . Blockchain:the state of the art and future trends[J]. Acta Automatica Sinica, 2016,42(4): 481-494.
[本文引用: 1]
[2]
邵奇峰, 张召, 朱燕超 ,等. 企业级区块链技术综述[J]. 软件学报, 2019,30(9): 2571-2592.
[本文引用: 1]
SHAO Q F , ZHANG Z , ZHU Y C ,et al. Survey of enterprise blockchains[J]. 2019,30(9): 2571-2592.
[本文引用: 1]
[3]
YANG W , AGHASIAN E , GARG S ,et al. A survey on blockchain-based internet service architecture:requirements,challenges,trends,and future[J]. IEEE Access, 2019,7: 75845-75872.
[本文引用: 1]
[4]
韩璇, 袁勇, 王飞跃 . 区块链安全问题:研究现状与展望[J]. 自动化学报, 2019,45(1): 208-227.
[本文引用: 1]
HAN X , YUAN Y , WANG F Y . Security problems on blockchain:the state of the art and future trends[J]. Acta Automatica Sinica, 2016,45(1): 208-227.
[本文引用: 1]
[5]
ALI M , VECCHIO M , PINCHEIRA M ,et al. Applications of blockchains in the Internet of things:a comprehensive survey[J]. IEEE Communications Surveys & Tutorials, 2019,21: 1676-1717.
[本文引用: 1]
[6]
CHAUM D . Blind signature system[M]. Advances in Cryptology: Proceedings of Crypto 83.Springer USPress, 1984.
[本文引用: 1]
[7]
LAW L , SABEET S , SOLINAS J . How to make a mint:the cryptography of anonymous electronic cash[J]. The American University Law Review, 1997,46: 1131-1162.
[本文引用: 1]
[8]
JAKOBSSON M , JUELS A . Proofs of work and bread pudding protocols[C]// IFIP TC6/TC11 Joint Working Conference on Communications and Multimedia Security. IFIP, 1999: 258-272.
[本文引用: 1]
[9]
王学龙, 张璟 . P2P 关键技术研究综述[J]. 计算机应用研究, 2010,27(3): 801-805.
[本文引用: 1]
WANG X L , ZHANG J . Survey on peer-to-peer key technologies[J]. Application Research of Computers, 2010,27(3): 801-805.
[本文引用: 1]
[10]
DEMERS A , GREENE D , HOUSER C ,et al. Epidemic algorithms for replicated database maintenance[J]. ACM SIGOPS Operating Systems Review, 1988,22: 8-32.
[本文引用: 1]
[11]
DECKER C , WATTENHOFER R . Information propagation in the bitcoin network[C]// IEEE Thirteenth International Conference on Peer-to-peer Computing. IEEE, 2013: 1-10.
[本文引用: 1]
[12]
FADHIL M , OWENSON G , ADDA M . Locality based approach to improve propagation delay on the bitcoin peer-to-peer network[C]// 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM). IEEE, 2017: 556-559.
[本文引用: 1]
[13]
KANEKO Y , ASAKA T . DHT clustering for load balancing considering blockchain data size[C]// 2018 Sixth International Symposium on Computing and Networking Workshops (CANDARW). IEEE Computer Society, 2018: 71-74.
[本文引用: 1]
[14]
KOSHY P , KOSHY D , MCDANIEL P . An analysis of anonymity in bitcoin using P2P network traffic[C]// Financial Cryptography and Data Security:18th International Conference. Springer, 2014: 469-485.
[15]
BIRYUKOV A , KHOVRATOVICH D , PUSTOGAROV I . Deanonymisation of clients in bitcoin P2P network[C]// ACM SIGSAC Conference on Computer and Communications Security. ACM, 2014: 15-29.
[16]
VENKATAKRISHNAN S B , FANTI G , VISWANATH P . Dandelion:redesigning the bitcoin network for anonymity[C]// The 2017 ACM SIGMETRICS. ACM, 2017:57.
[本文引用: 1]
[17]
FANTI G , VENKATAKRISHNAN S B , BAKSHI S ,et al. Dandelion++:lightweight cryptocurrency networking with formal anonymity guarantees[J]. ACM SIGMETRICS Performance Evaluation Review, 2018,46: 5-7.
[本文引用: 1]
[18]
HEILMAN E , KENDLER A , ZOHAR A ,et al. Eclipse attacks on Bitcoin’s peer-to-peer network[C]// USENIX Conference on Security Symposium. USENIX Association, 2015: 129-144.
[本文引用: 1]
[19]
APOSTOLAKI M , ZOHAR A , VANBEVER L . Hijacking bitcoin:routing attacks on cryptocurrencies[C]// 2017 IEEE Symposium on Security and Privacy (SP). IEEE, 2017: 375-392.
[本文引用: 2]
[20]
REYZIN L , IVANOV S . Improving authenticated dynamic dictionaries,with applications to cryptocurrencies[C]// International Conference on Financial Cryptography & Data Security. Springer, 2017: 376-392.
[本文引用: 1]
[21]
ZHANG C , XU C , XU J L ,et al. GEM^2-tree:a gas-efficient structure for authenticated range queries in blockchain[C]// IEEE 35th International Conference on Data Engineering (ICDE). IEEE, 2019: 842-853.
[本文引用: 1]
[22]
REID F , HARRIGAN M . An analysis of anonymity in the bitcoin system[C]// 2011 IEEE Third International Conference on Privacy,Security,Risk and Trust. IEEE, 2011: 1318-1326.
[本文引用: 1]
[23]
MEIKLEJOHN S , POMAROLE M , JORDAN G ,et al. A fistful of bitcoins:characterizing payments among men with no names[C]// The 2013 Conference on Internet Measurement Conference. ACM, 2013: 127-140.
[本文引用: 1]
[24]
AWAN M K , CORTESI A . Blockchain transaction analysis using dominant sets[C]// IFIP International Conference on Computer Information Systems and Industrial Management. IFIP, 2017: 229-239.
[本文引用: 1]
[25]
SAXENA A , MISRA J , DHAR A . Increasing anonymity in bitcoin[C]// International Conference on Financial Cryptography and Data Security. Springer, 2014: 122-139.
[本文引用: 1]
[26]
MIERS I , GARMAN C , GREEN M ,et al. Zerocoin:anonymous distributed e-cash from bitcoin[C]// 2013 IEEE Symposium on Security and Privacy. IEEE, 2013: 397-411.
[本文引用: 1]
[27]
SASSON E B , CHIESA A , GARMAN C ,et al. Zerocash:decentralized anonymous payments from bitcoin[C]// 2014 IEEE Symposium on Security and Privacy (SP). IEEE, 2014: 459-474.
[本文引用: 1]
[28]
YIN W , WEN Q , LI W ,et al. A anti-quantum transaction authentication approach in blockchain[J]. IEEE Access, 2018,6: 5393-5401.
[本文引用: 1]
[29]
DOUCEUR J R , . The sybil attack[C]// The First International Workshop on Peer-to-Peer Systems(IPTPS’ 01). Springer, 2002: 251-260.
[本文引用: 1]
[30]
KARAME G O , ANDROULAKI E , CAPKUN S . Double-spending fast payments in bitcoin[C]// The 2012 ACM conference on Computer and communications security. ACM, 2012: 906-917.
[本文引用: 1]
[31]
LAMPORT L , SHOSTAK R , PEASE M . The byzantine generals problem[J]. ACM Transactions on Programming Languages and Systems, 1982,4: 382-401.
[本文引用: 1]
[32]
BANO S , SONNINO A , AL-BASSAM M ,et al. Consensus in the age of blockchains[J]..03936,2017. arXiv Preprint,arXiv:1711.03936,2017.
[本文引用: 1]
[33]
DWORK C , LYNCH N , STOCKMEYER L . Consensus in the presence of partial synchrony[J]. Journal of the ACM, 1988,35: 288-323.
[本文引用: 2]
[34]
TSCHORSCH F , SCHEUERMANN B . Bitcoin and beyond:a technical survey on decentralized digital currencies[J]. IEEE Communications Surveys & Tutorials, 2016,18: 2084-2123.
[本文引用: 1]
[35]
CACHIN C VUKOLIĆ M . Blockchains consensus protocols in the wild[J]. arXiv Preprint,arXiv:1707.01873, 2017.
[本文引用: 1]
[36]
CASTRO M , LISKOV B . Practical byzantine fault tolerance and proactive recovery[J]. ACM Transactions on Computer Systems, 2002,20: 398-461.
[本文引用: 1]
[37]
ONGARO D , OUSTERHOUT J . In search of an understandable consensus algorithm[C]// The 2014 USENIX Conference on USENIX Annual Technical Conference. USENIX Association, 2015: 305-320.
[本文引用: 1]
[38]
BALL M , ROSEN A , SABIN M ,et al. Proofs of useful work[R]. Cryptology ePrint Archive:Report 2017/203.
[本文引用: 1]
[39]
MIHALJEVIC B , ZAGAR M . Comparative analysis of blockchain consensus algorithms[C]// International Convention on Information and Communication Technology,Electronics and Microelectronics (MIPRO). IEEE, 2018: 1545-1550.
[本文引用: 1]
[40]
KIAYIAS A , RUSSELL A , DAVID B ,et al. Ouroboros:a provably secure proof-of-stake blockchain protocol[C]// Advances in Cryptology - CRYPTO 2017. Springer, 2017: 357-388.
[本文引用: 1]
[41]
FISCH B . Tight proofs of space and replication[J].,ePrint-2018-702. IACR Cryptology ePrint Archive,ePrint-2018-702.
[本文引用: 1]
[42]
BELOTTI M , BOŽIĆ N , PUJOLLE G ,et al. A vademecum on blockchain technologies:when,which,and how[J]. IEEE Communications Surveys & Tutorials, 2019,21: 3796-3838.
[本文引用: 1]
[43]
WANG W B , HOANG D T , HU P Z ,et al. A survey on consensus mechanisms and mining strategy management in blockchain networks[J]. IEEE Access, 2019,7: 22328-22370.
[本文引用: 1]
[44]
YOO J H , JUNG Y L , SHIN D H ,et al. Formal modeling and verification of a federated byzantine agreement algorithm for blockchain platforms[C]// IEEE International Workshop on Blockchain Oriented Software Engineering. 2019: 11-21.
[本文引用: 1]
[45]
ZHENG Z B , XIE S , DAI H ,et al. An overview of blockchain technology:architecture,consensus,and future trends[C]// 6th IEEE International Congress on Big Data. IEEE, 2017: 557-564.
[本文引用: 1]
[46]
YIN M , MALKHI D , REITER M K ,et al. HotStuff:BFT consensus in the lens of blockchain[C]// ACM Symposium on Principles of Distributed Computing. ACM, 2019: 347-356.
[本文引用: 1]
[47]
ALI S , WANG G , WHITE B ,et al. Libra critique towards global decentralized financial system[C]// Communications in Computer and Information Science. Springer, 2019: 661-672.
[本文引用: 1]
[48]
BENTOV I , LEE C , MIZRAHI A ,et al. Proof of activity:extending bitcoin’s proof of work via proof of stake[J]. IACR Cryptology ePrint Archive,ePrint-2014-25478.
[本文引用: 1]
[49]
DECKER C , SEIDEL J , WATTENHOFER R . Bitcoin meets strong consistency[J].,2014. arXiv Preprint,arXiv:1412.7935,2014.
[本文引用: 1]
[50]
KOKORIS-KOGIAS E , JOVANOVIC P , GAILLY N ,et al. Enhancing bitcoin security and performance with strong consistency via collective signing[J]. Applied Mathematical Modelling, 2016,37: 5723-5742.
[本文引用: 1]
[51]
BUTERIN V , GRIFFITH V . Casper the friendly finality gadget[J]. arXiv Preprint,arXiv:1710.09437,2017.
[本文引用: 1]
[52]
TSCHORSCH F , SCHEUERMANN B . Bitcoin and beyond:a technical survey on decentralized digital currencies[J]. IEEE Communications Surveys & Tutorials, 2016,18: 2084-2023,2017.
[本文引用: 1]
[53]
KIAYIAS A , MILLER A , ZINDROS D . Non-interactive proofs of proof-of-work[J]. IACR Cryptology ePrint Archive,ePrint-2017-963.
[本文引用: 1]
[54]
LUU L , NARAYANAN V , ZHENG C ,et al. A secure sharding protocol for open blockchains[C]// The 2016 ACM SIGSAC Conference on Computer and Communications Security(CCS’16). ACM, 2016: 17-30.
[本文引用: 1]
[55]
KOKORIS-KOGIAS E , JOVANOVIC P , GASSER L ,et al. OmniLedger:a secure,scale-out,decentralized ledger via sharding[C]// IEEE Symposium on Security and Privacy (SP). IEEE Computer Society, 2018: 583-598.
[本文引用: 1]
[56]
LI S , YU M , AVESTIMEHR S ,et al. PolyShard:coded sharding achieves linearly scaling efficiency and security simultaneously[J]. arXiv Preprint,arXiv:1809.10361,2018.
[本文引用: 1]
[57]
XIE J F , YU F R , HUANG T ,et al. A survey on the scalability of blockchain systems[J]. IEEE Network, 2019,33: 166-173.
[本文引用: 1]
[58]
BURCHERT C , DECKER C , WATTENHOFER R . Scalable funding of bitcoin micropayment channel networks[C]// Stabilization,Safety,and Security of Distributed Systems. Springer, 2017: 361-377.
[本文引用: 1]
[59]
LUU L , CHU D , OLICKEL H ,et al. Making smart contracts smarter[C]// The 2016 ACM SIGSAC Conference on Computer and Communications Security. ACM, 2016: 254-269.
[本文引用: 1]
[60]
BRENT L , JURISEVIC A , KONG M ,et al. Vandal:a scalable security analysis framework for smart contracts[J]. arXiv Preprint,arXiv:1809.039812018.
[本文引用: 1]
[61]
JIANG B , LIU Y , CHAN W K . ContractFuzzer:fuzzing smart contracts for vulnerability detection[J]. arXiv Preprint,arXiv:1807.03932,2018.
[本文引用: 1]
[62]
HASHEMI S H , FAGHRI F , CAMPBELL R H . Decentralized user-centric access control using pubsub over blockchain[J]. arXiv Preprint,arXiv:1710.00110,2017.
[本文引用: 1]
[63]
BAO S.CAO Y , LEI A ,et al. Pseudonym management through blockchain:cost-efficient privacy preservation on intelligent transportation systems[J]. IEEE Access, 2019,7: 80390-80403.
[本文引用: 1]
[64]
SAMANIEGO M , DETERS R . Hosting virtual IoT resources on edge-hosts with blockchain[C]// IEEE International Conference on Computer & Information Technology. IEEE, 2016: 116-119.
[本文引用: 1]
[65]
STANCIU A , . Blockchain based distributed control system for edge computing[C]// International Conference on Control Systems &Computer Science. IEEE, 2017: 667-671.
[本文引用: 1]
[66]
ZIEGLER M H , GROMANN M , KRIEGER U R . Integration of fog computing and blockchain technology using the plasma framework[C]// 2019 IEEE International Conference on Blockchain and Cryptocurrency (ICBC). IEEE, 2019: 120-123.
[本文引用: 1]
[67]
KIM H , PARK J , BENNIS M ,et al. Blockchained on-device federated learning[J]. arXiv Preprint,arXiv:1808.03949, 2018.
[本文引用: 1]
[68]
BRAVO-MARQUEZ F , REEVES S , UGARTE M . Proof-of- learning:a blockchain consensus mechanism based on machine learning competitions[C]// 2019 IEEE International Conference on Decentralized Applications and Infrastructures. IEEE, 2019: 119-124.
[本文引用: 1]
[69]
刘江, 霍如, 李诚成 ,等. 基于命名数据网络的区块链信息传输机制[J]. 通信学报, 2018,39(1), 24-33.
[本文引用: 1]
LIU J , HUO R , LI C C ,et al. Information transmission mechanism of Blockchain technology based on named-data networking[J]. Journal on Communications, 2018,39(1): 24-33.
[本文引用: 1]
区块链技术发展现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
区块链技术发展现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
企业级区块链技术综述
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
企业级区块链技术综述
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
A survey on blockchain-based internet service architecture:requirements,challenges,trends,and future
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
区块链安全问题:研究现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
区块链安全问题:研究现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
Applications of blockchains in the Internet of things:a comprehensive survey
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
Blind signature system
1
1984
... 加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示. ...
How to make a mint:the cryptography of anonymous electronic cash
1
1997
... 加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示. ...
Proofs of work and bread pudding protocols
1
1999
... 最早的加密货币构想将银行作为构建信任的基础,呈现中心化特点.此后,加密货币朝着去中心化方向发展,并试图用工作量证明(PoW,poof of work)[8]或其改进方法定义价值.比特币在此基础上,采用新型分布式账本技术保证被所有节点维护的数据不可篡改,从而成功构建信任基础,成为真正意义上的去中心化加密货币.区块链从去中心化加密货币发展而来,随着区块链的进一步发展,去中心化加密货币已经成为区块链的主要应用之一. ...
P2P 关键技术研究综述
1
2010
... 对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示. ...
P2P 关键技术研究综述
1
2010
... 对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示. ...
Epidemic algorithms for replicated database maintenance
1
1988
... 传播层实现对等节点间数据的基本传输,包括2 种数据传播方式:单点传播和多点传播.单点传播是指数据在2个已知节点间直接进行传输而不经过其他节点转发的传播方式;多点传播是指接收数据的节点通过广播向邻近节点进行数据转发的传播方式,区块链网络普遍基于Gossip协议[10]实现洪泛传播.连接层用于获取节点信息,监测和改变节点间连通状态,确保节点间链路的可用性(availability).具体而言,连接层协议帮助新加入节点获取路由表数据,通过定时心跳监测为节点保持稳定连接,在邻居节点失效等情况下为节点关闭连接等.交互逻辑层是区块链网络的核心,从主要流程上看,该层协议承载对等节点间账本数据的同步、交易和区块数据的传输、数据校验结果的反馈等信息交互逻辑,除此之外,还为节点选举、共识算法实施等复杂操作和扩展应用提供消息通路. ...
Information propagation in the bitcoin network
1
2013
... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...
Locality based approach to improve propagation delay on the bitcoin peer-to-peer network
1
2017
... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...
DHT clustering for load balancing considering blockchain data size
1
2018
... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...
An analysis of anonymity in bitcoin using P2P network traffic
2014
Deanonymisation of clients in bitcoin P2P network
2014
Dandelion:redesigning the bitcoin network for anonymity
1
2017
... 匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害.Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击. ...
Dandelion++:lightweight cryptocurrency networking with formal anonymity guarantees
1
2018
... 匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害.Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击. ...
Eclipse attacks on Bitcoin’s peer-to-peer network
1
2015
... 区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击.为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案.Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性.Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能. ...
Hijacking bitcoin:routing attacks on cryptocurrencies
2
2017
... 区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击.为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案.Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性.Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能. ...
... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...
Improving authenticated dynamic dictionaries,with applications to cryptocurrencies
1
2017
... 高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种.为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究.Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程.Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销. ...
GEM^2-tree:a gas-efficient structure for authenticated range queries in blockchain
1
2019
... 高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种.为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究.Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程.Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销. ...
An analysis of anonymity in the bitcoin system
1
2011
... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...
A fistful of bitcoins:characterizing payments among men with no names
1
2013
... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...
Blockchain transaction analysis using dominant sets
1
2017
... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...
Increasing anonymity in bitcoin
1
2014
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
Zerocoin:anonymous distributed e-cash from bitcoin
1
2013
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
Zerocash:decentralized anonymous payments from bitcoin
1
2014
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
A anti-quantum transaction authentication approach in blockchain
1
2018
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
The sybil attack
1
2002
... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...
Double-spending fast payments in bitcoin
1
2012
... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...
The byzantine generals problem
1
1982
... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...
Consensus in the age of blockchains
1
... 状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论.其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态.假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性.同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息.状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议.其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同.学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题. ...
Consensus in the presence of partial synchrony
2
1988
... 状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论.其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态.假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性.同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息.状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议.其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同.学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题. ...
... 比特币在网络层采用非结构化方式组网,路由表呈现随机性.节点间则采用多点传播方式传递数据,曾基于Gossip协议实现,为提高网络的抗匿名分析能力改为基于Diffusion协议实现[33].节点利用一系列控制协议确保链路的可用性,包括版本获取(Vetsion/Verack)、地址获取(Addr/GetAddr)、心跳信息(PING/PONG)等.新节点入网时,首先向硬编码 DNS 节点(种子节点)请求初始节点列表;然后向初始节点随机请求它们路由表中的节点信息,以此生成自己的路由表;最后节点通过控制协议与这些节点建立连接,并根据信息交互的频率更新路由表中节点时间戳,从而保证路由表中的节点都是活动的.交互逻辑层为建立共识交互通道,提供了区块获取(GetBlock)、交易验证(MerkleBlock)、主链选择(CmpctBlock)等协议;轻节点只需要进行简单的区块头验证,因此通过头验证(GetHeader/Header)协议和连接层中的过滤设置协议指定需要验证的区块头即可建立简单验证通路.在安全机制方面,比特币网络可选择利用匿名通信网络Tor作为数据传输承载,通过沿路径的层层数据加密机制来保护对端身份. ...
Bitcoin and beyond:a technical survey on decentralized digital currencies
1
2016
... 区块链网络中主要包含PoX(poof of X)[34]、BFT(byzantine-fault tolerant)和 CFT(crash-fault tolerant)类基础共识协议.PoX 类协议是以 PoW (proof of work)为代表的基于奖惩机制驱动的新型共识协议,为了适应数据吞吐量、资源利用率和安全性的需求,人们又提出PoS(proof of stake)、PoST (proof of space-time)等改进协议.它们的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.BFT类协议是指解决拜占庭容错问题的传统共识协议及其改良协议,包括PBFT、BFT-SMaRt、Tendermint等.CFT类协议用于实现崩溃容错,通过身份证明等手段规避节点作恶的情况,仅考虑节点或网络的崩溃(crash)故障,主要包括Raft、Paxos、Kafka等协议. ...
Blockchains consensus protocols in the wild
1
2017
... 非许可链和许可链的开放程度和容错需求存在差异,共识层面技术在两者之间产生了较大区别.具体而言,非许可链完全开放,需要抵御严重的拜占庭风险,多采用PoX、BFT类协议并配合奖惩机制实现共识.许可链拥有准入机制,网络中节点身份可知,一定程度降低了拜占庭风险,因此可采用BFT类协议、CFT类协议构建相同的信任模型[35]. ...
Practical byzantine fault tolerance and proactive recovery
1
2002
... PBFT是 BFT经典共识协议,其主要流程如图8 所示.PBFT将节点分为主节点和副节点,其中主节点负责将交易打包成区块,副节点参与验证和转发,假设作恶节点数量为f.PBFT共识主要分为预准备、准备和接受3个阶段,主节点首先收集交易后排序并提出合法区块提案;其余节点先验证提案的合法性,然后根据区块内交易顺序依次执行并将结果摘要组播;各节点收到2f个与自身相同的摘要后便组播接受投票;当节点收到超过2f+1个投票时便存储区块及其产生的新状态[36]. ...
In search of an understandable consensus algorithm
1
2015
... Raft[37]是典型的崩溃容错共识协议,以可用性强著称.Raft将节点分为跟随节点、候选节点和领导节点,领导节点负责将交易打包成区块,追随节点响应领导节点的同步指令,候选节点完成领导节点的选举工作.当网络运行稳定时,只存在领导节点和追随节点,领导节点向追随节点推送区块数据从而实现同步.节点均设置生存时间决定角色变化周期,领导节点的心跳信息不断重置追随节点的生存时间,当领导节点发生崩溃时,追随节点自动转化为候选节点并进入选举流程,实现网络自恢复. ...
Proofs of useful work
1
2017
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
Comparative analysis of blockchain consensus algorithms
1
2018
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
Ouroboros:a provably secure proof-of-stake blockchain protocol
1
2017
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
Tight proofs of space and replication
1
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
A vademecum on blockchain technologies:when,which,and how
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
A survey on consensus mechanisms and mining strategy management in blockchain networks
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
Formal modeling and verification of a federated byzantine agreement algorithm for blockchain platforms
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
An overview of blockchain technology:architecture,consensus,and future trends
1
2017
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
HotStuff:BFT consensus in the lens of blockchain
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
Libra critique towards global decentralized financial system
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
Proof of activity:extending bitcoin’s proof of work via proof of stake
1
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Bitcoin meets strong consistency
1
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Enhancing bitcoin security and performance with strong consistency via collective signing
1
2016
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Casper the friendly finality gadget
1
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Bitcoin and beyond:a technical survey on decentralized digital currencies
1
2016
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
Non-interactive proofs of proof-of-work
1
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
A secure sharding protocol for open blockchains
1
2016
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
OmniLedger:a secure,scale-out,decentralized ledger via sharding
1
2018
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
PolyShard:coded sharding achieves linearly scaling efficiency and security simultaneously
1
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
A survey on the scalability of blockchain systems
1
2019
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
Scalable funding of bitcoin micropayment channel networks
1
2017
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
Making smart contracts smarter
1
2016
... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...
Vandal:a scalable security analysis framework for smart contracts
1
2018
... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...
ContractFuzzer:fuzzing smart contracts for vulnerability detection
1
2018
... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...
Decentralized user-centric access control using pubsub over blockchain
1
2017
... 智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景.智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战.区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决.Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据. ...
Pseudonym management through blockchain:cost-efficient privacy preservation on intelligent transportation systems
1
2019
... 智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景.智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战.区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决.Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据. ...
Hosting virtual IoT resources on edge-hosts with blockchain
1
2016
... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...
Blockchain based distributed control system for edge computing
1
2017
... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...
Integration of fog computing and blockchain technology using the plasma framework
1
2019
... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...
Blockchained on-device federated learning
1
2018
... 人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标.人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费.此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大.区块链不可篡改的特性可以实现感知和训练过程的可信.另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率.Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果.Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库. ...
Proof-of- learning:a blockchain consensus mechanism based on machine learning competitions
1
2019
... 人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标.人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费.此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大.区块链不可篡改的特性可以实现感知和训练过程的可信.另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率.Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果.Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库. ...
基于命名数据网络的区块链信息传输机制
1
2018
... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...
基于命名数据网络的区块链信息传输机制
1
2018
... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...
/
〈
〉
期刊网站版权所有 © 2021 《通信学报》编辑部
地址:北京市丰台区东铁匠营街道顺八条1号院B座“北阳晨光大厦”2层 邮编:100079
电话:010-53878169、53859522、53878236 电子邮件:xuebao@ptpress.com.cn; txxb@bjxintong.com.cn
期刊网站版权所有 © 2021 《通信学报》编辑部
地址:北京市丰台区东铁匠营街道顺八条1号院B座“北阳晨光大厦”2层
邮编:100079 电话:010-53878169、53859522、53878236
电子邮件:txxb@bjxintong.com.cn
区块链技术研究综述:原理、进展与应用
区块链技术研究综述:原理、进展与应用
主管单位:中国科学技术协会
主办单位:中国通信学会
ISSN 1000-436X CN 11-2102/TN
首页
期刊简介
编委会
投稿指南
道德声明
期刊协议
期刊订阅
会议活动
下载中心
联系我们
English
期刊介绍
期刊信息
投稿须知
稿件格式要求
审稿流程
下载中心
联系方式
Toggle navigation
首页
期刊简介
期刊介绍
期刊信息
编委会
投稿指南
投稿须知
稿件格式要求
审稿流程
下载中心
道德声明
期刊协议
期刊订阅
会议活动
联系我们
English
通信学报, 2020, 41(1): 134-151 doi: 10.11959/j.issn.1000-436x.2020027
综述
区块链技术研究综述:原理、进展与应用
曾诗钦1, 霍如2,3, 黄韬1,3, 刘江1,3, 汪硕1,3, 冯伟4
1 北京邮电大学网络与交换国家重点实验室,北京 100876
2 北京工业大学北京未来网络科技高精尖创新中心,北京 100124
3 网络通信与安全紫金山实验室,江苏 南京 211111
4 工业和信息化部信息化和软件服务业司,北京 100846
Survey of blockchain:principle,progress and application
ZENG Shiqin1, HUO Ru2,3, HUANG Tao1,3, LIU Jiang1,3, WANG Shuo1,3, FENG Wei4
1 State Key Laboratory of Networking and Switching Technology,Beijing University of Posts and Telecommunications,Beijing 100876,China
2 Beijing Advanced Innovation Center for Future Internet Technology,Beijing University of Technology,Beijing 100124,China
3 Purple Mountain Laboratories,Nanjing 211111,China
4 Department of Information Technology Application and Software Services,Beijing 100846,China
通讯作者: 霍如,huoru@bjut.edu.cn
修回日期: 2019-12-12
网络出版日期: 2020-01-25
基金资助:
国家高技术研究发展计划(“863”计划)基金资助项目. 2015AA015702未来网络操作系统发展战略研究基金资助项目. 2019-XY-5
Revised: 2019-12-12
Online: 2020-01-25
Fund supported:
The National High Technology Research and Development Program of China (863 Program). 2015AA015702The Development Strategy Research of Future Network Operating System. 2019-XY-5
作者简介 About authors
曾诗钦(1995-),男,广西南宁人,北京邮电大学博士生,主要研究方向为区块链、标识解析技术、工业互联网
。
霍如(1988-),女,黑龙江哈尔滨人,博士,北京工业大学讲师,主要研究方向为计算机网络、信息中心网络、网络缓存策略与算法、工业互联网、标识解析技术等。
。
黄韬(1980-),男,重庆人,博士,北京邮电大学教授,主要研究方向为未来网络体系架构、软件定义网络、网络虚拟化等。
。
刘江(1983-),男,河南郑州人,博士,北京邮电大学教授,主要研究方向为未来网络体系架构、软件定义网络、网络虚拟化、信息中心网络等。
。
汪硕(1991-),男,河南灵宝人,博士,北京邮电大学在站博士后,主要研究方向为数据中心网络、软件定义网络、网络流量调度等。
。
冯伟(1980-),男,河北邯郸人,博士,工业和信息化部副研究员,主要研究方向为工业互联网平台、数字孪生、信息化和工业化融合发展关键技术等
。
摘要
区块链是一种分布式账本技术,依靠智能合约等逻辑控制功能演变为完整的存储系统。其分类方式、服务模式和应用需求的变化导致核心技术形态的多样性发展。为了完整地认知区块链生态系统,设计了一个层次化的区块链技术体系结构,进一步深入剖析区块链每层结构的基本原理、技术关联以及研究进展,系统归纳典型区块链项目的技术选型和特点,最后给出智慧城市、工业互联网等区块链前沿应用方向,提出区块链技术挑战与研究展望。
关键词:
区块链
;
加密货币
;
去中心化
;
层次化技术体系结构
;
技术多样性
;
工业区块链
Abstract
Blockchain is a kind of distributed ledger technology that upgrades to a complete storage system by adding logic control functions such as intelligent contracts.With the changes of its classification,service mode and application requirements,the core technology forms of Blockchain show diversified development.In order to understand the Blockchain ecosystem thoroughly,a hierarchical technology architecture of Blockchain was proposed.Furthermore,each layer of blockchain was analyzed from the perspectives of basic principle,related technologies and research progress in-depth.Moreover,the technology selections and characteristics of typical Blockchain projects were summarized systematically.Finally,some application directions of blockchain frontiers,technology challenges and research prospects including Smart Cities and Industrial Internet were given.
Keywords:
blockchain
;
cryptocurrency
;
decentralization
;
hierarchical technology architecture
;
technology diversity
;
PDF (1174KB)
元数据
多维度评价
相关文章
导出
EndNote|
Ris|
Bibtex
收藏本文
本文引用格式
曾诗钦, 霍如, 黄韬, 刘江, 汪硕, 冯伟. 区块链技术研究综述:原理、进展与应用. 通信学报[J], 2020, 41(1): 134-151 doi:10.11959/j.issn.1000-436x.2020027
ZENG Shiqin. Survey of blockchain:principle,progress and application. Journal on Communications[J], 2020, 41(1): 134-151 doi:10.11959/j.issn.1000-436x.2020027
1 引言
2008年,中本聪提出了去中心化加密货币——比特币(bitcoin)的设计构想。2009年,比特币系统开始运行,标志着比特币的正式诞生。2010—2015 年,比特币逐渐进入大众视野。2016—2018年,随着各国陆续对比特币进行公开表态以及世界主流经济的不确定性增强,比特币的受关注程度激增,需求量迅速扩大。事实上,比特币是区块链技术最成功的应用场景之一。伴随着以太坊(ethereum)等开源区块链平台的诞生以及大量去中心化应用(DApp,decentralized application)的落地,区块链技术在更多的行业中得到了应用。
由于具备过程可信和去中心化两大特点,区块链能够在多利益主体参与的场景下以低成本的方式构建信任基础,旨在重塑社会信用体系。近两年来区块链发展迅速,人们开始尝试将其应用于金融、教育、医疗、物流等领域。但是,资源浪费、运行低效等问题制约着区块链的发展,这些因素造成区块链分类方式、服务模式和应用需求发生快速变化,进一步导致核心技术朝多样化方向发展,因此有必要采取通用的结构分析区块链项目的技术路线和特点,以梳理和明确区块链的研究方向。
区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值。袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势。上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析。本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望。
2 相关概念
随着区块链技术的深入研究,不断衍生出了很多相关的术语,例如“中心化”“去中心化”“公链”“联盟链”等。为了全面地了解区块链技术,并对区块链技术涉及的关键术语有系统的认知,本节将给出区块链及其相关概念的定义,以及它们的联系,更好地区分易使人混淆的术语。
2.1 中心化与去中心化
中心化(centralization)与去中心化(decentralization)最早用来描述社会治理权力的分布特征。从区块链应用角度出发,中心化是指以单个组织为枢纽构建信任关系的场景特点。例如,电子支付场景下用户必须通过银行的信息系统完成身份验证、信用审查和交易追溯等;电子商务场景下对端身份的验证必须依靠权威机构下发的数字证书完成。相反,去中心化是指不依靠单一组织进行信任构建的场景特点,该场景下每个组织的重要性基本相同。
2.2 加密货币
加密货币(cryptocurrency)是一类数字货币(digital currency)技术,它利用多种密码学方法处理货币数据,保证用户的匿名性、价值的有效性;利用可信设施发放和核对货币数据,保证货币数量的可控性、资产记录的可审核性,从而使货币数据成为具备流通属性的价值交换媒介,同时保护使用者的隐私。
加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示。
图1
新窗口打开|
下载原图ZIP|
生成PPT
图1
“electronic cash”交易模型
交易开始前,付款者使用银行账户兑换加密货币,然后将货币数据发送给领款者,领款者向银行发起核对请求,若该数据为银行签发的合法货币数据,那么银行将向领款者账户记入等额数值。通过盲签名技术,银行完成对货币数据的认证,而无法获得发放货币与接收货币之间的关联,从而保证了价值的有效性、用户的匿名性;银行天然具有发放币种、账户记录的能力,因此保证了货币数量的可控性与资产记录的可审核性。
最早的加密货币构想将银行作为构建信任的基础,呈现中心化特点。此后,加密货币朝着去中心化方向发展,并试图用工作量证明(PoW,poof of work)[8]或其改进方法定义价值。比特币在此基础上,采用新型分布式账本技术保证被所有节点维护的数据不可篡改,从而成功构建信任基础,成为真正意义上的去中心化加密货币。区块链从去中心化加密货币发展而来,随着区块链的进一步发展,去中心化加密货币已经成为区块链的主要应用之一。
2.3 区块链及工作流程
一般认为,区块链是一种融合多种现有技术的新型分布式计算和存储范式。它利用分布式共识算法生成和更新数据,并利用对等网络进行节点间的数据传输,结合密码学原理和时间戳等技术的分布式账本保证存储数据的不可篡改,利用自动化脚本代码或智能合约实现上层应用逻辑。如果说传统数据库实现数据的单方维护,那么区块链则实现多方维护相同数据,保证数据的安全性和业务的公平性。区块链的工作流程主要包含生成区块、共识验证、账本维护3个步骤。
1) 生成区块。区块链节点收集广播在网络中的交易——需要记录的数据条目,然后将这些交易打包成区块——具有特定结构的数据集。
2) 共识验证。节点将区块广播至网络中,全网节点接收大量区块后进行顺序的共识和内容的验证,形成账本——具有特定结构的区块集。
3) 账本维护。节点长期存储验证通过的账本数据并提供回溯检验等功能,为上层应用提供账本访问接口。
2.4 区块链类型
根据不同场景下的信任构建方式,可将区块链分为2类:非许可链(permissionless blockchain)和许可链(permissioned blockchain)。
非许可链也称为公链(public blockchain),是一种完全开放的区块链,即任何人都可以加入网络并参与完整的共识记账过程,彼此之间不需要信任。公链以消耗算力等方式建立全网节点的信任关系,具备完全去中心化特点的同时也带来资源浪费、效率低下等问题。公链多应用于比特币等去监管、匿名化、自由的加密货币场景。
许可链是一种半开放式的区块链,只有指定的成员可以加入网络,且每个成员的参与权各有不同。许可链往往通过颁发身份证书的方式事先建立信任关系,具备部分去中心化特点,相比于非许可链拥有更高的效率。进一步,许可链分为联盟链(consortium blockchain)和私链(fully private blockchain)。联盟链由多个机构组成的联盟构建,账本的生成、共识、维护分别由联盟指定的成员参与完成。在结合区块链与其他技术进行场景创新时,公链的完全开放与去中心化特性并非必需,其低效率更无法满足需求,因此联盟链在某些场景中成为实适用性更强的区块链选型。私链相较联盟链而言中心化程度更高,其数据的产生、共识、维护过程完全由单个组织掌握,被该组织指定的成员仅具有账本的读取权限。
3 区块链体系结构
根据区块链发展现状,本节将归纳区块链的通用层次技术结构、基本原理和研究进展。
现有项目的技术选型多数由比特币演变而来,所以区块链主要基于对等网络通信,拥有新型的基础数据结构,通过全网节点共识实现公共账本数据的统一。但是区块链也存在效率低、功耗大和可扩展性差等问题,因此人们进一步以共识算法、处理模型、交易模式创新为切入点进行技术方案改进,并在此基础上丰富了逻辑控制功能和区块链应用功能,使其成为一种新型计算模式。本文给出如图2 所示的区块链通用层次化技术结构,自下而上分别为网络层、数据层、共识层、控制层和应用层。其中,网络层是区块链信息交互的基础,承载节点间的共识过程和数据传输,主要包括建立在基础网络之上的对等网络及其安全机制;数据层包括区块链基本数据结构及其原理;共识层保证节点数据的一致性,封装各类共识算法和驱动节点共识行为的奖惩机制;控制层包括沙盒环境、自动化脚本、智能合约和权限管理等,提供区块链可编程特性,实现对区块数据、业务数据、组织结构的控制;应用层包括区块链的相关应用场景和实践案例,通过调用控制合约提供的接口进行数据交互,由于该层次不涉及区块链原理,因此在第 5节中单独介绍。
3.1 网络层
网络层关注区块链网络的基础通信方式——对等(P2P,peer-to-peer)网络。对等网络是区别于“客户端/服务器”服务模式的计算机通信与存储架构,网络中每个节点既是数据的提供者也是数据的使用者,节点间通过直接交换实现计算机资源与信息的共享,因此每个节点地位均等。区块链网络层由组网结构、通信机制、安全机制组成。其中组网结构描述节点间的路由和拓扑关系,通信机制用于实现节点间的信息交互,安全机制涵盖对端安全和传输安全。
图2
新窗口打开|
下载原图ZIP|
生成PPT
图2
区块链层次化技术结构
1) 组网结构
对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示。
图3
新窗口打开|
下载原图ZIP|
生成PPT
图3
区块链组网结构
无结构对等网络是指网络中不存在特殊中继节点、节点路由表的生成无确定规律、网络拓扑呈现随机图状的一类对等网络。该类网络结构松散,设计简洁,具有良好的容错性和匿名性,但由于采用洪泛机制作为信息传播方式,其可扩展性较差。典型的协议有Gnutella等。
结构化对等网络是指网络中不存在特殊中继节点、节点间根据特定算法生成路由表、网络拓扑具有严格规律的一类对等网络。该类网络实现复杂但可扩展性良好,通过结构化寻址可以精确定位节点从而实现多样化功能。常见的结构化网络以DHT (distributed hash table)网络为主,典型的算法有Chord、Kademlia等。
混合式对等网络是指节点通过分布式中继节点实现全网消息路由的一类对等网络。每个中继节点维护部分网络节点地址、文件索引等工作,共同实现数据中继的功能。典型的协议有Kazza等。
2) 通信机制
通信机制是指区块链网络中各节点间的对等通信协议,建立在 TCP/UDP 之上,位于计算机网络协议栈的应用层,如图4所示。该机制承载对等网络的具体交互逻辑,例如节点握手、心跳检测、交易和区块传播等。由于包含的协议功能不同(例如基础链接与扩展交互),本文将通信机制细分为3个层次:传播层、连接层和交互逻辑层。
传播层实现对等节点间数据的基本传输,包括2 种数据传播方式:单点传播和多点传播。单点传播是指数据在2个已知节点间直接进行传输而不经过其他节点转发的传播方式;多点传播是指接收数据的节点通过广播向邻近节点进行数据转发的传播方式,区块链网络普遍基于Gossip协议[10]实现洪泛传播。连接层用于获取节点信息,监测和改变节点间连通状态,确保节点间链路的可用性(availability)。具体而言,连接层协议帮助新加入节点获取路由表数据,通过定时心跳监测为节点保持稳定连接,在邻居节点失效等情况下为节点关闭连接等。交互逻辑层是区块链网络的核心,从主要流程上看,该层协议承载对等节点间账本数据的同步、交易和区块数据的传输、数据校验结果的反馈等信息交互逻辑,除此之外,还为节点选举、共识算法实施等复杂操作和扩展应用提供消息通路。
图4
新窗口打开|
下载原图ZIP|
生成PPT
图4
区块链网络通信机制
3) 安全机制
安全是每个系统必须具备的要素,以比特币为代表的非许可链利用其数据层和共识层的机制,依靠消耗算力的方式保证数据的一致性和有效性,没有考虑数据传输过程的安全性,反而将其建立在不可信的透明P2P网络上。随着隐私保护需求的提出,非许可链也采用了一些网络匿名通信方法,例如匿名网络Tor(the onion router)通过沿路径的层层数据加密机制来保护对端身份。许可链对成员的可信程度有更高的要求,在网络层面采取适当的安全机制,主要包括身份安全和传输安全两方面。身份安全是许可链的主要安全需求,保证端到端的可信,一般采用数字签名技术实现,对节点的全生命周期(例如节点交互、投票、同步等)进行签名,从而实现许可链的准入许可。传输安全防止数据在传输过程中遭到篡改或监听,常采用基于TLS的点对点传输和基于Hash算法的数据验证技术。
4) 研究现状
目前,区块链网络层研究主要集中在3个方向:测量优化、匿名分析与隐私保护、安全防护。
随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络。Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法。Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动。Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡。
匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害。Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击。
区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击。为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案。Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性。Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能。
3.2 数据层
区块链中的“块”和“链”都是用来描述其数据结构特征的词汇,可见数据层是区块链技术体系的核心。区块链数据层定义了各节点中数据的联系和组织方式,利用多种算法和机制保证数据的强关联性和验证的高效性,从而使区块链具备实用的数据防篡改特性。除此之外,区块链网络中每个节点存储完整数据的行为增加了信息泄露的风险,隐私保护便成为迫切需求,而数据层通过非对称加密等密码学原理实现了承载应用信息的匿名保护,促进区块链应用普及和生态构建。因此,从不同应用信息的承载方式出发,考虑数据关联性、验证高效性和信息匿名性需求,可将数据层关键技术分为信息模型、关联验证结构和加密机制3类。
1) 信息模型
区块链承载了不同应用的数据(例如支付记录、审计数据、供应链信息等),而信息模型则是指节点记录应用信息的逻辑结构,主要包括UTXO (unspent transaction output)、基于账户和键值对模型3种。需要说明的是,在大部分区块链网络中,每个用户均被分配了交易地址,该地址由一对公私钥生成,使用地址标识用户并通过数字签名的方式检验交易的有效性。
UTXO是比特币交易中的核心概念,逐渐演变为区块链在金融领域应用的主要信息模型,如图5所示。每笔交易(Tx)由输入数据(Input)和输出数据(Output)组成,输出数据为交易金额(Num)和用户公钥地址(Adr),而输入数据为上一笔交易输出数据的指针(Pointer),直到该比特币的初始交易由区块链网络向节点发放。
图5
新窗口打开|
下载原图ZIP|
生成PPT
图5
UTXO信息模型
基于账户的信息模型以键值对的形式存储数据,维护着账户当前的有效余额,通过执行交易来不断更新账户数据。相比于UTXO,基于账户的信息模型与银行的储蓄账户类似,更直观和高效。
不管是UTXO还是基于账户的信息模型,都建立在更为通用的键值对模型上,因此为了适应更广泛的应用场景,键值对模型可直接用于存储业务数据,表现为表单或集合形式。该模型利于数据的存取并支持更复杂的业务逻辑,但是也存在复杂度高的问题。
2) 关联验证结构
区块链之所以具备防篡改特性,得益于链状数据结构的强关联性。该结构确定了数据之间的绑定关系,当某个数据被篡改时,该关系将会遭到破坏。由于伪造这种关系的代价是极高的,相反检验该关系的工作量很小,因此篡改成功率被降至极低。链状结构的基本数据单位是“区块(block)”,基本内容如图6所示。
图6
新窗口打开|
下载原图ZIP|
生成PPT
图6
基本区块结构
区块由区块头(Header)和区块体(Body)两部分组成,区块体包含一定数量的交易集合;区块头通过前继散列(PrevHash)维持与上一区块的关联从而形成链状结构,通过MKT(MerkleTree)生成的根散列(RootHash)快速验证区块体交易集合的完整性。因此散列算法和 MKT 是关联验证结构的关键,以下将对此展开介绍。
散列(Hash)算法也称为散列函数,它实现了明文到密文的不可逆映射;同时,散列算法可以将任意长度的输入经过变化得到固定长度的输出;最后,即使元数据有细微差距,变化后的输出也会产生显著不同。利用散列算法的单向、定长和差异放大的特征,节点通过比对当前区块头的前继散列即可确定上一区块内容的正确性,使区块的链状结构得以维系。区块链中常用的散列算法包括SHA256等。
MKT包括根散列、散列分支和交易数据。MKT首先对交易进行散列运算,再对这些散列值进行分组散列,最后逐级递归直至根散列。MKT 带来诸多好处:一方面,对根散列的完整性确定即间接地实现交易的完整性确认,提升高效性;另一方面,根据交易的散列路径(例如 Tx1:Hash2、Hash34)可降低验证某交易存在性的复杂度,若交易总数为N,那么MKT可将复杂度由N降为lbN。除此之外,还有其他数据结构与其配合使用,例如以太坊通过MPT(Merkle Patricia tree)——PatriciaTrie 和MerkleTree混合结构,高效验证其基于账户的信息模型数据。
此外,区块头中还可根据不同项目需求灵活添加其他信息,例如添加时间戳为区块链加入时间维度,形成时序记录;添加记账节点标识,以维护成块节点的权益;添加交易数量,进一步提高区块体数据的安全性。
3) 加密机制
由上述加密货币原理可知,经比特币演变的区块链技术具备与生俱来的匿名性,通过非对称加密等技术既保证了用户的隐私又检验了用户身份。非对称加密技术是指加密者和解密者利用2个不同秘钥完成加解密,且秘钥之间不能相互推导的加密机制。常用的非对称加密算法包括 RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等。对应图5,Alice 向 Bob 发起交易 Tx2,Alice使用Bob的公钥对交易签名,仅当Bob使用私钥验证该数字签名时,才有权利创建另一笔交易,使自身拥有的币生效。该机制将公钥作为基础标识用户,使用户身份不可读,一定程度上保护了隐私。
4) 研究现状
数据层面的研究方向集中在高效验证、匿名分析、隐私保护3个方面。
高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种。为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究。Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程。Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销。
区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接。Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度。Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址。Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率。
隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私。Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性。非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成。
3.3 共识层
区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测。因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题。实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究。
状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论。其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态。假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性。同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息。状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议。其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同。学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题。
区块链网络中主要包含PoX(poof of X)[34]、BFT(byzantine-fault tolerant)和 CFT(crash-fault tolerant)类基础共识协议。PoX 类协议是以 PoW (proof of work)为代表的基于奖惩机制驱动的新型共识协议,为了适应数据吞吐量、资源利用率和安全性的需求,人们又提出PoS(proof of stake)、PoST (proof of space-time)等改进协议。它们的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错。BFT类协议是指解决拜占庭容错问题的传统共识协议及其改良协议,包括PBFT、BFT-SMaRt、Tendermint等。CFT类协议用于实现崩溃容错,通过身份证明等手段规避节点作恶的情况,仅考虑节点或网络的崩溃(crash)故障,主要包括Raft、Paxos、Kafka等协议。
非许可链和许可链的开放程度和容错需求存在差异,共识层面技术在两者之间产生了较大区别。具体而言,非许可链完全开放,需要抵御严重的拜占庭风险,多采用PoX、BFT类协议并配合奖惩机制实现共识。许可链拥有准入机制,网络中节点身份可知,一定程度降低了拜占庭风险,因此可采用BFT类协议、CFT类协议构建相同的信任模型[35]。
限于篇幅原因,本节仅以 PoW、PBFT、Raft为切入进行3类协议的分析。
1) PoX类协议
PoW也称为Nakamoto协议,是比特币及其衍生项目使用的核心共识协议,如图7所示。
图7
新窗口打开|
下载原图ZIP|
生成PPT
图7
PoW协议示意
该协议在区块链头结构中加入随机数Nonce,并设计证明依据:为生成新区块,节点必须计算出合适的 Nonce 值,使新生成的区块头经过双重SHA256 运算后小于特定阈值。该协议的整体流程为:全网节点分别计算证明依据,成功求解的节点确定合法区块并广播,其余节点对合法区块头进行验证,若验证无误则与本地区块形成链状结构并转发,最终达到全网共识。PoW是随机性协议,任何节点都有可能求出依据,合法区块的不唯一将导致生成分支链,此时节点根据“最长链原则”选择一定时间内生成的最长链作为主链而抛弃其余分支链,从而使各节点数据最终收敛。
PoW协议采用随机性算力选举机制,实现拜占庭容错的关键在于记账权的争夺,目前寻找证明依据的方法只有暴力搜索,其速度完全取决于计算芯片的性能,因此当诚实节点数量过半,即“诚实算力”过半时,PoW便能使合法分支链保持最快的增长速度,也即保证主链一直是合法的。PoW是一种依靠饱和算力竞争纠正拜占庭错误的共识协议,关注区块产生、传播过程中的拜占庭容错,在保证防止双花攻击的同时也存在资源浪费、可扩展性差等问题。
2) BFT类协议
PBFT是 BFT经典共识协议,其主要流程如图8 所示。PBFT将节点分为主节点和副节点,其中主节点负责将交易打包成区块,副节点参与验证和转发,假设作恶节点数量为f。PBFT共识主要分为预准备、准备和接受3个阶段,主节点首先收集交易后排序并提出合法区块提案;其余节点先验证提案的合法性,然后根据区块内交易顺序依次执行并将结果摘要组播;各节点收到2f个与自身相同的摘要后便组播接受投票;当节点收到超过2f+1个投票时便存储区块及其产生的新状态[36]。
图8
新窗口打开|
下载原图ZIP|
生成PPT
图8
PBFT协议示意
PBFT 协议解决消息传播过程的拜占庭容错,由于算法复杂度为 O(n2)且存在确定性的主节点选举规则,PBFT 仅适用于节点数量少的小型许可链系统。
3) CFT类协议
Raft[37]是典型的崩溃容错共识协议,以可用性强著称。Raft将节点分为跟随节点、候选节点和领导节点,领导节点负责将交易打包成区块,追随节点响应领导节点的同步指令,候选节点完成领导节点的选举工作。当网络运行稳定时,只存在领导节点和追随节点,领导节点向追随节点推送区块数据从而实现同步。节点均设置生存时间决定角色变化周期,领导节点的心跳信息不断重置追随节点的生存时间,当领导节点发生崩溃时,追随节点自动转化为候选节点并进入选举流程,实现网络自恢复。
Raft协议实现崩溃容错的关键在于领导节点的自选举机制,部分许可链选择降低可信需求,将拜占庭容错转换为崩溃容错,从而提升共识速度。
4) 奖惩机制
奖惩机制包括激励机制与惩罚策略,其中激励机制是为了弥补节点算力消耗、平衡协议运行收益比的措施,当节点能够在共识过程中获得收益时才会进行记账权的争夺,因此激励机制利用经济效益驱动各共识协议可持续运行。激励机制一般基于价值均衡理论设计,具有代表性的机制包括PPLNS、PPS等。为了实现收益最大化,节点可能采用不诚实的运行策略(如扣块攻击、自私挖矿等),损害了诚实节点的利益,惩罚策略基于博弈论等理论对节点进行惩罚,从而纠正不端节点的行为,维护共识可持续性。
5) 研究现状
随着可扩展性和性能需求的多样化发展,除了传统的BFT、CFT协议和PoX协议衍生研究,还产生了混合型协议(Hybrid)——主要为 PoX类协议混合以及PoX-BFT协议混合。因此本节从PoX类、BFT类以及Hybrid类协议归纳共识层研究进展。
如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错。uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费。PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块。PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举。Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性。PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用。
BFT协议有较长的发展史,在区块链研究中被赋予了新的活力。SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识。Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性。HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致。LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能。
Hybrid 类协议是研究趋势之一。PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享。PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力。ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延。Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份。
3.4 控制层
区块链节点基于对等通信网络与基础数据结构进行区块交互,通过共识协议实现数据一致,从而形成了全网统一的账本。控制层是各类应用与账本产生交互的中枢,如果将账本比作数据库,那么控制层提供了数据库模型,以及相应封装、操作的方法。具体而言,控制层由处理模型、控制合约和执行环境组成。处理模型从区块链系统的角度分析和描述业务/交易处理方式的差异。控制合约将业务逻辑转化为交易、区块、账本的具体操作。执行环境为节点封装通用的运行资源,使区块链具备稳定的可移植性。
1) 处理模型
账本用于存储全部或部分业务数据,那么依据该数据的分布特征可将处理模型分为链上(on-chain)和链下(off-chain)2种。
链上模型是指业务数据完全存储在账本中,业务逻辑通过账本的直接存取实现数据交互。该模型的信任基础建立在强关联性的账本结构中,不仅实现防篡改而且简化了上层控制逻辑,但是过量的资源消耗与庞大的数据增长使系统的可扩展性达到瓶颈,因此该模型适用于数据量小、安全性强、去中心化和透明程度高的业务。
链下模型是指业务数据部分或完全存储在账本之外,只在账本中存储指针以及其他证明业务数据存在性、真实性和有效性的数据。该模型以“最小化信任成本”为准则,将信任基础建立在账本与链下数据的证明机制中,降低账本构建成本。由于与公开的账本解耦,该模型具有良好的隐私性和可拓展性,适用于去中心化程度低、隐私性强、吞吐量大的业务。
2) 控制合约
区块链中控制合约经历了2个发展阶段,首先是以比特币为代表的非图灵完备的自动化脚本,用于锁定和解锁基于UTXO信息模型的交易,与强关联账本共同克服了双花等问题,使交易数据具备流通价值。其次是以以太坊为代表的图灵完备的智能合约,智能合约是一种基于账本数据自动执行的数字化合同,由开发者根据需求预先定义,是上层应用将业务逻辑编译为节点和账本操作集合的关键。智能合约通过允许相互不信任的参与者在没有可信第三方的情况下就复杂合同的执行结果达成协议,使合约具备可编程性,实现业务逻辑的灵活定义并扩展区块链的使用。
3) 执行环境
执行环境是指执行控制合约所需要的条件,主要分为原生环境和沙盒环境。原生环境是指合约与节点系统紧耦合,经过源码编译后直接执行,该方式下合约能经历完善的静态分析,提高安全性。沙盒环境为节点运行提供必要的虚拟环境,包括网络通信、数据存储以及图灵完备的计算/控制环境等,在虚拟机中运行的合约更新方便、灵活性强,其产生的漏洞也可能造成损失。
4) 研究现状
控制层的研究方向主要集中在可扩展性优化与安全防护2个方面。
侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷。Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花。Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余。分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载。ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证。OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性。区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障。上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案。实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付。Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认。
一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点。Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题。Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利。Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测。
4 技术选型分析
区别于其他技术,区块链发展过程中最显著的特点是与产业界紧密结合,伴随着加密货币和分布式应用的兴起,业界出现了许多区块链项目。这些项目是区块链技术的具体实现,既有相似之处又各具特点,本节将根据前文所述层次化结构对比特币、以太坊和超级账本Fabric项目进行分析,然后简要介绍其他代表性项目并归纳和对比各项目的技术选型及特点。
4.1 比特币
比特币是目前规模最大、影响范围最广的非许可链开源项目。图9为比特币项目以账本为核心的运行模式,也是所有非许可链项目的雏形。比特币网络为用户提供兑换和转账业务,该业务的价值流通媒介由账本确定的交易数据——比特币支撑。为了保持账本的稳定和数据的权威性,业务制定奖励机制,即账本为节点产生新的比特币或用户支付比特币,以此驱动节点共同维护账本。
图9
新窗口打开|
下载原图ZIP|
生成PPT
图9
比特币运行模式
比特币网络主要由2种节点构成:全节点和轻节点。全节点是功能完备的区块链节点,而轻节点不存储完整的账本数据,仅具备验证与转发功能。全节点也称为矿工节点,计算证明依据的过程被称为“挖矿”,目前全球拥有近 1 万个全节点;矿池则是依靠奖励分配策略将算力汇集起来的矿工群;除此之外,还有用于存储私钥和地址信息、发起交易的客户端(钱包)。
1) 网络层
比特币在网络层采用非结构化方式组网,路由表呈现随机性。节点间则采用多点传播方式传递数据,曾基于Gossip协议实现,为提高网络的抗匿名分析能力改为基于Diffusion协议实现[33]。节点利用一系列控制协议确保链路的可用性,包括版本获取(Vetsion/Verack)、地址获取(Addr/GetAddr)、心跳信息(PING/PONG)等。新节点入网时,首先向硬编码 DNS 节点(种子节点)请求初始节点列表;然后向初始节点随机请求它们路由表中的节点信息,以此生成自己的路由表;最后节点通过控制协议与这些节点建立连接,并根据信息交互的频率更新路由表中节点时间戳,从而保证路由表中的节点都是活动的。交互逻辑层为建立共识交互通道,提供了区块获取(GetBlock)、交易验证(MerkleBlock)、主链选择(CmpctBlock)等协议;轻节点只需要进行简单的区块头验证,因此通过头验证(GetHeader/Header)协议和连接层中的过滤设置协议指定需要验证的区块头即可建立简单验证通路。在安全机制方面,比特币网络可选择利用匿名通信网络Tor作为数据传输承载,通过沿路径的层层数据加密机制来保护对端身份。
2) 数据层
比特币数据层面的技术选型已经被广泛研究,使用UTXO信息模型记录交易数据,实现所有权的简单、有效证明,利用 MKT、散列函数和时间戳实现区块的高效验证并产生强关联性。在加密机制方面,比特币采用参数为Secp256k1的椭圆曲线数字签名算法(ECDSA,elliptic curve digital signature algorithm)生成用户的公私钥,钱包地址则由公钥经过双重散列、Base58Check 编码等步骤生成,提高了可读性。
3) 共识层
比特币采用 PoW 算法实现节点共识,该算法证明依据中的阈值设定可以改变计算难度。计算难度由每小时生成区块的平均块数决定,如果生成得太快,难度就会增加。该机制是为了应对硬件升级或关注提升引起的算力变化,保持证明依据始终有效。目前该阈值被设定为10 min产出一个区块。除此之外,比特币利用奖惩机制保证共识的可持续运行,主要包括转账手续费、挖矿奖励和矿池分配策略等。
4) 控制层
比特币最初采用链上处理模型,并将控制语句直接记录在交易中,使用自动化锁定/解锁脚本验证UTXO模型中的比特币所有权。由于可扩展性和确认时延的限制,比特币产生多个侧链项目如Liquid、RSK、Drivechain等,以及链下处理项目Lightning Network等,从而优化交易速度。
4.2 以太坊
以太坊是第一个以智能合约为基础的可编程非许可链开源平台项目,支持使用区块链网络构建分布式应用,包括金融、音乐、游戏等类型;当满足某些条件时,这些应用将触发智能合约与区块链网络产生交互,以此实现其网络和存储功能,更重要的是衍生出更多场景应用和价值产物,例如以太猫,利用唯一标识为虚拟猫赋予价值;GitCoin,众筹软件开发平台等。
1) 网络层
以太坊底层对等网络协议簇称为DEVP2P,除了满足区块链网络功能外,还满足与以太坊相关联的任何联网应用程序的需求。DEVP2P将节点公钥作为标识,采用 Kademlia 算法计算节点的异或距离,从而实现结构化组网。DEVP2P主要由3种协议组成:节点发现协议RLPx、基础通信协议Wire和扩展协议Wire-Sub。节点间基于Gossip实现多点传播;新节点加入时首先向硬编码引导节点(bootstrap node)发送入网请求;然后引导节点根据Kademlia 算法计算与新节点逻辑距离最近的节点列表并返回;最后新节点向列表中节点发出握手请求,包括网络版本号、节点ID、监听端口等,与这些节点建立连接后则使用Ping/Pong机制保持连接。Wire子协议构建了交易获取、区块同步、共识交互等逻辑通路,与比特币类似,以太坊也为轻量级钱包客户端设计了简易以太坊协议(LES,light ethereum subprotocol)及其变体PIP。安全方面,节点在RLPx协议建立连接的过程中采用椭圆曲线集成加密方案(ECIES)生成公私钥,用于传输共享对称密钥,之后节点通过共享密钥加密承载数据以实现数据传输保护。
2) 数据层
以太坊通过散列函数维持区块的关联性,采用MPT实现账户状态的高效验证。基于账户的信息模型记录了用户的余额及其他 ERC 标准信息,其账户类型主要分为2类:外部账户和合约账户;外部账户用于发起交易和创建合约,合约账户用于在合约执行过程中创建交易。用户公私钥的生成与比特币相同,但是公钥经过散列算法Keccak-256计算后取20 B作为外部账户地址。
3) 共识层
以太坊采用 PoW 共识,将阈值设定为 15 s产出一个区块,计划在未来采用PoS或Casper共识协议。较低的计算难度将导致频繁产生分支链,因此以太坊采用独有的奖惩机制——GHOST 协议,以提高矿工的共识积极性。具体而言,区块中的散列值被分为父块散列和叔块散列,父块散列指向前继区块,叔块散列则指向父块的前继。新区块产生时,GHOST 根据前 7 代区块的父/叔散列值计算矿工奖励,一定程度弥补了分支链被抛弃时浪费的算力。
4) 控制层
每个以太坊节点都拥有沙盒环境 EVM,用于执行Solidity语言编写的智能合约;Solidity语言是图灵完备的,允许用户方便地定义自己的业务逻辑,这也是众多分布式应用得以开发的前提。为优化可扩展性,以太坊拥有侧链项目 Loom、链下计算项目Plasma,而分片技术已于2018年加入以太坊源码。
4.3 超级账本Fabric
超级账本是Linux基金会旗下的开源区块链项目,旨在提供跨行业区块链解决方案。Fabric 是超级账本子项目之一,也是影响最广的企业级可编程许可链项目;在已知的解决方案中,Fabric 被应用于供应链、医疗和金融服务等多种场景。
1) 网络层
Fabric 网络以组织为单位构建节点集群,采用混合式对等网络组网;每个组织中包括普通节点和锚节点(anchor peer),普通节点完成组织内的消息路由,锚节点负责跨组织的节点发现与消息路由。Fabric网络传播层基于Gossip实现,需要使用配置文件初始化网络,网络生成后各节点将定期广播存活信息,其余节点根据该信息更新路由表以保持连接。交互逻辑层采用多通道机制,即相同通道内的节点才能进行状态信息交互和区块同步。Fabric 为许可链,因此在网络层采取严苛的安全机制:节点被颁发证书及密钥对,产生PKI-ID进行身份验证;可选用 TLS 双向加密通信;基于多通道的业务隔离;可定义策略指定通道内的某些节点对等传输私有数据。
2) 数据层
Fabric的区块中记录读写集(read-write set)描述交易执行时的读写过程。该读写集用于更新状态数据库,而状态数据库记录了键、版本和值组成的键值对,因此属于键值对信息模型。一方面,散列函数和 MerkleTree 被用作高效关联结构的实现技术;另一方面,节点还需根据键值验证状态数据库与读写集中的最新版本是否一致。许可链场景对匿名性的要求较低,但对业务数据的隐私性要求较高,因此Fabric 1.2版本开始提供私有数据集(PDC,private data collection)功能。
3) 共识层
Fabric在0.6版本前采用PBFT 共识协议,但是为了提高交易吞吐量,Fabric 1.0 选择降低安全性,将共识过程分解为排序和验证2种服务,排序服务采用CFT类协议Kafka、Raft(v1.4之后)完成,而验证服务进一步分解为读写集验证与多签名验证,最大程度提高了共识速度。由于Fabric针对许可链场景,参与方往往身份可知且具有相同的合作意图,因此规避了节点怠工与作恶的假设,不需要奖惩机制调节。
4) 控制层
Fabric 对于扩展性优化需求较少,主要得益于共识层的优化与许可链本身参与节点较少的前提,因此主要采用链上处理模型,方便业务数据的存取;而 PDC 中仅将私有数据散列值上链的方式则属于链下处理模型,智能合约可以在本地进行数据存取。Fabric 节点采用模块化设计,基于 Docker构建模块执行环境;智能合约在Fabric中被称为链码,使用GO、Javascript和Java语言编写,也是图灵完备的。
4.4 其他项目
除了上述3种区块链基础项目外,产业界还有许多具有代表性的项目,如表1所示。
5 区块链应用研究
区块链技术有助于降低金融机构间的审计成本,显著提高支付业务的处理速度及效率,可应用于跨境支付等金融场景。除此之外,区块链还应用于产权保护、信用体系建设、教育生态优化、食品安全监管、网络安全保障等非金融场景。
根据这些场景的应用方式以及区块链技术特点,可将区块链特性概括为如下几点。1) 去中心化。节点基于对等网络建立通信和信任背书,单一节点的破坏不会对全局产生影响。2) 不可篡改。账本由全体节点维护,群体协作的共识过程和强关联的数据结构保证节点数据一致且基本无法被篡改,进一步使数据可验证和追溯。3) 公开透明。除私有数据外,链上数据对每个节点公开,便于验证数据的存在性和真实性。4) 匿名性。多种隐私保护机制使用户身份得以隐匿,即便如此也能建立信任基础。5) 合约自治。预先定义的业务逻辑使节点可以基于高可信的账本数据实现自治,在人-人、人-机、机-机交互间自动化执行业务。
鉴于上述领域的应用在以往研究中均有详细描述,本文将主要介绍区块链在智慧城市、边缘计算和人工智能领域的前沿应用研究现状。
表1
表1
代表性区块链项目
技术选型CordaQuorumLibraBlockstackFilecoinZcash控制合约Kotlin,JavaGOMoveClarity非图灵完备非图灵完备非图灵完备执行环境JVMEVMMVM源码编译源码编译源码编译处理模型链上链上/链下(私有数据)链上链下(虚拟链)链下(IPFS)链上奖惩机制——Libra coinsStacks tokenFilecoinZcash/Turnstiles共识算法Notary 机制/RAFT,BFT-SMaRtQuorum-Chain,RAFTLibraBFTTunable Proofs,proof-of-burnPoRep,PoETPoW信息模型UTXO基于账户基于账户基于账户基于账户UTXO关联验证结构散列算法MKT散列算法MPT散列算法MKT散列算法Merklized Adaptive Radix Forest (MARF)散列算法MKT散列算法MKT加密机制Tear-offs机制、混合密钥基于EnclaveSHA3-256/EdDSA基于Gaia/Blockstack AuthSECP256K1/BLSzk-SNARK组网方式混合型结构化混合型无结构结构化/无结构无结构通信机制AMQP1.0/单点传播Wire/GossipNoise-ProtocolFramework/GossipAtlas/GossipLibp2p/GossipBitcoin-Core/Gossip安全机制Corda加密套件/TLS证书/HTTPSDiffie-HellmanSecure BackboneTLSTor区块链类型许可链许可链许可链非许可链非许可链非许可链特点只允许对实际参与给定交易的各方进行信息访问和验证功能基于以太坊网络提供公共交易和私有交易2种交互渠道稳定、快速的交易网络剔除中心服务商的、可扩展的分布式数据存储设施,旨在保护隐私数据激励机制驱动的存储资源共享生态基于比特币网络提供零知识证明的隐私保护应用场景金融业务平台分布式应用加密货币互联网基础设施文件存储与共享加密货币
新窗口打开|
下载CSV
5.1 智慧城市
智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景。智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战。区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决。Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据。
5.2 边缘计算
边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验。安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障。区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用。首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据。其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础。Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性。Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题。Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性。
5.3 人工智能
人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标。人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费。此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大。区块链不可篡改的特性可以实现感知和训练过程的可信。另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率。Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果。Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库。
6 技术挑战与研究展望
6.1 层次优化与深度融合
区块链存在“三元悖论”——安全性、扩展性和去中心化三者不可兼得,只能依靠牺牲一方的效果来满足另外两方的需求。以比特币为代表的公链具有较高的安全性和完全去中心化的特点,但是资源浪费等问题成为拓展性优化的瓶颈。尽管先后出现了PoS、BFT等共识协议优化方案,或侧链、分片等链上处理模型,或Plasma、闪电网络等链下扩展方案,皆是以部分安全性或去中心化为代价的。因此,如何将区块链更好地推向实际应用很大程度取决于三元悖论的解决,其中主要有2种思路。
1) 层次优化
区块链层次化结构中每层都不同程度地影响上述3种特性,例如网络时延、并行读写效率、共识速度和效果、链上/链下模型交互机制的安全性等,对区块链的优化应当从整体考虑,而不是单一层次。
网络层主要缺陷在于安全性,可拓展性则有待优化。如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19]。信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69]。相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素。
数据层的优化空间在于高效性,主要为设计新的数据验证结构与算法。该方向可以借鉴计算机研究领域的多种数据结构理论与复杂度优化方法,寻找适合区块链计算方式的结构,甚至设计新的数据关联结构。实际上相当一部分项目借鉴链式结构的思想开辟新的道路,例如压缩区块空间的隔离见证、有向无环图(DAG)中并行关联的纠缠结构(Tangle),或者Libra项目采用的状态树。
共识机制是目前研究的热点,也是同时影响三元特性的最难均衡的层次。PoW牺牲可拓展性获得完全去中心化和安全性,PoS高效的出块方式具备可扩展性但产生了分叉问题,POA结合两者做到了3种特性的均衡。以此为切入的Hybrid类共识配合奖惩机制的机动调节取得了较好效果,成为共识研究的过渡手段,但是如何做到三元悖论的真正突破还有待研究。
控制层面是目前可扩展性研究的热点,其优势在于不需要改变底层的基础实现,能够在短期内应用,集中在产业界的区块链项目中。侧链具有较好的灵活性但操作复杂度高,分片改进了账本结构但跨分片交互的安全问题始终存在,而链下处理模型在安全方面缺少理论分析的支撑。因此,三元悖论的解决在控制层面具有广泛的研究前景。
2) 深度融合
如果将层次优化称为横向优化,那么深度融合即为根据场景需求而进行的纵向优化。一方面,不同场景的三元需求并不相同,例如接入控制不要求完全去中心化,可扩展性也未遇到瓶颈,因此可采用BFT类算法在小范围构建联盟链。另一方面,区块链应用研究从简单的数据上链转变为链下存储、链上验证,共识算法从 PoW 转变为场景结合的服务证明和学习证明,此外,结合 5G 和边缘计算可将网络和计算功能移至网络边缘,节约终端资源。这意味着在严格的场景建模下,区块链的层次技术选型将与场景特点交叉创新、深度融合,具有较为广阔的研究前景。
6.2 隐私保护
加密货币以匿名性著称,但是区块链以非对称加密为基础的匿名体系不断受到挑战。反匿名攻击从身份的解密转变为行为的聚类分析,不仅包括网络流量的IP聚类,还包括交易数据的地址聚类、交易行为的启发式模型学习,因此大数据分析技术的发展使区块链隐私保护思路发生转变。已有Tor网络、混币技术、零知识证明、同态加密以及各类复杂度更高的非对称加密算法被提出,但是各方法仍有局限,未来将需要更为高效的方法。此外,随着区块链系统的可编程化发展,内部复杂性将越来越高,特别是智能合约需要更严格、有效的代码检测方法,例如匿名性检测、隐私威胁预警等。
6.3 工业区块链
工业区块链是指利用区块链夯实工业互联网中数据的流通和管控基础、促进价值转换的应用场景,具有较大的研究前景。
工业互联网是面向制造业数字化、网络化、智能化需求,构建基于海量数据采集、汇聚、分析的服务体系,支撑制造资源泛在连接、弹性供给、高效配置的重要基础设施。“工业互联网平台”是工业互联网的核心,通过全面感知、实时分析、科学决策、精准执行的逻辑闭环,实现工业全要素、全产业链、全价值链的全面贯通,培育新的模式和业态。
可以看到,工业互联网与物联网、智慧城市、消费互联网等场景应用存在内在关联,例如泛在连接、数据共享和分析、电子商务等,那么其学术问题与技术实现必然存在关联性。区块链解决了物联网中心管控架构的单点故障问题,克服泛在感知设备数据的安全性和隐私性挑战,为智慧城市场景的数据共享、接入控制等问题提供解决方法,为激励资源共享构建了新型互联网价值生态。尽管工业互联网作为新型的产业生态系统,其技术体系更复杂、内涵更丰富,但是不难想象,区块链同样有利于工业互联网的发展。
“平台+区块链”能够通过分布式数据管理模式,降低数据存储、处理、使用的管理成本,为工业用户在工业 APP 选择和使用方面搭建起更加可信的环境,实现身份认证及操作行为追溯、数据安全存储与可靠传递。能够通过产品设计参数、质量检测结果、订单信息等数据“上链”,实现有效的供应链全要素追溯与协同服务。能够促进平台间数据交易与业务协同,实现跨平台交易结算,带动平台间的数据共享与知识复用,促进工业互联网平台间互联互通。
当然,工业是关乎国计民生的产业,将区块链去中心化、匿名化等特性直接用于工业互联网是不可取的,因此需要研究工业区块链管理框架,实现区块链的可管可控,在一定范围内发挥其安全优势,并对工业互联网的运转提供正向激励。
7 结束语
区块链基于多类技术研究的成果,以低成本解决了多组织参与的复杂生产环境中的信任构建和隐私保护等问题,在金融、教育、娱乐、版权保护等场景得到了较多应用,成为学术界的研究热点。比特币的出现重塑了人们对价值的定义,伴随着产业界的呼声,区块链技术得到了快速发展,而遵循区块链层次化分析方法,能够直观地区别各项目的技术路线和特点,为优化区块链技术提供不同观察视角,并为场景应用的深度融合创造条件,促进后续研究。未来的发展中,区块链将成为更为基础的信任支撑技术,在产业互联网等更广阔的领域健康、有序地发展。
The authors have declared that no competing interests exist.
作者已声明无竞争性利益关系。
参考文献
View Option
原文顺序
文献年度倒序
文中引用次数倒序
被引期刊影响因子
[1]
袁勇, 王飞跃 . 区块链技术发展现状与展望[J]. 自动化学报, 2016,42(4): 481-494.
[本文引用: 1]
YUAN Y , WANG F Y . Blockchain:the state of the art and future trends[J]. Acta Automatica Sinica, 2016,42(4): 481-494.
[本文引用: 1]
[2]
邵奇峰, 张召, 朱燕超 ,等. 企业级区块链技术综述[J]. 软件学报, 2019,30(9): 2571-2592.
[本文引用: 1]
SHAO Q F , ZHANG Z , ZHU Y C ,et al. Survey of enterprise blockchains[J]. 2019,30(9): 2571-2592.
[本文引用: 1]
[3]
YANG W , AGHASIAN E , GARG S ,et al. A survey on blockchain-based internet service architecture:requirements,challenges,trends,and future[J]. IEEE Access, 2019,7: 75845-75872.
[本文引用: 1]
[4]
韩璇, 袁勇, 王飞跃 . 区块链安全问题:研究现状与展望[J]. 自动化学报, 2019,45(1): 208-227.
[本文引用: 1]
HAN X , YUAN Y , WANG F Y . Security problems on blockchain:the state of the art and future trends[J]. Acta Automatica Sinica, 2016,45(1): 208-227.
[本文引用: 1]
[5]
ALI M , VECCHIO M , PINCHEIRA M ,et al. Applications of blockchains in the Internet of things:a comprehensive survey[J]. IEEE Communications Surveys & Tutorials, 2019,21: 1676-1717.
[本文引用: 1]
[6]
CHAUM D . Blind signature system[M]. Advances in Cryptology: Proceedings of Crypto 83.Springer USPress, 1984.
[本文引用: 1]
[7]
LAW L , SABEET S , SOLINAS J . How to make a mint:the cryptography of anonymous electronic cash[J]. The American University Law Review, 1997,46: 1131-1162.
[本文引用: 1]
[8]
JAKOBSSON M , JUELS A . Proofs of work and bread pudding protocols[C]// IFIP TC6/TC11 Joint Working Conference on Communications and Multimedia Security. IFIP, 1999: 258-272.
[本文引用: 1]
[9]
王学龙, 张璟 . P2P 关键技术研究综述[J]. 计算机应用研究, 2010,27(3): 801-805.
[本文引用: 1]
WANG X L , ZHANG J . Survey on peer-to-peer key technologies[J]. Application Research of Computers, 2010,27(3): 801-805.
[本文引用: 1]
[10]
DEMERS A , GREENE D , HOUSER C ,et al. Epidemic algorithms for replicated database maintenance[J]. ACM SIGOPS Operating Systems Review, 1988,22: 8-32.
[本文引用: 1]
[11]
DECKER C , WATTENHOFER R . Information propagation in the bitcoin network[C]// IEEE Thirteenth International Conference on Peer-to-peer Computing. IEEE, 2013: 1-10.
[本文引用: 1]
[12]
FADHIL M , OWENSON G , ADDA M . Locality based approach to improve propagation delay on the bitcoin peer-to-peer network[C]// 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM). IEEE, 2017: 556-559.
[本文引用: 1]
[13]
KANEKO Y , ASAKA T . DHT clustering for load balancing considering blockchain data size[C]// 2018 Sixth International Symposium on Computing and Networking Workshops (CANDARW). IEEE Computer Society, 2018: 71-74.
[本文引用: 1]
[14]
KOSHY P , KOSHY D , MCDANIEL P . An analysis of anonymity in bitcoin using P2P network traffic[C]// Financial Cryptography and Data Security:18th International Conference. Springer, 2014: 469-485.
[15]
BIRYUKOV A , KHOVRATOVICH D , PUSTOGAROV I . Deanonymisation of clients in bitcoin P2P network[C]// ACM SIGSAC Conference on Computer and Communications Security. ACM, 2014: 15-29.
[16]
VENKATAKRISHNAN S B , FANTI G , VISWANATH P . Dandelion:redesigning the bitcoin network for anonymity[C]// The 2017 ACM SIGMETRICS. ACM, 2017:57.
[本文引用: 1]
[17]
FANTI G , VENKATAKRISHNAN S B , BAKSHI S ,et al. Dandelion++:lightweight cryptocurrency networking with formal anonymity guarantees[J]. ACM SIGMETRICS Performance Evaluation Review, 2018,46: 5-7.
[本文引用: 1]
[18]
HEILMAN E , KENDLER A , ZOHAR A ,et al. Eclipse attacks on Bitcoin’s peer-to-peer network[C]// USENIX Conference on Security Symposium. USENIX Association, 2015: 129-144.
[本文引用: 1]
[19]
APOSTOLAKI M , ZOHAR A , VANBEVER L . Hijacking bitcoin:routing attacks on cryptocurrencies[C]// 2017 IEEE Symposium on Security and Privacy (SP). IEEE, 2017: 375-392.
[本文引用: 2]
[20]
REYZIN L , IVANOV S . Improving authenticated dynamic dictionaries,with applications to cryptocurrencies[C]// International Conference on Financial Cryptography & Data Security. Springer, 2017: 376-392.
[本文引用: 1]
[21]
ZHANG C , XU C , XU J L ,et al. GEM^2-tree:a gas-efficient structure for authenticated range queries in blockchain[C]// IEEE 35th International Conference on Data Engineering (ICDE). IEEE, 2019: 842-853.
[本文引用: 1]
[22]
REID F , HARRIGAN M . An analysis of anonymity in the bitcoin system[C]// 2011 IEEE Third International Conference on Privacy,Security,Risk and Trust. IEEE, 2011: 1318-1326.
[本文引用: 1]
[23]
MEIKLEJOHN S , POMAROLE M , JORDAN G ,et al. A fistful of bitcoins:characterizing payments among men with no names[C]// The 2013 Conference on Internet Measurement Conference. ACM, 2013: 127-140.
[本文引用: 1]
[24]
AWAN M K , CORTESI A . Blockchain transaction analysis using dominant sets[C]// IFIP International Conference on Computer Information Systems and Industrial Management. IFIP, 2017: 229-239.
[本文引用: 1]
[25]
SAXENA A , MISRA J , DHAR A . Increasing anonymity in bitcoin[C]// International Conference on Financial Cryptography and Data Security. Springer, 2014: 122-139.
[本文引用: 1]
[26]
MIERS I , GARMAN C , GREEN M ,et al. Zerocoin:anonymous distributed e-cash from bitcoin[C]// 2013 IEEE Symposium on Security and Privacy. IEEE, 2013: 397-411.
[本文引用: 1]
[27]
SASSON E B , CHIESA A , GARMAN C ,et al. Zerocash:decentralized anonymous payments from bitcoin[C]// 2014 IEEE Symposium on Security and Privacy (SP). IEEE, 2014: 459-474.
[本文引用: 1]
[28]
YIN W , WEN Q , LI W ,et al. A anti-quantum transaction authentication approach in blockchain[J]. IEEE Access, 2018,6: 5393-5401.
[本文引用: 1]
[29]
DOUCEUR J R , . The sybil attack[C]// The First International Workshop on Peer-to-Peer Systems(IPTPS’ 01). Springer, 2002: 251-260.
[本文引用: 1]
[30]
KARAME G O , ANDROULAKI E , CAPKUN S . Double-spending fast payments in bitcoin[C]// The 2012 ACM conference on Computer and communications security. ACM, 2012: 906-917.
[本文引用: 1]
[31]
LAMPORT L , SHOSTAK R , PEASE M . The byzantine generals problem[J]. ACM Transactions on Programming Languages and Systems, 1982,4: 382-401.
[本文引用: 1]
[32]
BANO S , SONNINO A , AL-BASSAM M ,et al. Consensus in the age of blockchains[J]..03936,2017. arXiv Preprint,arXiv:1711.03936,2017.
[本文引用: 1]
[33]
DWORK C , LYNCH N , STOCKMEYER L . Consensus in the presence of partial synchrony[J]. Journal of the ACM, 1988,35: 288-323.
[本文引用: 2]
[34]
TSCHORSCH F , SCHEUERMANN B . Bitcoin and beyond:a technical survey on decentralized digital currencies[J]. IEEE Communications Surveys & Tutorials, 2016,18: 2084-2123.
[本文引用: 1]
[35]
CACHIN C VUKOLIĆ M . Blockchains consensus protocols in the wild[J]. arXiv Preprint,arXiv:1707.01873, 2017.
[本文引用: 1]
[36]
CASTRO M , LISKOV B . Practical byzantine fault tolerance and proactive recovery[J]. ACM Transactions on Computer Systems, 2002,20: 398-461.
[本文引用: 1]
[37]
ONGARO D , OUSTERHOUT J . In search of an understandable consensus algorithm[C]// The 2014 USENIX Conference on USENIX Annual Technical Conference. USENIX Association, 2015: 305-320.
[本文引用: 1]
[38]
BALL M , ROSEN A , SABIN M ,et al. Proofs of useful work[R]. Cryptology ePrint Archive:Report 2017/203.
[本文引用: 1]
[39]
MIHALJEVIC B , ZAGAR M . Comparative analysis of blockchain consensus algorithms[C]// International Convention on Information and Communication Technology,Electronics and Microelectronics (MIPRO). IEEE, 2018: 1545-1550.
[本文引用: 1]
[40]
KIAYIAS A , RUSSELL A , DAVID B ,et al. Ouroboros:a provably secure proof-of-stake blockchain protocol[C]// Advances in Cryptology - CRYPTO 2017. Springer, 2017: 357-388.
[本文引用: 1]
[41]
FISCH B . Tight proofs of space and replication[J].,ePrint-2018-702. IACR Cryptology ePrint Archive,ePrint-2018-702.
[本文引用: 1]
[42]
BELOTTI M , BOŽIĆ N , PUJOLLE G ,et al. A vademecum on blockchain technologies:when,which,and how[J]. IEEE Communications Surveys & Tutorials, 2019,21: 3796-3838.
[本文引用: 1]
[43]
WANG W B , HOANG D T , HU P Z ,et al. A survey on consensus mechanisms and mining strategy management in blockchain networks[J]. IEEE Access, 2019,7: 22328-22370.
[本文引用: 1]
[44]
YOO J H , JUNG Y L , SHIN D H ,et al. Formal modeling and verification of a federated byzantine agreement algorithm for blockchain platforms[C]// IEEE International Workshop on Blockchain Oriented Software Engineering. 2019: 11-21.
[本文引用: 1]
[45]
ZHENG Z B , XIE S , DAI H ,et al. An overview of blockchain technology:architecture,consensus,and future trends[C]// 6th IEEE International Congress on Big Data. IEEE, 2017: 557-564.
[本文引用: 1]
[46]
YIN M , MALKHI D , REITER M K ,et al. HotStuff:BFT consensus in the lens of blockchain[C]// ACM Symposium on Principles of Distributed Computing. ACM, 2019: 347-356.
[本文引用: 1]
[47]
ALI S , WANG G , WHITE B ,et al. Libra critique towards global decentralized financial system[C]// Communications in Computer and Information Science. Springer, 2019: 661-672.
[本文引用: 1]
[48]
BENTOV I , LEE C , MIZRAHI A ,et al. Proof of activity:extending bitcoin’s proof of work via proof of stake[J]. IACR Cryptology ePrint Archive,ePrint-2014-25478.
[本文引用: 1]
[49]
DECKER C , SEIDEL J , WATTENHOFER R . Bitcoin meets strong consistency[J].,2014. arXiv Preprint,arXiv:1412.7935,2014.
[本文引用: 1]
[50]
KOKORIS-KOGIAS E , JOVANOVIC P , GAILLY N ,et al. Enhancing bitcoin security and performance with strong consistency via collective signing[J]. Applied Mathematical Modelling, 2016,37: 5723-5742.
[本文引用: 1]
[51]
BUTERIN V , GRIFFITH V . Casper the friendly finality gadget[J]. arXiv Preprint,arXiv:1710.09437,2017.
[本文引用: 1]
[52]
TSCHORSCH F , SCHEUERMANN B . Bitcoin and beyond:a technical survey on decentralized digital currencies[J]. IEEE Communications Surveys & Tutorials, 2016,18: 2084-2023,2017.
[本文引用: 1]
[53]
KIAYIAS A , MILLER A , ZINDROS D . Non-interactive proofs of proof-of-work[J]. IACR Cryptology ePrint Archive,ePrint-2017-963.
[本文引用: 1]
[54]
LUU L , NARAYANAN V , ZHENG C ,et al. A secure sharding protocol for open blockchains[C]// The 2016 ACM SIGSAC Conference on Computer and Communications Security(CCS’16). ACM, 2016: 17-30.
[本文引用: 1]
[55]
KOKORIS-KOGIAS E , JOVANOVIC P , GASSER L ,et al. OmniLedger:a secure,scale-out,decentralized ledger via sharding[C]// IEEE Symposium on Security and Privacy (SP). IEEE Computer Society, 2018: 583-598.
[本文引用: 1]
[56]
LI S , YU M , AVESTIMEHR S ,et al. PolyShard:coded sharding achieves linearly scaling efficiency and security simultaneously[J]. arXiv Preprint,arXiv:1809.10361,2018.
[本文引用: 1]
[57]
XIE J F , YU F R , HUANG T ,et al. A survey on the scalability of blockchain systems[J]. IEEE Network, 2019,33: 166-173.
[本文引用: 1]
[58]
BURCHERT C , DECKER C , WATTENHOFER R . Scalable funding of bitcoin micropayment channel networks[C]// Stabilization,Safety,and Security of Distributed Systems. Springer, 2017: 361-377.
[本文引用: 1]
[59]
LUU L , CHU D , OLICKEL H ,et al. Making smart contracts smarter[C]// The 2016 ACM SIGSAC Conference on Computer and Communications Security. ACM, 2016: 254-269.
[本文引用: 1]
[60]
BRENT L , JURISEVIC A , KONG M ,et al. Vandal:a scalable security analysis framework for smart contracts[J]. arXiv Preprint,arXiv:1809.039812018.
[本文引用: 1]
[61]
JIANG B , LIU Y , CHAN W K . ContractFuzzer:fuzzing smart contracts for vulnerability detection[J]. arXiv Preprint,arXiv:1807.03932,2018.
[本文引用: 1]
[62]
HASHEMI S H , FAGHRI F , CAMPBELL R H . Decentralized user-centric access control using pubsub over blockchain[J]. arXiv Preprint,arXiv:1710.00110,2017.
[本文引用: 1]
[63]
BAO S.CAO Y , LEI A ,et al. Pseudonym management through blockchain:cost-efficient privacy preservation on intelligent transportation systems[J]. IEEE Access, 2019,7: 80390-80403.
[本文引用: 1]
[64]
SAMANIEGO M , DETERS R . Hosting virtual IoT resources on edge-hosts with blockchain[C]// IEEE International Conference on Computer & Information Technology. IEEE, 2016: 116-119.
[本文引用: 1]
[65]
STANCIU A , . Blockchain based distributed control system for edge computing[C]// International Conference on Control Systems &Computer Science. IEEE, 2017: 667-671.
[本文引用: 1]
[66]
ZIEGLER M H , GROMANN M , KRIEGER U R . Integration of fog computing and blockchain technology using the plasma framework[C]// 2019 IEEE International Conference on Blockchain and Cryptocurrency (ICBC). IEEE, 2019: 120-123.
[本文引用: 1]
[67]
KIM H , PARK J , BENNIS M ,et al. Blockchained on-device federated learning[J]. arXiv Preprint,arXiv:1808.03949, 2018.
[本文引用: 1]
[68]
BRAVO-MARQUEZ F , REEVES S , UGARTE M . Proof-of- learning:a blockchain consensus mechanism based on machine learning competitions[C]// 2019 IEEE International Conference on Decentralized Applications and Infrastructures. IEEE, 2019: 119-124.
[本文引用: 1]
[69]
刘江, 霍如, 李诚成 ,等. 基于命名数据网络的区块链信息传输机制[J]. 通信学报, 2018,39(1), 24-33.
[本文引用: 1]
LIU J , HUO R , LI C C ,et al. Information transmission mechanism of Blockchain technology based on named-data networking[J]. Journal on Communications, 2018,39(1): 24-33.
[本文引用: 1]
区块链技术发展现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
区块链技术发展现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
企业级区块链技术综述
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
企业级区块链技术综述
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
A survey on blockchain-based internet service architecture:requirements,challenges,trends,and future
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
区块链安全问题:研究现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
区块链安全问题:研究现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
Applications of blockchains in the Internet of things:a comprehensive survey
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
Blind signature system
1
1984
... 加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示. ...
How to make a mint:the cryptography of anonymous electronic cash
1
1997
... 加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示. ...
Proofs of work and bread pudding protocols
1
1999
... 最早的加密货币构想将银行作为构建信任的基础,呈现中心化特点.此后,加密货币朝着去中心化方向发展,并试图用工作量证明(PoW,poof of work)[8]或其改进方法定义价值.比特币在此基础上,采用新型分布式账本技术保证被所有节点维护的数据不可篡改,从而成功构建信任基础,成为真正意义上的去中心化加密货币.区块链从去中心化加密货币发展而来,随着区块链的进一步发展,去中心化加密货币已经成为区块链的主要应用之一. ...
P2P 关键技术研究综述
1
2010
... 对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示. ...
P2P 关键技术研究综述
1
2010
... 对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示. ...
Epidemic algorithms for replicated database maintenance
1
1988
... 传播层实现对等节点间数据的基本传输,包括2 种数据传播方式:单点传播和多点传播.单点传播是指数据在2个已知节点间直接进行传输而不经过其他节点转发的传播方式;多点传播是指接收数据的节点通过广播向邻近节点进行数据转发的传播方式,区块链网络普遍基于Gossip协议[10]实现洪泛传播.连接层用于获取节点信息,监测和改变节点间连通状态,确保节点间链路的可用性(availability).具体而言,连接层协议帮助新加入节点获取路由表数据,通过定时心跳监测为节点保持稳定连接,在邻居节点失效等情况下为节点关闭连接等.交互逻辑层是区块链网络的核心,从主要流程上看,该层协议承载对等节点间账本数据的同步、交易和区块数据的传输、数据校验结果的反馈等信息交互逻辑,除此之外,还为节点选举、共识算法实施等复杂操作和扩展应用提供消息通路. ...
Information propagation in the bitcoin network
1
2013
... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...
Locality based approach to improve propagation delay on the bitcoin peer-to-peer network
1
2017
... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...
DHT clustering for load balancing considering blockchain data size
1
2018
... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...
An analysis of anonymity in bitcoin using P2P network traffic
2014
Deanonymisation of clients in bitcoin P2P network
2014
Dandelion:redesigning the bitcoin network for anonymity
1
2017
... 匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害.Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击. ...
Dandelion++:lightweight cryptocurrency networking with formal anonymity guarantees
1
2018
... 匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害.Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击. ...
Eclipse attacks on Bitcoin’s peer-to-peer network
1
2015
... 区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击.为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案.Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性.Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能. ...
Hijacking bitcoin:routing attacks on cryptocurrencies
2
2017
... 区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击.为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案.Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性.Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能. ...
... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...
Improving authenticated dynamic dictionaries,with applications to cryptocurrencies
1
2017
... 高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种.为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究.Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程.Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销. ...
GEM^2-tree:a gas-efficient structure for authenticated range queries in blockchain
1
2019
... 高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种.为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究.Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程.Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销. ...
An analysis of anonymity in the bitcoin system
1
2011
... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...
A fistful of bitcoins:characterizing payments among men with no names
1
2013
... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...
Blockchain transaction analysis using dominant sets
1
2017
... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...
Increasing anonymity in bitcoin
1
2014
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
Zerocoin:anonymous distributed e-cash from bitcoin
1
2013
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
Zerocash:decentralized anonymous payments from bitcoin
1
2014
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
A anti-quantum transaction authentication approach in blockchain
1
2018
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
The sybil attack
1
2002
... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...
Double-spending fast payments in bitcoin
1
2012
... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...
The byzantine generals problem
1
1982
... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...
Consensus in the age of blockchains
1
... 状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论.其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态.假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性.同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息.状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议.其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同.学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题. ...
Consensus in the presence of partial synchrony
2
1988
... 状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论.其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态.假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性.同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息.状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议.其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同.学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题. ...
... 比特币在网络层采用非结构化方式组网,路由表呈现随机性.节点间则采用多点传播方式传递数据,曾基于Gossip协议实现,为提高网络的抗匿名分析能力改为基于Diffusion协议实现[33].节点利用一系列控制协议确保链路的可用性,包括版本获取(Vetsion/Verack)、地址获取(Addr/GetAddr)、心跳信息(PING/PONG)等.新节点入网时,首先向硬编码 DNS 节点(种子节点)请求初始节点列表;然后向初始节点随机请求它们路由表中的节点信息,以此生成自己的路由表;最后节点通过控制协议与这些节点建立连接,并根据信息交互的频率更新路由表中节点时间戳,从而保证路由表中的节点都是活动的.交互逻辑层为建立共识交互通道,提供了区块获取(GetBlock)、交易验证(MerkleBlock)、主链选择(CmpctBlock)等协议;轻节点只需要进行简单的区块头验证,因此通过头验证(GetHeader/Header)协议和连接层中的过滤设置协议指定需要验证的区块头即可建立简单验证通路.在安全机制方面,比特币网络可选择利用匿名通信网络Tor作为数据传输承载,通过沿路径的层层数据加密机制来保护对端身份. ...
Bitcoin and beyond:a technical survey on decentralized digital currencies
1
2016
... 区块链网络中主要包含PoX(poof of X)[34]、BFT(byzantine-fault tolerant)和 CFT(crash-fault tolerant)类基础共识协议.PoX 类协议是以 PoW (proof of work)为代表的基于奖惩机制驱动的新型共识协议,为了适应数据吞吐量、资源利用率和安全性的需求,人们又提出PoS(proof of stake)、PoST (proof of space-time)等改进协议.它们的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.BFT类协议是指解决拜占庭容错问题的传统共识协议及其改良协议,包括PBFT、BFT-SMaRt、Tendermint等.CFT类协议用于实现崩溃容错,通过身份证明等手段规避节点作恶的情况,仅考虑节点或网络的崩溃(crash)故障,主要包括Raft、Paxos、Kafka等协议. ...
Blockchains consensus protocols in the wild
1
2017
... 非许可链和许可链的开放程度和容错需求存在差异,共识层面技术在两者之间产生了较大区别.具体而言,非许可链完全开放,需要抵御严重的拜占庭风险,多采用PoX、BFT类协议并配合奖惩机制实现共识.许可链拥有准入机制,网络中节点身份可知,一定程度降低了拜占庭风险,因此可采用BFT类协议、CFT类协议构建相同的信任模型[35]. ...
Practical byzantine fault tolerance and proactive recovery
1
2002
... PBFT是 BFT经典共识协议,其主要流程如图8 所示.PBFT将节点分为主节点和副节点,其中主节点负责将交易打包成区块,副节点参与验证和转发,假设作恶节点数量为f.PBFT共识主要分为预准备、准备和接受3个阶段,主节点首先收集交易后排序并提出合法区块提案;其余节点先验证提案的合法性,然后根据区块内交易顺序依次执行并将结果摘要组播;各节点收到2f个与自身相同的摘要后便组播接受投票;当节点收到超过2f+1个投票时便存储区块及其产生的新状态[36]. ...
In search of an understandable consensus algorithm
1
2015
... Raft[37]是典型的崩溃容错共识协议,以可用性强著称.Raft将节点分为跟随节点、候选节点和领导节点,领导节点负责将交易打包成区块,追随节点响应领导节点的同步指令,候选节点完成领导节点的选举工作.当网络运行稳定时,只存在领导节点和追随节点,领导节点向追随节点推送区块数据从而实现同步.节点均设置生存时间决定角色变化周期,领导节点的心跳信息不断重置追随节点的生存时间,当领导节点发生崩溃时,追随节点自动转化为候选节点并进入选举流程,实现网络自恢复. ...
Proofs of useful work
1
2017
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
Comparative analysis of blockchain consensus algorithms
1
2018
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
Ouroboros:a provably secure proof-of-stake blockchain protocol
1
2017
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
Tight proofs of space and replication
1
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
A vademecum on blockchain technologies:when,which,and how
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
A survey on consensus mechanisms and mining strategy management in blockchain networks
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
Formal modeling and verification of a federated byzantine agreement algorithm for blockchain platforms
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
An overview of blockchain technology:architecture,consensus,and future trends
1
2017
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
HotStuff:BFT consensus in the lens of blockchain
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
Libra critique towards global decentralized financial system
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
Proof of activity:extending bitcoin’s proof of work via proof of stake
1
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Bitcoin meets strong consistency
1
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Enhancing bitcoin security and performance with strong consistency via collective signing
1
2016
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Casper the friendly finality gadget
1
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Bitcoin and beyond:a technical survey on decentralized digital currencies
1
2016
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
Non-interactive proofs of proof-of-work
1
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
A secure sharding protocol for open blockchains
1
2016
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
OmniLedger:a secure,scale-out,decentralized ledger via sharding
1
2018
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
PolyShard:coded sharding achieves linearly scaling efficiency and security simultaneously
1
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
A survey on the scalability of blockchain systems
1
2019
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
Scalable funding of bitcoin micropayment channel networks
1
2017
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
Making smart contracts smarter
1
2016
... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...
Vandal:a scalable security analysis framework for smart contracts
1
2018
... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...
ContractFuzzer:fuzzing smart contracts for vulnerability detection
1
2018
... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...
Decentralized user-centric access control using pubsub over blockchain
1
2017
... 智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景.智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战.区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决.Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据. ...
Pseudonym management through blockchain:cost-efficient privacy preservation on intelligent transportation systems
1
2019
... 智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景.智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战.区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决.Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据. ...
Hosting virtual IoT resources on edge-hosts with blockchain
1
2016
... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...
Blockchain based distributed control system for edge computing
1
2017
... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...
Integration of fog computing and blockchain technology using the plasma framework
1
2019
... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...
Blockchained on-device federated learning
1
2018
... 人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标.人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费.此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大.区块链不可篡改的特性可以实现感知和训练过程的可信.另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率.Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果.Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库. ...
Proof-of- learning:a blockchain consensus mechanism based on machine learning competitions
1
2019
... 人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标.人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费.此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大.区块链不可篡改的特性可以实现感知和训练过程的可信.另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率.Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果.Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库. ...
基于命名数据网络的区块链信息传输机制
1
2018
... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...
基于命名数据网络的区块链信息传输机制
1
2018
... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...
/
〈
〉
期刊网站版权所有 © 2021 《通信学报》编辑部
地址:北京市丰台区东铁匠营街道顺八条1号院B座“北阳晨光大厦”2层 邮编:100079
电话:010-53878169、53859522、53878236 电子邮件:xuebao@ptpress.com.cn; txxb@bjxintong.com.cn
期刊网站版权所有 © 2021 《通信学报》编辑部
地址:北京市丰台区东铁匠营街道顺八条1号院B座“北阳晨光大厦”2层
邮编:100079 电话:010-53878169、53859522、53878236
电子邮件:txxb@bjxintong.com.cn
区块链技术研究综述:原理、进展与应用
区块链技术研究综述:原理、进展与应用
主管单位:中国科学技术协会
主办单位:中国通信学会
ISSN 1000-436X CN 11-2102/TN
首页
期刊简介
编委会
投稿指南
道德声明
期刊协议
期刊订阅
会议活动
下载中心
联系我们
English
期刊介绍
期刊信息
投稿须知
稿件格式要求
审稿流程
下载中心
联系方式
Toggle navigation
首页
期刊简介
期刊介绍
期刊信息
编委会
投稿指南
投稿须知
稿件格式要求
审稿流程
下载中心
道德声明
期刊协议
期刊订阅
会议活动
联系我们
English
通信学报, 2020, 41(1): 134-151 doi: 10.11959/j.issn.1000-436x.2020027
综述
区块链技术研究综述:原理、进展与应用
曾诗钦1, 霍如2,3, 黄韬1,3, 刘江1,3, 汪硕1,3, 冯伟4
1 北京邮电大学网络与交换国家重点实验室,北京 100876
2 北京工业大学北京未来网络科技高精尖创新中心,北京 100124
3 网络通信与安全紫金山实验室,江苏 南京 211111
4 工业和信息化部信息化和软件服务业司,北京 100846
Survey of blockchain:principle,progress and application
ZENG Shiqin1, HUO Ru2,3, HUANG Tao1,3, LIU Jiang1,3, WANG Shuo1,3, FENG Wei4
1 State Key Laboratory of Networking and Switching Technology,Beijing University of Posts and Telecommunications,Beijing 100876,China
2 Beijing Advanced Innovation Center for Future Internet Technology,Beijing University of Technology,Beijing 100124,China
3 Purple Mountain Laboratories,Nanjing 211111,China
4 Department of Information Technology Application and Software Services,Beijing 100846,China
通讯作者: 霍如,huoru@bjut.edu.cn
修回日期: 2019-12-12
网络出版日期: 2020-01-25
基金资助:
国家高技术研究发展计划(“863”计划)基金资助项目. 2015AA015702未来网络操作系统发展战略研究基金资助项目. 2019-XY-5
Revised: 2019-12-12
Online: 2020-01-25
Fund supported:
The National High Technology Research and Development Program of China (863 Program). 2015AA015702The Development Strategy Research of Future Network Operating System. 2019-XY-5
作者简介 About authors
曾诗钦(1995-),男,广西南宁人,北京邮电大学博士生,主要研究方向为区块链、标识解析技术、工业互联网
。
霍如(1988-),女,黑龙江哈尔滨人,博士,北京工业大学讲师,主要研究方向为计算机网络、信息中心网络、网络缓存策略与算法、工业互联网、标识解析技术等。
。
黄韬(1980-),男,重庆人,博士,北京邮电大学教授,主要研究方向为未来网络体系架构、软件定义网络、网络虚拟化等。
。
刘江(1983-),男,河南郑州人,博士,北京邮电大学教授,主要研究方向为未来网络体系架构、软件定义网络、网络虚拟化、信息中心网络等。
。
汪硕(1991-),男,河南灵宝人,博士,北京邮电大学在站博士后,主要研究方向为数据中心网络、软件定义网络、网络流量调度等。
。
冯伟(1980-),男,河北邯郸人,博士,工业和信息化部副研究员,主要研究方向为工业互联网平台、数字孪生、信息化和工业化融合发展关键技术等
。
摘要
区块链是一种分布式账本技术,依靠智能合约等逻辑控制功能演变为完整的存储系统。其分类方式、服务模式和应用需求的变化导致核心技术形态的多样性发展。为了完整地认知区块链生态系统,设计了一个层次化的区块链技术体系结构,进一步深入剖析区块链每层结构的基本原理、技术关联以及研究进展,系统归纳典型区块链项目的技术选型和特点,最后给出智慧城市、工业互联网等区块链前沿应用方向,提出区块链技术挑战与研究展望。
关键词:
区块链
;
加密货币
;
去中心化
;
层次化技术体系结构
;
技术多样性
;
工业区块链
Abstract
Blockchain is a kind of distributed ledger technology that upgrades to a complete storage system by adding logic control functions such as intelligent contracts.With the changes of its classification,service mode and application requirements,the core technology forms of Blockchain show diversified development.In order to understand the Blockchain ecosystem thoroughly,a hierarchical technology architecture of Blockchain was proposed.Furthermore,each layer of blockchain was analyzed from the perspectives of basic principle,related technologies and research progress in-depth.Moreover,the technology selections and characteristics of typical Blockchain projects were summarized systematically.Finally,some application directions of blockchain frontiers,technology challenges and research prospects including Smart Cities and Industrial Internet were given.
Keywords:
blockchain
;
cryptocurrency
;
decentralization
;
hierarchical technology architecture
;
technology diversity
;
PDF (1174KB)
元数据
多维度评价
相关文章
导出
EndNote|
Ris|
Bibtex
收藏本文
本文引用格式
曾诗钦, 霍如, 黄韬, 刘江, 汪硕, 冯伟. 区块链技术研究综述:原理、进展与应用. 通信学报[J], 2020, 41(1): 134-151 doi:10.11959/j.issn.1000-436x.2020027
ZENG Shiqin. Survey of blockchain:principle,progress and application. Journal on Communications[J], 2020, 41(1): 134-151 doi:10.11959/j.issn.1000-436x.2020027
1 引言
2008年,中本聪提出了去中心化加密货币——比特币(bitcoin)的设计构想。2009年,比特币系统开始运行,标志着比特币的正式诞生。2010—2015 年,比特币逐渐进入大众视野。2016—2018年,随着各国陆续对比特币进行公开表态以及世界主流经济的不确定性增强,比特币的受关注程度激增,需求量迅速扩大。事实上,比特币是区块链技术最成功的应用场景之一。伴随着以太坊(ethereum)等开源区块链平台的诞生以及大量去中心化应用(DApp,decentralized application)的落地,区块链技术在更多的行业中得到了应用。
由于具备过程可信和去中心化两大特点,区块链能够在多利益主体参与的场景下以低成本的方式构建信任基础,旨在重塑社会信用体系。近两年来区块链发展迅速,人们开始尝试将其应用于金融、教育、医疗、物流等领域。但是,资源浪费、运行低效等问题制约着区块链的发展,这些因素造成区块链分类方式、服务模式和应用需求发生快速变化,进一步导致核心技术朝多样化方向发展,因此有必要采取通用的结构分析区块链项目的技术路线和特点,以梳理和明确区块链的研究方向。
区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值。袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势。上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析。本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望。
2 相关概念
随着区块链技术的深入研究,不断衍生出了很多相关的术语,例如“中心化”“去中心化”“公链”“联盟链”等。为了全面地了解区块链技术,并对区块链技术涉及的关键术语有系统的认知,本节将给出区块链及其相关概念的定义,以及它们的联系,更好地区分易使人混淆的术语。
2.1 中心化与去中心化
中心化(centralization)与去中心化(decentralization)最早用来描述社会治理权力的分布特征。从区块链应用角度出发,中心化是指以单个组织为枢纽构建信任关系的场景特点。例如,电子支付场景下用户必须通过银行的信息系统完成身份验证、信用审查和交易追溯等;电子商务场景下对端身份的验证必须依靠权威机构下发的数字证书完成。相反,去中心化是指不依靠单一组织进行信任构建的场景特点,该场景下每个组织的重要性基本相同。
2.2 加密货币
加密货币(cryptocurrency)是一类数字货币(digital currency)技术,它利用多种密码学方法处理货币数据,保证用户的匿名性、价值的有效性;利用可信设施发放和核对货币数据,保证货币数量的可控性、资产记录的可审核性,从而使货币数据成为具备流通属性的价值交换媒介,同时保护使用者的隐私。
加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示。
图1
新窗口打开|
下载原图ZIP|
生成PPT
图1
“electronic cash”交易模型
交易开始前,付款者使用银行账户兑换加密货币,然后将货币数据发送给领款者,领款者向银行发起核对请求,若该数据为银行签发的合法货币数据,那么银行将向领款者账户记入等额数值。通过盲签名技术,银行完成对货币数据的认证,而无法获得发放货币与接收货币之间的关联,从而保证了价值的有效性、用户的匿名性;银行天然具有发放币种、账户记录的能力,因此保证了货币数量的可控性与资产记录的可审核性。
最早的加密货币构想将银行作为构建信任的基础,呈现中心化特点。此后,加密货币朝着去中心化方向发展,并试图用工作量证明(PoW,poof of work)[8]或其改进方法定义价值。比特币在此基础上,采用新型分布式账本技术保证被所有节点维护的数据不可篡改,从而成功构建信任基础,成为真正意义上的去中心化加密货币。区块链从去中心化加密货币发展而来,随着区块链的进一步发展,去中心化加密货币已经成为区块链的主要应用之一。
2.3 区块链及工作流程
一般认为,区块链是一种融合多种现有技术的新型分布式计算和存储范式。它利用分布式共识算法生成和更新数据,并利用对等网络进行节点间的数据传输,结合密码学原理和时间戳等技术的分布式账本保证存储数据的不可篡改,利用自动化脚本代码或智能合约实现上层应用逻辑。如果说传统数据库实现数据的单方维护,那么区块链则实现多方维护相同数据,保证数据的安全性和业务的公平性。区块链的工作流程主要包含生成区块、共识验证、账本维护3个步骤。
1) 生成区块。区块链节点收集广播在网络中的交易——需要记录的数据条目,然后将这些交易打包成区块——具有特定结构的数据集。
2) 共识验证。节点将区块广播至网络中,全网节点接收大量区块后进行顺序的共识和内容的验证,形成账本——具有特定结构的区块集。
3) 账本维护。节点长期存储验证通过的账本数据并提供回溯检验等功能,为上层应用提供账本访问接口。
2.4 区块链类型
根据不同场景下的信任构建方式,可将区块链分为2类:非许可链(permissionless blockchain)和许可链(permissioned blockchain)。
非许可链也称为公链(public blockchain),是一种完全开放的区块链,即任何人都可以加入网络并参与完整的共识记账过程,彼此之间不需要信任。公链以消耗算力等方式建立全网节点的信任关系,具备完全去中心化特点的同时也带来资源浪费、效率低下等问题。公链多应用于比特币等去监管、匿名化、自由的加密货币场景。
许可链是一种半开放式的区块链,只有指定的成员可以加入网络,且每个成员的参与权各有不同。许可链往往通过颁发身份证书的方式事先建立信任关系,具备部分去中心化特点,相比于非许可链拥有更高的效率。进一步,许可链分为联盟链(consortium blockchain)和私链(fully private blockchain)。联盟链由多个机构组成的联盟构建,账本的生成、共识、维护分别由联盟指定的成员参与完成。在结合区块链与其他技术进行场景创新时,公链的完全开放与去中心化特性并非必需,其低效率更无法满足需求,因此联盟链在某些场景中成为实适用性更强的区块链选型。私链相较联盟链而言中心化程度更高,其数据的产生、共识、维护过程完全由单个组织掌握,被该组织指定的成员仅具有账本的读取权限。
3 区块链体系结构
根据区块链发展现状,本节将归纳区块链的通用层次技术结构、基本原理和研究进展。
现有项目的技术选型多数由比特币演变而来,所以区块链主要基于对等网络通信,拥有新型的基础数据结构,通过全网节点共识实现公共账本数据的统一。但是区块链也存在效率低、功耗大和可扩展性差等问题,因此人们进一步以共识算法、处理模型、交易模式创新为切入点进行技术方案改进,并在此基础上丰富了逻辑控制功能和区块链应用功能,使其成为一种新型计算模式。本文给出如图2 所示的区块链通用层次化技术结构,自下而上分别为网络层、数据层、共识层、控制层和应用层。其中,网络层是区块链信息交互的基础,承载节点间的共识过程和数据传输,主要包括建立在基础网络之上的对等网络及其安全机制;数据层包括区块链基本数据结构及其原理;共识层保证节点数据的一致性,封装各类共识算法和驱动节点共识行为的奖惩机制;控制层包括沙盒环境、自动化脚本、智能合约和权限管理等,提供区块链可编程特性,实现对区块数据、业务数据、组织结构的控制;应用层包括区块链的相关应用场景和实践案例,通过调用控制合约提供的接口进行数据交互,由于该层次不涉及区块链原理,因此在第 5节中单独介绍。
3.1 网络层
网络层关注区块链网络的基础通信方式——对等(P2P,peer-to-peer)网络。对等网络是区别于“客户端/服务器”服务模式的计算机通信与存储架构,网络中每个节点既是数据的提供者也是数据的使用者,节点间通过直接交换实现计算机资源与信息的共享,因此每个节点地位均等。区块链网络层由组网结构、通信机制、安全机制组成。其中组网结构描述节点间的路由和拓扑关系,通信机制用于实现节点间的信息交互,安全机制涵盖对端安全和传输安全。
图2
新窗口打开|
下载原图ZIP|
生成PPT
图2
区块链层次化技术结构
1) 组网结构
对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示。
图3
新窗口打开|
下载原图ZIP|
生成PPT
图3
区块链组网结构
无结构对等网络是指网络中不存在特殊中继节点、节点路由表的生成无确定规律、网络拓扑呈现随机图状的一类对等网络。该类网络结构松散,设计简洁,具有良好的容错性和匿名性,但由于采用洪泛机制作为信息传播方式,其可扩展性较差。典型的协议有Gnutella等。
结构化对等网络是指网络中不存在特殊中继节点、节点间根据特定算法生成路由表、网络拓扑具有严格规律的一类对等网络。该类网络实现复杂但可扩展性良好,通过结构化寻址可以精确定位节点从而实现多样化功能。常见的结构化网络以DHT (distributed hash table)网络为主,典型的算法有Chord、Kademlia等。
混合式对等网络是指节点通过分布式中继节点实现全网消息路由的一类对等网络。每个中继节点维护部分网络节点地址、文件索引等工作,共同实现数据中继的功能。典型的协议有Kazza等。
2) 通信机制
通信机制是指区块链网络中各节点间的对等通信协议,建立在 TCP/UDP 之上,位于计算机网络协议栈的应用层,如图4所示。该机制承载对等网络的具体交互逻辑,例如节点握手、心跳检测、交易和区块传播等。由于包含的协议功能不同(例如基础链接与扩展交互),本文将通信机制细分为3个层次:传播层、连接层和交互逻辑层。
传播层实现对等节点间数据的基本传输,包括2 种数据传播方式:单点传播和多点传播。单点传播是指数据在2个已知节点间直接进行传输而不经过其他节点转发的传播方式;多点传播是指接收数据的节点通过广播向邻近节点进行数据转发的传播方式,区块链网络普遍基于Gossip协议[10]实现洪泛传播。连接层用于获取节点信息,监测和改变节点间连通状态,确保节点间链路的可用性(availability)。具体而言,连接层协议帮助新加入节点获取路由表数据,通过定时心跳监测为节点保持稳定连接,在邻居节点失效等情况下为节点关闭连接等。交互逻辑层是区块链网络的核心,从主要流程上看,该层协议承载对等节点间账本数据的同步、交易和区块数据的传输、数据校验结果的反馈等信息交互逻辑,除此之外,还为节点选举、共识算法实施等复杂操作和扩展应用提供消息通路。
图4
新窗口打开|
下载原图ZIP|
生成PPT
图4
区块链网络通信机制
3) 安全机制
安全是每个系统必须具备的要素,以比特币为代表的非许可链利用其数据层和共识层的机制,依靠消耗算力的方式保证数据的一致性和有效性,没有考虑数据传输过程的安全性,反而将其建立在不可信的透明P2P网络上。随着隐私保护需求的提出,非许可链也采用了一些网络匿名通信方法,例如匿名网络Tor(the onion router)通过沿路径的层层数据加密机制来保护对端身份。许可链对成员的可信程度有更高的要求,在网络层面采取适当的安全机制,主要包括身份安全和传输安全两方面。身份安全是许可链的主要安全需求,保证端到端的可信,一般采用数字签名技术实现,对节点的全生命周期(例如节点交互、投票、同步等)进行签名,从而实现许可链的准入许可。传输安全防止数据在传输过程中遭到篡改或监听,常采用基于TLS的点对点传输和基于Hash算法的数据验证技术。
4) 研究现状
目前,区块链网络层研究主要集中在3个方向:测量优化、匿名分析与隐私保护、安全防护。
随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络。Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法。Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动。Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡。
匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害。Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击。
区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击。为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案。Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性。Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能。
3.2 数据层
区块链中的“块”和“链”都是用来描述其数据结构特征的词汇,可见数据层是区块链技术体系的核心。区块链数据层定义了各节点中数据的联系和组织方式,利用多种算法和机制保证数据的强关联性和验证的高效性,从而使区块链具备实用的数据防篡改特性。除此之外,区块链网络中每个节点存储完整数据的行为增加了信息泄露的风险,隐私保护便成为迫切需求,而数据层通过非对称加密等密码学原理实现了承载应用信息的匿名保护,促进区块链应用普及和生态构建。因此,从不同应用信息的承载方式出发,考虑数据关联性、验证高效性和信息匿名性需求,可将数据层关键技术分为信息模型、关联验证结构和加密机制3类。
1) 信息模型
区块链承载了不同应用的数据(例如支付记录、审计数据、供应链信息等),而信息模型则是指节点记录应用信息的逻辑结构,主要包括UTXO (unspent transaction output)、基于账户和键值对模型3种。需要说明的是,在大部分区块链网络中,每个用户均被分配了交易地址,该地址由一对公私钥生成,使用地址标识用户并通过数字签名的方式检验交易的有效性。
UTXO是比特币交易中的核心概念,逐渐演变为区块链在金融领域应用的主要信息模型,如图5所示。每笔交易(Tx)由输入数据(Input)和输出数据(Output)组成,输出数据为交易金额(Num)和用户公钥地址(Adr),而输入数据为上一笔交易输出数据的指针(Pointer),直到该比特币的初始交易由区块链网络向节点发放。
图5
新窗口打开|
下载原图ZIP|
生成PPT
图5
UTXO信息模型
基于账户的信息模型以键值对的形式存储数据,维护着账户当前的有效余额,通过执行交易来不断更新账户数据。相比于UTXO,基于账户的信息模型与银行的储蓄账户类似,更直观和高效。
不管是UTXO还是基于账户的信息模型,都建立在更为通用的键值对模型上,因此为了适应更广泛的应用场景,键值对模型可直接用于存储业务数据,表现为表单或集合形式。该模型利于数据的存取并支持更复杂的业务逻辑,但是也存在复杂度高的问题。
2) 关联验证结构
区块链之所以具备防篡改特性,得益于链状数据结构的强关联性。该结构确定了数据之间的绑定关系,当某个数据被篡改时,该关系将会遭到破坏。由于伪造这种关系的代价是极高的,相反检验该关系的工作量很小,因此篡改成功率被降至极低。链状结构的基本数据单位是“区块(block)”,基本内容如图6所示。
图6
新窗口打开|
下载原图ZIP|
生成PPT
图6
基本区块结构
区块由区块头(Header)和区块体(Body)两部分组成,区块体包含一定数量的交易集合;区块头通过前继散列(PrevHash)维持与上一区块的关联从而形成链状结构,通过MKT(MerkleTree)生成的根散列(RootHash)快速验证区块体交易集合的完整性。因此散列算法和 MKT 是关联验证结构的关键,以下将对此展开介绍。
散列(Hash)算法也称为散列函数,它实现了明文到密文的不可逆映射;同时,散列算法可以将任意长度的输入经过变化得到固定长度的输出;最后,即使元数据有细微差距,变化后的输出也会产生显著不同。利用散列算法的单向、定长和差异放大的特征,节点通过比对当前区块头的前继散列即可确定上一区块内容的正确性,使区块的链状结构得以维系。区块链中常用的散列算法包括SHA256等。
MKT包括根散列、散列分支和交易数据。MKT首先对交易进行散列运算,再对这些散列值进行分组散列,最后逐级递归直至根散列。MKT 带来诸多好处:一方面,对根散列的完整性确定即间接地实现交易的完整性确认,提升高效性;另一方面,根据交易的散列路径(例如 Tx1:Hash2、Hash34)可降低验证某交易存在性的复杂度,若交易总数为N,那么MKT可将复杂度由N降为lbN。除此之外,还有其他数据结构与其配合使用,例如以太坊通过MPT(Merkle Patricia tree)——PatriciaTrie 和MerkleTree混合结构,高效验证其基于账户的信息模型数据。
此外,区块头中还可根据不同项目需求灵活添加其他信息,例如添加时间戳为区块链加入时间维度,形成时序记录;添加记账节点标识,以维护成块节点的权益;添加交易数量,进一步提高区块体数据的安全性。
3) 加密机制
由上述加密货币原理可知,经比特币演变的区块链技术具备与生俱来的匿名性,通过非对称加密等技术既保证了用户的隐私又检验了用户身份。非对称加密技术是指加密者和解密者利用2个不同秘钥完成加解密,且秘钥之间不能相互推导的加密机制。常用的非对称加密算法包括 RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等。对应图5,Alice 向 Bob 发起交易 Tx2,Alice使用Bob的公钥对交易签名,仅当Bob使用私钥验证该数字签名时,才有权利创建另一笔交易,使自身拥有的币生效。该机制将公钥作为基础标识用户,使用户身份不可读,一定程度上保护了隐私。
4) 研究现状
数据层面的研究方向集中在高效验证、匿名分析、隐私保护3个方面。
高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种。为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究。Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程。Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销。
区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接。Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度。Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址。Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率。
隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私。Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性。非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成。
3.3 共识层
区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测。因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题。实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究。
状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论。其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态。假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性。同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息。状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议。其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同。学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题。
区块链网络中主要包含PoX(poof of X)[34]、BFT(byzantine-fault tolerant)和 CFT(crash-fault tolerant)类基础共识协议。PoX 类协议是以 PoW (proof of work)为代表的基于奖惩机制驱动的新型共识协议,为了适应数据吞吐量、资源利用率和安全性的需求,人们又提出PoS(proof of stake)、PoST (proof of space-time)等改进协议。它们的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错。BFT类协议是指解决拜占庭容错问题的传统共识协议及其改良协议,包括PBFT、BFT-SMaRt、Tendermint等。CFT类协议用于实现崩溃容错,通过身份证明等手段规避节点作恶的情况,仅考虑节点或网络的崩溃(crash)故障,主要包括Raft、Paxos、Kafka等协议。
非许可链和许可链的开放程度和容错需求存在差异,共识层面技术在两者之间产生了较大区别。具体而言,非许可链完全开放,需要抵御严重的拜占庭风险,多采用PoX、BFT类协议并配合奖惩机制实现共识。许可链拥有准入机制,网络中节点身份可知,一定程度降低了拜占庭风险,因此可采用BFT类协议、CFT类协议构建相同的信任模型[35]。
限于篇幅原因,本节仅以 PoW、PBFT、Raft为切入进行3类协议的分析。
1) PoX类协议
PoW也称为Nakamoto协议,是比特币及其衍生项目使用的核心共识协议,如图7所示。
图7
新窗口打开|
下载原图ZIP|
生成PPT
图7
PoW协议示意
该协议在区块链头结构中加入随机数Nonce,并设计证明依据:为生成新区块,节点必须计算出合适的 Nonce 值,使新生成的区块头经过双重SHA256 运算后小于特定阈值。该协议的整体流程为:全网节点分别计算证明依据,成功求解的节点确定合法区块并广播,其余节点对合法区块头进行验证,若验证无误则与本地区块形成链状结构并转发,最终达到全网共识。PoW是随机性协议,任何节点都有可能求出依据,合法区块的不唯一将导致生成分支链,此时节点根据“最长链原则”选择一定时间内生成的最长链作为主链而抛弃其余分支链,从而使各节点数据最终收敛。
PoW协议采用随机性算力选举机制,实现拜占庭容错的关键在于记账权的争夺,目前寻找证明依据的方法只有暴力搜索,其速度完全取决于计算芯片的性能,因此当诚实节点数量过半,即“诚实算力”过半时,PoW便能使合法分支链保持最快的增长速度,也即保证主链一直是合法的。PoW是一种依靠饱和算力竞争纠正拜占庭错误的共识协议,关注区块产生、传播过程中的拜占庭容错,在保证防止双花攻击的同时也存在资源浪费、可扩展性差等问题。
2) BFT类协议
PBFT是 BFT经典共识协议,其主要流程如图8 所示。PBFT将节点分为主节点和副节点,其中主节点负责将交易打包成区块,副节点参与验证和转发,假设作恶节点数量为f。PBFT共识主要分为预准备、准备和接受3个阶段,主节点首先收集交易后排序并提出合法区块提案;其余节点先验证提案的合法性,然后根据区块内交易顺序依次执行并将结果摘要组播;各节点收到2f个与自身相同的摘要后便组播接受投票;当节点收到超过2f+1个投票时便存储区块及其产生的新状态[36]。
图8
新窗口打开|
下载原图ZIP|
生成PPT
图8
PBFT协议示意
PBFT 协议解决消息传播过程的拜占庭容错,由于算法复杂度为 O(n2)且存在确定性的主节点选举规则,PBFT 仅适用于节点数量少的小型许可链系统。
3) CFT类协议
Raft[37]是典型的崩溃容错共识协议,以可用性强著称。Raft将节点分为跟随节点、候选节点和领导节点,领导节点负责将交易打包成区块,追随节点响应领导节点的同步指令,候选节点完成领导节点的选举工作。当网络运行稳定时,只存在领导节点和追随节点,领导节点向追随节点推送区块数据从而实现同步。节点均设置生存时间决定角色变化周期,领导节点的心跳信息不断重置追随节点的生存时间,当领导节点发生崩溃时,追随节点自动转化为候选节点并进入选举流程,实现网络自恢复。
Raft协议实现崩溃容错的关键在于领导节点的自选举机制,部分许可链选择降低可信需求,将拜占庭容错转换为崩溃容错,从而提升共识速度。
4) 奖惩机制
奖惩机制包括激励机制与惩罚策略,其中激励机制是为了弥补节点算力消耗、平衡协议运行收益比的措施,当节点能够在共识过程中获得收益时才会进行记账权的争夺,因此激励机制利用经济效益驱动各共识协议可持续运行。激励机制一般基于价值均衡理论设计,具有代表性的机制包括PPLNS、PPS等。为了实现收益最大化,节点可能采用不诚实的运行策略(如扣块攻击、自私挖矿等),损害了诚实节点的利益,惩罚策略基于博弈论等理论对节点进行惩罚,从而纠正不端节点的行为,维护共识可持续性。
5) 研究现状
随着可扩展性和性能需求的多样化发展,除了传统的BFT、CFT协议和PoX协议衍生研究,还产生了混合型协议(Hybrid)——主要为 PoX类协议混合以及PoX-BFT协议混合。因此本节从PoX类、BFT类以及Hybrid类协议归纳共识层研究进展。
如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错。uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费。PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块。PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举。Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性。PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用。
BFT协议有较长的发展史,在区块链研究中被赋予了新的活力。SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识。Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性。HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致。LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能。
Hybrid 类协议是研究趋势之一。PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享。PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力。ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延。Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份。
3.4 控制层
区块链节点基于对等通信网络与基础数据结构进行区块交互,通过共识协议实现数据一致,从而形成了全网统一的账本。控制层是各类应用与账本产生交互的中枢,如果将账本比作数据库,那么控制层提供了数据库模型,以及相应封装、操作的方法。具体而言,控制层由处理模型、控制合约和执行环境组成。处理模型从区块链系统的角度分析和描述业务/交易处理方式的差异。控制合约将业务逻辑转化为交易、区块、账本的具体操作。执行环境为节点封装通用的运行资源,使区块链具备稳定的可移植性。
1) 处理模型
账本用于存储全部或部分业务数据,那么依据该数据的分布特征可将处理模型分为链上(on-chain)和链下(off-chain)2种。
链上模型是指业务数据完全存储在账本中,业务逻辑通过账本的直接存取实现数据交互。该模型的信任基础建立在强关联性的账本结构中,不仅实现防篡改而且简化了上层控制逻辑,但是过量的资源消耗与庞大的数据增长使系统的可扩展性达到瓶颈,因此该模型适用于数据量小、安全性强、去中心化和透明程度高的业务。
链下模型是指业务数据部分或完全存储在账本之外,只在账本中存储指针以及其他证明业务数据存在性、真实性和有效性的数据。该模型以“最小化信任成本”为准则,将信任基础建立在账本与链下数据的证明机制中,降低账本构建成本。由于与公开的账本解耦,该模型具有良好的隐私性和可拓展性,适用于去中心化程度低、隐私性强、吞吐量大的业务。
2) 控制合约
区块链中控制合约经历了2个发展阶段,首先是以比特币为代表的非图灵完备的自动化脚本,用于锁定和解锁基于UTXO信息模型的交易,与强关联账本共同克服了双花等问题,使交易数据具备流通价值。其次是以以太坊为代表的图灵完备的智能合约,智能合约是一种基于账本数据自动执行的数字化合同,由开发者根据需求预先定义,是上层应用将业务逻辑编译为节点和账本操作集合的关键。智能合约通过允许相互不信任的参与者在没有可信第三方的情况下就复杂合同的执行结果达成协议,使合约具备可编程性,实现业务逻辑的灵活定义并扩展区块链的使用。
3) 执行环境
执行环境是指执行控制合约所需要的条件,主要分为原生环境和沙盒环境。原生环境是指合约与节点系统紧耦合,经过源码编译后直接执行,该方式下合约能经历完善的静态分析,提高安全性。沙盒环境为节点运行提供必要的虚拟环境,包括网络通信、数据存储以及图灵完备的计算/控制环境等,在虚拟机中运行的合约更新方便、灵活性强,其产生的漏洞也可能造成损失。
4) 研究现状
控制层的研究方向主要集中在可扩展性优化与安全防护2个方面。
侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷。Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花。Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余。分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载。ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证。OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性。区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障。上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案。实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付。Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认。
一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点。Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题。Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利。Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测。
4 技术选型分析
区别于其他技术,区块链发展过程中最显著的特点是与产业界紧密结合,伴随着加密货币和分布式应用的兴起,业界出现了许多区块链项目。这些项目是区块链技术的具体实现,既有相似之处又各具特点,本节将根据前文所述层次化结构对比特币、以太坊和超级账本Fabric项目进行分析,然后简要介绍其他代表性项目并归纳和对比各项目的技术选型及特点。
4.1 比特币
比特币是目前规模最大、影响范围最广的非许可链开源项目。图9为比特币项目以账本为核心的运行模式,也是所有非许可链项目的雏形。比特币网络为用户提供兑换和转账业务,该业务的价值流通媒介由账本确定的交易数据——比特币支撑。为了保持账本的稳定和数据的权威性,业务制定奖励机制,即账本为节点产生新的比特币或用户支付比特币,以此驱动节点共同维护账本。
图9
新窗口打开|
下载原图ZIP|
生成PPT
图9
比特币运行模式
比特币网络主要由2种节点构成:全节点和轻节点。全节点是功能完备的区块链节点,而轻节点不存储完整的账本数据,仅具备验证与转发功能。全节点也称为矿工节点,计算证明依据的过程被称为“挖矿”,目前全球拥有近 1 万个全节点;矿池则是依靠奖励分配策略将算力汇集起来的矿工群;除此之外,还有用于存储私钥和地址信息、发起交易的客户端(钱包)。
1) 网络层
比特币在网络层采用非结构化方式组网,路由表呈现随机性。节点间则采用多点传播方式传递数据,曾基于Gossip协议实现,为提高网络的抗匿名分析能力改为基于Diffusion协议实现[33]。节点利用一系列控制协议确保链路的可用性,包括版本获取(Vetsion/Verack)、地址获取(Addr/GetAddr)、心跳信息(PING/PONG)等。新节点入网时,首先向硬编码 DNS 节点(种子节点)请求初始节点列表;然后向初始节点随机请求它们路由表中的节点信息,以此生成自己的路由表;最后节点通过控制协议与这些节点建立连接,并根据信息交互的频率更新路由表中节点时间戳,从而保证路由表中的节点都是活动的。交互逻辑层为建立共识交互通道,提供了区块获取(GetBlock)、交易验证(MerkleBlock)、主链选择(CmpctBlock)等协议;轻节点只需要进行简单的区块头验证,因此通过头验证(GetHeader/Header)协议和连接层中的过滤设置协议指定需要验证的区块头即可建立简单验证通路。在安全机制方面,比特币网络可选择利用匿名通信网络Tor作为数据传输承载,通过沿路径的层层数据加密机制来保护对端身份。
2) 数据层
比特币数据层面的技术选型已经被广泛研究,使用UTXO信息模型记录交易数据,实现所有权的简单、有效证明,利用 MKT、散列函数和时间戳实现区块的高效验证并产生强关联性。在加密机制方面,比特币采用参数为Secp256k1的椭圆曲线数字签名算法(ECDSA,elliptic curve digital signature algorithm)生成用户的公私钥,钱包地址则由公钥经过双重散列、Base58Check 编码等步骤生成,提高了可读性。
3) 共识层
比特币采用 PoW 算法实现节点共识,该算法证明依据中的阈值设定可以改变计算难度。计算难度由每小时生成区块的平均块数决定,如果生成得太快,难度就会增加。该机制是为了应对硬件升级或关注提升引起的算力变化,保持证明依据始终有效。目前该阈值被设定为10 min产出一个区块。除此之外,比特币利用奖惩机制保证共识的可持续运行,主要包括转账手续费、挖矿奖励和矿池分配策略等。
4) 控制层
比特币最初采用链上处理模型,并将控制语句直接记录在交易中,使用自动化锁定/解锁脚本验证UTXO模型中的比特币所有权。由于可扩展性和确认时延的限制,比特币产生多个侧链项目如Liquid、RSK、Drivechain等,以及链下处理项目Lightning Network等,从而优化交易速度。
4.2 以太坊
以太坊是第一个以智能合约为基础的可编程非许可链开源平台项目,支持使用区块链网络构建分布式应用,包括金融、音乐、游戏等类型;当满足某些条件时,这些应用将触发智能合约与区块链网络产生交互,以此实现其网络和存储功能,更重要的是衍生出更多场景应用和价值产物,例如以太猫,利用唯一标识为虚拟猫赋予价值;GitCoin,众筹软件开发平台等。
1) 网络层
以太坊底层对等网络协议簇称为DEVP2P,除了满足区块链网络功能外,还满足与以太坊相关联的任何联网应用程序的需求。DEVP2P将节点公钥作为标识,采用 Kademlia 算法计算节点的异或距离,从而实现结构化组网。DEVP2P主要由3种协议组成:节点发现协议RLPx、基础通信协议Wire和扩展协议Wire-Sub。节点间基于Gossip实现多点传播;新节点加入时首先向硬编码引导节点(bootstrap node)发送入网请求;然后引导节点根据Kademlia 算法计算与新节点逻辑距离最近的节点列表并返回;最后新节点向列表中节点发出握手请求,包括网络版本号、节点ID、监听端口等,与这些节点建立连接后则使用Ping/Pong机制保持连接。Wire子协议构建了交易获取、区块同步、共识交互等逻辑通路,与比特币类似,以太坊也为轻量级钱包客户端设计了简易以太坊协议(LES,light ethereum subprotocol)及其变体PIP。安全方面,节点在RLPx协议建立连接的过程中采用椭圆曲线集成加密方案(ECIES)生成公私钥,用于传输共享对称密钥,之后节点通过共享密钥加密承载数据以实现数据传输保护。
2) 数据层
以太坊通过散列函数维持区块的关联性,采用MPT实现账户状态的高效验证。基于账户的信息模型记录了用户的余额及其他 ERC 标准信息,其账户类型主要分为2类:外部账户和合约账户;外部账户用于发起交易和创建合约,合约账户用于在合约执行过程中创建交易。用户公私钥的生成与比特币相同,但是公钥经过散列算法Keccak-256计算后取20 B作为外部账户地址。
3) 共识层
以太坊采用 PoW 共识,将阈值设定为 15 s产出一个区块,计划在未来采用PoS或Casper共识协议。较低的计算难度将导致频繁产生分支链,因此以太坊采用独有的奖惩机制——GHOST 协议,以提高矿工的共识积极性。具体而言,区块中的散列值被分为父块散列和叔块散列,父块散列指向前继区块,叔块散列则指向父块的前继。新区块产生时,GHOST 根据前 7 代区块的父/叔散列值计算矿工奖励,一定程度弥补了分支链被抛弃时浪费的算力。
4) 控制层
每个以太坊节点都拥有沙盒环境 EVM,用于执行Solidity语言编写的智能合约;Solidity语言是图灵完备的,允许用户方便地定义自己的业务逻辑,这也是众多分布式应用得以开发的前提。为优化可扩展性,以太坊拥有侧链项目 Loom、链下计算项目Plasma,而分片技术已于2018年加入以太坊源码。
4.3 超级账本Fabric
超级账本是Linux基金会旗下的开源区块链项目,旨在提供跨行业区块链解决方案。Fabric 是超级账本子项目之一,也是影响最广的企业级可编程许可链项目;在已知的解决方案中,Fabric 被应用于供应链、医疗和金融服务等多种场景。
1) 网络层
Fabric 网络以组织为单位构建节点集群,采用混合式对等网络组网;每个组织中包括普通节点和锚节点(anchor peer),普通节点完成组织内的消息路由,锚节点负责跨组织的节点发现与消息路由。Fabric网络传播层基于Gossip实现,需要使用配置文件初始化网络,网络生成后各节点将定期广播存活信息,其余节点根据该信息更新路由表以保持连接。交互逻辑层采用多通道机制,即相同通道内的节点才能进行状态信息交互和区块同步。Fabric 为许可链,因此在网络层采取严苛的安全机制:节点被颁发证书及密钥对,产生PKI-ID进行身份验证;可选用 TLS 双向加密通信;基于多通道的业务隔离;可定义策略指定通道内的某些节点对等传输私有数据。
2) 数据层
Fabric的区块中记录读写集(read-write set)描述交易执行时的读写过程。该读写集用于更新状态数据库,而状态数据库记录了键、版本和值组成的键值对,因此属于键值对信息模型。一方面,散列函数和 MerkleTree 被用作高效关联结构的实现技术;另一方面,节点还需根据键值验证状态数据库与读写集中的最新版本是否一致。许可链场景对匿名性的要求较低,但对业务数据的隐私性要求较高,因此Fabric 1.2版本开始提供私有数据集(PDC,private data collection)功能。
3) 共识层
Fabric在0.6版本前采用PBFT 共识协议,但是为了提高交易吞吐量,Fabric 1.0 选择降低安全性,将共识过程分解为排序和验证2种服务,排序服务采用CFT类协议Kafka、Raft(v1.4之后)完成,而验证服务进一步分解为读写集验证与多签名验证,最大程度提高了共识速度。由于Fabric针对许可链场景,参与方往往身份可知且具有相同的合作意图,因此规避了节点怠工与作恶的假设,不需要奖惩机制调节。
4) 控制层
Fabric 对于扩展性优化需求较少,主要得益于共识层的优化与许可链本身参与节点较少的前提,因此主要采用链上处理模型,方便业务数据的存取;而 PDC 中仅将私有数据散列值上链的方式则属于链下处理模型,智能合约可以在本地进行数据存取。Fabric 节点采用模块化设计,基于 Docker构建模块执行环境;智能合约在Fabric中被称为链码,使用GO、Javascript和Java语言编写,也是图灵完备的。
4.4 其他项目
除了上述3种区块链基础项目外,产业界还有许多具有代表性的项目,如表1所示。
5 区块链应用研究
区块链技术有助于降低金融机构间的审计成本,显著提高支付业务的处理速度及效率,可应用于跨境支付等金融场景。除此之外,区块链还应用于产权保护、信用体系建设、教育生态优化、食品安全监管、网络安全保障等非金融场景。
根据这些场景的应用方式以及区块链技术特点,可将区块链特性概括为如下几点。1) 去中心化。节点基于对等网络建立通信和信任背书,单一节点的破坏不会对全局产生影响。2) 不可篡改。账本由全体节点维护,群体协作的共识过程和强关联的数据结构保证节点数据一致且基本无法被篡改,进一步使数据可验证和追溯。3) 公开透明。除私有数据外,链上数据对每个节点公开,便于验证数据的存在性和真实性。4) 匿名性。多种隐私保护机制使用户身份得以隐匿,即便如此也能建立信任基础。5) 合约自治。预先定义的业务逻辑使节点可以基于高可信的账本数据实现自治,在人-人、人-机、机-机交互间自动化执行业务。
鉴于上述领域的应用在以往研究中均有详细描述,本文将主要介绍区块链在智慧城市、边缘计算和人工智能领域的前沿应用研究现状。
表1
表1
代表性区块链项目
技术选型CordaQuorumLibraBlockstackFilecoinZcash控制合约Kotlin,JavaGOMoveClarity非图灵完备非图灵完备非图灵完备执行环境JVMEVMMVM源码编译源码编译源码编译处理模型链上链上/链下(私有数据)链上链下(虚拟链)链下(IPFS)链上奖惩机制——Libra coinsStacks tokenFilecoinZcash/Turnstiles共识算法Notary 机制/RAFT,BFT-SMaRtQuorum-Chain,RAFTLibraBFTTunable Proofs,proof-of-burnPoRep,PoETPoW信息模型UTXO基于账户基于账户基于账户基于账户UTXO关联验证结构散列算法MKT散列算法MPT散列算法MKT散列算法Merklized Adaptive Radix Forest (MARF)散列算法MKT散列算法MKT加密机制Tear-offs机制、混合密钥基于EnclaveSHA3-256/EdDSA基于Gaia/Blockstack AuthSECP256K1/BLSzk-SNARK组网方式混合型结构化混合型无结构结构化/无结构无结构通信机制AMQP1.0/单点传播Wire/GossipNoise-ProtocolFramework/GossipAtlas/GossipLibp2p/GossipBitcoin-Core/Gossip安全机制Corda加密套件/TLS证书/HTTPSDiffie-HellmanSecure BackboneTLSTor区块链类型许可链许可链许可链非许可链非许可链非许可链特点只允许对实际参与给定交易的各方进行信息访问和验证功能基于以太坊网络提供公共交易和私有交易2种交互渠道稳定、快速的交易网络剔除中心服务商的、可扩展的分布式数据存储设施,旨在保护隐私数据激励机制驱动的存储资源共享生态基于比特币网络提供零知识证明的隐私保护应用场景金融业务平台分布式应用加密货币互联网基础设施文件存储与共享加密货币
新窗口打开|
下载CSV
5.1 智慧城市
智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景。智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战。区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决。Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据。
5.2 边缘计算
边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验。安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障。区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用。首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据。其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础。Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性。Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题。Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性。
5.3 人工智能
人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标。人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费。此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大。区块链不可篡改的特性可以实现感知和训练过程的可信。另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率。Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果。Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库。
6 技术挑战与研究展望
6.1 层次优化与深度融合
区块链存在“三元悖论”——安全性、扩展性和去中心化三者不可兼得,只能依靠牺牲一方的效果来满足另外两方的需求。以比特币为代表的公链具有较高的安全性和完全去中心化的特点,但是资源浪费等问题成为拓展性优化的瓶颈。尽管先后出现了PoS、BFT等共识协议优化方案,或侧链、分片等链上处理模型,或Plasma、闪电网络等链下扩展方案,皆是以部分安全性或去中心化为代价的。因此,如何将区块链更好地推向实际应用很大程度取决于三元悖论的解决,其中主要有2种思路。
1) 层次优化
区块链层次化结构中每层都不同程度地影响上述3种特性,例如网络时延、并行读写效率、共识速度和效果、链上/链下模型交互机制的安全性等,对区块链的优化应当从整体考虑,而不是单一层次。
网络层主要缺陷在于安全性,可拓展性则有待优化。如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19]。信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69]。相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素。
数据层的优化空间在于高效性,主要为设计新的数据验证结构与算法。该方向可以借鉴计算机研究领域的多种数据结构理论与复杂度优化方法,寻找适合区块链计算方式的结构,甚至设计新的数据关联结构。实际上相当一部分项目借鉴链式结构的思想开辟新的道路,例如压缩区块空间的隔离见证、有向无环图(DAG)中并行关联的纠缠结构(Tangle),或者Libra项目采用的状态树。
共识机制是目前研究的热点,也是同时影响三元特性的最难均衡的层次。PoW牺牲可拓展性获得完全去中心化和安全性,PoS高效的出块方式具备可扩展性但产生了分叉问题,POA结合两者做到了3种特性的均衡。以此为切入的Hybrid类共识配合奖惩机制的机动调节取得了较好效果,成为共识研究的过渡手段,但是如何做到三元悖论的真正突破还有待研究。
控制层面是目前可扩展性研究的热点,其优势在于不需要改变底层的基础实现,能够在短期内应用,集中在产业界的区块链项目中。侧链具有较好的灵活性但操作复杂度高,分片改进了账本结构但跨分片交互的安全问题始终存在,而链下处理模型在安全方面缺少理论分析的支撑。因此,三元悖论的解决在控制层面具有广泛的研究前景。
2) 深度融合
如果将层次优化称为横向优化,那么深度融合即为根据场景需求而进行的纵向优化。一方面,不同场景的三元需求并不相同,例如接入控制不要求完全去中心化,可扩展性也未遇到瓶颈,因此可采用BFT类算法在小范围构建联盟链。另一方面,区块链应用研究从简单的数据上链转变为链下存储、链上验证,共识算法从 PoW 转变为场景结合的服务证明和学习证明,此外,结合 5G 和边缘计算可将网络和计算功能移至网络边缘,节约终端资源。这意味着在严格的场景建模下,区块链的层次技术选型将与场景特点交叉创新、深度融合,具有较为广阔的研究前景。
6.2 隐私保护
加密货币以匿名性著称,但是区块链以非对称加密为基础的匿名体系不断受到挑战。反匿名攻击从身份的解密转变为行为的聚类分析,不仅包括网络流量的IP聚类,还包括交易数据的地址聚类、交易行为的启发式模型学习,因此大数据分析技术的发展使区块链隐私保护思路发生转变。已有Tor网络、混币技术、零知识证明、同态加密以及各类复杂度更高的非对称加密算法被提出,但是各方法仍有局限,未来将需要更为高效的方法。此外,随着区块链系统的可编程化发展,内部复杂性将越来越高,特别是智能合约需要更严格、有效的代码检测方法,例如匿名性检测、隐私威胁预警等。
6.3 工业区块链
工业区块链是指利用区块链夯实工业互联网中数据的流通和管控基础、促进价值转换的应用场景,具有较大的研究前景。
工业互联网是面向制造业数字化、网络化、智能化需求,构建基于海量数据采集、汇聚、分析的服务体系,支撑制造资源泛在连接、弹性供给、高效配置的重要基础设施。“工业互联网平台”是工业互联网的核心,通过全面感知、实时分析、科学决策、精准执行的逻辑闭环,实现工业全要素、全产业链、全价值链的全面贯通,培育新的模式和业态。
可以看到,工业互联网与物联网、智慧城市、消费互联网等场景应用存在内在关联,例如泛在连接、数据共享和分析、电子商务等,那么其学术问题与技术实现必然存在关联性。区块链解决了物联网中心管控架构的单点故障问题,克服泛在感知设备数据的安全性和隐私性挑战,为智慧城市场景的数据共享、接入控制等问题提供解决方法,为激励资源共享构建了新型互联网价值生态。尽管工业互联网作为新型的产业生态系统,其技术体系更复杂、内涵更丰富,但是不难想象,区块链同样有利于工业互联网的发展。
“平台+区块链”能够通过分布式数据管理模式,降低数据存储、处理、使用的管理成本,为工业用户在工业 APP 选择和使用方面搭建起更加可信的环境,实现身份认证及操作行为追溯、数据安全存储与可靠传递。能够通过产品设计参数、质量检测结果、订单信息等数据“上链”,实现有效的供应链全要素追溯与协同服务。能够促进平台间数据交易与业务协同,实现跨平台交易结算,带动平台间的数据共享与知识复用,促进工业互联网平台间互联互通。
当然,工业是关乎国计民生的产业,将区块链去中心化、匿名化等特性直接用于工业互联网是不可取的,因此需要研究工业区块链管理框架,实现区块链的可管可控,在一定范围内发挥其安全优势,并对工业互联网的运转提供正向激励。
7 结束语
区块链基于多类技术研究的成果,以低成本解决了多组织参与的复杂生产环境中的信任构建和隐私保护等问题,在金融、教育、娱乐、版权保护等场景得到了较多应用,成为学术界的研究热点。比特币的出现重塑了人们对价值的定义,伴随着产业界的呼声,区块链技术得到了快速发展,而遵循区块链层次化分析方法,能够直观地区别各项目的技术路线和特点,为优化区块链技术提供不同观察视角,并为场景应用的深度融合创造条件,促进后续研究。未来的发展中,区块链将成为更为基础的信任支撑技术,在产业互联网等更广阔的领域健康、有序地发展。
The authors have declared that no competing interests exist.
作者已声明无竞争性利益关系。
参考文献
View Option
原文顺序
文献年度倒序
文中引用次数倒序
被引期刊影响因子
[1]
袁勇, 王飞跃 . 区块链技术发展现状与展望[J]. 自动化学报, 2016,42(4): 481-494.
[本文引用: 1]
YUAN Y , WANG F Y . Blockchain:the state of the art and future trends[J]. Acta Automatica Sinica, 2016,42(4): 481-494.
[本文引用: 1]
[2]
邵奇峰, 张召, 朱燕超 ,等. 企业级区块链技术综述[J]. 软件学报, 2019,30(9): 2571-2592.
[本文引用: 1]
SHAO Q F , ZHANG Z , ZHU Y C ,et al. Survey of enterprise blockchains[J]. 2019,30(9): 2571-2592.
[本文引用: 1]
[3]
YANG W , AGHASIAN E , GARG S ,et al. A survey on blockchain-based internet service architecture:requirements,challenges,trends,and future[J]. IEEE Access, 2019,7: 75845-75872.
[本文引用: 1]
[4]
韩璇, 袁勇, 王飞跃 . 区块链安全问题:研究现状与展望[J]. 自动化学报, 2019,45(1): 208-227.
[本文引用: 1]
HAN X , YUAN Y , WANG F Y . Security problems on blockchain:the state of the art and future trends[J]. Acta Automatica Sinica, 2016,45(1): 208-227.
[本文引用: 1]
[5]
ALI M , VECCHIO M , PINCHEIRA M ,et al. Applications of blockchains in the Internet of things:a comprehensive survey[J]. IEEE Communications Surveys & Tutorials, 2019,21: 1676-1717.
[本文引用: 1]
[6]
CHAUM D . Blind signature system[M]. Advances in Cryptology: Proceedings of Crypto 83.Springer USPress, 1984.
[本文引用: 1]
[7]
LAW L , SABEET S , SOLINAS J . How to make a mint:the cryptography of anonymous electronic cash[J]. The American University Law Review, 1997,46: 1131-1162.
[本文引用: 1]
[8]
JAKOBSSON M , JUELS A . Proofs of work and bread pudding protocols[C]// IFIP TC6/TC11 Joint Working Conference on Communications and Multimedia Security. IFIP, 1999: 258-272.
[本文引用: 1]
[9]
王学龙, 张璟 . P2P 关键技术研究综述[J]. 计算机应用研究, 2010,27(3): 801-805.
[本文引用: 1]
WANG X L , ZHANG J . Survey on peer-to-peer key technologies[J]. Application Research of Computers, 2010,27(3): 801-805.
[本文引用: 1]
[10]
DEMERS A , GREENE D , HOUSER C ,et al. Epidemic algorithms for replicated database maintenance[J]. ACM SIGOPS Operating Systems Review, 1988,22: 8-32.
[本文引用: 1]
[11]
DECKER C , WATTENHOFER R . Information propagation in the bitcoin network[C]// IEEE Thirteenth International Conference on Peer-to-peer Computing. IEEE, 2013: 1-10.
[本文引用: 1]
[12]
FADHIL M , OWENSON G , ADDA M . Locality based approach to improve propagation delay on the bitcoin peer-to-peer network[C]// 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM). IEEE, 2017: 556-559.
[本文引用: 1]
[13]
KANEKO Y , ASAKA T . DHT clustering for load balancing considering blockchain data size[C]// 2018 Sixth International Symposium on Computing and Networking Workshops (CANDARW). IEEE Computer Society, 2018: 71-74.
[本文引用: 1]
[14]
KOSHY P , KOSHY D , MCDANIEL P . An analysis of anonymity in bitcoin using P2P network traffic[C]// Financial Cryptography and Data Security:18th International Conference. Springer, 2014: 469-485.
[15]
BIRYUKOV A , KHOVRATOVICH D , PUSTOGAROV I . Deanonymisation of clients in bitcoin P2P network[C]// ACM SIGSAC Conference on Computer and Communications Security. ACM, 2014: 15-29.
[16]
VENKATAKRISHNAN S B , FANTI G , VISWANATH P . Dandelion:redesigning the bitcoin network for anonymity[C]// The 2017 ACM SIGMETRICS. ACM, 2017:57.
[本文引用: 1]
[17]
FANTI G , VENKATAKRISHNAN S B , BAKSHI S ,et al. Dandelion++:lightweight cryptocurrency networking with formal anonymity guarantees[J]. ACM SIGMETRICS Performance Evaluation Review, 2018,46: 5-7.
[本文引用: 1]
[18]
HEILMAN E , KENDLER A , ZOHAR A ,et al. Eclipse attacks on Bitcoin’s peer-to-peer network[C]// USENIX Conference on Security Symposium. USENIX Association, 2015: 129-144.
[本文引用: 1]
[19]
APOSTOLAKI M , ZOHAR A , VANBEVER L . Hijacking bitcoin:routing attacks on cryptocurrencies[C]// 2017 IEEE Symposium on Security and Privacy (SP). IEEE, 2017: 375-392.
[本文引用: 2]
[20]
REYZIN L , IVANOV S . Improving authenticated dynamic dictionaries,with applications to cryptocurrencies[C]// International Conference on Financial Cryptography & Data Security. Springer, 2017: 376-392.
[本文引用: 1]
[21]
ZHANG C , XU C , XU J L ,et al. GEM^2-tree:a gas-efficient structure for authenticated range queries in blockchain[C]// IEEE 35th International Conference on Data Engineering (ICDE). IEEE, 2019: 842-853.
[本文引用: 1]
[22]
REID F , HARRIGAN M . An analysis of anonymity in the bitcoin system[C]// 2011 IEEE Third International Conference on Privacy,Security,Risk and Trust. IEEE, 2011: 1318-1326.
[本文引用: 1]
[23]
MEIKLEJOHN S , POMAROLE M , JORDAN G ,et al. A fistful of bitcoins:characterizing payments among men with no names[C]// The 2013 Conference on Internet Measurement Conference. ACM, 2013: 127-140.
[本文引用: 1]
[24]
AWAN M K , CORTESI A . Blockchain transaction analysis using dominant sets[C]// IFIP International Conference on Computer Information Systems and Industrial Management. IFIP, 2017: 229-239.
[本文引用: 1]
[25]
SAXENA A , MISRA J , DHAR A . Increasing anonymity in bitcoin[C]// International Conference on Financial Cryptography and Data Security. Springer, 2014: 122-139.
[本文引用: 1]
[26]
MIERS I , GARMAN C , GREEN M ,et al. Zerocoin:anonymous distributed e-cash from bitcoin[C]// 2013 IEEE Symposium on Security and Privacy. IEEE, 2013: 397-411.
[本文引用: 1]
[27]
SASSON E B , CHIESA A , GARMAN C ,et al. Zerocash:decentralized anonymous payments from bitcoin[C]// 2014 IEEE Symposium on Security and Privacy (SP). IEEE, 2014: 459-474.
[本文引用: 1]
[28]
YIN W , WEN Q , LI W ,et al. A anti-quantum transaction authentication approach in blockchain[J]. IEEE Access, 2018,6: 5393-5401.
[本文引用: 1]
[29]
DOUCEUR J R , . The sybil attack[C]// The First International Workshop on Peer-to-Peer Systems(IPTPS’ 01). Springer, 2002: 251-260.
[本文引用: 1]
[30]
KARAME G O , ANDROULAKI E , CAPKUN S . Double-spending fast payments in bitcoin[C]// The 2012 ACM conference on Computer and communications security. ACM, 2012: 906-917.
[本文引用: 1]
[31]
LAMPORT L , SHOSTAK R , PEASE M . The byzantine generals problem[J]. ACM Transactions on Programming Languages and Systems, 1982,4: 382-401.
[本文引用: 1]
[32]
BANO S , SONNINO A , AL-BASSAM M ,et al. Consensus in the age of blockchains[J]..03936,2017. arXiv Preprint,arXiv:1711.03936,2017.
[本文引用: 1]
[33]
DWORK C , LYNCH N , STOCKMEYER L . Consensus in the presence of partial synchrony[J]. Journal of the ACM, 1988,35: 288-323.
[本文引用: 2]
[34]
TSCHORSCH F , SCHEUERMANN B . Bitcoin and beyond:a technical survey on decentralized digital currencies[J]. IEEE Communications Surveys & Tutorials, 2016,18: 2084-2123.
[本文引用: 1]
[35]
CACHIN C VUKOLIĆ M . Blockchains consensus protocols in the wild[J]. arXiv Preprint,arXiv:1707.01873, 2017.
[本文引用: 1]
[36]
CASTRO M , LISKOV B . Practical byzantine fault tolerance and proactive recovery[J]. ACM Transactions on Computer Systems, 2002,20: 398-461.
[本文引用: 1]
[37]
ONGARO D , OUSTERHOUT J . In search of an understandable consensus algorithm[C]// The 2014 USENIX Conference on USENIX Annual Technical Conference. USENIX Association, 2015: 305-320.
[本文引用: 1]
[38]
BALL M , ROSEN A , SABIN M ,et al. Proofs of useful work[R]. Cryptology ePrint Archive:Report 2017/203.
[本文引用: 1]
[39]
MIHALJEVIC B , ZAGAR M . Comparative analysis of blockchain consensus algorithms[C]// International Convention on Information and Communication Technology,Electronics and Microelectronics (MIPRO). IEEE, 2018: 1545-1550.
[本文引用: 1]
[40]
KIAYIAS A , RUSSELL A , DAVID B ,et al. Ouroboros:a provably secure proof-of-stake blockchain protocol[C]// Advances in Cryptology - CRYPTO 2017. Springer, 2017: 357-388.
[本文引用: 1]
[41]
FISCH B . Tight proofs of space and replication[J].,ePrint-2018-702. IACR Cryptology ePrint Archive,ePrint-2018-702.
[本文引用: 1]
[42]
BELOTTI M , BOŽIĆ N , PUJOLLE G ,et al. A vademecum on blockchain technologies:when,which,and how[J]. IEEE Communications Surveys & Tutorials, 2019,21: 3796-3838.
[本文引用: 1]
[43]
WANG W B , HOANG D T , HU P Z ,et al. A survey on consensus mechanisms and mining strategy management in blockchain networks[J]. IEEE Access, 2019,7: 22328-22370.
[本文引用: 1]
[44]
YOO J H , JUNG Y L , SHIN D H ,et al. Formal modeling and verification of a federated byzantine agreement algorithm for blockchain platforms[C]// IEEE International Workshop on Blockchain Oriented Software Engineering. 2019: 11-21.
[本文引用: 1]
[45]
ZHENG Z B , XIE S , DAI H ,et al. An overview of blockchain technology:architecture,consensus,and future trends[C]// 6th IEEE International Congress on Big Data. IEEE, 2017: 557-564.
[本文引用: 1]
[46]
YIN M , MALKHI D , REITER M K ,et al. HotStuff:BFT consensus in the lens of blockchain[C]// ACM Symposium on Principles of Distributed Computing. ACM, 2019: 347-356.
[本文引用: 1]
[47]
ALI S , WANG G , WHITE B ,et al. Libra critique towards global decentralized financial system[C]// Communications in Computer and Information Science. Springer, 2019: 661-672.
[本文引用: 1]
[48]
BENTOV I , LEE C , MIZRAHI A ,et al. Proof of activity:extending bitcoin’s proof of work via proof of stake[J]. IACR Cryptology ePrint Archive,ePrint-2014-25478.
[本文引用: 1]
[49]
DECKER C , SEIDEL J , WATTENHOFER R . Bitcoin meets strong consistency[J].,2014. arXiv Preprint,arXiv:1412.7935,2014.
[本文引用: 1]
[50]
KOKORIS-KOGIAS E , JOVANOVIC P , GAILLY N ,et al. Enhancing bitcoin security and performance with strong consistency via collective signing[J]. Applied Mathematical Modelling, 2016,37: 5723-5742.
[本文引用: 1]
[51]
BUTERIN V , GRIFFITH V . Casper the friendly finality gadget[J]. arXiv Preprint,arXiv:1710.09437,2017.
[本文引用: 1]
[52]
TSCHORSCH F , SCHEUERMANN B . Bitcoin and beyond:a technical survey on decentralized digital currencies[J]. IEEE Communications Surveys & Tutorials, 2016,18: 2084-2023,2017.
[本文引用: 1]
[53]
KIAYIAS A , MILLER A , ZINDROS D . Non-interactive proofs of proof-of-work[J]. IACR Cryptology ePrint Archive,ePrint-2017-963.
[本文引用: 1]
[54]
LUU L , NARAYANAN V , ZHENG C ,et al. A secure sharding protocol for open blockchains[C]// The 2016 ACM SIGSAC Conference on Computer and Communications Security(CCS’16). ACM, 2016: 17-30.
[本文引用: 1]
[55]
KOKORIS-KOGIAS E , JOVANOVIC P , GASSER L ,et al. OmniLedger:a secure,scale-out,decentralized ledger via sharding[C]// IEEE Symposium on Security and Privacy (SP). IEEE Computer Society, 2018: 583-598.
[本文引用: 1]
[56]
LI S , YU M , AVESTIMEHR S ,et al. PolyShard:coded sharding achieves linearly scaling efficiency and security simultaneously[J]. arXiv Preprint,arXiv:1809.10361,2018.
[本文引用: 1]
[57]
XIE J F , YU F R , HUANG T ,et al. A survey on the scalability of blockchain systems[J]. IEEE Network, 2019,33: 166-173.
[本文引用: 1]
[58]
BURCHERT C , DECKER C , WATTENHOFER R . Scalable funding of bitcoin micropayment channel networks[C]// Stabilization,Safety,and Security of Distributed Systems. Springer, 2017: 361-377.
[本文引用: 1]
[59]
LUU L , CHU D , OLICKEL H ,et al. Making smart contracts smarter[C]// The 2016 ACM SIGSAC Conference on Computer and Communications Security. ACM, 2016: 254-269.
[本文引用: 1]
[60]
BRENT L , JURISEVIC A , KONG M ,et al. Vandal:a scalable security analysis framework for smart contracts[J]. arXiv Preprint,arXiv:1809.039812018.
[本文引用: 1]
[61]
JIANG B , LIU Y , CHAN W K . ContractFuzzer:fuzzing smart contracts for vulnerability detection[J]. arXiv Preprint,arXiv:1807.03932,2018.
[本文引用: 1]
[62]
HASHEMI S H , FAGHRI F , CAMPBELL R H . Decentralized user-centric access control using pubsub over blockchain[J]. arXiv Preprint,arXiv:1710.00110,2017.
[本文引用: 1]
[63]
BAO S.CAO Y , LEI A ,et al. Pseudonym management through blockchain:cost-efficient privacy preservation on intelligent transportation systems[J]. IEEE Access, 2019,7: 80390-80403.
[本文引用: 1]
[64]
SAMANIEGO M , DETERS R . Hosting virtual IoT resources on edge-hosts with blockchain[C]// IEEE International Conference on Computer & Information Technology. IEEE, 2016: 116-119.
[本文引用: 1]
[65]
STANCIU A , . Blockchain based distributed control system for edge computing[C]// International Conference on Control Systems &Computer Science. IEEE, 2017: 667-671.
[本文引用: 1]
[66]
ZIEGLER M H , GROMANN M , KRIEGER U R . Integration of fog computing and blockchain technology using the plasma framework[C]// 2019 IEEE International Conference on Blockchain and Cryptocurrency (ICBC). IEEE, 2019: 120-123.
[本文引用: 1]
[67]
KIM H , PARK J , BENNIS M ,et al. Blockchained on-device federated learning[J]. arXiv Preprint,arXiv:1808.03949, 2018.
[本文引用: 1]
[68]
BRAVO-MARQUEZ F , REEVES S , UGARTE M . Proof-of- learning:a blockchain consensus mechanism based on machine learning competitions[C]// 2019 IEEE International Conference on Decentralized Applications and Infrastructures. IEEE, 2019: 119-124.
[本文引用: 1]
[69]
刘江, 霍如, 李诚成 ,等. 基于命名数据网络的区块链信息传输机制[J]. 通信学报, 2018,39(1), 24-33.
[本文引用: 1]
LIU J , HUO R , LI C C ,et al. Information transmission mechanism of Blockchain technology based on named-data networking[J]. Journal on Communications, 2018,39(1): 24-33.
[本文引用: 1]
区块链技术发展现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
区块链技术发展现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
企业级区块链技术综述
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
企业级区块链技术综述
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
A survey on blockchain-based internet service architecture:requirements,challenges,trends,and future
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
区块链安全问题:研究现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
区块链安全问题:研究现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
Applications of blockchains in the Internet of things:a comprehensive survey
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
Blind signature system
1
1984
... 加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示. ...
How to make a mint:the cryptography of anonymous electronic cash
1
1997
... 加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示. ...
Proofs of work and bread pudding protocols
1
1999
... 最早的加密货币构想将银行作为构建信任的基础,呈现中心化特点.此后,加密货币朝着去中心化方向发展,并试图用工作量证明(PoW,poof of work)[8]或其改进方法定义价值.比特币在此基础上,采用新型分布式账本技术保证被所有节点维护的数据不可篡改,从而成功构建信任基础,成为真正意义上的去中心化加密货币.区块链从去中心化加密货币发展而来,随着区块链的进一步发展,去中心化加密货币已经成为区块链的主要应用之一. ...
P2P 关键技术研究综述
1
2010
... 对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示. ...
P2P 关键技术研究综述
1
2010
... 对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示. ...
Epidemic algorithms for replicated database maintenance
1
1988
... 传播层实现对等节点间数据的基本传输,包括2 种数据传播方式:单点传播和多点传播.单点传播是指数据在2个已知节点间直接进行传输而不经过其他节点转发的传播方式;多点传播是指接收数据的节点通过广播向邻近节点进行数据转发的传播方式,区块链网络普遍基于Gossip协议[10]实现洪泛传播.连接层用于获取节点信息,监测和改变节点间连通状态,确保节点间链路的可用性(availability).具体而言,连接层协议帮助新加入节点获取路由表数据,通过定时心跳监测为节点保持稳定连接,在邻居节点失效等情况下为节点关闭连接等.交互逻辑层是区块链网络的核心,从主要流程上看,该层协议承载对等节点间账本数据的同步、交易和区块数据的传输、数据校验结果的反馈等信息交互逻辑,除此之外,还为节点选举、共识算法实施等复杂操作和扩展应用提供消息通路. ...
Information propagation in the bitcoin network
1
2013
... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...
Locality based approach to improve propagation delay on the bitcoin peer-to-peer network
1
2017
... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...
DHT clustering for load balancing considering blockchain data size
1
2018
... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...
An analysis of anonymity in bitcoin using P2P network traffic
2014
Deanonymisation of clients in bitcoin P2P network
2014
Dandelion:redesigning the bitcoin network for anonymity
1
2017
... 匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害.Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击. ...
Dandelion++:lightweight cryptocurrency networking with formal anonymity guarantees
1
2018
... 匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害.Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击. ...
Eclipse attacks on Bitcoin’s peer-to-peer network
1
2015
... 区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击.为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案.Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性.Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能. ...
Hijacking bitcoin:routing attacks on cryptocurrencies
2
2017
... 区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击.为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案.Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性.Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能. ...
... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...
Improving authenticated dynamic dictionaries,with applications to cryptocurrencies
1
2017
... 高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种.为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究.Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程.Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销. ...
GEM^2-tree:a gas-efficient structure for authenticated range queries in blockchain
1
2019
... 高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种.为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究.Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程.Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销. ...
An analysis of anonymity in the bitcoin system
1
2011
... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...
A fistful of bitcoins:characterizing payments among men with no names
1
2013
... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...
Blockchain transaction analysis using dominant sets
1
2017
... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...
Increasing anonymity in bitcoin
1
2014
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
Zerocoin:anonymous distributed e-cash from bitcoin
1
2013
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
Zerocash:decentralized anonymous payments from bitcoin
1
2014
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
A anti-quantum transaction authentication approach in blockchain
1
2018
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
The sybil attack
1
2002
... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...
Double-spending fast payments in bitcoin
1
2012
... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...
The byzantine generals problem
1
1982
... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...
Consensus in the age of blockchains
1
... 状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论.其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态.假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性.同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息.状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议.其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同.学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题. ...
Consensus in the presence of partial synchrony
2
1988
... 状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论.其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态.假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性.同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息.状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议.其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同.学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题. ...
... 比特币在网络层采用非结构化方式组网,路由表呈现随机性.节点间则采用多点传播方式传递数据,曾基于Gossip协议实现,为提高网络的抗匿名分析能力改为基于Diffusion协议实现[33].节点利用一系列控制协议确保链路的可用性,包括版本获取(Vetsion/Verack)、地址获取(Addr/GetAddr)、心跳信息(PING/PONG)等.新节点入网时,首先向硬编码 DNS 节点(种子节点)请求初始节点列表;然后向初始节点随机请求它们路由表中的节点信息,以此生成自己的路由表;最后节点通过控制协议与这些节点建立连接,并根据信息交互的频率更新路由表中节点时间戳,从而保证路由表中的节点都是活动的.交互逻辑层为建立共识交互通道,提供了区块获取(GetBlock)、交易验证(MerkleBlock)、主链选择(CmpctBlock)等协议;轻节点只需要进行简单的区块头验证,因此通过头验证(GetHeader/Header)协议和连接层中的过滤设置协议指定需要验证的区块头即可建立简单验证通路.在安全机制方面,比特币网络可选择利用匿名通信网络Tor作为数据传输承载,通过沿路径的层层数据加密机制来保护对端身份. ...
Bitcoin and beyond:a technical survey on decentralized digital currencies
1
2016
... 区块链网络中主要包含PoX(poof of X)[34]、BFT(byzantine-fault tolerant)和 CFT(crash-fault tolerant)类基础共识协议.PoX 类协议是以 PoW (proof of work)为代表的基于奖惩机制驱动的新型共识协议,为了适应数据吞吐量、资源利用率和安全性的需求,人们又提出PoS(proof of stake)、PoST (proof of space-time)等改进协议.它们的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.BFT类协议是指解决拜占庭容错问题的传统共识协议及其改良协议,包括PBFT、BFT-SMaRt、Tendermint等.CFT类协议用于实现崩溃容错,通过身份证明等手段规避节点作恶的情况,仅考虑节点或网络的崩溃(crash)故障,主要包括Raft、Paxos、Kafka等协议. ...
Blockchains consensus protocols in the wild
1
2017
... 非许可链和许可链的开放程度和容错需求存在差异,共识层面技术在两者之间产生了较大区别.具体而言,非许可链完全开放,需要抵御严重的拜占庭风险,多采用PoX、BFT类协议并配合奖惩机制实现共识.许可链拥有准入机制,网络中节点身份可知,一定程度降低了拜占庭风险,因此可采用BFT类协议、CFT类协议构建相同的信任模型[35]. ...
Practical byzantine fault tolerance and proactive recovery
1
2002
... PBFT是 BFT经典共识协议,其主要流程如图8 所示.PBFT将节点分为主节点和副节点,其中主节点负责将交易打包成区块,副节点参与验证和转发,假设作恶节点数量为f.PBFT共识主要分为预准备、准备和接受3个阶段,主节点首先收集交易后排序并提出合法区块提案;其余节点先验证提案的合法性,然后根据区块内交易顺序依次执行并将结果摘要组播;各节点收到2f个与自身相同的摘要后便组播接受投票;当节点收到超过2f+1个投票时便存储区块及其产生的新状态[36]. ...
In search of an understandable consensus algorithm
1
2015
... Raft[37]是典型的崩溃容错共识协议,以可用性强著称.Raft将节点分为跟随节点、候选节点和领导节点,领导节点负责将交易打包成区块,追随节点响应领导节点的同步指令,候选节点完成领导节点的选举工作.当网络运行稳定时,只存在领导节点和追随节点,领导节点向追随节点推送区块数据从而实现同步.节点均设置生存时间决定角色变化周期,领导节点的心跳信息不断重置追随节点的生存时间,当领导节点发生崩溃时,追随节点自动转化为候选节点并进入选举流程,实现网络自恢复. ...
Proofs of useful work
1
2017
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
Comparative analysis of blockchain consensus algorithms
1
2018
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
Ouroboros:a provably secure proof-of-stake blockchain protocol
1
2017
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
Tight proofs of space and replication
1
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
A vademecum on blockchain technologies:when,which,and how
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
A survey on consensus mechanisms and mining strategy management in blockchain networks
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
Formal modeling and verification of a federated byzantine agreement algorithm for blockchain platforms
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
An overview of blockchain technology:architecture,consensus,and future trends
1
2017
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
HotStuff:BFT consensus in the lens of blockchain
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
Libra critique towards global decentralized financial system
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
Proof of activity:extending bitcoin’s proof of work via proof of stake
1
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Bitcoin meets strong consistency
1
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Enhancing bitcoin security and performance with strong consistency via collective signing
1
2016
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Casper the friendly finality gadget
1
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Bitcoin and beyond:a technical survey on decentralized digital currencies
1
2016
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
Non-interactive proofs of proof-of-work
1
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
A secure sharding protocol for open blockchains
1
2016
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
OmniLedger:a secure,scale-out,decentralized ledger via sharding
1
2018
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
PolyShard:coded sharding achieves linearly scaling efficiency and security simultaneously
1
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
A survey on the scalability of blockchain systems
1
2019
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
Scalable funding of bitcoin micropayment channel networks
1
2017
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
Making smart contracts smarter
1
2016
... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...
Vandal:a scalable security analysis framework for smart contracts
1
2018
... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...
ContractFuzzer:fuzzing smart contracts for vulnerability detection
1
2018
... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...
Decentralized user-centric access control using pubsub over blockchain
1
2017
... 智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景.智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战.区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决.Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据. ...
Pseudonym management through blockchain:cost-efficient privacy preservation on intelligent transportation systems
1
2019
... 智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景.智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战.区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决.Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据. ...
Hosting virtual IoT resources on edge-hosts with blockchain
1
2016
... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...
Blockchain based distributed control system for edge computing
1
2017
... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...
Integration of fog computing and blockchain technology using the plasma framework
1
2019
... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...
Blockchained on-device federated learning
1
2018
... 人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标.人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费.此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大.区块链不可篡改的特性可以实现感知和训练过程的可信.另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率.Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果.Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库. ...
Proof-of- learning:a blockchain consensus mechanism based on machine learning competitions
1
2019
... 人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标.人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费.此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大.区块链不可篡改的特性可以实现感知和训练过程的可信.另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率.Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果.Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库. ...
基于命名数据网络的区块链信息传输机制
1
2018
... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...
基于命名数据网络的区块链信息传输机制
1
2018
... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...
/
〈
〉
期刊网站版权所有 © 2021 《通信学报》编辑部
地址:北京市丰台区东铁匠营街道顺八条1号院B座“北阳晨光大厦”2层 邮编:100079
电话:010-53878169、53859522、53878236 电子邮件:xuebao@ptpress.com.cn; txxb@bjxintong.com.cn
期刊网站版权所有 © 2021 《通信学报》编辑部
地址:北京市丰台区东铁匠营街道顺八条1号院B座“北阳晨光大厦”2层
邮编:100079 电话:010-53878169、53859522、53878236
电子邮件:txxb@bjxintong.com.cn
区块链技术研究综述:原理、进展与应用
区块链技术研究综述:原理、进展与应用
主管单位:中国科学技术协会
主办单位:中国通信学会
ISSN 1000-436X CN 11-2102/TN
首页
期刊简介
编委会
投稿指南
道德声明
期刊协议
期刊订阅
会议活动
下载中心
联系我们
English
期刊介绍
期刊信息
投稿须知
稿件格式要求
审稿流程
下载中心
联系方式
Toggle navigation
首页
期刊简介
期刊介绍
期刊信息
编委会
投稿指南
投稿须知
稿件格式要求
审稿流程
下载中心
道德声明
期刊协议
期刊订阅
会议活动
联系我们
English
通信学报, 2020, 41(1): 134-151 doi: 10.11959/j.issn.1000-436x.2020027
综述
区块链技术研究综述:原理、进展与应用
曾诗钦1, 霍如2,3, 黄韬1,3, 刘江1,3, 汪硕1,3, 冯伟4
1 北京邮电大学网络与交换国家重点实验室,北京 100876
2 北京工业大学北京未来网络科技高精尖创新中心,北京 100124
3 网络通信与安全紫金山实验室,江苏 南京 211111
4 工业和信息化部信息化和软件服务业司,北京 100846
Survey of blockchain:principle,progress and application
ZENG Shiqin1, HUO Ru2,3, HUANG Tao1,3, LIU Jiang1,3, WANG Shuo1,3, FENG Wei4
1 State Key Laboratory of Networking and Switching Technology,Beijing University of Posts and Telecommunications,Beijing 100876,China
2 Beijing Advanced Innovation Center for Future Internet Technology,Beijing University of Technology,Beijing 100124,China
3 Purple Mountain Laboratories,Nanjing 211111,China
4 Department of Information Technology Application and Software Services,Beijing 100846,China
通讯作者: 霍如,huoru@bjut.edu.cn
修回日期: 2019-12-12
网络出版日期: 2020-01-25
基金资助:
国家高技术研究发展计划(“863”计划)基金资助项目. 2015AA015702未来网络操作系统发展战略研究基金资助项目. 2019-XY-5
Revised: 2019-12-12
Online: 2020-01-25
Fund supported:
The National High Technology Research and Development Program of China (863 Program). 2015AA015702The Development Strategy Research of Future Network Operating System. 2019-XY-5
作者简介 About authors
曾诗钦(1995-),男,广西南宁人,北京邮电大学博士生,主要研究方向为区块链、标识解析技术、工业互联网
。
霍如(1988-),女,黑龙江哈尔滨人,博士,北京工业大学讲师,主要研究方向为计算机网络、信息中心网络、网络缓存策略与算法、工业互联网、标识解析技术等。
。
黄韬(1980-),男,重庆人,博士,北京邮电大学教授,主要研究方向为未来网络体系架构、软件定义网络、网络虚拟化等。
。
刘江(1983-),男,河南郑州人,博士,北京邮电大学教授,主要研究方向为未来网络体系架构、软件定义网络、网络虚拟化、信息中心网络等。
。
汪硕(1991-),男,河南灵宝人,博士,北京邮电大学在站博士后,主要研究方向为数据中心网络、软件定义网络、网络流量调度等。
。
冯伟(1980-),男,河北邯郸人,博士,工业和信息化部副研究员,主要研究方向为工业互联网平台、数字孪生、信息化和工业化融合发展关键技术等
。
摘要
区块链是一种分布式账本技术,依靠智能合约等逻辑控制功能演变为完整的存储系统。其分类方式、服务模式和应用需求的变化导致核心技术形态的多样性发展。为了完整地认知区块链生态系统,设计了一个层次化的区块链技术体系结构,进一步深入剖析区块链每层结构的基本原理、技术关联以及研究进展,系统归纳典型区块链项目的技术选型和特点,最后给出智慧城市、工业互联网等区块链前沿应用方向,提出区块链技术挑战与研究展望。
关键词:
区块链
;
加密货币
;
去中心化
;
层次化技术体系结构
;
技术多样性
;
工业区块链
Abstract
Blockchain is a kind of distributed ledger technology that upgrades to a complete storage system by adding logic control functions such as intelligent contracts.With the changes of its classification,service mode and application requirements,the core technology forms of Blockchain show diversified development.In order to understand the Blockchain ecosystem thoroughly,a hierarchical technology architecture of Blockchain was proposed.Furthermore,each layer of blockchain was analyzed from the perspectives of basic principle,related technologies and research progress in-depth.Moreover,the technology selections and characteristics of typical Blockchain projects were summarized systematically.Finally,some application directions of blockchain frontiers,technology challenges and research prospects including Smart Cities and Industrial Internet were given.
Keywords:
blockchain
;
cryptocurrency
;
decentralization
;
hierarchical technology architecture
;
technology diversity
;
PDF (1174KB)
元数据
多维度评价
相关文章
导出
EndNote|
Ris|
Bibtex
收藏本文
本文引用格式
曾诗钦, 霍如, 黄韬, 刘江, 汪硕, 冯伟. 区块链技术研究综述:原理、进展与应用. 通信学报[J], 2020, 41(1): 134-151 doi:10.11959/j.issn.1000-436x.2020027
ZENG Shiqin. Survey of blockchain:principle,progress and application. Journal on Communications[J], 2020, 41(1): 134-151 doi:10.11959/j.issn.1000-436x.2020027
1 引言
2008年,中本聪提出了去中心化加密货币——比特币(bitcoin)的设计构想。2009年,比特币系统开始运行,标志着比特币的正式诞生。2010—2015 年,比特币逐渐进入大众视野。2016—2018年,随着各国陆续对比特币进行公开表态以及世界主流经济的不确定性增强,比特币的受关注程度激增,需求量迅速扩大。事实上,比特币是区块链技术最成功的应用场景之一。伴随着以太坊(ethereum)等开源区块链平台的诞生以及大量去中心化应用(DApp,decentralized application)的落地,区块链技术在更多的行业中得到了应用。
由于具备过程可信和去中心化两大特点,区块链能够在多利益主体参与的场景下以低成本的方式构建信任基础,旨在重塑社会信用体系。近两年来区块链发展迅速,人们开始尝试将其应用于金融、教育、医疗、物流等领域。但是,资源浪费、运行低效等问题制约着区块链的发展,这些因素造成区块链分类方式、服务模式和应用需求发生快速变化,进一步导致核心技术朝多样化方向发展,因此有必要采取通用的结构分析区块链项目的技术路线和特点,以梳理和明确区块链的研究方向。
区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值。袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势。上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析。本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望。
2 相关概念
随着区块链技术的深入研究,不断衍生出了很多相关的术语,例如“中心化”“去中心化”“公链”“联盟链”等。为了全面地了解区块链技术,并对区块链技术涉及的关键术语有系统的认知,本节将给出区块链及其相关概念的定义,以及它们的联系,更好地区分易使人混淆的术语。
2.1 中心化与去中心化
中心化(centralization)与去中心化(decentralization)最早用来描述社会治理权力的分布特征。从区块链应用角度出发,中心化是指以单个组织为枢纽构建信任关系的场景特点。例如,电子支付场景下用户必须通过银行的信息系统完成身份验证、信用审查和交易追溯等;电子商务场景下对端身份的验证必须依靠权威机构下发的数字证书完成。相反,去中心化是指不依靠单一组织进行信任构建的场景特点,该场景下每个组织的重要性基本相同。
2.2 加密货币
加密货币(cryptocurrency)是一类数字货币(digital currency)技术,它利用多种密码学方法处理货币数据,保证用户的匿名性、价值的有效性;利用可信设施发放和核对货币数据,保证货币数量的可控性、资产记录的可审核性,从而使货币数据成为具备流通属性的价值交换媒介,同时保护使用者的隐私。
加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示。
图1
新窗口打开|
下载原图ZIP|
生成PPT
图1
“electronic cash”交易模型
交易开始前,付款者使用银行账户兑换加密货币,然后将货币数据发送给领款者,领款者向银行发起核对请求,若该数据为银行签发的合法货币数据,那么银行将向领款者账户记入等额数值。通过盲签名技术,银行完成对货币数据的认证,而无法获得发放货币与接收货币之间的关联,从而保证了价值的有效性、用户的匿名性;银行天然具有发放币种、账户记录的能力,因此保证了货币数量的可控性与资产记录的可审核性。
最早的加密货币构想将银行作为构建信任的基础,呈现中心化特点。此后,加密货币朝着去中心化方向发展,并试图用工作量证明(PoW,poof of work)[8]或其改进方法定义价值。比特币在此基础上,采用新型分布式账本技术保证被所有节点维护的数据不可篡改,从而成功构建信任基础,成为真正意义上的去中心化加密货币。区块链从去中心化加密货币发展而来,随着区块链的进一步发展,去中心化加密货币已经成为区块链的主要应用之一。
2.3 区块链及工作流程
一般认为,区块链是一种融合多种现有技术的新型分布式计算和存储范式。它利用分布式共识算法生成和更新数据,并利用对等网络进行节点间的数据传输,结合密码学原理和时间戳等技术的分布式账本保证存储数据的不可篡改,利用自动化脚本代码或智能合约实现上层应用逻辑。如果说传统数据库实现数据的单方维护,那么区块链则实现多方维护相同数据,保证数据的安全性和业务的公平性。区块链的工作流程主要包含生成区块、共识验证、账本维护3个步骤。
1) 生成区块。区块链节点收集广播在网络中的交易——需要记录的数据条目,然后将这些交易打包成区块——具有特定结构的数据集。
2) 共识验证。节点将区块广播至网络中,全网节点接收大量区块后进行顺序的共识和内容的验证,形成账本——具有特定结构的区块集。
3) 账本维护。节点长期存储验证通过的账本数据并提供回溯检验等功能,为上层应用提供账本访问接口。
2.4 区块链类型
根据不同场景下的信任构建方式,可将区块链分为2类:非许可链(permissionless blockchain)和许可链(permissioned blockchain)。
非许可链也称为公链(public blockchain),是一种完全开放的区块链,即任何人都可以加入网络并参与完整的共识记账过程,彼此之间不需要信任。公链以消耗算力等方式建立全网节点的信任关系,具备完全去中心化特点的同时也带来资源浪费、效率低下等问题。公链多应用于比特币等去监管、匿名化、自由的加密货币场景。
许可链是一种半开放式的区块链,只有指定的成员可以加入网络,且每个成员的参与权各有不同。许可链往往通过颁发身份证书的方式事先建立信任关系,具备部分去中心化特点,相比于非许可链拥有更高的效率。进一步,许可链分为联盟链(consortium blockchain)和私链(fully private blockchain)。联盟链由多个机构组成的联盟构建,账本的生成、共识、维护分别由联盟指定的成员参与完成。在结合区块链与其他技术进行场景创新时,公链的完全开放与去中心化特性并非必需,其低效率更无法满足需求,因此联盟链在某些场景中成为实适用性更强的区块链选型。私链相较联盟链而言中心化程度更高,其数据的产生、共识、维护过程完全由单个组织掌握,被该组织指定的成员仅具有账本的读取权限。
3 区块链体系结构
根据区块链发展现状,本节将归纳区块链的通用层次技术结构、基本原理和研究进展。
现有项目的技术选型多数由比特币演变而来,所以区块链主要基于对等网络通信,拥有新型的基础数据结构,通过全网节点共识实现公共账本数据的统一。但是区块链也存在效率低、功耗大和可扩展性差等问题,因此人们进一步以共识算法、处理模型、交易模式创新为切入点进行技术方案改进,并在此基础上丰富了逻辑控制功能和区块链应用功能,使其成为一种新型计算模式。本文给出如图2 所示的区块链通用层次化技术结构,自下而上分别为网络层、数据层、共识层、控制层和应用层。其中,网络层是区块链信息交互的基础,承载节点间的共识过程和数据传输,主要包括建立在基础网络之上的对等网络及其安全机制;数据层包括区块链基本数据结构及其原理;共识层保证节点数据的一致性,封装各类共识算法和驱动节点共识行为的奖惩机制;控制层包括沙盒环境、自动化脚本、智能合约和权限管理等,提供区块链可编程特性,实现对区块数据、业务数据、组织结构的控制;应用层包括区块链的相关应用场景和实践案例,通过调用控制合约提供的接口进行数据交互,由于该层次不涉及区块链原理,因此在第 5节中单独介绍。
3.1 网络层
网络层关注区块链网络的基础通信方式——对等(P2P,peer-to-peer)网络。对等网络是区别于“客户端/服务器”服务模式的计算机通信与存储架构,网络中每个节点既是数据的提供者也是数据的使用者,节点间通过直接交换实现计算机资源与信息的共享,因此每个节点地位均等。区块链网络层由组网结构、通信机制、安全机制组成。其中组网结构描述节点间的路由和拓扑关系,通信机制用于实现节点间的信息交互,安全机制涵盖对端安全和传输安全。
图2
新窗口打开|
下载原图ZIP|
生成PPT
图2
区块链层次化技术结构
1) 组网结构
对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示。
图3
新窗口打开|
下载原图ZIP|
生成PPT
图3
区块链组网结构
无结构对等网络是指网络中不存在特殊中继节点、节点路由表的生成无确定规律、网络拓扑呈现随机图状的一类对等网络。该类网络结构松散,设计简洁,具有良好的容错性和匿名性,但由于采用洪泛机制作为信息传播方式,其可扩展性较差。典型的协议有Gnutella等。
结构化对等网络是指网络中不存在特殊中继节点、节点间根据特定算法生成路由表、网络拓扑具有严格规律的一类对等网络。该类网络实现复杂但可扩展性良好,通过结构化寻址可以精确定位节点从而实现多样化功能。常见的结构化网络以DHT (distributed hash table)网络为主,典型的算法有Chord、Kademlia等。
混合式对等网络是指节点通过分布式中继节点实现全网消息路由的一类对等网络。每个中继节点维护部分网络节点地址、文件索引等工作,共同实现数据中继的功能。典型的协议有Kazza等。
2) 通信机制
通信机制是指区块链网络中各节点间的对等通信协议,建立在 TCP/UDP 之上,位于计算机网络协议栈的应用层,如图4所示。该机制承载对等网络的具体交互逻辑,例如节点握手、心跳检测、交易和区块传播等。由于包含的协议功能不同(例如基础链接与扩展交互),本文将通信机制细分为3个层次:传播层、连接层和交互逻辑层。
传播层实现对等节点间数据的基本传输,包括2 种数据传播方式:单点传播和多点传播。单点传播是指数据在2个已知节点间直接进行传输而不经过其他节点转发的传播方式;多点传播是指接收数据的节点通过广播向邻近节点进行数据转发的传播方式,区块链网络普遍基于Gossip协议[10]实现洪泛传播。连接层用于获取节点信息,监测和改变节点间连通状态,确保节点间链路的可用性(availability)。具体而言,连接层协议帮助新加入节点获取路由表数据,通过定时心跳监测为节点保持稳定连接,在邻居节点失效等情况下为节点关闭连接等。交互逻辑层是区块链网络的核心,从主要流程上看,该层协议承载对等节点间账本数据的同步、交易和区块数据的传输、数据校验结果的反馈等信息交互逻辑,除此之外,还为节点选举、共识算法实施等复杂操作和扩展应用提供消息通路。
图4
新窗口打开|
下载原图ZIP|
生成PPT
图4
区块链网络通信机制
3) 安全机制
安全是每个系统必须具备的要素,以比特币为代表的非许可链利用其数据层和共识层的机制,依靠消耗算力的方式保证数据的一致性和有效性,没有考虑数据传输过程的安全性,反而将其建立在不可信的透明P2P网络上。随着隐私保护需求的提出,非许可链也采用了一些网络匿名通信方法,例如匿名网络Tor(the onion router)通过沿路径的层层数据加密机制来保护对端身份。许可链对成员的可信程度有更高的要求,在网络层面采取适当的安全机制,主要包括身份安全和传输安全两方面。身份安全是许可链的主要安全需求,保证端到端的可信,一般采用数字签名技术实现,对节点的全生命周期(例如节点交互、投票、同步等)进行签名,从而实现许可链的准入许可。传输安全防止数据在传输过程中遭到篡改或监听,常采用基于TLS的点对点传输和基于Hash算法的数据验证技术。
4) 研究现状
目前,区块链网络层研究主要集中在3个方向:测量优化、匿名分析与隐私保护、安全防护。
随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络。Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法。Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动。Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡。
匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害。Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击。
区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击。为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案。Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性。Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能。
3.2 数据层
区块链中的“块”和“链”都是用来描述其数据结构特征的词汇,可见数据层是区块链技术体系的核心。区块链数据层定义了各节点中数据的联系和组织方式,利用多种算法和机制保证数据的强关联性和验证的高效性,从而使区块链具备实用的数据防篡改特性。除此之外,区块链网络中每个节点存储完整数据的行为增加了信息泄露的风险,隐私保护便成为迫切需求,而数据层通过非对称加密等密码学原理实现了承载应用信息的匿名保护,促进区块链应用普及和生态构建。因此,从不同应用信息的承载方式出发,考虑数据关联性、验证高效性和信息匿名性需求,可将数据层关键技术分为信息模型、关联验证结构和加密机制3类。
1) 信息模型
区块链承载了不同应用的数据(例如支付记录、审计数据、供应链信息等),而信息模型则是指节点记录应用信息的逻辑结构,主要包括UTXO (unspent transaction output)、基于账户和键值对模型3种。需要说明的是,在大部分区块链网络中,每个用户均被分配了交易地址,该地址由一对公私钥生成,使用地址标识用户并通过数字签名的方式检验交易的有效性。
UTXO是比特币交易中的核心概念,逐渐演变为区块链在金融领域应用的主要信息模型,如图5所示。每笔交易(Tx)由输入数据(Input)和输出数据(Output)组成,输出数据为交易金额(Num)和用户公钥地址(Adr),而输入数据为上一笔交易输出数据的指针(Pointer),直到该比特币的初始交易由区块链网络向节点发放。
图5
新窗口打开|
下载原图ZIP|
生成PPT
图5
UTXO信息模型
基于账户的信息模型以键值对的形式存储数据,维护着账户当前的有效余额,通过执行交易来不断更新账户数据。相比于UTXO,基于账户的信息模型与银行的储蓄账户类似,更直观和高效。
不管是UTXO还是基于账户的信息模型,都建立在更为通用的键值对模型上,因此为了适应更广泛的应用场景,键值对模型可直接用于存储业务数据,表现为表单或集合形式。该模型利于数据的存取并支持更复杂的业务逻辑,但是也存在复杂度高的问题。
2) 关联验证结构
区块链之所以具备防篡改特性,得益于链状数据结构的强关联性。该结构确定了数据之间的绑定关系,当某个数据被篡改时,该关系将会遭到破坏。由于伪造这种关系的代价是极高的,相反检验该关系的工作量很小,因此篡改成功率被降至极低。链状结构的基本数据单位是“区块(block)”,基本内容如图6所示。
图6
新窗口打开|
下载原图ZIP|
生成PPT
图6
基本区块结构
区块由区块头(Header)和区块体(Body)两部分组成,区块体包含一定数量的交易集合;区块头通过前继散列(PrevHash)维持与上一区块的关联从而形成链状结构,通过MKT(MerkleTree)生成的根散列(RootHash)快速验证区块体交易集合的完整性。因此散列算法和 MKT 是关联验证结构的关键,以下将对此展开介绍。
散列(Hash)算法也称为散列函数,它实现了明文到密文的不可逆映射;同时,散列算法可以将任意长度的输入经过变化得到固定长度的输出;最后,即使元数据有细微差距,变化后的输出也会产生显著不同。利用散列算法的单向、定长和差异放大的特征,节点通过比对当前区块头的前继散列即可确定上一区块内容的正确性,使区块的链状结构得以维系。区块链中常用的散列算法包括SHA256等。
MKT包括根散列、散列分支和交易数据。MKT首先对交易进行散列运算,再对这些散列值进行分组散列,最后逐级递归直至根散列。MKT 带来诸多好处:一方面,对根散列的完整性确定即间接地实现交易的完整性确认,提升高效性;另一方面,根据交易的散列路径(例如 Tx1:Hash2、Hash34)可降低验证某交易存在性的复杂度,若交易总数为N,那么MKT可将复杂度由N降为lbN。除此之外,还有其他数据结构与其配合使用,例如以太坊通过MPT(Merkle Patricia tree)——PatriciaTrie 和MerkleTree混合结构,高效验证其基于账户的信息模型数据。
此外,区块头中还可根据不同项目需求灵活添加其他信息,例如添加时间戳为区块链加入时间维度,形成时序记录;添加记账节点标识,以维护成块节点的权益;添加交易数量,进一步提高区块体数据的安全性。
3) 加密机制
由上述加密货币原理可知,经比特币演变的区块链技术具备与生俱来的匿名性,通过非对称加密等技术既保证了用户的隐私又检验了用户身份。非对称加密技术是指加密者和解密者利用2个不同秘钥完成加解密,且秘钥之间不能相互推导的加密机制。常用的非对称加密算法包括 RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等。对应图5,Alice 向 Bob 发起交易 Tx2,Alice使用Bob的公钥对交易签名,仅当Bob使用私钥验证该数字签名时,才有权利创建另一笔交易,使自身拥有的币生效。该机制将公钥作为基础标识用户,使用户身份不可读,一定程度上保护了隐私。
4) 研究现状
数据层面的研究方向集中在高效验证、匿名分析、隐私保护3个方面。
高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种。为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究。Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程。Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销。
区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接。Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度。Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址。Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率。
隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私。Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性。非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成。
3.3 共识层
区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测。因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题。实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究。
状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论。其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态。假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性。同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息。状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议。其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同。学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题。
区块链网络中主要包含PoX(poof of X)[34]、BFT(byzantine-fault tolerant)和 CFT(crash-fault tolerant)类基础共识协议。PoX 类协议是以 PoW (proof of work)为代表的基于奖惩机制驱动的新型共识协议,为了适应数据吞吐量、资源利用率和安全性的需求,人们又提出PoS(proof of stake)、PoST (proof of space-time)等改进协议。它们的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错。BFT类协议是指解决拜占庭容错问题的传统共识协议及其改良协议,包括PBFT、BFT-SMaRt、Tendermint等。CFT类协议用于实现崩溃容错,通过身份证明等手段规避节点作恶的情况,仅考虑节点或网络的崩溃(crash)故障,主要包括Raft、Paxos、Kafka等协议。
非许可链和许可链的开放程度和容错需求存在差异,共识层面技术在两者之间产生了较大区别。具体而言,非许可链完全开放,需要抵御严重的拜占庭风险,多采用PoX、BFT类协议并配合奖惩机制实现共识。许可链拥有准入机制,网络中节点身份可知,一定程度降低了拜占庭风险,因此可采用BFT类协议、CFT类协议构建相同的信任模型[35]。
限于篇幅原因,本节仅以 PoW、PBFT、Raft为切入进行3类协议的分析。
1) PoX类协议
PoW也称为Nakamoto协议,是比特币及其衍生项目使用的核心共识协议,如图7所示。
图7
新窗口打开|
下载原图ZIP|
生成PPT
图7
PoW协议示意
该协议在区块链头结构中加入随机数Nonce,并设计证明依据:为生成新区块,节点必须计算出合适的 Nonce 值,使新生成的区块头经过双重SHA256 运算后小于特定阈值。该协议的整体流程为:全网节点分别计算证明依据,成功求解的节点确定合法区块并广播,其余节点对合法区块头进行验证,若验证无误则与本地区块形成链状结构并转发,最终达到全网共识。PoW是随机性协议,任何节点都有可能求出依据,合法区块的不唯一将导致生成分支链,此时节点根据“最长链原则”选择一定时间内生成的最长链作为主链而抛弃其余分支链,从而使各节点数据最终收敛。
PoW协议采用随机性算力选举机制,实现拜占庭容错的关键在于记账权的争夺,目前寻找证明依据的方法只有暴力搜索,其速度完全取决于计算芯片的性能,因此当诚实节点数量过半,即“诚实算力”过半时,PoW便能使合法分支链保持最快的增长速度,也即保证主链一直是合法的。PoW是一种依靠饱和算力竞争纠正拜占庭错误的共识协议,关注区块产生、传播过程中的拜占庭容错,在保证防止双花攻击的同时也存在资源浪费、可扩展性差等问题。
2) BFT类协议
PBFT是 BFT经典共识协议,其主要流程如图8 所示。PBFT将节点分为主节点和副节点,其中主节点负责将交易打包成区块,副节点参与验证和转发,假设作恶节点数量为f。PBFT共识主要分为预准备、准备和接受3个阶段,主节点首先收集交易后排序并提出合法区块提案;其余节点先验证提案的合法性,然后根据区块内交易顺序依次执行并将结果摘要组播;各节点收到2f个与自身相同的摘要后便组播接受投票;当节点收到超过2f+1个投票时便存储区块及其产生的新状态[36]。
图8
新窗口打开|
下载原图ZIP|
生成PPT
图8
PBFT协议示意
PBFT 协议解决消息传播过程的拜占庭容错,由于算法复杂度为 O(n2)且存在确定性的主节点选举规则,PBFT 仅适用于节点数量少的小型许可链系统。
3) CFT类协议
Raft[37]是典型的崩溃容错共识协议,以可用性强著称。Raft将节点分为跟随节点、候选节点和领导节点,领导节点负责将交易打包成区块,追随节点响应领导节点的同步指令,候选节点完成领导节点的选举工作。当网络运行稳定时,只存在领导节点和追随节点,领导节点向追随节点推送区块数据从而实现同步。节点均设置生存时间决定角色变化周期,领导节点的心跳信息不断重置追随节点的生存时间,当领导节点发生崩溃时,追随节点自动转化为候选节点并进入选举流程,实现网络自恢复。
Raft协议实现崩溃容错的关键在于领导节点的自选举机制,部分许可链选择降低可信需求,将拜占庭容错转换为崩溃容错,从而提升共识速度。
4) 奖惩机制
奖惩机制包括激励机制与惩罚策略,其中激励机制是为了弥补节点算力消耗、平衡协议运行收益比的措施,当节点能够在共识过程中获得收益时才会进行记账权的争夺,因此激励机制利用经济效益驱动各共识协议可持续运行。激励机制一般基于价值均衡理论设计,具有代表性的机制包括PPLNS、PPS等。为了实现收益最大化,节点可能采用不诚实的运行策略(如扣块攻击、自私挖矿等),损害了诚实节点的利益,惩罚策略基于博弈论等理论对节点进行惩罚,从而纠正不端节点的行为,维护共识可持续性。
5) 研究现状
随着可扩展性和性能需求的多样化发展,除了传统的BFT、CFT协议和PoX协议衍生研究,还产生了混合型协议(Hybrid)——主要为 PoX类协议混合以及PoX-BFT协议混合。因此本节从PoX类、BFT类以及Hybrid类协议归纳共识层研究进展。
如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错。uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费。PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块。PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举。Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性。PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用。
BFT协议有较长的发展史,在区块链研究中被赋予了新的活力。SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识。Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性。HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致。LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能。
Hybrid 类协议是研究趋势之一。PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享。PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力。ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延。Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份。
3.4 控制层
区块链节点基于对等通信网络与基础数据结构进行区块交互,通过共识协议实现数据一致,从而形成了全网统一的账本。控制层是各类应用与账本产生交互的中枢,如果将账本比作数据库,那么控制层提供了数据库模型,以及相应封装、操作的方法。具体而言,控制层由处理模型、控制合约和执行环境组成。处理模型从区块链系统的角度分析和描述业务/交易处理方式的差异。控制合约将业务逻辑转化为交易、区块、账本的具体操作。执行环境为节点封装通用的运行资源,使区块链具备稳定的可移植性。
1) 处理模型
账本用于存储全部或部分业务数据,那么依据该数据的分布特征可将处理模型分为链上(on-chain)和链下(off-chain)2种。
链上模型是指业务数据完全存储在账本中,业务逻辑通过账本的直接存取实现数据交互。该模型的信任基础建立在强关联性的账本结构中,不仅实现防篡改而且简化了上层控制逻辑,但是过量的资源消耗与庞大的数据增长使系统的可扩展性达到瓶颈,因此该模型适用于数据量小、安全性强、去中心化和透明程度高的业务。
链下模型是指业务数据部分或完全存储在账本之外,只在账本中存储指针以及其他证明业务数据存在性、真实性和有效性的数据。该模型以“最小化信任成本”为准则,将信任基础建立在账本与链下数据的证明机制中,降低账本构建成本。由于与公开的账本解耦,该模型具有良好的隐私性和可拓展性,适用于去中心化程度低、隐私性强、吞吐量大的业务。
2) 控制合约
区块链中控制合约经历了2个发展阶段,首先是以比特币为代表的非图灵完备的自动化脚本,用于锁定和解锁基于UTXO信息模型的交易,与强关联账本共同克服了双花等问题,使交易数据具备流通价值。其次是以以太坊为代表的图灵完备的智能合约,智能合约是一种基于账本数据自动执行的数字化合同,由开发者根据需求预先定义,是上层应用将业务逻辑编译为节点和账本操作集合的关键。智能合约通过允许相互不信任的参与者在没有可信第三方的情况下就复杂合同的执行结果达成协议,使合约具备可编程性,实现业务逻辑的灵活定义并扩展区块链的使用。
3) 执行环境
执行环境是指执行控制合约所需要的条件,主要分为原生环境和沙盒环境。原生环境是指合约与节点系统紧耦合,经过源码编译后直接执行,该方式下合约能经历完善的静态分析,提高安全性。沙盒环境为节点运行提供必要的虚拟环境,包括网络通信、数据存储以及图灵完备的计算/控制环境等,在虚拟机中运行的合约更新方便、灵活性强,其产生的漏洞也可能造成损失。
4) 研究现状
控制层的研究方向主要集中在可扩展性优化与安全防护2个方面。
侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷。Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花。Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余。分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载。ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证。OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性。区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障。上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案。实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付。Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认。
一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点。Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题。Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利。Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测。
4 技术选型分析
区别于其他技术,区块链发展过程中最显著的特点是与产业界紧密结合,伴随着加密货币和分布式应用的兴起,业界出现了许多区块链项目。这些项目是区块链技术的具体实现,既有相似之处又各具特点,本节将根据前文所述层次化结构对比特币、以太坊和超级账本Fabric项目进行分析,然后简要介绍其他代表性项目并归纳和对比各项目的技术选型及特点。
4.1 比特币
比特币是目前规模最大、影响范围最广的非许可链开源项目。图9为比特币项目以账本为核心的运行模式,也是所有非许可链项目的雏形。比特币网络为用户提供兑换和转账业务,该业务的价值流通媒介由账本确定的交易数据——比特币支撑。为了保持账本的稳定和数据的权威性,业务制定奖励机制,即账本为节点产生新的比特币或用户支付比特币,以此驱动节点共同维护账本。
图9
新窗口打开|
下载原图ZIP|
生成PPT
图9
比特币运行模式
比特币网络主要由2种节点构成:全节点和轻节点。全节点是功能完备的区块链节点,而轻节点不存储完整的账本数据,仅具备验证与转发功能。全节点也称为矿工节点,计算证明依据的过程被称为“挖矿”,目前全球拥有近 1 万个全节点;矿池则是依靠奖励分配策略将算力汇集起来的矿工群;除此之外,还有用于存储私钥和地址信息、发起交易的客户端(钱包)。
1) 网络层
比特币在网络层采用非结构化方式组网,路由表呈现随机性。节点间则采用多点传播方式传递数据,曾基于Gossip协议实现,为提高网络的抗匿名分析能力改为基于Diffusion协议实现[33]。节点利用一系列控制协议确保链路的可用性,包括版本获取(Vetsion/Verack)、地址获取(Addr/GetAddr)、心跳信息(PING/PONG)等。新节点入网时,首先向硬编码 DNS 节点(种子节点)请求初始节点列表;然后向初始节点随机请求它们路由表中的节点信息,以此生成自己的路由表;最后节点通过控制协议与这些节点建立连接,并根据信息交互的频率更新路由表中节点时间戳,从而保证路由表中的节点都是活动的。交互逻辑层为建立共识交互通道,提供了区块获取(GetBlock)、交易验证(MerkleBlock)、主链选择(CmpctBlock)等协议;轻节点只需要进行简单的区块头验证,因此通过头验证(GetHeader/Header)协议和连接层中的过滤设置协议指定需要验证的区块头即可建立简单验证通路。在安全机制方面,比特币网络可选择利用匿名通信网络Tor作为数据传输承载,通过沿路径的层层数据加密机制来保护对端身份。
2) 数据层
比特币数据层面的技术选型已经被广泛研究,使用UTXO信息模型记录交易数据,实现所有权的简单、有效证明,利用 MKT、散列函数和时间戳实现区块的高效验证并产生强关联性。在加密机制方面,比特币采用参数为Secp256k1的椭圆曲线数字签名算法(ECDSA,elliptic curve digital signature algorithm)生成用户的公私钥,钱包地址则由公钥经过双重散列、Base58Check 编码等步骤生成,提高了可读性。
3) 共识层
比特币采用 PoW 算法实现节点共识,该算法证明依据中的阈值设定可以改变计算难度。计算难度由每小时生成区块的平均块数决定,如果生成得太快,难度就会增加。该机制是为了应对硬件升级或关注提升引起的算力变化,保持证明依据始终有效。目前该阈值被设定为10 min产出一个区块。除此之外,比特币利用奖惩机制保证共识的可持续运行,主要包括转账手续费、挖矿奖励和矿池分配策略等。
4) 控制层
比特币最初采用链上处理模型,并将控制语句直接记录在交易中,使用自动化锁定/解锁脚本验证UTXO模型中的比特币所有权。由于可扩展性和确认时延的限制,比特币产生多个侧链项目如Liquid、RSK、Drivechain等,以及链下处理项目Lightning Network等,从而优化交易速度。
4.2 以太坊
以太坊是第一个以智能合约为基础的可编程非许可链开源平台项目,支持使用区块链网络构建分布式应用,包括金融、音乐、游戏等类型;当满足某些条件时,这些应用将触发智能合约与区块链网络产生交互,以此实现其网络和存储功能,更重要的是衍生出更多场景应用和价值产物,例如以太猫,利用唯一标识为虚拟猫赋予价值;GitCoin,众筹软件开发平台等。
1) 网络层
以太坊底层对等网络协议簇称为DEVP2P,除了满足区块链网络功能外,还满足与以太坊相关联的任何联网应用程序的需求。DEVP2P将节点公钥作为标识,采用 Kademlia 算法计算节点的异或距离,从而实现结构化组网。DEVP2P主要由3种协议组成:节点发现协议RLPx、基础通信协议Wire和扩展协议Wire-Sub。节点间基于Gossip实现多点传播;新节点加入时首先向硬编码引导节点(bootstrap node)发送入网请求;然后引导节点根据Kademlia 算法计算与新节点逻辑距离最近的节点列表并返回;最后新节点向列表中节点发出握手请求,包括网络版本号、节点ID、监听端口等,与这些节点建立连接后则使用Ping/Pong机制保持连接。Wire子协议构建了交易获取、区块同步、共识交互等逻辑通路,与比特币类似,以太坊也为轻量级钱包客户端设计了简易以太坊协议(LES,light ethereum subprotocol)及其变体PIP。安全方面,节点在RLPx协议建立连接的过程中采用椭圆曲线集成加密方案(ECIES)生成公私钥,用于传输共享对称密钥,之后节点通过共享密钥加密承载数据以实现数据传输保护。
2) 数据层
以太坊通过散列函数维持区块的关联性,采用MPT实现账户状态的高效验证。基于账户的信息模型记录了用户的余额及其他 ERC 标准信息,其账户类型主要分为2类:外部账户和合约账户;外部账户用于发起交易和创建合约,合约账户用于在合约执行过程中创建交易。用户公私钥的生成与比特币相同,但是公钥经过散列算法Keccak-256计算后取20 B作为外部账户地址。
3) 共识层
以太坊采用 PoW 共识,将阈值设定为 15 s产出一个区块,计划在未来采用PoS或Casper共识协议。较低的计算难度将导致频繁产生分支链,因此以太坊采用独有的奖惩机制——GHOST 协议,以提高矿工的共识积极性。具体而言,区块中的散列值被分为父块散列和叔块散列,父块散列指向前继区块,叔块散列则指向父块的前继。新区块产生时,GHOST 根据前 7 代区块的父/叔散列值计算矿工奖励,一定程度弥补了分支链被抛弃时浪费的算力。
4) 控制层
每个以太坊节点都拥有沙盒环境 EVM,用于执行Solidity语言编写的智能合约;Solidity语言是图灵完备的,允许用户方便地定义自己的业务逻辑,这也是众多分布式应用得以开发的前提。为优化可扩展性,以太坊拥有侧链项目 Loom、链下计算项目Plasma,而分片技术已于2018年加入以太坊源码。
4.3 超级账本Fabric
超级账本是Linux基金会旗下的开源区块链项目,旨在提供跨行业区块链解决方案。Fabric 是超级账本子项目之一,也是影响最广的企业级可编程许可链项目;在已知的解决方案中,Fabric 被应用于供应链、医疗和金融服务等多种场景。
1) 网络层
Fabric 网络以组织为单位构建节点集群,采用混合式对等网络组网;每个组织中包括普通节点和锚节点(anchor peer),普通节点完成组织内的消息路由,锚节点负责跨组织的节点发现与消息路由。Fabric网络传播层基于Gossip实现,需要使用配置文件初始化网络,网络生成后各节点将定期广播存活信息,其余节点根据该信息更新路由表以保持连接。交互逻辑层采用多通道机制,即相同通道内的节点才能进行状态信息交互和区块同步。Fabric 为许可链,因此在网络层采取严苛的安全机制:节点被颁发证书及密钥对,产生PKI-ID进行身份验证;可选用 TLS 双向加密通信;基于多通道的业务隔离;可定义策略指定通道内的某些节点对等传输私有数据。
2) 数据层
Fabric的区块中记录读写集(read-write set)描述交易执行时的读写过程。该读写集用于更新状态数据库,而状态数据库记录了键、版本和值组成的键值对,因此属于键值对信息模型。一方面,散列函数和 MerkleTree 被用作高效关联结构的实现技术;另一方面,节点还需根据键值验证状态数据库与读写集中的最新版本是否一致。许可链场景对匿名性的要求较低,但对业务数据的隐私性要求较高,因此Fabric 1.2版本开始提供私有数据集(PDC,private data collection)功能。
3) 共识层
Fabric在0.6版本前采用PBFT 共识协议,但是为了提高交易吞吐量,Fabric 1.0 选择降低安全性,将共识过程分解为排序和验证2种服务,排序服务采用CFT类协议Kafka、Raft(v1.4之后)完成,而验证服务进一步分解为读写集验证与多签名验证,最大程度提高了共识速度。由于Fabric针对许可链场景,参与方往往身份可知且具有相同的合作意图,因此规避了节点怠工与作恶的假设,不需要奖惩机制调节。
4) 控制层
Fabric 对于扩展性优化需求较少,主要得益于共识层的优化与许可链本身参与节点较少的前提,因此主要采用链上处理模型,方便业务数据的存取;而 PDC 中仅将私有数据散列值上链的方式则属于链下处理模型,智能合约可以在本地进行数据存取。Fabric 节点采用模块化设计,基于 Docker构建模块执行环境;智能合约在Fabric中被称为链码,使用GO、Javascript和Java语言编写,也是图灵完备的。
4.4 其他项目
除了上述3种区块链基础项目外,产业界还有许多具有代表性的项目,如表1所示。
5 区块链应用研究
区块链技术有助于降低金融机构间的审计成本,显著提高支付业务的处理速度及效率,可应用于跨境支付等金融场景。除此之外,区块链还应用于产权保护、信用体系建设、教育生态优化、食品安全监管、网络安全保障等非金融场景。
根据这些场景的应用方式以及区块链技术特点,可将区块链特性概括为如下几点。1) 去中心化。节点基于对等网络建立通信和信任背书,单一节点的破坏不会对全局产生影响。2) 不可篡改。账本由全体节点维护,群体协作的共识过程和强关联的数据结构保证节点数据一致且基本无法被篡改,进一步使数据可验证和追溯。3) 公开透明。除私有数据外,链上数据对每个节点公开,便于验证数据的存在性和真实性。4) 匿名性。多种隐私保护机制使用户身份得以隐匿,即便如此也能建立信任基础。5) 合约自治。预先定义的业务逻辑使节点可以基于高可信的账本数据实现自治,在人-人、人-机、机-机交互间自动化执行业务。
鉴于上述领域的应用在以往研究中均有详细描述,本文将主要介绍区块链在智慧城市、边缘计算和人工智能领域的前沿应用研究现状。
表1
表1
代表性区块链项目
技术选型CordaQuorumLibraBlockstackFilecoinZcash控制合约Kotlin,JavaGOMoveClarity非图灵完备非图灵完备非图灵完备执行环境JVMEVMMVM源码编译源码编译源码编译处理模型链上链上/链下(私有数据)链上链下(虚拟链)链下(IPFS)链上奖惩机制——Libra coinsStacks tokenFilecoinZcash/Turnstiles共识算法Notary 机制/RAFT,BFT-SMaRtQuorum-Chain,RAFTLibraBFTTunable Proofs,proof-of-burnPoRep,PoETPoW信息模型UTXO基于账户基于账户基于账户基于账户UTXO关联验证结构散列算法MKT散列算法MPT散列算法MKT散列算法Merklized Adaptive Radix Forest (MARF)散列算法MKT散列算法MKT加密机制Tear-offs机制、混合密钥基于EnclaveSHA3-256/EdDSA基于Gaia/Blockstack AuthSECP256K1/BLSzk-SNARK组网方式混合型结构化混合型无结构结构化/无结构无结构通信机制AMQP1.0/单点传播Wire/GossipNoise-ProtocolFramework/GossipAtlas/GossipLibp2p/GossipBitcoin-Core/Gossip安全机制Corda加密套件/TLS证书/HTTPSDiffie-HellmanSecure BackboneTLSTor区块链类型许可链许可链许可链非许可链非许可链非许可链特点只允许对实际参与给定交易的各方进行信息访问和验证功能基于以太坊网络提供公共交易和私有交易2种交互渠道稳定、快速的交易网络剔除中心服务商的、可扩展的分布式数据存储设施,旨在保护隐私数据激励机制驱动的存储资源共享生态基于比特币网络提供零知识证明的隐私保护应用场景金融业务平台分布式应用加密货币互联网基础设施文件存储与共享加密货币
新窗口打开|
下载CSV
5.1 智慧城市
智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景。智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战。区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决。Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据。
5.2 边缘计算
边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验。安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障。区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用。首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据。其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础。Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性。Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题。Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性。
5.3 人工智能
人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标。人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费。此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大。区块链不可篡改的特性可以实现感知和训练过程的可信。另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率。Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果。Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库。
6 技术挑战与研究展望
6.1 层次优化与深度融合
区块链存在“三元悖论”——安全性、扩展性和去中心化三者不可兼得,只能依靠牺牲一方的效果来满足另外两方的需求。以比特币为代表的公链具有较高的安全性和完全去中心化的特点,但是资源浪费等问题成为拓展性优化的瓶颈。尽管先后出现了PoS、BFT等共识协议优化方案,或侧链、分片等链上处理模型,或Plasma、闪电网络等链下扩展方案,皆是以部分安全性或去中心化为代价的。因此,如何将区块链更好地推向实际应用很大程度取决于三元悖论的解决,其中主要有2种思路。
1) 层次优化
区块链层次化结构中每层都不同程度地影响上述3种特性,例如网络时延、并行读写效率、共识速度和效果、链上/链下模型交互机制的安全性等,对区块链的优化应当从整体考虑,而不是单一层次。
网络层主要缺陷在于安全性,可拓展性则有待优化。如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19]。信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69]。相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素。
数据层的优化空间在于高效性,主要为设计新的数据验证结构与算法。该方向可以借鉴计算机研究领域的多种数据结构理论与复杂度优化方法,寻找适合区块链计算方式的结构,甚至设计新的数据关联结构。实际上相当一部分项目借鉴链式结构的思想开辟新的道路,例如压缩区块空间的隔离见证、有向无环图(DAG)中并行关联的纠缠结构(Tangle),或者Libra项目采用的状态树。
共识机制是目前研究的热点,也是同时影响三元特性的最难均衡的层次。PoW牺牲可拓展性获得完全去中心化和安全性,PoS高效的出块方式具备可扩展性但产生了分叉问题,POA结合两者做到了3种特性的均衡。以此为切入的Hybrid类共识配合奖惩机制的机动调节取得了较好效果,成为共识研究的过渡手段,但是如何做到三元悖论的真正突破还有待研究。
控制层面是目前可扩展性研究的热点,其优势在于不需要改变底层的基础实现,能够在短期内应用,集中在产业界的区块链项目中。侧链具有较好的灵活性但操作复杂度高,分片改进了账本结构但跨分片交互的安全问题始终存在,而链下处理模型在安全方面缺少理论分析的支撑。因此,三元悖论的解决在控制层面具有广泛的研究前景。
2) 深度融合
如果将层次优化称为横向优化,那么深度融合即为根据场景需求而进行的纵向优化。一方面,不同场景的三元需求并不相同,例如接入控制不要求完全去中心化,可扩展性也未遇到瓶颈,因此可采用BFT类算法在小范围构建联盟链。另一方面,区块链应用研究从简单的数据上链转变为链下存储、链上验证,共识算法从 PoW 转变为场景结合的服务证明和学习证明,此外,结合 5G 和边缘计算可将网络和计算功能移至网络边缘,节约终端资源。这意味着在严格的场景建模下,区块链的层次技术选型将与场景特点交叉创新、深度融合,具有较为广阔的研究前景。
6.2 隐私保护
加密货币以匿名性著称,但是区块链以非对称加密为基础的匿名体系不断受到挑战。反匿名攻击从身份的解密转变为行为的聚类分析,不仅包括网络流量的IP聚类,还包括交易数据的地址聚类、交易行为的启发式模型学习,因此大数据分析技术的发展使区块链隐私保护思路发生转变。已有Tor网络、混币技术、零知识证明、同态加密以及各类复杂度更高的非对称加密算法被提出,但是各方法仍有局限,未来将需要更为高效的方法。此外,随着区块链系统的可编程化发展,内部复杂性将越来越高,特别是智能合约需要更严格、有效的代码检测方法,例如匿名性检测、隐私威胁预警等。
6.3 工业区块链
工业区块链是指利用区块链夯实工业互联网中数据的流通和管控基础、促进价值转换的应用场景,具有较大的研究前景。
工业互联网是面向制造业数字化、网络化、智能化需求,构建基于海量数据采集、汇聚、分析的服务体系,支撑制造资源泛在连接、弹性供给、高效配置的重要基础设施。“工业互联网平台”是工业互联网的核心,通过全面感知、实时分析、科学决策、精准执行的逻辑闭环,实现工业全要素、全产业链、全价值链的全面贯通,培育新的模式和业态。
可以看到,工业互联网与物联网、智慧城市、消费互联网等场景应用存在内在关联,例如泛在连接、数据共享和分析、电子商务等,那么其学术问题与技术实现必然存在关联性。区块链解决了物联网中心管控架构的单点故障问题,克服泛在感知设备数据的安全性和隐私性挑战,为智慧城市场景的数据共享、接入控制等问题提供解决方法,为激励资源共享构建了新型互联网价值生态。尽管工业互联网作为新型的产业生态系统,其技术体系更复杂、内涵更丰富,但是不难想象,区块链同样有利于工业互联网的发展。
“平台+区块链”能够通过分布式数据管理模式,降低数据存储、处理、使用的管理成本,为工业用户在工业 APP 选择和使用方面搭建起更加可信的环境,实现身份认证及操作行为追溯、数据安全存储与可靠传递。能够通过产品设计参数、质量检测结果、订单信息等数据“上链”,实现有效的供应链全要素追溯与协同服务。能够促进平台间数据交易与业务协同,实现跨平台交易结算,带动平台间的数据共享与知识复用,促进工业互联网平台间互联互通。
当然,工业是关乎国计民生的产业,将区块链去中心化、匿名化等特性直接用于工业互联网是不可取的,因此需要研究工业区块链管理框架,实现区块链的可管可控,在一定范围内发挥其安全优势,并对工业互联网的运转提供正向激励。
7 结束语
区块链基于多类技术研究的成果,以低成本解决了多组织参与的复杂生产环境中的信任构建和隐私保护等问题,在金融、教育、娱乐、版权保护等场景得到了较多应用,成为学术界的研究热点。比特币的出现重塑了人们对价值的定义,伴随着产业界的呼声,区块链技术得到了快速发展,而遵循区块链层次化分析方法,能够直观地区别各项目的技术路线和特点,为优化区块链技术提供不同观察视角,并为场景应用的深度融合创造条件,促进后续研究。未来的发展中,区块链将成为更为基础的信任支撑技术,在产业互联网等更广阔的领域健康、有序地发展。
The authors have declared that no competing interests exist.
作者已声明无竞争性利益关系。
参考文献
View Option
原文顺序
文献年度倒序
文中引用次数倒序
被引期刊影响因子
[1]
袁勇, 王飞跃 . 区块链技术发展现状与展望[J]. 自动化学报, 2016,42(4): 481-494.
[本文引用: 1]
YUAN Y , WANG F Y . Blockchain:the state of the art and future trends[J]. Acta Automatica Sinica, 2016,42(4): 481-494.
[本文引用: 1]
[2]
邵奇峰, 张召, 朱燕超 ,等. 企业级区块链技术综述[J]. 软件学报, 2019,30(9): 2571-2592.
[本文引用: 1]
SHAO Q F , ZHANG Z , ZHU Y C ,et al. Survey of enterprise blockchains[J]. 2019,30(9): 2571-2592.
[本文引用: 1]
[3]
YANG W , AGHASIAN E , GARG S ,et al. A survey on blockchain-based internet service architecture:requirements,challenges,trends,and future[J]. IEEE Access, 2019,7: 75845-75872.
[本文引用: 1]
[4]
韩璇, 袁勇, 王飞跃 . 区块链安全问题:研究现状与展望[J]. 自动化学报, 2019,45(1): 208-227.
[本文引用: 1]
HAN X , YUAN Y , WANG F Y . Security problems on blockchain:the state of the art and future trends[J]. Acta Automatica Sinica, 2016,45(1): 208-227.
[本文引用: 1]
[5]
ALI M , VECCHIO M , PINCHEIRA M ,et al. Applications of blockchains in the Internet of things:a comprehensive survey[J]. IEEE Communications Surveys & Tutorials, 2019,21: 1676-1717.
[本文引用: 1]
[6]
CHAUM D . Blind signature system[M]. Advances in Cryptology: Proceedings of Crypto 83.Springer USPress, 1984.
[本文引用: 1]
[7]
LAW L , SABEET S , SOLINAS J . How to make a mint:the cryptography of anonymous electronic cash[J]. The American University Law Review, 1997,46: 1131-1162.
[本文引用: 1]
[8]
JAKOBSSON M , JUELS A . Proofs of work and bread pudding protocols[C]// IFIP TC6/TC11 Joint Working Conference on Communications and Multimedia Security. IFIP, 1999: 258-272.
[本文引用: 1]
[9]
王学龙, 张璟 . P2P 关键技术研究综述[J]. 计算机应用研究, 2010,27(3): 801-805.
[本文引用: 1]
WANG X L , ZHANG J . Survey on peer-to-peer key technologies[J]. Application Research of Computers, 2010,27(3): 801-805.
[本文引用: 1]
[10]
DEMERS A , GREENE D , HOUSER C ,et al. Epidemic algorithms for replicated database maintenance[J]. ACM SIGOPS Operating Systems Review, 1988,22: 8-32.
[本文引用: 1]
[11]
DECKER C , WATTENHOFER R . Information propagation in the bitcoin network[C]// IEEE Thirteenth International Conference on Peer-to-peer Computing. IEEE, 2013: 1-10.
[本文引用: 1]
[12]
FADHIL M , OWENSON G , ADDA M . Locality based approach to improve propagation delay on the bitcoin peer-to-peer network[C]// 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM). IEEE, 2017: 556-559.
[本文引用: 1]
[13]
KANEKO Y , ASAKA T . DHT clustering for load balancing considering blockchain data size[C]// 2018 Sixth International Symposium on Computing and Networking Workshops (CANDARW). IEEE Computer Society, 2018: 71-74.
[本文引用: 1]
[14]
KOSHY P , KOSHY D , MCDANIEL P . An analysis of anonymity in bitcoin using P2P network traffic[C]// Financial Cryptography and Data Security:18th International Conference. Springer, 2014: 469-485.
[15]
BIRYUKOV A , KHOVRATOVICH D , PUSTOGAROV I . Deanonymisation of clients in bitcoin P2P network[C]// ACM SIGSAC Conference on Computer and Communications Security. ACM, 2014: 15-29.
[16]
VENKATAKRISHNAN S B , FANTI G , VISWANATH P . Dandelion:redesigning the bitcoin network for anonymity[C]// The 2017 ACM SIGMETRICS. ACM, 2017:57.
[本文引用: 1]
[17]
FANTI G , VENKATAKRISHNAN S B , BAKSHI S ,et al. Dandelion++:lightweight cryptocurrency networking with formal anonymity guarantees[J]. ACM SIGMETRICS Performance Evaluation Review, 2018,46: 5-7.
[本文引用: 1]
[18]
HEILMAN E , KENDLER A , ZOHAR A ,et al. Eclipse attacks on Bitcoin’s peer-to-peer network[C]// USENIX Conference on Security Symposium. USENIX Association, 2015: 129-144.
[本文引用: 1]
[19]
APOSTOLAKI M , ZOHAR A , VANBEVER L . Hijacking bitcoin:routing attacks on cryptocurrencies[C]// 2017 IEEE Symposium on Security and Privacy (SP). IEEE, 2017: 375-392.
[本文引用: 2]
[20]
REYZIN L , IVANOV S . Improving authenticated dynamic dictionaries,with applications to cryptocurrencies[C]// International Conference on Financial Cryptography & Data Security. Springer, 2017: 376-392.
[本文引用: 1]
[21]
ZHANG C , XU C , XU J L ,et al. GEM^2-tree:a gas-efficient structure for authenticated range queries in blockchain[C]// IEEE 35th International Conference on Data Engineering (ICDE). IEEE, 2019: 842-853.
[本文引用: 1]
[22]
REID F , HARRIGAN M . An analysis of anonymity in the bitcoin system[C]// 2011 IEEE Third International Conference on Privacy,Security,Risk and Trust. IEEE, 2011: 1318-1326.
[本文引用: 1]
[23]
MEIKLEJOHN S , POMAROLE M , JORDAN G ,et al. A fistful of bitcoins:characterizing payments among men with no names[C]// The 2013 Conference on Internet Measurement Conference. ACM, 2013: 127-140.
[本文引用: 1]
[24]
AWAN M K , CORTESI A . Blockchain transaction analysis using dominant sets[C]// IFIP International Conference on Computer Information Systems and Industrial Management. IFIP, 2017: 229-239.
[本文引用: 1]
[25]
SAXENA A , MISRA J , DHAR A . Increasing anonymity in bitcoin[C]// International Conference on Financial Cryptography and Data Security. Springer, 2014: 122-139.
[本文引用: 1]
[26]
MIERS I , GARMAN C , GREEN M ,et al. Zerocoin:anonymous distributed e-cash from bitcoin[C]// 2013 IEEE Symposium on Security and Privacy. IEEE, 2013: 397-411.
[本文引用: 1]
[27]
SASSON E B , CHIESA A , GARMAN C ,et al. Zerocash:decentralized anonymous payments from bitcoin[C]// 2014 IEEE Symposium on Security and Privacy (SP). IEEE, 2014: 459-474.
[本文引用: 1]
[28]
YIN W , WEN Q , LI W ,et al. A anti-quantum transaction authentication approach in blockchain[J]. IEEE Access, 2018,6: 5393-5401.
[本文引用: 1]
[29]
DOUCEUR J R , . The sybil attack[C]// The First International Workshop on Peer-to-Peer Systems(IPTPS’ 01). Springer, 2002: 251-260.
[本文引用: 1]
[30]
KARAME G O , ANDROULAKI E , CAPKUN S . Double-spending fast payments in bitcoin[C]// The 2012 ACM conference on Computer and communications security. ACM, 2012: 906-917.
[本文引用: 1]
[31]
LAMPORT L , SHOSTAK R , PEASE M . The byzantine generals problem[J]. ACM Transactions on Programming Languages and Systems, 1982,4: 382-401.
[本文引用: 1]
[32]
BANO S , SONNINO A , AL-BASSAM M ,et al. Consensus in the age of blockchains[J]..03936,2017. arXiv Preprint,arXiv:1711.03936,2017.
[本文引用: 1]
[33]
DWORK C , LYNCH N , STOCKMEYER L . Consensus in the presence of partial synchrony[J]. Journal of the ACM, 1988,35: 288-323.
[本文引用: 2]
[34]
TSCHORSCH F , SCHEUERMANN B . Bitcoin and beyond:a technical survey on decentralized digital currencies[J]. IEEE Communications Surveys & Tutorials, 2016,18: 2084-2123.
[本文引用: 1]
[35]
CACHIN C VUKOLIĆ M . Blockchains consensus protocols in the wild[J]. arXiv Preprint,arXiv:1707.01873, 2017.
[本文引用: 1]
[36]
CASTRO M , LISKOV B . Practical byzantine fault tolerance and proactive recovery[J]. ACM Transactions on Computer Systems, 2002,20: 398-461.
[本文引用: 1]
[37]
ONGARO D , OUSTERHOUT J . In search of an understandable consensus algorithm[C]// The 2014 USENIX Conference on USENIX Annual Technical Conference. USENIX Association, 2015: 305-320.
[本文引用: 1]
[38]
BALL M , ROSEN A , SABIN M ,et al. Proofs of useful work[R]. Cryptology ePrint Archive:Report 2017/203.
[本文引用: 1]
[39]
MIHALJEVIC B , ZAGAR M . Comparative analysis of blockchain consensus algorithms[C]// International Convention on Information and Communication Technology,Electronics and Microelectronics (MIPRO). IEEE, 2018: 1545-1550.
[本文引用: 1]
[40]
KIAYIAS A , RUSSELL A , DAVID B ,et al. Ouroboros:a provably secure proof-of-stake blockchain protocol[C]// Advances in Cryptology - CRYPTO 2017. Springer, 2017: 357-388.
[本文引用: 1]
[41]
FISCH B . Tight proofs of space and replication[J].,ePrint-2018-702. IACR Cryptology ePrint Archive,ePrint-2018-702.
[本文引用: 1]
[42]
BELOTTI M , BOŽIĆ N , PUJOLLE G ,et al. A vademecum on blockchain technologies:when,which,and how[J]. IEEE Communications Surveys & Tutorials, 2019,21: 3796-3838.
[本文引用: 1]
[43]
WANG W B , HOANG D T , HU P Z ,et al. A survey on consensus mechanisms and mining strategy management in blockchain networks[J]. IEEE Access, 2019,7: 22328-22370.
[本文引用: 1]
[44]
YOO J H , JUNG Y L , SHIN D H ,et al. Formal modeling and verification of a federated byzantine agreement algorithm for blockchain platforms[C]// IEEE International Workshop on Blockchain Oriented Software Engineering. 2019: 11-21.
[本文引用: 1]
[45]
ZHENG Z B , XIE S , DAI H ,et al. An overview of blockchain technology:architecture,consensus,and future trends[C]// 6th IEEE International Congress on Big Data. IEEE, 2017: 557-564.
[本文引用: 1]
[46]
YIN M , MALKHI D , REITER M K ,et al. HotStuff:BFT consensus in the lens of blockchain[C]// ACM Symposium on Principles of Distributed Computing. ACM, 2019: 347-356.
[本文引用: 1]
[47]
ALI S , WANG G , WHITE B ,et al. Libra critique towards global decentralized financial system[C]// Communications in Computer and Information Science. Springer, 2019: 661-672.
[本文引用: 1]
[48]
BENTOV I , LEE C , MIZRAHI A ,et al. Proof of activity:extending bitcoin’s proof of work via proof of stake[J]. IACR Cryptology ePrint Archive,ePrint-2014-25478.
[本文引用: 1]
[49]
DECKER C , SEIDEL J , WATTENHOFER R . Bitcoin meets strong consistency[J].,2014. arXiv Preprint,arXiv:1412.7935,2014.
[本文引用: 1]
[50]
KOKORIS-KOGIAS E , JOVANOVIC P , GAILLY N ,et al. Enhancing bitcoin security and performance with strong consistency via collective signing[J]. Applied Mathematical Modelling, 2016,37: 5723-5742.
[本文引用: 1]
[51]
BUTERIN V , GRIFFITH V . Casper the friendly finality gadget[J]. arXiv Preprint,arXiv:1710.09437,2017.
[本文引用: 1]
[52]
TSCHORSCH F , SCHEUERMANN B . Bitcoin and beyond:a technical survey on decentralized digital currencies[J]. IEEE Communications Surveys & Tutorials, 2016,18: 2084-2023,2017.
[本文引用: 1]
[53]
KIAYIAS A , MILLER A , ZINDROS D . Non-interactive proofs of proof-of-work[J]. IACR Cryptology ePrint Archive,ePrint-2017-963.
[本文引用: 1]
[54]
LUU L , NARAYANAN V , ZHENG C ,et al. A secure sharding protocol for open blockchains[C]// The 2016 ACM SIGSAC Conference on Computer and Communications Security(CCS’16). ACM, 2016: 17-30.
[本文引用: 1]
[55]
KOKORIS-KOGIAS E , JOVANOVIC P , GASSER L ,et al. OmniLedger:a secure,scale-out,decentralized ledger via sharding[C]// IEEE Symposium on Security and Privacy (SP). IEEE Computer Society, 2018: 583-598.
[本文引用: 1]
[56]
LI S , YU M , AVESTIMEHR S ,et al. PolyShard:coded sharding achieves linearly scaling efficiency and security simultaneously[J]. arXiv Preprint,arXiv:1809.10361,2018.
[本文引用: 1]
[57]
XIE J F , YU F R , HUANG T ,et al. A survey on the scalability of blockchain systems[J]. IEEE Network, 2019,33: 166-173.
[本文引用: 1]
[58]
BURCHERT C , DECKER C , WATTENHOFER R . Scalable funding of bitcoin micropayment channel networks[C]// Stabilization,Safety,and Security of Distributed Systems. Springer, 2017: 361-377.
[本文引用: 1]
[59]
LUU L , CHU D , OLICKEL H ,et al. Making smart contracts smarter[C]// The 2016 ACM SIGSAC Conference on Computer and Communications Security. ACM, 2016: 254-269.
[本文引用: 1]
[60]
BRENT L , JURISEVIC A , KONG M ,et al. Vandal:a scalable security analysis framework for smart contracts[J]. arXiv Preprint,arXiv:1809.039812018.
[本文引用: 1]
[61]
JIANG B , LIU Y , CHAN W K . ContractFuzzer:fuzzing smart contracts for vulnerability detection[J]. arXiv Preprint,arXiv:1807.03932,2018.
[本文引用: 1]
[62]
HASHEMI S H , FAGHRI F , CAMPBELL R H . Decentralized user-centric access control using pubsub over blockchain[J]. arXiv Preprint,arXiv:1710.00110,2017.
[本文引用: 1]
[63]
BAO S.CAO Y , LEI A ,et al. Pseudonym management through blockchain:cost-efficient privacy preservation on intelligent transportation systems[J]. IEEE Access, 2019,7: 80390-80403.
[本文引用: 1]
[64]
SAMANIEGO M , DETERS R . Hosting virtual IoT resources on edge-hosts with blockchain[C]// IEEE International Conference on Computer & Information Technology. IEEE, 2016: 116-119.
[本文引用: 1]
[65]
STANCIU A , . Blockchain based distributed control system for edge computing[C]// International Conference on Control Systems &Computer Science. IEEE, 2017: 667-671.
[本文引用: 1]
[66]
ZIEGLER M H , GROMANN M , KRIEGER U R . Integration of fog computing and blockchain technology using the plasma framework[C]// 2019 IEEE International Conference on Blockchain and Cryptocurrency (ICBC). IEEE, 2019: 120-123.
[本文引用: 1]
[67]
KIM H , PARK J , BENNIS M ,et al. Blockchained on-device federated learning[J]. arXiv Preprint,arXiv:1808.03949, 2018.
[本文引用: 1]
[68]
BRAVO-MARQUEZ F , REEVES S , UGARTE M . Proof-of- learning:a blockchain consensus mechanism based on machine learning competitions[C]// 2019 IEEE International Conference on Decentralized Applications and Infrastructures. IEEE, 2019: 119-124.
[本文引用: 1]
[69]
刘江, 霍如, 李诚成 ,等. 基于命名数据网络的区块链信息传输机制[J]. 通信学报, 2018,39(1), 24-33.
[本文引用: 1]
LIU J , HUO R , LI C C ,et al. Information transmission mechanism of Blockchain technology based on named-data networking[J]. Journal on Communications, 2018,39(1): 24-33.
[本文引用: 1]
区块链技术发展现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
区块链技术发展现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
企业级区块链技术综述
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
企业级区块链技术综述
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
A survey on blockchain-based internet service architecture:requirements,challenges,trends,and future
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
区块链安全问题:研究现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
区块链安全问题:研究现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
Applications of blockchains in the Internet of things:a comprehensive survey
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
Blind signature system
1
1984
... 加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示. ...
How to make a mint:the cryptography of anonymous electronic cash
1
1997
... 加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示. ...
Proofs of work and bread pudding protocols
1
1999
... 最早的加密货币构想将银行作为构建信任的基础,呈现中心化特点.此后,加密货币朝着去中心化方向发展,并试图用工作量证明(PoW,poof of work)[8]或其改进方法定义价值.比特币在此基础上,采用新型分布式账本技术保证被所有节点维护的数据不可篡改,从而成功构建信任基础,成为真正意义上的去中心化加密货币.区块链从去中心化加密货币发展而来,随着区块链的进一步发展,去中心化加密货币已经成为区块链的主要应用之一. ...
P2P 关键技术研究综述
1
2010
... 对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示. ...
P2P 关键技术研究综述
1
2010
... 对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示. ...
Epidemic algorithms for replicated database maintenance
1
1988
... 传播层实现对等节点间数据的基本传输,包括2 种数据传播方式:单点传播和多点传播.单点传播是指数据在2个已知节点间直接进行传输而不经过其他节点转发的传播方式;多点传播是指接收数据的节点通过广播向邻近节点进行数据转发的传播方式,区块链网络普遍基于Gossip协议[10]实现洪泛传播.连接层用于获取节点信息,监测和改变节点间连通状态,确保节点间链路的可用性(availability).具体而言,连接层协议帮助新加入节点获取路由表数据,通过定时心跳监测为节点保持稳定连接,在邻居节点失效等情况下为节点关闭连接等.交互逻辑层是区块链网络的核心,从主要流程上看,该层协议承载对等节点间账本数据的同步、交易和区块数据的传输、数据校验结果的反馈等信息交互逻辑,除此之外,还为节点选举、共识算法实施等复杂操作和扩展应用提供消息通路. ...
Information propagation in the bitcoin network
1
2013
... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...
Locality based approach to improve propagation delay on the bitcoin peer-to-peer network
1
2017
... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...
DHT clustering for load balancing considering blockchain data size
1
2018
... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...
An analysis of anonymity in bitcoin using P2P network traffic
2014
Deanonymisation of clients in bitcoin P2P network
2014
Dandelion:redesigning the bitcoin network for anonymity
1
2017
... 匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害.Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击. ...
Dandelion++:lightweight cryptocurrency networking with formal anonymity guarantees
1
2018
... 匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害.Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击. ...
Eclipse attacks on Bitcoin’s peer-to-peer network
1
2015
... 区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击.为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案.Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性.Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能. ...
Hijacking bitcoin:routing attacks on cryptocurrencies
2
2017
... 区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击.为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案.Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性.Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能. ...
... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...
Improving authenticated dynamic dictionaries,with applications to cryptocurrencies
1
2017
... 高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种.为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究.Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程.Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销. ...
GEM^2-tree:a gas-efficient structure for authenticated range queries in blockchain
1
2019
... 高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种.为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究.Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程.Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销. ...
An analysis of anonymity in the bitcoin system
1
2011
... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...
A fistful of bitcoins:characterizing payments among men with no names
1
2013
... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...
Blockchain transaction analysis using dominant sets
1
2017
... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...
Increasing anonymity in bitcoin
1
2014
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
Zerocoin:anonymous distributed e-cash from bitcoin
1
2013
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
Zerocash:decentralized anonymous payments from bitcoin
1
2014
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
A anti-quantum transaction authentication approach in blockchain
1
2018
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
The sybil attack
1
2002
... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...
Double-spending fast payments in bitcoin
1
2012
... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...
The byzantine generals problem
1
1982
... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...
Consensus in the age of blockchains
1
... 状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论.其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态.假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性.同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息.状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议.其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同.学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题. ...
Consensus in the presence of partial synchrony
2
1988
... 状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论.其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态.假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性.同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息.状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议.其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同.学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题. ...
... 比特币在网络层采用非结构化方式组网,路由表呈现随机性.节点间则采用多点传播方式传递数据,曾基于Gossip协议实现,为提高网络的抗匿名分析能力改为基于Diffusion协议实现[33].节点利用一系列控制协议确保链路的可用性,包括版本获取(Vetsion/Verack)、地址获取(Addr/GetAddr)、心跳信息(PING/PONG)等.新节点入网时,首先向硬编码 DNS 节点(种子节点)请求初始节点列表;然后向初始节点随机请求它们路由表中的节点信息,以此生成自己的路由表;最后节点通过控制协议与这些节点建立连接,并根据信息交互的频率更新路由表中节点时间戳,从而保证路由表中的节点都是活动的.交互逻辑层为建立共识交互通道,提供了区块获取(GetBlock)、交易验证(MerkleBlock)、主链选择(CmpctBlock)等协议;轻节点只需要进行简单的区块头验证,因此通过头验证(GetHeader/Header)协议和连接层中的过滤设置协议指定需要验证的区块头即可建立简单验证通路.在安全机制方面,比特币网络可选择利用匿名通信网络Tor作为数据传输承载,通过沿路径的层层数据加密机制来保护对端身份. ...
Bitcoin and beyond:a technical survey on decentralized digital currencies
1
2016
... 区块链网络中主要包含PoX(poof of X)[34]、BFT(byzantine-fault tolerant)和 CFT(crash-fault tolerant)类基础共识协议.PoX 类协议是以 PoW (proof of work)为代表的基于奖惩机制驱动的新型共识协议,为了适应数据吞吐量、资源利用率和安全性的需求,人们又提出PoS(proof of stake)、PoST (proof of space-time)等改进协议.它们的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.BFT类协议是指解决拜占庭容错问题的传统共识协议及其改良协议,包括PBFT、BFT-SMaRt、Tendermint等.CFT类协议用于实现崩溃容错,通过身份证明等手段规避节点作恶的情况,仅考虑节点或网络的崩溃(crash)故障,主要包括Raft、Paxos、Kafka等协议. ...
Blockchains consensus protocols in the wild
1
2017
... 非许可链和许可链的开放程度和容错需求存在差异,共识层面技术在两者之间产生了较大区别.具体而言,非许可链完全开放,需要抵御严重的拜占庭风险,多采用PoX、BFT类协议并配合奖惩机制实现共识.许可链拥有准入机制,网络中节点身份可知,一定程度降低了拜占庭风险,因此可采用BFT类协议、CFT类协议构建相同的信任模型[35]. ...
Practical byzantine fault tolerance and proactive recovery
1
2002
... PBFT是 BFT经典共识协议,其主要流程如图8 所示.PBFT将节点分为主节点和副节点,其中主节点负责将交易打包成区块,副节点参与验证和转发,假设作恶节点数量为f.PBFT共识主要分为预准备、准备和接受3个阶段,主节点首先收集交易后排序并提出合法区块提案;其余节点先验证提案的合法性,然后根据区块内交易顺序依次执行并将结果摘要组播;各节点收到2f个与自身相同的摘要后便组播接受投票;当节点收到超过2f+1个投票时便存储区块及其产生的新状态[36]. ...
In search of an understandable consensus algorithm
1
2015
... Raft[37]是典型的崩溃容错共识协议,以可用性强著称.Raft将节点分为跟随节点、候选节点和领导节点,领导节点负责将交易打包成区块,追随节点响应领导节点的同步指令,候选节点完成领导节点的选举工作.当网络运行稳定时,只存在领导节点和追随节点,领导节点向追随节点推送区块数据从而实现同步.节点均设置生存时间决定角色变化周期,领导节点的心跳信息不断重置追随节点的生存时间,当领导节点发生崩溃时,追随节点自动转化为候选节点并进入选举流程,实现网络自恢复. ...
Proofs of useful work
1
2017
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
Comparative analysis of blockchain consensus algorithms
1
2018
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
Ouroboros:a provably secure proof-of-stake blockchain protocol
1
2017
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
Tight proofs of space and replication
1
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
A vademecum on blockchain technologies:when,which,and how
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
A survey on consensus mechanisms and mining strategy management in blockchain networks
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
Formal modeling and verification of a federated byzantine agreement algorithm for blockchain platforms
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
An overview of blockchain technology:architecture,consensus,and future trends
1
2017
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
HotStuff:BFT consensus in the lens of blockchain
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
Libra critique towards global decentralized financial system
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
Proof of activity:extending bitcoin’s proof of work via proof of stake
1
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Bitcoin meets strong consistency
1
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Enhancing bitcoin security and performance with strong consistency via collective signing
1
2016
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Casper the friendly finality gadget
1
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Bitcoin and beyond:a technical survey on decentralized digital currencies
1
2016
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
Non-interactive proofs of proof-of-work
1
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
A secure sharding protocol for open blockchains
1
2016
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
OmniLedger:a secure,scale-out,decentralized ledger via sharding
1
2018
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
PolyShard:coded sharding achieves linearly scaling efficiency and security simultaneously
1
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
A survey on the scalability of blockchain systems
1
2019
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
Scalable funding of bitcoin micropayment channel networks
1
2017
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
Making smart contracts smarter
1
2016
... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...
Vandal:a scalable security analysis framework for smart contracts
1
2018
... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...
ContractFuzzer:fuzzing smart contracts for vulnerability detection
1
2018
... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...
Decentralized user-centric access control using pubsub over blockchain
1
2017
... 智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景.智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战.区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决.Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据. ...
Pseudonym management through blockchain:cost-efficient privacy preservation on intelligent transportation systems
1
2019
... 智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景.智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战.区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决.Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据. ...
Hosting virtual IoT resources on edge-hosts with blockchain
1
2016
... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...
Blockchain based distributed control system for edge computing
1
2017
... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...
Integration of fog computing and blockchain technology using the plasma framework
1
2019
... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...
Blockchained on-device federated learning
1
2018
... 人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标.人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费.此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大.区块链不可篡改的特性可以实现感知和训练过程的可信.另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率.Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果.Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库. ...
Proof-of- learning:a blockchain consensus mechanism based on machine learning competitions
1
2019
... 人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标.人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费.此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大.区块链不可篡改的特性可以实现感知和训练过程的可信.另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率.Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果.Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库. ...
基于命名数据网络的区块链信息传输机制
1
2018
... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...
基于命名数据网络的区块链信息传输机制
1
2018
... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...
/
〈
〉
期刊网站版权所有 © 2021 《通信学报》编辑部
地址:北京市丰台区东铁匠营街道顺八条1号院B座“北阳晨光大厦”2层 邮编:100079
电话:010-53878169、53859522、53878236 电子邮件:xuebao@ptpress.com.cn; txxb@bjxintong.com.cn
期刊网站版权所有 © 2021 《通信学报》编辑部
地址:北京市丰台区东铁匠营街道顺八条1号院B座“北阳晨光大厦”2层
邮编:100079 电话:010-53878169、53859522、53878236
电子邮件:txxb@bjxintong.com.cn
核心技术概览 - 定义与原理 - 《区块链技术指南 v1.6.0》 - 书栈网 · BookStack
核心技术概览 - 定义与原理 - 《区块链技术指南 v1.6.0》 - 书栈网 · BookStack
×
思维导图备注
关闭
区块链技术指南 v1.6.0
首页
白天
夜间
小程序
阅读
书签
我的书签
添加书签
移除书签
定义与原理
打赏作者
来源:yeasy
浏览 728
扫码
分享
2022-02-22 21:58:34
定义与原理定义早期应用基本原理以比特币为例理解区块链工作过程定义与原理定义区块链技术自身仍然在飞速发展中,相关规范和标准还待进一步成熟。
公认的最早关于区块链的描述性文献是中本聪所撰写的 《比特币:一种点对点的电子现金系统》,但该文献重点在于讨论比特币系统,并没有明确提出区块链的术语。在其中,区块和链被描述为用于记录比特币交易账目历史的数据结构。
另外,Wikipedia 上给出的定义中,将区块链类比为一种分布式数据库技术,通过维护数据块的链式结构,可以维持持续增长的、不可篡改的数据记录。
笔者认为,讨论区块链可以从狭义和广义两个层面来看待。
狭义上,区块链是一种以区块为基本单位的链式数据结构,区块中利用数字摘要对之前的交易历史进行校验,适合分布式记账场景下防篡改和可扩展性的需求。
广义上,区块链还指代基于区块链结构实现的分布式记账技术,包括分布式共识、隐私与安全保护、点对点通信技术、网络协议、智能合约等。
早期应用1990 年 8 月,Bellcore(1984 年由 AT&T 拆分而来的研究机构)的 Stuart Haber 和 W. Scott Stornetta 在论文《How to Time-Stamp a Digital Document》中就提出利用链式结构来解决防篡改问题,其中新生成的时间证明需要包括之前证明的 Hash 值。这可以被认为是区块链结构的最早雏形。
后来,2005 年 7 月,在 Git 等开源软件中,也使用了类似区块链结构的机制来记录提交历史。
区块链结构最早的大规模应用出现在 2009 年初上线的比特币项目中。在无集中式管理的情况下,比特币网络持续稳定,支持了海量的交易记录,并且从未出现严重的漏洞,引发了广泛关注。这些都与区块链结构自身强校验的特性密切相关。
基本原理区块链的基本原理理解起来并不复杂。首先来看三个基本概念:
交易(Transaction):一次对账本的操作,导致账本状态的一次改变,如添加一条转账记录;区块(Block):记录一段时间内发生的所有交易和状态结果等,是对当前账本状态的一次共识;链(Chain):由区块按照发生顺序串联而成,是整个账本状态变化的日志记录。
如果把区块链系统作为一个状态机,则每次交易意味着一次状态改变;生成的区块,就是参与者对其中交易导致状态改变结果的共识。
区块链的目标是实现一个分布的数据记录账本,这个账本只允许添加、不允许删除。账本底层的基本结构是一个线性的链表。链表由一个个“区块”串联组成(如下图所示),后继区块中记录前导区块的哈希(Hash)值。某个区块(以及块里的交易)是否合法,可通过计算哈希值的方式进行快速检验。网络中节点可以提议添加一个新的区块,但必须经过共识机制来对区块达成确认。
以比特币为例理解区块链工作过程具体以比特币网络为例,来看其中如何使用了区块链技术。
首先,用户通过比特币客户端发起一项交易,消息广播到比特币网络中等待确认。网络中的节点会将收到的等待确认的交易请求打包在一起,添加上前一个区块头部的哈希值等信息,组成一个区块结构。然后,试图找到一个 nonce 串(随机串)放到区块里,使得区块结构的哈希结果满足一定条件(比如小于某个值)。这个计算 nonce 串的过程,即俗称的“挖矿”。nonce 串的查找需要花费一定的计算力。
一旦节点找到了满足条件的 nonce 串,这个区块在格式上就“合法”了,成为候选区块。节点将其在网络中广播出去。其它节点收到候选区块后进行验证,发现确实合法,就承认这个区块是一个新的合法区块,并添加到自己维护的本地区块链结构上。当大部分节点都接受了该区块后,意味着区块被网络接受,区块中所包括的交易也就得到确认。
这里比较关键的步骤有两个,一个是完成对一批交易的共识(创建合法区块结构);一个是新的区块添加到链结构上,被网络认可,确保未来无法被篡改。当然,在实现上还会有很多额外的细节。
比特币的这种基于算力(寻找 nonce 串)的共识机制被称为工作量证明(Proof of Work,PoW)。这是因为要让哈希结果满足一定条件,并无已知的快速启发式算法,只能对 nonce 值进行逐个尝试的蛮力计算。尝试的次数越多(工作量越大),算出来的概率越大。
通过调节对哈希结果的限制条件,比特币网络控制平均约 10 分钟产生一个合法区块。算出区块的节点将得到区块中所有交易的管理费和协议固定发放的奖励费(目前是 12.5 比特币,每四年减半)。
读者可能会关心,比特币网络是任何人都可以加入的,如果网络中存在恶意节点,能否进行恶意操作来对区块链中记录进行篡改,从而破坏整个比特币网络系统。比如最简单的,故意不承认别人产生的合法候选区块,或者干脆拒绝来自其它节点的交易请求等。
实际上,因为比特币网络中存在大量(据估计数千个)的维护节点,而且大部分节点都是正常工作的,默认都只承认所看到的最长的链结构。只要网络中不存在超过一半的节点提前勾结一起采取恶意行动,则最长的链将很大概率上成为最终合法的链。而且随着时间增加,这个概率会越来越大。例如,经过 6 个区块生成后,即便有一半的节点联合起来想颠覆被确认的结果,其概率也仅为 (1/2)^6 ≈ 1.6%,即低于 1/60 的可能性。10 个区块后概率将降到千分之一以下。
当然,如果整个网络中大多数的节点都联合起来作恶,可以导致整个系统无法正常工作。要做到这一点,往往意味着付出很大的代价,跟通过作恶得到的收益相比,往往得不偿失。
当前内容版权归 yeasy 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 yeasy .
上一篇:
下一篇:
区块链技术指南前言修订记录如何贡献区块链的诞生记账科技的千年演化分布式记账与区块链集大成者的比特币区块链的商业价值本章小结核心技术概览定义与原理技术的演化与分类关键问题和挑战趋势与展望认识上的误区本章小结典型应用场景应用场景概览金融服务征信管理权属管理与溯源资源共享物流与供应链物联网其它场景本章小结分布式系统核心技术一致性问题共识算法FLP 不可能原理CAP 原理ACID 原则与多阶段提交Paxos 算法与 Raft 算法拜占庭问题与算法可靠性指标本章小结密码学与安全技术密码学简史Hash 算法与数字摘要加解密算法消息认证码与数字签名数字证书PKI 体系Merkle 树结构Bloom Filter 结构同态加密其它技术本章小结比特币 —— 区块链思想诞生的摇篮比特币项目简介实体货币到加密数字货币基本原理和设计挖矿过程共识机制闪电网络侧链热点问题相关工具本章小结以太坊 —— 挣脱加密货币的枷锁以太坊项目简介核心概念主要设计相关工具安装客户端使用智能合约智能合约案例:投票本章小结超级账本 —— 面向企业的分布式账本超级账本项目简介社区组织结构顶级项目介绍开发必备工具贡献代码本章小结Fabric 安装与部署简介本地编译组件容器方式获取本地方式启动 Fabric 网络容器方式启动 Fabric 网络本章小结操作 Fabric 网络简介注意事项与最佳实践管理链上代码管理链上代码 v2使用多通道自动探测网络信息监听网络事件使用运维服务SDK 支持如何升级版本本章小结区块链应用开发简介链上代码工作原理示例一:信息公证示例二:交易资产示例三:数字货币发行与管理示例四:学历认证示例五:社区能源共享小结Fabric 架构与设计简介架构设计消息协议小结区块链服务平台设计简介IBM Bluemix 云区块链服务微软 Azure 云区块链服务使用超级账本 Cello 搭建区块链服务本章小结性能与评测简介Hyperledger Fabric v0.6小结附录术语常见问题Go 语言开发相关安装与配置 Golang 环境编辑器与 IDE高效开发工具依赖管理ProtoBuf 与 gRPC参考资源链接物流供应链简单案例相关企业和组织使用 Fabric 1.0 版本
暂无相关搜索结果!
本文档使用 BookStack 构建
×
分享,让知识传承更久远
取消分享
×
文章二维码
手机扫一扫,轻松掌上读
关闭
×
文档下载
普通下载
下载码下载(免登录无限下载)
你与大神的距离,只差一个APP
请下载您需要的格式的文档,随时随地,享受汲取知识的乐趣!
PDF文档
EPUB文档
MOBI文档
温馨提示 每天每在网站阅读学习一分钟时长可下载一本电子书,每天连续签到可增加阅读时长
下载码方式下载:免费、免登录、无限制。 免费获取下载码
下载码
文档格式
EPUB
MOBI
码上下载
关闭窗口
×
微信小程序阅读
您与他人的薪资差距,只差一个随时随地学习的小程序
关闭窗口
×
书签列表
关闭
×
阅读记录
阅读进度: 0.00% ( 0/0 )
重置阅读进度
关闭
区块链技术原理及底层架构-陈东敏 郭峰 广红-微信读书
区块链技术原理及底层架构-陈东敏 郭峰 广红-微信读书
微信读书首页传书到手机墨水屏版手机版登录区块链技术原理及底层架构陈东敏 郭峰 广红
区块链技术原理及底层架构 区块链作为将颠覆未来众多传统行业、引爆新一轮资本投资热潮的新技术,不仅受到众多创业团队和资本市场的追捧,同时也获得产学研等众多领域的关注,并已被正式列入国家“十三五”规划。青岛“链湾”区块链系列丛书由青岛区块链研究院组织该领域多位资深quan威专家和一线研发人员撰写,从概念、底层架构、应用开发、行业解决方案等方面全方位揭秘区块链技术。丛书编委会成员包括北京大学创新研究院、中国科学院计算所、布比网络、国际大学创新联盟、点亮资本等业界quan威机构。 作为青岛“链湾”区块链系列丛书的第二部,本书由布比网络一线的资深专家和工程师执笔,从区块链的技术原理入手,描述布比区块链底层架构,介绍成功应用案例以及开发指南。期望本书的出版能为有志于区块链应用开发的技术人员提供帮助。
close简介区块链技术原理及底层架构 区块链作为将颠覆未来众多传统行业、引爆新一轮资本投资热潮的新技术,不仅受到众多创业团队和资本市场的追捧,同时也获得产学研等众多领域的关注,并已被正式列入国家“十三五”规划。青岛“链湾”区块链系列丛书由青岛区块链研究院组织该领域多位资深quan威专家和一线研发人员撰写,从概念、底层架构、应用开发、行业解决方案等方面全方位揭秘区块链技术。丛书编委会成员包括北京大学创新研究院、中国科学院计算所、布比网络、国际大学创新联盟、点亮资本等业界quan威机构。 作为青岛“链湾”区块链系列丛书的第二部,本书由布比网络一线的资深专家和工程师执笔,从区块链的技术原理入手,描述布比区块链底层架构,介绍成功应用案例以及开发指南。期望本书的出版能为有志于区块链应用开发的技术人员提供帮助。版权出版社北京航空航天大学出版社出版时间2017年5月
微信读书推荐值
待评分
推荐一般不行
推荐
一般
不行
热门划线
去 App 查看全部
区块链技术原理及底层架构陈东敏 郭峰 广红区块链技术原理1.1 区块链和区块链技术的涵义/31.2 区块链的框架与特点/81.3 区块链的工作流程/121.4 区块链的核心技术与概念/141.5 共识机制/221.6 区块链的应用现状与前景/32布比区块链底层架构2.1 布比区块链架构及模块设计/392.2 布比区块链主要模块开发指南/422.3 布比区块链API框架设计/48基于布比区块链架构的成功案例3.1 数字资产发行与流通/533.2 互助保险/613.3 记录存证/653.4 股权登记与交易/693.5 供应链金融/70布萌区块链数字资产网络开发指南4.1 获取access_token/764.2 注册布萌区块链账户/774.3 修改布萌区块链账户/794.4 获取账户私钥/814.5 同步发行资产/854.6 异步发行资产/894.7 同步追加发行资产/934.8 异步追加发行资产/974.9 同步资产转移/1004.10 异步资产转移/1044.11 同步资产发放/1074.12 异步资产发放/1124.13 获取账户信息/1164.14 获取交易信息/1214.15 布萌通知接口/1284.16 查询账户注册状态/1304.17 查询资产发行状态/1324.18 查询资产转移状态/1334.19 查询资产发放状态/1354.20 查询账户交易信息(对账接口) /1364.21 错误码及签名算法/140参考文献/148是否关闭自动购买?
关闭后,阅读到本书未购买章节均需要手动购买确认。
取消关闭
区块链技术原理及底层架构_百度百科
术原理及底层架构_百度百科 网页新闻贴吧知道网盘图片视频地图文库资讯采购百科百度首页登录注册进入词条全站搜索帮助首页秒懂百科特色百科知识专题加入百科百科团队权威合作下载百科APP个人中心收藏查看我的收藏0有用+10区块链技术原理及底层架构播报讨论上传视频2017年北京航空航天大学出版社出版的图书本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!《区块链技术原理及底层架构》是2017年北京航空航天大学出版社出版的图书。 [1]中文名区块链技术原理及底层架构作 者陈东敏 / 郭峰 / 广红出版时间2017年出版社北京航空航天大学出版社ISBN9787512423756新手上路成长任务编辑入门编辑规则本人编辑我有疑问内容质疑在线客服官方贴吧意见反馈投诉建议举报不良信息未通过词条申诉投诉侵权信息封禁查询与解封©2024 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号 京公网安备110000020000《区块链技术原理及底层架构》陈东敏、郭峰、广红 著_孔网
《区块链技术原理及底层架构》陈东敏、郭峰、广红 著_孔网
首页
书店区
书摊区
新书
在线拍卖
艺术品专场
登录
/
注册
未读消息
消息
购物车
我的订单
个人中心
店铺
我的订单
收藏
拍卖
拍卖交易
我的竞拍
收藏
我的好友
资金账户
卖家中心
客服
|
帮助中心
9:00-20:30
在线留言
客服电话
010-89648155
服务时间
客服咨询 8:00-21:00
纠纷处理 9:00-21:00
图书审核 9:00-18:00
监督与建议
请选择
网站无障碍
手机孔网
占位居中
商品
拍卖区
在售
已售
商品名称、作者、出版社、ISBN
搜索历史
搜索
高级搜索
区块链技术原理及底层架构
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,使用”扫一扫“即可将网页分享到朋友圈。
作者:
陈东敏
著 , 郭峰
著 , 广红
著
出版社:
北京航空航天大学出版社
出版时间:
2017-05
版次:
1
ISBN:
9787512423756
定价:
45.00
装帧:
平装
开本:
16开
纸张:
胶版纸
页数:
147页
分类:
管理
3
张插图图片
54人买过
区块链技术原理及底层架构 区块链作为将颠覆未来众多传统行业、引爆新一轮资本投资热潮的新技术,不仅受到众多创业团队和资本市场的追捧,同时也获得产学研等众多领域的关注,并已被正式列入国家“十三五”规划。青岛“链湾”区块链系列丛书由青岛区块链研究院组织该领域多位资深quan威专家和一线研发人员撰写,从概念、底层架构、应用开发、行业解决方案等方面全方位揭秘区块链技术。丛书编委会成员包括北京大学创新研究院、中国科学院计算所、布比网络、国际大学创新联盟、点亮资本等业界quan威机构。 作为青岛“链湾”区块链系列丛书的第二部,本书由布比网络一线的资深专家和工程师执笔,从区块链的技术原理入手,描述布比区块链底层架构,介绍成功应用案例以及开发指南。期望本书的出版能为有志于区块链应用开发的技术人员提供帮助。 陈东敏 北京大学国家“千人计划”专家;北京大学产业技术研究院、前沿交叉学科研究院、北京大数据研究院讲席教授,主讲“创业基础”及“创业模拟”等系列课程;主持筹建北京大学创新创业学院。联合国知识产权组织创新指数研究中心的国际顾问,美国《应用物理周刊》副主编,美国硅谷华美半导体协会前会长和荣誉顾问。 郭峰 点亮资本合伙人,中关村区块链产业联盟副理事长,北京大学产业技术研究院及清华同方创业孵化器创业导师,国内早期互联网及区块链技术研究者。目前专注于区块链、人工智能与机器人、物联网等领域的天使投资,具有20多家创业公司投资经验。曾任西安电子科技大学教授、通信工程学院副院长,及国内外知名企业高管。 广红 青岛百灵信息科技股份有限公司董事长兼CEO,青岛市第十六届人大代表,中国青年计算机协会(YOCSEF)2016届青岛主席,中国海洋大学创业导师。从事通信系统研发工作近20年,曾负责主持过多项美国贝尔实验室在全球的研发项目,是首批专注于互联网智能制造、大数据数字营销、区块链技术等业务发展的企业家之一。 第1章 区块链技术原理 1.1 区块链和区块链技术的涵义/3 1.2 区块链的框架与特点/8 1.3 区块链的工作流程/12 1.4 区块链的核心技术与概念/14 1.5 共识机制/22 1.6 区块链的应用现状与前景/32 第2章 布比区块链底层架构 2.1 布比区块链架构及模块设计/39 2.2 布比区块链主要模块开发指南/42 2.3 布比区块链API框架设计/48 第3章 基于布比区块链架构的成功案例 3.1 数字资产发行与流通/53 3.2 互助保险/61 3.3 记录存证/65 3.4 股权登记与交易/69 3.5 供应链金融/70 第4章 布萌区块链数字资产网络开发指南 4.1 获取access_token/76 4.2 注册布萌区块链账户/77 4.3 修改布萌区块链账户/79 4.4 获取账户私钥/81 4.5 同步发行资产/85 4.6 异步发行资产/89 4.7 同步追加发行资产/93 4.8 异步追加发行资产/97 4.9 同步资产转移/100 4.10 异步资产转移/104 4.11 同步资产发放/107 4.12 异步资产发放/112 4.13 获取账户信息/116 4.14 获取交易信息/121 4.15 布萌通知接口/128 4.16 查询账户注册状态/130 4.17 查询资产发行状态/132 4.18 查询资产转移状态/133 4.19 查询资产发放状态/135 4.20 查询账户交易信息(对账接口) /136 4.21 错误码及签名算法/140 参考文献/148
内容简介:
区块链技术原理及底层架构 区块链作为将颠覆未来众多传统行业、引爆新一轮资本投资热潮的新技术,不仅受到众多创业团队和资本市场的追捧,同时也获得产学研等众多领域的关注,并已被正式列入国家“十三五”规划。青岛“链湾”区块链系列丛书由青岛区块链研究院组织该领域多位资深quan威专家和一线研发人员撰写,从概念、底层架构、应用开发、行业解决方案等方面全方位揭秘区块链技术。丛书编委会成员包括北京大学创新研究院、中国科学院计算所、布比网络、国际大学创新联盟、点亮资本等业界quan威机构。 作为青岛“链湾”区块链系列丛书的第二部,本书由布比网络一线的资深专家和工程师执笔,从区块链的技术原理入手,描述布比区块链底层架构,介绍成功应用案例以及开发指南。期望本书的出版能为有志于区块链应用开发的技术人员提供帮助。
作者简介:
陈东敏 北京大学国家“千人计划”专家;北京大学产业技术研究院、前沿交叉学科研究院、北京大数据研究院讲席教授,主讲“创业基础”及“创业模拟”等系列课程;主持筹建北京大学创新创业学院。联合国知识产权组织创新指数研究中心的国际顾问,美国《应用物理周刊》副主编,美国硅谷华美半导体协会前会长和荣誉顾问。 郭峰 点亮资本合伙人,中关村区块链产业联盟副理事长,北京大学产业技术研究院及清华同方创业孵化器创业导师,国内早期互联网及区块链技术研究者。目前专注于区块链、人工智能与机器人、物联网等领域的天使投资,具有20多家创业公司投资经验。曾任西安电子科技大学教授、通信工程学院副院长,及国内外知名企业高管。 广红 青岛百灵信息科技股份有限公司董事长兼CEO,青岛市第十六届人大代表,中国青年计算机协会(YOCSEF)2016届青岛主席,中国海洋大学创业导师。从事通信系统研发工作近20年,曾负责主持过多项美国贝尔实验室在全球的研发项目,是首批专注于互联网智能制造、大数据数字营销、区块链技术等业务发展的企业家之一。
目录:
第1章 区块链技术原理 1.1 区块链和区块链技术的涵义/3 1.2 区块链的框架与特点/8 1.3 区块链的工作流程/12 1.4 区块链的核心技术与概念/14 1.5 共识机制/22 1.6 区块链的应用现状与前景/32 第2章 布比区块链底层架构 2.1 布比区块链架构及模块设计/39 2.2 布比区块链主要模块开发指南/42 2.3 布比区块链API框架设计/48 第3章 基于布比区块链架构的成功案例 3.1 数字资产发行与流通/53 3.2 互助保险/61 3.3 记录存证/65 3.4 股权登记与交易/69 3.5 供应链金融/70 第4章 布萌区块链数字资产网络开发指南 4.1 获取access_token/76 4.2 注册布萌区块链账户/77 4.3 修改布萌区块链账户/79 4.4 获取账户私钥/81 4.5 同步发行资产/85 4.6 异步发行资产/89 4.7 同步追加发行资产/93 4.8 异步追加发行资产/97 4.9 同步资产转移/100 4.10 异步资产转移/104 4.11 同步资产发放/107 4.12 异步资产发放/112 4.13 获取账户信息/116 4.14 获取交易信息/121 4.15 布萌通知接口/128 4.16 查询账户注册状态/130 4.17 查询资产发行状态/132 4.18 查询资产转移状态/133 4.19 查询资产发放状态/135 4.20 查询账户交易信息(对账接口) /136 4.21 错误码及签名算法/140 参考文献/148
查看详情
相关分类
管理学
人力资源管理
企业管理
市场营销
财务管理
供应链管理
项目管理
商务实务
MBA与工商管理
146条
|
综合排序
最新上架
店铺
价格
总价从低到高
总价从高到低
价格从低到高(不含运费)
价格从高到低(不含运费)
品相
全新
九五品以上
九品以上
八五品以上
八品以上
七品以上
六品以上
五品以上
四品及以下
全部品相
只看全新
不同品相有何区别
区块链技术原理及底层架构 专著 陈东敏主编 qu kuai lian ji shu yuan li ji di ceng j
全新
宸轩图书
河北省保定市
平均发货33小时
成功完成率77.6%
¥16.54
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
全新
尚贤文化东营分店
河北省保定市
平均发货27小时
成功完成率82.97%
¥15.53
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
全新
尚贤文化济南分店
河北省保定市
平均发货27小时
成功完成率83.47%
¥10.35
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构 专著 陈东敏主编 qu kuai lian ji shu yuan li ji di ceng j
全新
北京九州书店
北京市朝阳区
平均发货32小时
成功完成率74.67%
¥17.48
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
全新
云墨书香
河北省保定市
平均发货36小时
成功完成率78.25%
¥9.45
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
全新
鑫蕊书店
北京市房山区
平均发货19小时
成功完成率81.88%
¥9.00
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
全新
唯有书书城
北京市丰台区
平均发货18小时
成功完成率79.73%
¥9.90
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
正版新书每天统一发货
全新
灿然小店的书店
河北省保定市
平均发货11小时
成功完成率86.28%
¥13.50
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
正版全新
全新
闲暇一卷书的书店
上海市浦东新区
平均发货22小时
成功完成率77.53%
¥32.02
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
九品
学长旧书店
湖南省长沙市
平均发货13小时
成功完成率95.75%
¥7.21
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
全新
店小二书店
河北省保定市
平均发货21小时
成功完成率84.39%
¥9.45
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
全新正版图书
全新
兴文书店
广东省广州市
平均发货20小时
成功完成率83.89%
¥35.39
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
全新
雨露图书馆
北京市朝阳区
平均发货12小时
成功完成率89.36%
¥15.75
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
全新
润雨轩
北京市朝阳区
平均发货11小时
成功完成率84.76%
¥12.15
券
100减20
立即购买
加入购物车
区块链技术及底层架构 科技综合 陈东敏 主编 新华正版
新华书店全新正版书籍 支持7天无理由
全新
问问熊书店
河北省保定市
平均发货22小时
成功完成率79.02%
¥14.20
券
100减20
立即购买
加入购物车
区块链技术及底层架构 科技综合 陈东敏 主编 新华正版
新华书店全新正版书籍 支持7天无理由
全新
典则俊雅图书专营店
河北省保定市
平均发货26小时
成功完成率79.39%
¥14.20
券
100减20
立即购买
加入购物车
区块链技术及底层架构 科技综合 陈东敏 主编 新华正版
新华书店全新正版书籍 支持7天无理由
全新
智胜图书专营店
北京市丰台区
平均发货21小时
成功完成率86.52%
¥14.20
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
九五品
晴月文化书店
北京市朝阳区
平均发货9小时
成功完成率87.69%
¥15.75
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
科技综合 新华书店全新正版书籍
全新
新华文轩网络书店
江苏省无锡市
平均发货6小时
成功完成率96.17%
¥31.10
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
正版全新,绝无盗版,可开发票
全新
SeasonSun书肆
北京市海淀区
平均发货17小时
成功完成率86.96%
¥23.80
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
正版新书 新华官方库房直发 可开电子发票
全新
问典书店
江苏省南京市
平均发货8小时
成功完成率96.73%
¥33.75
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
八五品
二丫书店
山东省枣庄市
平均发货11小时
成功完成率86.97%
¥17.72
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
正版二手,批量上传数据有误差,套装请咨询客服,均有笔记不影响使用,无赠品、光盘、MP3等
八五品
诚信旧书社
山东省枣庄市
平均发货12小时
成功完成率88.44%
¥16.66
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构专著陈东敏主编qukuailianjishuyuanlijidicengj
全新
墨缘轩图书旗舰店
河北省保定市
平均发货28小时
成功完成率83.67%
¥9.70
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
全新
北大书局
北京市海淀区
平均发货19小时
成功完成率96.33%
¥5.00
券
100减20
立即购买
加入购物车
区块链技术及底层架构 科技综合 陈东敏 主编 新华正版
科技综合 新华书店全新正版书籍 支持7天无理由
全新
桑梓图书专营书城
江苏省苏州市
平均发货9小时
成功完成率94.71%
¥31.33
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构陈东敏郭峰广红北京航空航天大学出9787512423756
八五品
货缘甲的书铺
北京市西城区
平均发货12小时
成功完成率77.47%
¥15.39
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
正版现货,品相完好,套装书默认发一本,全国多仓,快递随机,择优发货
九品
图书-天下的书店
北京市东城区
平均发货21小时
成功完成率83.54%
¥11.89
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
正版新书或者库存书,默认发新版本,不以图片为准,套装请咨询客服。
全新
铭阳书店
天津市西青区
平均发货13小时
成功完成率79.16%
¥33.20
券
100减20
立即购买
加入购物车
保正版!区块链技术原理及底层架构9787512423756北京航空航天大学出版社陈东敏 主编
1.7天无理由退换货,2.当日16点前订单基本当日发出,最迟隔天,3.天津仓、成都仓、无锡仓、北京仓、广东仓、泰安仓、杭州仓、武汉仓就近发货。4.韵达、中国邮政、圆通、中通随机安排!无法指定快递敬请谅解!5.开票联系客服.
全新
博文明智书店
天津市河东区
平均发货30小时
成功完成率89.21%
¥30.10
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构 9787512423756
可开发票,支持7天无理由
全新
果然是好书店
天津市西青区
平均发货15小时
成功完成率92.21%
¥30.87
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
新华正版新书
全新
智文星空图书专卖场
四川省成都市
平均发货9小时
成功完成率97.14%
¥31.92
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构 陈东敏 主编 9787512423756 北京航空航天大学出版社
全新正版书,当天发货。如有套装书(或图片与书名不符),价格异常,可能是单本书的价格。
全新
湘云书店
北京市通州区
平均发货11小时
成功完成率94.56%
¥33.70
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
全新正版 假一赔十 可开发票
全新
轻阅书店
北京市朝阳区
平均发货10小时
成功完成率96.54%
¥31.27
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构陈东敏 主编北京航空航天大学出版社
新华系统图书,正版特价新书! 天津,河北,无锡,成都四大仓库发货,70%城市次达!
全新
轻舟飘远书店
北京市顺义区
平均发货13小时
成功完成率95.15%
¥30.70
券
100减20
立即购买
加入购物车
新华正版 区块链技术原理及底层架构 陈东敏 主编 9787512423756 北京航空航天大学出版社
新华书店直发 全新正版 急速发货 开票联系客服
全新
建德书局的书店
北京市西城区
平均发货32小时
成功完成率90.9%
¥29.49
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构9787523756
凡是套装书,价格异常时,请咨询后下单。全新正版书。
全新
白湘云书社
北京市通州区
平均发货12小时
成功完成率87.54%
¥33.70
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
正版新华书店直发可开发票,支持7天无理由
全新
需配书院(南京书店)
江苏省无锡市
平均发货18小时
成功完成率94.74%
¥32.10
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构陈东敏郭峰广红北京航空航天大学出9787512423756陈东敏、郭峰、广红北京航空航天大学出版社9787512423756
正版现货 二手书籍 品相好 择优速发
八五品
一棵树旧书店
重庆市沙坪坝区
平均发货10小时
成功完成率79.32%
¥15.72
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
无笔记划线 一版一印
九品
竹林风书店
广东省东莞市
平均发货14小时
成功完成率96.13%
¥4.00
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
【标题与图片不一致时,请质询,正版有货可开发票】
全新
雅逸阁书店
海南省海口市
平均发货17小时
成功完成率80.87%
¥35.00
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
全新
静语飞扬
河北省保定市
平均发货25小时
成功完成率88.54%
¥10.40
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构陈东敏郭峰广红北京航空航天大学出9787512423756陈东敏、郭峰、广红北京航空航天大学出版社9787512423756
八五品
一亩田书院
重庆市沙坪坝区
平均发货11小时
成功完成率87.26%
¥17.20
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
书籍均为精品二手图书品相85品以上,出库会经过高温消毒,书籍上架都会检测可保证正版!!
九品
粤读二手书店
天津市宝坻区
平均发货14小时
成功完成率94.86%
¥16.20
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
八五品
古籍旧书院
山东省济南市
平均发货11小时
成功完成率90.61%
¥18.06
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
正版新书 新华官方库房直发 可开电子发票
全新
江苏读客文化
江苏省南京市
平均发货15小时
成功完成率81.98%
¥33.75
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构 陈东敏,郭峰,广红 9787512423756 北
二手会有少量涂画,整体不影响再次阅读使用!套装不一定齐全,请下单前咨询在线客服!
八五品
上海真实库存12小时发货书店
上海市黄浦区
平均发货17小时
成功完成率79.21%
¥6.26
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
全新
南国书苑
广东省广州市
平均发货1小时
成功完成率97.72%
¥5.00
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
正版新书 新华官方库房直发 可开电子发票
全新
文源文化
江苏省南京市
平均发货7小时
成功完成率98.12%
¥33.75
券
100减20
立即购买
加入购物车
区块链技术原理及底层架构
八五品
财经旧书店
河北省石家庄市
平均发货29小时
成功完成率64.98%
¥9.45
券
100减20
立即购买
加入购物车
123 下一页
相关图书 / 更多
区块链技术、应用与知识产权保护
国家知识产权局专利局专利审查协作北京中心
¥44.52
起
区块链技术助推数字经济发展研究
袁峰,詹晖
¥24.69
起
区块链原理教程
胡凯 潘妍 冯立波
¥15.00
起
区块链金融
张军欢
¥26.25
起
区块链技术原理与应用
李建辉
¥20.00
起
区块链赋能共同富裕和美好生活新路径
王宇航 王栋 著
¥20.00
起
区块链原理与应用
陈晓红 徐雪松 曹文治
¥49.78
起
区块链金融(新编21世纪高等职业教育精品教材·金融类)
李馨 石立哲
¥19.20
起
区块链应用的作用机制和影响后果
万滢霖 著
¥18.10
起
区块链技术视域下的供应链相关问题研究
张晓莉;武文
¥21.18
起
区块链概论
沈言锦本书主编 谢剑虹 丛书主编
¥20.92
起
区块链原理与技术(第2版)
郑子彬 郑沛霖 陈嘉弛
¥28.59
起
您可能感兴趣 / 更多
世界因区块链而不同
陈东敏、郭峰、广红 著
¥1.00
起
© 2002-2024 Kongfz.com 孔夫子旧书网 版权所有
关于孔网
联系我们
帮助中心
版权隐私
广告业务
工作机会
移动版
图书目录
图书标签
热搜书籍
作家大全
区块链技术研究综述:原理、进展与应用
区块链技术研究综述:原理、进展与应用
主管单位:中国科学技术协会
主办单位:中国通信学会
ISSN 1000-436X CN 11-2102/TN
首页
期刊简介
编委会
投稿指南
道德声明
期刊协议
期刊订阅
会议活动
下载中心
联系我们
English
期刊介绍
期刊信息
投稿须知
稿件格式要求
审稿流程
下载中心
联系方式
Toggle navigation
首页
期刊简介
期刊介绍
期刊信息
编委会
投稿指南
投稿须知
稿件格式要求
审稿流程
下载中心
道德声明
期刊协议
期刊订阅
会议活动
联系我们
English
通信学报, 2020, 41(1): 134-151 doi: 10.11959/j.issn.1000-436x.2020027
综述
区块链技术研究综述:原理、进展与应用
曾诗钦1, 霍如2,3, 黄韬1,3, 刘江1,3, 汪硕1,3, 冯伟4
1 北京邮电大学网络与交换国家重点实验室,北京 100876
2 北京工业大学北京未来网络科技高精尖创新中心,北京 100124
3 网络通信与安全紫金山实验室,江苏 南京 211111
4 工业和信息化部信息化和软件服务业司,北京 100846
Survey of blockchain:principle,progress and application
ZENG Shiqin1, HUO Ru2,3, HUANG Tao1,3, LIU Jiang1,3, WANG Shuo1,3, FENG Wei4
1 State Key Laboratory of Networking and Switching Technology,Beijing University of Posts and Telecommunications,Beijing 100876,China
2 Beijing Advanced Innovation Center for Future Internet Technology,Beijing University of Technology,Beijing 100124,China
3 Purple Mountain Laboratories,Nanjing 211111,China
4 Department of Information Technology Application and Software Services,Beijing 100846,China
通讯作者: 霍如,huoru@bjut.edu.cn
修回日期: 2019-12-12
网络出版日期: 2020-01-25
基金资助:
国家高技术研究发展计划(“863”计划)基金资助项目. 2015AA015702未来网络操作系统发展战略研究基金资助项目. 2019-XY-5
Revised: 2019-12-12
Online: 2020-01-25
Fund supported:
The National High Technology Research and Development Program of China (863 Program). 2015AA015702The Development Strategy Research of Future Network Operating System. 2019-XY-5
作者简介 About authors
曾诗钦(1995-),男,广西南宁人,北京邮电大学博士生,主要研究方向为区块链、标识解析技术、工业互联网
。
霍如(1988-),女,黑龙江哈尔滨人,博士,北京工业大学讲师,主要研究方向为计算机网络、信息中心网络、网络缓存策略与算法、工业互联网、标识解析技术等。
。
黄韬(1980-),男,重庆人,博士,北京邮电大学教授,主要研究方向为未来网络体系架构、软件定义网络、网络虚拟化等。
。
刘江(1983-),男,河南郑州人,博士,北京邮电大学教授,主要研究方向为未来网络体系架构、软件定义网络、网络虚拟化、信息中心网络等。
。
汪硕(1991-),男,河南灵宝人,博士,北京邮电大学在站博士后,主要研究方向为数据中心网络、软件定义网络、网络流量调度等。
。
冯伟(1980-),男,河北邯郸人,博士,工业和信息化部副研究员,主要研究方向为工业互联网平台、数字孪生、信息化和工业化融合发展关键技术等
。
摘要
区块链是一种分布式账本技术,依靠智能合约等逻辑控制功能演变为完整的存储系统。其分类方式、服务模式和应用需求的变化导致核心技术形态的多样性发展。为了完整地认知区块链生态系统,设计了一个层次化的区块链技术体系结构,进一步深入剖析区块链每层结构的基本原理、技术关联以及研究进展,系统归纳典型区块链项目的技术选型和特点,最后给出智慧城市、工业互联网等区块链前沿应用方向,提出区块链技术挑战与研究展望。
关键词:
区块链
;
加密货币
;
去中心化
;
层次化技术体系结构
;
技术多样性
;
工业区块链
Abstract
Blockchain is a kind of distributed ledger technology that upgrades to a complete storage system by adding logic control functions such as intelligent contracts.With the changes of its classification,service mode and application requirements,the core technology forms of Blockchain show diversified development.In order to understand the Blockchain ecosystem thoroughly,a hierarchical technology architecture of Blockchain was proposed.Furthermore,each layer of blockchain was analyzed from the perspectives of basic principle,related technologies and research progress in-depth.Moreover,the technology selections and characteristics of typical Blockchain projects were summarized systematically.Finally,some application directions of blockchain frontiers,technology challenges and research prospects including Smart Cities and Industrial Internet were given.
Keywords:
blockchain
;
cryptocurrency
;
decentralization
;
hierarchical technology architecture
;
technology diversity
;
PDF (1174KB)
元数据
多维度评价
相关文章
导出
EndNote|
Ris|
Bibtex
收藏本文
本文引用格式
曾诗钦, 霍如, 黄韬, 刘江, 汪硕, 冯伟. 区块链技术研究综述:原理、进展与应用. 通信学报[J], 2020, 41(1): 134-151 doi:10.11959/j.issn.1000-436x.2020027
ZENG Shiqin. Survey of blockchain:principle,progress and application. Journal on Communications[J], 2020, 41(1): 134-151 doi:10.11959/j.issn.1000-436x.2020027
1 引言
2008年,中本聪提出了去中心化加密货币——比特币(bitcoin)的设计构想。2009年,比特币系统开始运行,标志着比特币的正式诞生。2010—2015 年,比特币逐渐进入大众视野。2016—2018年,随着各国陆续对比特币进行公开表态以及世界主流经济的不确定性增强,比特币的受关注程度激增,需求量迅速扩大。事实上,比特币是区块链技术最成功的应用场景之一。伴随着以太坊(ethereum)等开源区块链平台的诞生以及大量去中心化应用(DApp,decentralized application)的落地,区块链技术在更多的行业中得到了应用。
由于具备过程可信和去中心化两大特点,区块链能够在多利益主体参与的场景下以低成本的方式构建信任基础,旨在重塑社会信用体系。近两年来区块链发展迅速,人们开始尝试将其应用于金融、教育、医疗、物流等领域。但是,资源浪费、运行低效等问题制约着区块链的发展,这些因素造成区块链分类方式、服务模式和应用需求发生快速变化,进一步导致核心技术朝多样化方向发展,因此有必要采取通用的结构分析区块链项目的技术路线和特点,以梳理和明确区块链的研究方向。
区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值。袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势。上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析。本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望。
2 相关概念
随着区块链技术的深入研究,不断衍生出了很多相关的术语,例如“中心化”“去中心化”“公链”“联盟链”等。为了全面地了解区块链技术,并对区块链技术涉及的关键术语有系统的认知,本节将给出区块链及其相关概念的定义,以及它们的联系,更好地区分易使人混淆的术语。
2.1 中心化与去中心化
中心化(centralization)与去中心化(decentralization)最早用来描述社会治理权力的分布特征。从区块链应用角度出发,中心化是指以单个组织为枢纽构建信任关系的场景特点。例如,电子支付场景下用户必须通过银行的信息系统完成身份验证、信用审查和交易追溯等;电子商务场景下对端身份的验证必须依靠权威机构下发的数字证书完成。相反,去中心化是指不依靠单一组织进行信任构建的场景特点,该场景下每个组织的重要性基本相同。
2.2 加密货币
加密货币(cryptocurrency)是一类数字货币(digital currency)技术,它利用多种密码学方法处理货币数据,保证用户的匿名性、价值的有效性;利用可信设施发放和核对货币数据,保证货币数量的可控性、资产记录的可审核性,从而使货币数据成为具备流通属性的价值交换媒介,同时保护使用者的隐私。
加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示。
图1
新窗口打开|
下载原图ZIP|
生成PPT
图1
“electronic cash”交易模型
交易开始前,付款者使用银行账户兑换加密货币,然后将货币数据发送给领款者,领款者向银行发起核对请求,若该数据为银行签发的合法货币数据,那么银行将向领款者账户记入等额数值。通过盲签名技术,银行完成对货币数据的认证,而无法获得发放货币与接收货币之间的关联,从而保证了价值的有效性、用户的匿名性;银行天然具有发放币种、账户记录的能力,因此保证了货币数量的可控性与资产记录的可审核性。
最早的加密货币构想将银行作为构建信任的基础,呈现中心化特点。此后,加密货币朝着去中心化方向发展,并试图用工作量证明(PoW,poof of work)[8]或其改进方法定义价值。比特币在此基础上,采用新型分布式账本技术保证被所有节点维护的数据不可篡改,从而成功构建信任基础,成为真正意义上的去中心化加密货币。区块链从去中心化加密货币发展而来,随着区块链的进一步发展,去中心化加密货币已经成为区块链的主要应用之一。
2.3 区块链及工作流程
一般认为,区块链是一种融合多种现有技术的新型分布式计算和存储范式。它利用分布式共识算法生成和更新数据,并利用对等网络进行节点间的数据传输,结合密码学原理和时间戳等技术的分布式账本保证存储数据的不可篡改,利用自动化脚本代码或智能合约实现上层应用逻辑。如果说传统数据库实现数据的单方维护,那么区块链则实现多方维护相同数据,保证数据的安全性和业务的公平性。区块链的工作流程主要包含生成区块、共识验证、账本维护3个步骤。
1) 生成区块。区块链节点收集广播在网络中的交易——需要记录的数据条目,然后将这些交易打包成区块——具有特定结构的数据集。
2) 共识验证。节点将区块广播至网络中,全网节点接收大量区块后进行顺序的共识和内容的验证,形成账本——具有特定结构的区块集。
3) 账本维护。节点长期存储验证通过的账本数据并提供回溯检验等功能,为上层应用提供账本访问接口。
2.4 区块链类型
根据不同场景下的信任构建方式,可将区块链分为2类:非许可链(permissionless blockchain)和许可链(permissioned blockchain)。
非许可链也称为公链(public blockchain),是一种完全开放的区块链,即任何人都可以加入网络并参与完整的共识记账过程,彼此之间不需要信任。公链以消耗算力等方式建立全网节点的信任关系,具备完全去中心化特点的同时也带来资源浪费、效率低下等问题。公链多应用于比特币等去监管、匿名化、自由的加密货币场景。
许可链是一种半开放式的区块链,只有指定的成员可以加入网络,且每个成员的参与权各有不同。许可链往往通过颁发身份证书的方式事先建立信任关系,具备部分去中心化特点,相比于非许可链拥有更高的效率。进一步,许可链分为联盟链(consortium blockchain)和私链(fully private blockchain)。联盟链由多个机构组成的联盟构建,账本的生成、共识、维护分别由联盟指定的成员参与完成。在结合区块链与其他技术进行场景创新时,公链的完全开放与去中心化特性并非必需,其低效率更无法满足需求,因此联盟链在某些场景中成为实适用性更强的区块链选型。私链相较联盟链而言中心化程度更高,其数据的产生、共识、维护过程完全由单个组织掌握,被该组织指定的成员仅具有账本的读取权限。
3 区块链体系结构
根据区块链发展现状,本节将归纳区块链的通用层次技术结构、基本原理和研究进展。
现有项目的技术选型多数由比特币演变而来,所以区块链主要基于对等网络通信,拥有新型的基础数据结构,通过全网节点共识实现公共账本数据的统一。但是区块链也存在效率低、功耗大和可扩展性差等问题,因此人们进一步以共识算法、处理模型、交易模式创新为切入点进行技术方案改进,并在此基础上丰富了逻辑控制功能和区块链应用功能,使其成为一种新型计算模式。本文给出如图2 所示的区块链通用层次化技术结构,自下而上分别为网络层、数据层、共识层、控制层和应用层。其中,网络层是区块链信息交互的基础,承载节点间的共识过程和数据传输,主要包括建立在基础网络之上的对等网络及其安全机制;数据层包括区块链基本数据结构及其原理;共识层保证节点数据的一致性,封装各类共识算法和驱动节点共识行为的奖惩机制;控制层包括沙盒环境、自动化脚本、智能合约和权限管理等,提供区块链可编程特性,实现对区块数据、业务数据、组织结构的控制;应用层包括区块链的相关应用场景和实践案例,通过调用控制合约提供的接口进行数据交互,由于该层次不涉及区块链原理,因此在第 5节中单独介绍。
3.1 网络层
网络层关注区块链网络的基础通信方式——对等(P2P,peer-to-peer)网络。对等网络是区别于“客户端/服务器”服务模式的计算机通信与存储架构,网络中每个节点既是数据的提供者也是数据的使用者,节点间通过直接交换实现计算机资源与信息的共享,因此每个节点地位均等。区块链网络层由组网结构、通信机制、安全机制组成。其中组网结构描述节点间的路由和拓扑关系,通信机制用于实现节点间的信息交互,安全机制涵盖对端安全和传输安全。
图2
新窗口打开|
下载原图ZIP|
生成PPT
图2
区块链层次化技术结构
1) 组网结构
对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示。
图3
新窗口打开|
下载原图ZIP|
生成PPT
图3
区块链组网结构
无结构对等网络是指网络中不存在特殊中继节点、节点路由表的生成无确定规律、网络拓扑呈现随机图状的一类对等网络。该类网络结构松散,设计简洁,具有良好的容错性和匿名性,但由于采用洪泛机制作为信息传播方式,其可扩展性较差。典型的协议有Gnutella等。
结构化对等网络是指网络中不存在特殊中继节点、节点间根据特定算法生成路由表、网络拓扑具有严格规律的一类对等网络。该类网络实现复杂但可扩展性良好,通过结构化寻址可以精确定位节点从而实现多样化功能。常见的结构化网络以DHT (distributed hash table)网络为主,典型的算法有Chord、Kademlia等。
混合式对等网络是指节点通过分布式中继节点实现全网消息路由的一类对等网络。每个中继节点维护部分网络节点地址、文件索引等工作,共同实现数据中继的功能。典型的协议有Kazza等。
2) 通信机制
通信机制是指区块链网络中各节点间的对等通信协议,建立在 TCP/UDP 之上,位于计算机网络协议栈的应用层,如图4所示。该机制承载对等网络的具体交互逻辑,例如节点握手、心跳检测、交易和区块传播等。由于包含的协议功能不同(例如基础链接与扩展交互),本文将通信机制细分为3个层次:传播层、连接层和交互逻辑层。
传播层实现对等节点间数据的基本传输,包括2 种数据传播方式:单点传播和多点传播。单点传播是指数据在2个已知节点间直接进行传输而不经过其他节点转发的传播方式;多点传播是指接收数据的节点通过广播向邻近节点进行数据转发的传播方式,区块链网络普遍基于Gossip协议[10]实现洪泛传播。连接层用于获取节点信息,监测和改变节点间连通状态,确保节点间链路的可用性(availability)。具体而言,连接层协议帮助新加入节点获取路由表数据,通过定时心跳监测为节点保持稳定连接,在邻居节点失效等情况下为节点关闭连接等。交互逻辑层是区块链网络的核心,从主要流程上看,该层协议承载对等节点间账本数据的同步、交易和区块数据的传输、数据校验结果的反馈等信息交互逻辑,除此之外,还为节点选举、共识算法实施等复杂操作和扩展应用提供消息通路。
图4
新窗口打开|
下载原图ZIP|
生成PPT
图4
区块链网络通信机制
3) 安全机制
安全是每个系统必须具备的要素,以比特币为代表的非许可链利用其数据层和共识层的机制,依靠消耗算力的方式保证数据的一致性和有效性,没有考虑数据传输过程的安全性,反而将其建立在不可信的透明P2P网络上。随着隐私保护需求的提出,非许可链也采用了一些网络匿名通信方法,例如匿名网络Tor(the onion router)通过沿路径的层层数据加密机制来保护对端身份。许可链对成员的可信程度有更高的要求,在网络层面采取适当的安全机制,主要包括身份安全和传输安全两方面。身份安全是许可链的主要安全需求,保证端到端的可信,一般采用数字签名技术实现,对节点的全生命周期(例如节点交互、投票、同步等)进行签名,从而实现许可链的准入许可。传输安全防止数据在传输过程中遭到篡改或监听,常采用基于TLS的点对点传输和基于Hash算法的数据验证技术。
4) 研究现状
目前,区块链网络层研究主要集中在3个方向:测量优化、匿名分析与隐私保护、安全防护。
随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络。Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法。Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动。Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡。
匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害。Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击。
区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击。为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案。Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性。Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能。
3.2 数据层
区块链中的“块”和“链”都是用来描述其数据结构特征的词汇,可见数据层是区块链技术体系的核心。区块链数据层定义了各节点中数据的联系和组织方式,利用多种算法和机制保证数据的强关联性和验证的高效性,从而使区块链具备实用的数据防篡改特性。除此之外,区块链网络中每个节点存储完整数据的行为增加了信息泄露的风险,隐私保护便成为迫切需求,而数据层通过非对称加密等密码学原理实现了承载应用信息的匿名保护,促进区块链应用普及和生态构建。因此,从不同应用信息的承载方式出发,考虑数据关联性、验证高效性和信息匿名性需求,可将数据层关键技术分为信息模型、关联验证结构和加密机制3类。
1) 信息模型
区块链承载了不同应用的数据(例如支付记录、审计数据、供应链信息等),而信息模型则是指节点记录应用信息的逻辑结构,主要包括UTXO (unspent transaction output)、基于账户和键值对模型3种。需要说明的是,在大部分区块链网络中,每个用户均被分配了交易地址,该地址由一对公私钥生成,使用地址标识用户并通过数字签名的方式检验交易的有效性。
UTXO是比特币交易中的核心概念,逐渐演变为区块链在金融领域应用的主要信息模型,如图5所示。每笔交易(Tx)由输入数据(Input)和输出数据(Output)组成,输出数据为交易金额(Num)和用户公钥地址(Adr),而输入数据为上一笔交易输出数据的指针(Pointer),直到该比特币的初始交易由区块链网络向节点发放。
图5
新窗口打开|
下载原图ZIP|
生成PPT
图5
UTXO信息模型
基于账户的信息模型以键值对的形式存储数据,维护着账户当前的有效余额,通过执行交易来不断更新账户数据。相比于UTXO,基于账户的信息模型与银行的储蓄账户类似,更直观和高效。
不管是UTXO还是基于账户的信息模型,都建立在更为通用的键值对模型上,因此为了适应更广泛的应用场景,键值对模型可直接用于存储业务数据,表现为表单或集合形式。该模型利于数据的存取并支持更复杂的业务逻辑,但是也存在复杂度高的问题。
2) 关联验证结构
区块链之所以具备防篡改特性,得益于链状数据结构的强关联性。该结构确定了数据之间的绑定关系,当某个数据被篡改时,该关系将会遭到破坏。由于伪造这种关系的代价是极高的,相反检验该关系的工作量很小,因此篡改成功率被降至极低。链状结构的基本数据单位是“区块(block)”,基本内容如图6所示。
图6
新窗口打开|
下载原图ZIP|
生成PPT
图6
基本区块结构
区块由区块头(Header)和区块体(Body)两部分组成,区块体包含一定数量的交易集合;区块头通过前继散列(PrevHash)维持与上一区块的关联从而形成链状结构,通过MKT(MerkleTree)生成的根散列(RootHash)快速验证区块体交易集合的完整性。因此散列算法和 MKT 是关联验证结构的关键,以下将对此展开介绍。
散列(Hash)算法也称为散列函数,它实现了明文到密文的不可逆映射;同时,散列算法可以将任意长度的输入经过变化得到固定长度的输出;最后,即使元数据有细微差距,变化后的输出也会产生显著不同。利用散列算法的单向、定长和差异放大的特征,节点通过比对当前区块头的前继散列即可确定上一区块内容的正确性,使区块的链状结构得以维系。区块链中常用的散列算法包括SHA256等。
MKT包括根散列、散列分支和交易数据。MKT首先对交易进行散列运算,再对这些散列值进行分组散列,最后逐级递归直至根散列。MKT 带来诸多好处:一方面,对根散列的完整性确定即间接地实现交易的完整性确认,提升高效性;另一方面,根据交易的散列路径(例如 Tx1:Hash2、Hash34)可降低验证某交易存在性的复杂度,若交易总数为N,那么MKT可将复杂度由N降为lbN。除此之外,还有其他数据结构与其配合使用,例如以太坊通过MPT(Merkle Patricia tree)——PatriciaTrie 和MerkleTree混合结构,高效验证其基于账户的信息模型数据。
此外,区块头中还可根据不同项目需求灵活添加其他信息,例如添加时间戳为区块链加入时间维度,形成时序记录;添加记账节点标识,以维护成块节点的权益;添加交易数量,进一步提高区块体数据的安全性。
3) 加密机制
由上述加密货币原理可知,经比特币演变的区块链技术具备与生俱来的匿名性,通过非对称加密等技术既保证了用户的隐私又检验了用户身份。非对称加密技术是指加密者和解密者利用2个不同秘钥完成加解密,且秘钥之间不能相互推导的加密机制。常用的非对称加密算法包括 RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等。对应图5,Alice 向 Bob 发起交易 Tx2,Alice使用Bob的公钥对交易签名,仅当Bob使用私钥验证该数字签名时,才有权利创建另一笔交易,使自身拥有的币生效。该机制将公钥作为基础标识用户,使用户身份不可读,一定程度上保护了隐私。
4) 研究现状
数据层面的研究方向集中在高效验证、匿名分析、隐私保护3个方面。
高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种。为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究。Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程。Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销。
区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接。Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度。Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址。Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率。
隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私。Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性。非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成。
3.3 共识层
区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测。因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题。实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究。
状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论。其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态。假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性。同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息。状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议。其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同。学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题。
区块链网络中主要包含PoX(poof of X)[34]、BFT(byzantine-fault tolerant)和 CFT(crash-fault tolerant)类基础共识协议。PoX 类协议是以 PoW (proof of work)为代表的基于奖惩机制驱动的新型共识协议,为了适应数据吞吐量、资源利用率和安全性的需求,人们又提出PoS(proof of stake)、PoST (proof of space-time)等改进协议。它们的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错。BFT类协议是指解决拜占庭容错问题的传统共识协议及其改良协议,包括PBFT、BFT-SMaRt、Tendermint等。CFT类协议用于实现崩溃容错,通过身份证明等手段规避节点作恶的情况,仅考虑节点或网络的崩溃(crash)故障,主要包括Raft、Paxos、Kafka等协议。
非许可链和许可链的开放程度和容错需求存在差异,共识层面技术在两者之间产生了较大区别。具体而言,非许可链完全开放,需要抵御严重的拜占庭风险,多采用PoX、BFT类协议并配合奖惩机制实现共识。许可链拥有准入机制,网络中节点身份可知,一定程度降低了拜占庭风险,因此可采用BFT类协议、CFT类协议构建相同的信任模型[35]。
限于篇幅原因,本节仅以 PoW、PBFT、Raft为切入进行3类协议的分析。
1) PoX类协议
PoW也称为Nakamoto协议,是比特币及其衍生项目使用的核心共识协议,如图7所示。
图7
新窗口打开|
下载原图ZIP|
生成PPT
图7
PoW协议示意
该协议在区块链头结构中加入随机数Nonce,并设计证明依据:为生成新区块,节点必须计算出合适的 Nonce 值,使新生成的区块头经过双重SHA256 运算后小于特定阈值。该协议的整体流程为:全网节点分别计算证明依据,成功求解的节点确定合法区块并广播,其余节点对合法区块头进行验证,若验证无误则与本地区块形成链状结构并转发,最终达到全网共识。PoW是随机性协议,任何节点都有可能求出依据,合法区块的不唯一将导致生成分支链,此时节点根据“最长链原则”选择一定时间内生成的最长链作为主链而抛弃其余分支链,从而使各节点数据最终收敛。
PoW协议采用随机性算力选举机制,实现拜占庭容错的关键在于记账权的争夺,目前寻找证明依据的方法只有暴力搜索,其速度完全取决于计算芯片的性能,因此当诚实节点数量过半,即“诚实算力”过半时,PoW便能使合法分支链保持最快的增长速度,也即保证主链一直是合法的。PoW是一种依靠饱和算力竞争纠正拜占庭错误的共识协议,关注区块产生、传播过程中的拜占庭容错,在保证防止双花攻击的同时也存在资源浪费、可扩展性差等问题。
2) BFT类协议
PBFT是 BFT经典共识协议,其主要流程如图8 所示。PBFT将节点分为主节点和副节点,其中主节点负责将交易打包成区块,副节点参与验证和转发,假设作恶节点数量为f。PBFT共识主要分为预准备、准备和接受3个阶段,主节点首先收集交易后排序并提出合法区块提案;其余节点先验证提案的合法性,然后根据区块内交易顺序依次执行并将结果摘要组播;各节点收到2f个与自身相同的摘要后便组播接受投票;当节点收到超过2f+1个投票时便存储区块及其产生的新状态[36]。
图8
新窗口打开|
下载原图ZIP|
生成PPT
图8
PBFT协议示意
PBFT 协议解决消息传播过程的拜占庭容错,由于算法复杂度为 O(n2)且存在确定性的主节点选举规则,PBFT 仅适用于节点数量少的小型许可链系统。
3) CFT类协议
Raft[37]是典型的崩溃容错共识协议,以可用性强著称。Raft将节点分为跟随节点、候选节点和领导节点,领导节点负责将交易打包成区块,追随节点响应领导节点的同步指令,候选节点完成领导节点的选举工作。当网络运行稳定时,只存在领导节点和追随节点,领导节点向追随节点推送区块数据从而实现同步。节点均设置生存时间决定角色变化周期,领导节点的心跳信息不断重置追随节点的生存时间,当领导节点发生崩溃时,追随节点自动转化为候选节点并进入选举流程,实现网络自恢复。
Raft协议实现崩溃容错的关键在于领导节点的自选举机制,部分许可链选择降低可信需求,将拜占庭容错转换为崩溃容错,从而提升共识速度。
4) 奖惩机制
奖惩机制包括激励机制与惩罚策略,其中激励机制是为了弥补节点算力消耗、平衡协议运行收益比的措施,当节点能够在共识过程中获得收益时才会进行记账权的争夺,因此激励机制利用经济效益驱动各共识协议可持续运行。激励机制一般基于价值均衡理论设计,具有代表性的机制包括PPLNS、PPS等。为了实现收益最大化,节点可能采用不诚实的运行策略(如扣块攻击、自私挖矿等),损害了诚实节点的利益,惩罚策略基于博弈论等理论对节点进行惩罚,从而纠正不端节点的行为,维护共识可持续性。
5) 研究现状
随着可扩展性和性能需求的多样化发展,除了传统的BFT、CFT协议和PoX协议衍生研究,还产生了混合型协议(Hybrid)——主要为 PoX类协议混合以及PoX-BFT协议混合。因此本节从PoX类、BFT类以及Hybrid类协议归纳共识层研究进展。
如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错。uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费。PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块。PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举。Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性。PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用。
BFT协议有较长的发展史,在区块链研究中被赋予了新的活力。SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识。Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性。HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致。LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能。
Hybrid 类协议是研究趋势之一。PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享。PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力。ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延。Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份。
3.4 控制层
区块链节点基于对等通信网络与基础数据结构进行区块交互,通过共识协议实现数据一致,从而形成了全网统一的账本。控制层是各类应用与账本产生交互的中枢,如果将账本比作数据库,那么控制层提供了数据库模型,以及相应封装、操作的方法。具体而言,控制层由处理模型、控制合约和执行环境组成。处理模型从区块链系统的角度分析和描述业务/交易处理方式的差异。控制合约将业务逻辑转化为交易、区块、账本的具体操作。执行环境为节点封装通用的运行资源,使区块链具备稳定的可移植性。
1) 处理模型
账本用于存储全部或部分业务数据,那么依据该数据的分布特征可将处理模型分为链上(on-chain)和链下(off-chain)2种。
链上模型是指业务数据完全存储在账本中,业务逻辑通过账本的直接存取实现数据交互。该模型的信任基础建立在强关联性的账本结构中,不仅实现防篡改而且简化了上层控制逻辑,但是过量的资源消耗与庞大的数据增长使系统的可扩展性达到瓶颈,因此该模型适用于数据量小、安全性强、去中心化和透明程度高的业务。
链下模型是指业务数据部分或完全存储在账本之外,只在账本中存储指针以及其他证明业务数据存在性、真实性和有效性的数据。该模型以“最小化信任成本”为准则,将信任基础建立在账本与链下数据的证明机制中,降低账本构建成本。由于与公开的账本解耦,该模型具有良好的隐私性和可拓展性,适用于去中心化程度低、隐私性强、吞吐量大的业务。
2) 控制合约
区块链中控制合约经历了2个发展阶段,首先是以比特币为代表的非图灵完备的自动化脚本,用于锁定和解锁基于UTXO信息模型的交易,与强关联账本共同克服了双花等问题,使交易数据具备流通价值。其次是以以太坊为代表的图灵完备的智能合约,智能合约是一种基于账本数据自动执行的数字化合同,由开发者根据需求预先定义,是上层应用将业务逻辑编译为节点和账本操作集合的关键。智能合约通过允许相互不信任的参与者在没有可信第三方的情况下就复杂合同的执行结果达成协议,使合约具备可编程性,实现业务逻辑的灵活定义并扩展区块链的使用。
3) 执行环境
执行环境是指执行控制合约所需要的条件,主要分为原生环境和沙盒环境。原生环境是指合约与节点系统紧耦合,经过源码编译后直接执行,该方式下合约能经历完善的静态分析,提高安全性。沙盒环境为节点运行提供必要的虚拟环境,包括网络通信、数据存储以及图灵完备的计算/控制环境等,在虚拟机中运行的合约更新方便、灵活性强,其产生的漏洞也可能造成损失。
4) 研究现状
控制层的研究方向主要集中在可扩展性优化与安全防护2个方面。
侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷。Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花。Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余。分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载。ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证。OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性。区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障。上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案。实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付。Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认。
一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点。Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题。Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利。Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测。
4 技术选型分析
区别于其他技术,区块链发展过程中最显著的特点是与产业界紧密结合,伴随着加密货币和分布式应用的兴起,业界出现了许多区块链项目。这些项目是区块链技术的具体实现,既有相似之处又各具特点,本节将根据前文所述层次化结构对比特币、以太坊和超级账本Fabric项目进行分析,然后简要介绍其他代表性项目并归纳和对比各项目的技术选型及特点。
4.1 比特币
比特币是目前规模最大、影响范围最广的非许可链开源项目。图9为比特币项目以账本为核心的运行模式,也是所有非许可链项目的雏形。比特币网络为用户提供兑换和转账业务,该业务的价值流通媒介由账本确定的交易数据——比特币支撑。为了保持账本的稳定和数据的权威性,业务制定奖励机制,即账本为节点产生新的比特币或用户支付比特币,以此驱动节点共同维护账本。
图9
新窗口打开|
下载原图ZIP|
生成PPT
图9
比特币运行模式
比特币网络主要由2种节点构成:全节点和轻节点。全节点是功能完备的区块链节点,而轻节点不存储完整的账本数据,仅具备验证与转发功能。全节点也称为矿工节点,计算证明依据的过程被称为“挖矿”,目前全球拥有近 1 万个全节点;矿池则是依靠奖励分配策略将算力汇集起来的矿工群;除此之外,还有用于存储私钥和地址信息、发起交易的客户端(钱包)。
1) 网络层
比特币在网络层采用非结构化方式组网,路由表呈现随机性。节点间则采用多点传播方式传递数据,曾基于Gossip协议实现,为提高网络的抗匿名分析能力改为基于Diffusion协议实现[33]。节点利用一系列控制协议确保链路的可用性,包括版本获取(Vetsion/Verack)、地址获取(Addr/GetAddr)、心跳信息(PING/PONG)等。新节点入网时,首先向硬编码 DNS 节点(种子节点)请求初始节点列表;然后向初始节点随机请求它们路由表中的节点信息,以此生成自己的路由表;最后节点通过控制协议与这些节点建立连接,并根据信息交互的频率更新路由表中节点时间戳,从而保证路由表中的节点都是活动的。交互逻辑层为建立共识交互通道,提供了区块获取(GetBlock)、交易验证(MerkleBlock)、主链选择(CmpctBlock)等协议;轻节点只需要进行简单的区块头验证,因此通过头验证(GetHeader/Header)协议和连接层中的过滤设置协议指定需要验证的区块头即可建立简单验证通路。在安全机制方面,比特币网络可选择利用匿名通信网络Tor作为数据传输承载,通过沿路径的层层数据加密机制来保护对端身份。
2) 数据层
比特币数据层面的技术选型已经被广泛研究,使用UTXO信息模型记录交易数据,实现所有权的简单、有效证明,利用 MKT、散列函数和时间戳实现区块的高效验证并产生强关联性。在加密机制方面,比特币采用参数为Secp256k1的椭圆曲线数字签名算法(ECDSA,elliptic curve digital signature algorithm)生成用户的公私钥,钱包地址则由公钥经过双重散列、Base58Check 编码等步骤生成,提高了可读性。
3) 共识层
比特币采用 PoW 算法实现节点共识,该算法证明依据中的阈值设定可以改变计算难度。计算难度由每小时生成区块的平均块数决定,如果生成得太快,难度就会增加。该机制是为了应对硬件升级或关注提升引起的算力变化,保持证明依据始终有效。目前该阈值被设定为10 min产出一个区块。除此之外,比特币利用奖惩机制保证共识的可持续运行,主要包括转账手续费、挖矿奖励和矿池分配策略等。
4) 控制层
比特币最初采用链上处理模型,并将控制语句直接记录在交易中,使用自动化锁定/解锁脚本验证UTXO模型中的比特币所有权。由于可扩展性和确认时延的限制,比特币产生多个侧链项目如Liquid、RSK、Drivechain等,以及链下处理项目Lightning Network等,从而优化交易速度。
4.2 以太坊
以太坊是第一个以智能合约为基础的可编程非许可链开源平台项目,支持使用区块链网络构建分布式应用,包括金融、音乐、游戏等类型;当满足某些条件时,这些应用将触发智能合约与区块链网络产生交互,以此实现其网络和存储功能,更重要的是衍生出更多场景应用和价值产物,例如以太猫,利用唯一标识为虚拟猫赋予价值;GitCoin,众筹软件开发平台等。
1) 网络层
以太坊底层对等网络协议簇称为DEVP2P,除了满足区块链网络功能外,还满足与以太坊相关联的任何联网应用程序的需求。DEVP2P将节点公钥作为标识,采用 Kademlia 算法计算节点的异或距离,从而实现结构化组网。DEVP2P主要由3种协议组成:节点发现协议RLPx、基础通信协议Wire和扩展协议Wire-Sub。节点间基于Gossip实现多点传播;新节点加入时首先向硬编码引导节点(bootstrap node)发送入网请求;然后引导节点根据Kademlia 算法计算与新节点逻辑距离最近的节点列表并返回;最后新节点向列表中节点发出握手请求,包括网络版本号、节点ID、监听端口等,与这些节点建立连接后则使用Ping/Pong机制保持连接。Wire子协议构建了交易获取、区块同步、共识交互等逻辑通路,与比特币类似,以太坊也为轻量级钱包客户端设计了简易以太坊协议(LES,light ethereum subprotocol)及其变体PIP。安全方面,节点在RLPx协议建立连接的过程中采用椭圆曲线集成加密方案(ECIES)生成公私钥,用于传输共享对称密钥,之后节点通过共享密钥加密承载数据以实现数据传输保护。
2) 数据层
以太坊通过散列函数维持区块的关联性,采用MPT实现账户状态的高效验证。基于账户的信息模型记录了用户的余额及其他 ERC 标准信息,其账户类型主要分为2类:外部账户和合约账户;外部账户用于发起交易和创建合约,合约账户用于在合约执行过程中创建交易。用户公私钥的生成与比特币相同,但是公钥经过散列算法Keccak-256计算后取20 B作为外部账户地址。
3) 共识层
以太坊采用 PoW 共识,将阈值设定为 15 s产出一个区块,计划在未来采用PoS或Casper共识协议。较低的计算难度将导致频繁产生分支链,因此以太坊采用独有的奖惩机制——GHOST 协议,以提高矿工的共识积极性。具体而言,区块中的散列值被分为父块散列和叔块散列,父块散列指向前继区块,叔块散列则指向父块的前继。新区块产生时,GHOST 根据前 7 代区块的父/叔散列值计算矿工奖励,一定程度弥补了分支链被抛弃时浪费的算力。
4) 控制层
每个以太坊节点都拥有沙盒环境 EVM,用于执行Solidity语言编写的智能合约;Solidity语言是图灵完备的,允许用户方便地定义自己的业务逻辑,这也是众多分布式应用得以开发的前提。为优化可扩展性,以太坊拥有侧链项目 Loom、链下计算项目Plasma,而分片技术已于2018年加入以太坊源码。
4.3 超级账本Fabric
超级账本是Linux基金会旗下的开源区块链项目,旨在提供跨行业区块链解决方案。Fabric 是超级账本子项目之一,也是影响最广的企业级可编程许可链项目;在已知的解决方案中,Fabric 被应用于供应链、医疗和金融服务等多种场景。
1) 网络层
Fabric 网络以组织为单位构建节点集群,采用混合式对等网络组网;每个组织中包括普通节点和锚节点(anchor peer),普通节点完成组织内的消息路由,锚节点负责跨组织的节点发现与消息路由。Fabric网络传播层基于Gossip实现,需要使用配置文件初始化网络,网络生成后各节点将定期广播存活信息,其余节点根据该信息更新路由表以保持连接。交互逻辑层采用多通道机制,即相同通道内的节点才能进行状态信息交互和区块同步。Fabric 为许可链,因此在网络层采取严苛的安全机制:节点被颁发证书及密钥对,产生PKI-ID进行身份验证;可选用 TLS 双向加密通信;基于多通道的业务隔离;可定义策略指定通道内的某些节点对等传输私有数据。
2) 数据层
Fabric的区块中记录读写集(read-write set)描述交易执行时的读写过程。该读写集用于更新状态数据库,而状态数据库记录了键、版本和值组成的键值对,因此属于键值对信息模型。一方面,散列函数和 MerkleTree 被用作高效关联结构的实现技术;另一方面,节点还需根据键值验证状态数据库与读写集中的最新版本是否一致。许可链场景对匿名性的要求较低,但对业务数据的隐私性要求较高,因此Fabric 1.2版本开始提供私有数据集(PDC,private data collection)功能。
3) 共识层
Fabric在0.6版本前采用PBFT 共识协议,但是为了提高交易吞吐量,Fabric 1.0 选择降低安全性,将共识过程分解为排序和验证2种服务,排序服务采用CFT类协议Kafka、Raft(v1.4之后)完成,而验证服务进一步分解为读写集验证与多签名验证,最大程度提高了共识速度。由于Fabric针对许可链场景,参与方往往身份可知且具有相同的合作意图,因此规避了节点怠工与作恶的假设,不需要奖惩机制调节。
4) 控制层
Fabric 对于扩展性优化需求较少,主要得益于共识层的优化与许可链本身参与节点较少的前提,因此主要采用链上处理模型,方便业务数据的存取;而 PDC 中仅将私有数据散列值上链的方式则属于链下处理模型,智能合约可以在本地进行数据存取。Fabric 节点采用模块化设计,基于 Docker构建模块执行环境;智能合约在Fabric中被称为链码,使用GO、Javascript和Java语言编写,也是图灵完备的。
4.4 其他项目
除了上述3种区块链基础项目外,产业界还有许多具有代表性的项目,如表1所示。
5 区块链应用研究
区块链技术有助于降低金融机构间的审计成本,显著提高支付业务的处理速度及效率,可应用于跨境支付等金融场景。除此之外,区块链还应用于产权保护、信用体系建设、教育生态优化、食品安全监管、网络安全保障等非金融场景。
根据这些场景的应用方式以及区块链技术特点,可将区块链特性概括为如下几点。1) 去中心化。节点基于对等网络建立通信和信任背书,单一节点的破坏不会对全局产生影响。2) 不可篡改。账本由全体节点维护,群体协作的共识过程和强关联的数据结构保证节点数据一致且基本无法被篡改,进一步使数据可验证和追溯。3) 公开透明。除私有数据外,链上数据对每个节点公开,便于验证数据的存在性和真实性。4) 匿名性。多种隐私保护机制使用户身份得以隐匿,即便如此也能建立信任基础。5) 合约自治。预先定义的业务逻辑使节点可以基于高可信的账本数据实现自治,在人-人、人-机、机-机交互间自动化执行业务。
鉴于上述领域的应用在以往研究中均有详细描述,本文将主要介绍区块链在智慧城市、边缘计算和人工智能领域的前沿应用研究现状。
表1
表1
代表性区块链项目
技术选型CordaQuorumLibraBlockstackFilecoinZcash控制合约Kotlin,JavaGOMoveClarity非图灵完备非图灵完备非图灵完备执行环境JVMEVMMVM源码编译源码编译源码编译处理模型链上链上/链下(私有数据)链上链下(虚拟链)链下(IPFS)链上奖惩机制——Libra coinsStacks tokenFilecoinZcash/Turnstiles共识算法Notary 机制/RAFT,BFT-SMaRtQuorum-Chain,RAFTLibraBFTTunable Proofs,proof-of-burnPoRep,PoETPoW信息模型UTXO基于账户基于账户基于账户基于账户UTXO关联验证结构散列算法MKT散列算法MPT散列算法MKT散列算法Merklized Adaptive Radix Forest (MARF)散列算法MKT散列算法MKT加密机制Tear-offs机制、混合密钥基于EnclaveSHA3-256/EdDSA基于Gaia/Blockstack AuthSECP256K1/BLSzk-SNARK组网方式混合型结构化混合型无结构结构化/无结构无结构通信机制AMQP1.0/单点传播Wire/GossipNoise-ProtocolFramework/GossipAtlas/GossipLibp2p/GossipBitcoin-Core/Gossip安全机制Corda加密套件/TLS证书/HTTPSDiffie-HellmanSecure BackboneTLSTor区块链类型许可链许可链许可链非许可链非许可链非许可链特点只允许对实际参与给定交易的各方进行信息访问和验证功能基于以太坊网络提供公共交易和私有交易2种交互渠道稳定、快速的交易网络剔除中心服务商的、可扩展的分布式数据存储设施,旨在保护隐私数据激励机制驱动的存储资源共享生态基于比特币网络提供零知识证明的隐私保护应用场景金融业务平台分布式应用加密货币互联网基础设施文件存储与共享加密货币
新窗口打开|
下载CSV
5.1 智慧城市
智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景。智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战。区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决。Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据。
5.2 边缘计算
边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验。安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障。区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用。首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据。其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础。Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性。Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题。Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性。
5.3 人工智能
人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标。人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费。此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大。区块链不可篡改的特性可以实现感知和训练过程的可信。另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率。Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果。Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库。
6 技术挑战与研究展望
6.1 层次优化与深度融合
区块链存在“三元悖论”——安全性、扩展性和去中心化三者不可兼得,只能依靠牺牲一方的效果来满足另外两方的需求。以比特币为代表的公链具有较高的安全性和完全去中心化的特点,但是资源浪费等问题成为拓展性优化的瓶颈。尽管先后出现了PoS、BFT等共识协议优化方案,或侧链、分片等链上处理模型,或Plasma、闪电网络等链下扩展方案,皆是以部分安全性或去中心化为代价的。因此,如何将区块链更好地推向实际应用很大程度取决于三元悖论的解决,其中主要有2种思路。
1) 层次优化
区块链层次化结构中每层都不同程度地影响上述3种特性,例如网络时延、并行读写效率、共识速度和效果、链上/链下模型交互机制的安全性等,对区块链的优化应当从整体考虑,而不是单一层次。
网络层主要缺陷在于安全性,可拓展性则有待优化。如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19]。信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69]。相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素。
数据层的优化空间在于高效性,主要为设计新的数据验证结构与算法。该方向可以借鉴计算机研究领域的多种数据结构理论与复杂度优化方法,寻找适合区块链计算方式的结构,甚至设计新的数据关联结构。实际上相当一部分项目借鉴链式结构的思想开辟新的道路,例如压缩区块空间的隔离见证、有向无环图(DAG)中并行关联的纠缠结构(Tangle),或者Libra项目采用的状态树。
共识机制是目前研究的热点,也是同时影响三元特性的最难均衡的层次。PoW牺牲可拓展性获得完全去中心化和安全性,PoS高效的出块方式具备可扩展性但产生了分叉问题,POA结合两者做到了3种特性的均衡。以此为切入的Hybrid类共识配合奖惩机制的机动调节取得了较好效果,成为共识研究的过渡手段,但是如何做到三元悖论的真正突破还有待研究。
控制层面是目前可扩展性研究的热点,其优势在于不需要改变底层的基础实现,能够在短期内应用,集中在产业界的区块链项目中。侧链具有较好的灵活性但操作复杂度高,分片改进了账本结构但跨分片交互的安全问题始终存在,而链下处理模型在安全方面缺少理论分析的支撑。因此,三元悖论的解决在控制层面具有广泛的研究前景。
2) 深度融合
如果将层次优化称为横向优化,那么深度融合即为根据场景需求而进行的纵向优化。一方面,不同场景的三元需求并不相同,例如接入控制不要求完全去中心化,可扩展性也未遇到瓶颈,因此可采用BFT类算法在小范围构建联盟链。另一方面,区块链应用研究从简单的数据上链转变为链下存储、链上验证,共识算法从 PoW 转变为场景结合的服务证明和学习证明,此外,结合 5G 和边缘计算可将网络和计算功能移至网络边缘,节约终端资源。这意味着在严格的场景建模下,区块链的层次技术选型将与场景特点交叉创新、深度融合,具有较为广阔的研究前景。
6.2 隐私保护
加密货币以匿名性著称,但是区块链以非对称加密为基础的匿名体系不断受到挑战。反匿名攻击从身份的解密转变为行为的聚类分析,不仅包括网络流量的IP聚类,还包括交易数据的地址聚类、交易行为的启发式模型学习,因此大数据分析技术的发展使区块链隐私保护思路发生转变。已有Tor网络、混币技术、零知识证明、同态加密以及各类复杂度更高的非对称加密算法被提出,但是各方法仍有局限,未来将需要更为高效的方法。此外,随着区块链系统的可编程化发展,内部复杂性将越来越高,特别是智能合约需要更严格、有效的代码检测方法,例如匿名性检测、隐私威胁预警等。
6.3 工业区块链
工业区块链是指利用区块链夯实工业互联网中数据的流通和管控基础、促进价值转换的应用场景,具有较大的研究前景。
工业互联网是面向制造业数字化、网络化、智能化需求,构建基于海量数据采集、汇聚、分析的服务体系,支撑制造资源泛在连接、弹性供给、高效配置的重要基础设施。“工业互联网平台”是工业互联网的核心,通过全面感知、实时分析、科学决策、精准执行的逻辑闭环,实现工业全要素、全产业链、全价值链的全面贯通,培育新的模式和业态。
可以看到,工业互联网与物联网、智慧城市、消费互联网等场景应用存在内在关联,例如泛在连接、数据共享和分析、电子商务等,那么其学术问题与技术实现必然存在关联性。区块链解决了物联网中心管控架构的单点故障问题,克服泛在感知设备数据的安全性和隐私性挑战,为智慧城市场景的数据共享、接入控制等问题提供解决方法,为激励资源共享构建了新型互联网价值生态。尽管工业互联网作为新型的产业生态系统,其技术体系更复杂、内涵更丰富,但是不难想象,区块链同样有利于工业互联网的发展。
“平台+区块链”能够通过分布式数据管理模式,降低数据存储、处理、使用的管理成本,为工业用户在工业 APP 选择和使用方面搭建起更加可信的环境,实现身份认证及操作行为追溯、数据安全存储与可靠传递。能够通过产品设计参数、质量检测结果、订单信息等数据“上链”,实现有效的供应链全要素追溯与协同服务。能够促进平台间数据交易与业务协同,实现跨平台交易结算,带动平台间的数据共享与知识复用,促进工业互联网平台间互联互通。
当然,工业是关乎国计民生的产业,将区块链去中心化、匿名化等特性直接用于工业互联网是不可取的,因此需要研究工业区块链管理框架,实现区块链的可管可控,在一定范围内发挥其安全优势,并对工业互联网的运转提供正向激励。
7 结束语
区块链基于多类技术研究的成果,以低成本解决了多组织参与的复杂生产环境中的信任构建和隐私保护等问题,在金融、教育、娱乐、版权保护等场景得到了较多应用,成为学术界的研究热点。比特币的出现重塑了人们对价值的定义,伴随着产业界的呼声,区块链技术得到了快速发展,而遵循区块链层次化分析方法,能够直观地区别各项目的技术路线和特点,为优化区块链技术提供不同观察视角,并为场景应用的深度融合创造条件,促进后续研究。未来的发展中,区块链将成为更为基础的信任支撑技术,在产业互联网等更广阔的领域健康、有序地发展。
The authors have declared that no competing interests exist.
作者已声明无竞争性利益关系。
参考文献
View Option
原文顺序
文献年度倒序
文中引用次数倒序
被引期刊影响因子
[1]
袁勇, 王飞跃 . 区块链技术发展现状与展望[J]. 自动化学报, 2016,42(4): 481-494.
[本文引用: 1]
YUAN Y , WANG F Y . Blockchain:the state of the art and future trends[J]. Acta Automatica Sinica, 2016,42(4): 481-494.
[本文引用: 1]
[2]
邵奇峰, 张召, 朱燕超 ,等. 企业级区块链技术综述[J]. 软件学报, 2019,30(9): 2571-2592.
[本文引用: 1]
SHAO Q F , ZHANG Z , ZHU Y C ,et al. Survey of enterprise blockchains[J]. 2019,30(9): 2571-2592.
[本文引用: 1]
[3]
YANG W , AGHASIAN E , GARG S ,et al. A survey on blockchain-based internet service architecture:requirements,challenges,trends,and future[J]. IEEE Access, 2019,7: 75845-75872.
[本文引用: 1]
[4]
韩璇, 袁勇, 王飞跃 . 区块链安全问题:研究现状与展望[J]. 自动化学报, 2019,45(1): 208-227.
[本文引用: 1]
HAN X , YUAN Y , WANG F Y . Security problems on blockchain:the state of the art and future trends[J]. Acta Automatica Sinica, 2016,45(1): 208-227.
[本文引用: 1]
[5]
ALI M , VECCHIO M , PINCHEIRA M ,et al. Applications of blockchains in the Internet of things:a comprehensive survey[J]. IEEE Communications Surveys & Tutorials, 2019,21: 1676-1717.
[本文引用: 1]
[6]
CHAUM D . Blind signature system[M]. Advances in Cryptology: Proceedings of Crypto 83.Springer USPress, 1984.
[本文引用: 1]
[7]
LAW L , SABEET S , SOLINAS J . How to make a mint:the cryptography of anonymous electronic cash[J]. The American University Law Review, 1997,46: 1131-1162.
[本文引用: 1]
[8]
JAKOBSSON M , JUELS A . Proofs of work and bread pudding protocols[C]// IFIP TC6/TC11 Joint Working Conference on Communications and Multimedia Security. IFIP, 1999: 258-272.
[本文引用: 1]
[9]
王学龙, 张璟 . P2P 关键技术研究综述[J]. 计算机应用研究, 2010,27(3): 801-805.
[本文引用: 1]
WANG X L , ZHANG J . Survey on peer-to-peer key technologies[J]. Application Research of Computers, 2010,27(3): 801-805.
[本文引用: 1]
[10]
DEMERS A , GREENE D , HOUSER C ,et al. Epidemic algorithms for replicated database maintenance[J]. ACM SIGOPS Operating Systems Review, 1988,22: 8-32.
[本文引用: 1]
[11]
DECKER C , WATTENHOFER R . Information propagation in the bitcoin network[C]// IEEE Thirteenth International Conference on Peer-to-peer Computing. IEEE, 2013: 1-10.
[本文引用: 1]
[12]
FADHIL M , OWENSON G , ADDA M . Locality based approach to improve propagation delay on the bitcoin peer-to-peer network[C]// 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM). IEEE, 2017: 556-559.
[本文引用: 1]
[13]
KANEKO Y , ASAKA T . DHT clustering for load balancing considering blockchain data size[C]// 2018 Sixth International Symposium on Computing and Networking Workshops (CANDARW). IEEE Computer Society, 2018: 71-74.
[本文引用: 1]
[14]
KOSHY P , KOSHY D , MCDANIEL P . An analysis of anonymity in bitcoin using P2P network traffic[C]// Financial Cryptography and Data Security:18th International Conference. Springer, 2014: 469-485.
[15]
BIRYUKOV A , KHOVRATOVICH D , PUSTOGAROV I . Deanonymisation of clients in bitcoin P2P network[C]// ACM SIGSAC Conference on Computer and Communications Security. ACM, 2014: 15-29.
[16]
VENKATAKRISHNAN S B , FANTI G , VISWANATH P . Dandelion:redesigning the bitcoin network for anonymity[C]// The 2017 ACM SIGMETRICS. ACM, 2017:57.
[本文引用: 1]
[17]
FANTI G , VENKATAKRISHNAN S B , BAKSHI S ,et al. Dandelion++:lightweight cryptocurrency networking with formal anonymity guarantees[J]. ACM SIGMETRICS Performance Evaluation Review, 2018,46: 5-7.
[本文引用: 1]
[18]
HEILMAN E , KENDLER A , ZOHAR A ,et al. Eclipse attacks on Bitcoin’s peer-to-peer network[C]// USENIX Conference on Security Symposium. USENIX Association, 2015: 129-144.
[本文引用: 1]
[19]
APOSTOLAKI M , ZOHAR A , VANBEVER L . Hijacking bitcoin:routing attacks on cryptocurrencies[C]// 2017 IEEE Symposium on Security and Privacy (SP). IEEE, 2017: 375-392.
[本文引用: 2]
[20]
REYZIN L , IVANOV S . Improving authenticated dynamic dictionaries,with applications to cryptocurrencies[C]// International Conference on Financial Cryptography & Data Security. Springer, 2017: 376-392.
[本文引用: 1]
[21]
ZHANG C , XU C , XU J L ,et al. GEM^2-tree:a gas-efficient structure for authenticated range queries in blockchain[C]// IEEE 35th International Conference on Data Engineering (ICDE). IEEE, 2019: 842-853.
[本文引用: 1]
[22]
REID F , HARRIGAN M . An analysis of anonymity in the bitcoin system[C]// 2011 IEEE Third International Conference on Privacy,Security,Risk and Trust. IEEE, 2011: 1318-1326.
[本文引用: 1]
[23]
MEIKLEJOHN S , POMAROLE M , JORDAN G ,et al. A fistful of bitcoins:characterizing payments among men with no names[C]// The 2013 Conference on Internet Measurement Conference. ACM, 2013: 127-140.
[本文引用: 1]
[24]
AWAN M K , CORTESI A . Blockchain transaction analysis using dominant sets[C]// IFIP International Conference on Computer Information Systems and Industrial Management. IFIP, 2017: 229-239.
[本文引用: 1]
[25]
SAXENA A , MISRA J , DHAR A . Increasing anonymity in bitcoin[C]// International Conference on Financial Cryptography and Data Security. Springer, 2014: 122-139.
[本文引用: 1]
[26]
MIERS I , GARMAN C , GREEN M ,et al. Zerocoin:anonymous distributed e-cash from bitcoin[C]// 2013 IEEE Symposium on Security and Privacy. IEEE, 2013: 397-411.
[本文引用: 1]
[27]
SASSON E B , CHIESA A , GARMAN C ,et al. Zerocash:decentralized anonymous payments from bitcoin[C]// 2014 IEEE Symposium on Security and Privacy (SP). IEEE, 2014: 459-474.
[本文引用: 1]
[28]
YIN W , WEN Q , LI W ,et al. A anti-quantum transaction authentication approach in blockchain[J]. IEEE Access, 2018,6: 5393-5401.
[本文引用: 1]
[29]
DOUCEUR J R , . The sybil attack[C]// The First International Workshop on Peer-to-Peer Systems(IPTPS’ 01). Springer, 2002: 251-260.
[本文引用: 1]
[30]
KARAME G O , ANDROULAKI E , CAPKUN S . Double-spending fast payments in bitcoin[C]// The 2012 ACM conference on Computer and communications security. ACM, 2012: 906-917.
[本文引用: 1]
[31]
LAMPORT L , SHOSTAK R , PEASE M . The byzantine generals problem[J]. ACM Transactions on Programming Languages and Systems, 1982,4: 382-401.
[本文引用: 1]
[32]
BANO S , SONNINO A , AL-BASSAM M ,et al. Consensus in the age of blockchains[J]..03936,2017. arXiv Preprint,arXiv:1711.03936,2017.
[本文引用: 1]
[33]
DWORK C , LYNCH N , STOCKMEYER L . Consensus in the presence of partial synchrony[J]. Journal of the ACM, 1988,35: 288-323.
[本文引用: 2]
[34]
TSCHORSCH F , SCHEUERMANN B . Bitcoin and beyond:a technical survey on decentralized digital currencies[J]. IEEE Communications Surveys & Tutorials, 2016,18: 2084-2123.
[本文引用: 1]
[35]
CACHIN C VUKOLIĆ M . Blockchains consensus protocols in the wild[J]. arXiv Preprint,arXiv:1707.01873, 2017.
[本文引用: 1]
[36]
CASTRO M , LISKOV B . Practical byzantine fault tolerance and proactive recovery[J]. ACM Transactions on Computer Systems, 2002,20: 398-461.
[本文引用: 1]
[37]
ONGARO D , OUSTERHOUT J . In search of an understandable consensus algorithm[C]// The 2014 USENIX Conference on USENIX Annual Technical Conference. USENIX Association, 2015: 305-320.
[本文引用: 1]
[38]
BALL M , ROSEN A , SABIN M ,et al. Proofs of useful work[R]. Cryptology ePrint Archive:Report 2017/203.
[本文引用: 1]
[39]
MIHALJEVIC B , ZAGAR M . Comparative analysis of blockchain consensus algorithms[C]// International Convention on Information and Communication Technology,Electronics and Microelectronics (MIPRO). IEEE, 2018: 1545-1550.
[本文引用: 1]
[40]
KIAYIAS A , RUSSELL A , DAVID B ,et al. Ouroboros:a provably secure proof-of-stake blockchain protocol[C]// Advances in Cryptology - CRYPTO 2017. Springer, 2017: 357-388.
[本文引用: 1]
[41]
FISCH B . Tight proofs of space and replication[J].,ePrint-2018-702. IACR Cryptology ePrint Archive,ePrint-2018-702.
[本文引用: 1]
[42]
BELOTTI M , BOŽIĆ N , PUJOLLE G ,et al. A vademecum on blockchain technologies:when,which,and how[J]. IEEE Communications Surveys & Tutorials, 2019,21: 3796-3838.
[本文引用: 1]
[43]
WANG W B , HOANG D T , HU P Z ,et al. A survey on consensus mechanisms and mining strategy management in blockchain networks[J]. IEEE Access, 2019,7: 22328-22370.
[本文引用: 1]
[44]
YOO J H , JUNG Y L , SHIN D H ,et al. Formal modeling and verification of a federated byzantine agreement algorithm for blockchain platforms[C]// IEEE International Workshop on Blockchain Oriented Software Engineering. 2019: 11-21.
[本文引用: 1]
[45]
ZHENG Z B , XIE S , DAI H ,et al. An overview of blockchain technology:architecture,consensus,and future trends[C]// 6th IEEE International Congress on Big Data. IEEE, 2017: 557-564.
[本文引用: 1]
[46]
YIN M , MALKHI D , REITER M K ,et al. HotStuff:BFT consensus in the lens of blockchain[C]// ACM Symposium on Principles of Distributed Computing. ACM, 2019: 347-356.
[本文引用: 1]
[47]
ALI S , WANG G , WHITE B ,et al. Libra critique towards global decentralized financial system[C]// Communications in Computer and Information Science. Springer, 2019: 661-672.
[本文引用: 1]
[48]
BENTOV I , LEE C , MIZRAHI A ,et al. Proof of activity:extending bitcoin’s proof of work via proof of stake[J]. IACR Cryptology ePrint Archive,ePrint-2014-25478.
[本文引用: 1]
[49]
DECKER C , SEIDEL J , WATTENHOFER R . Bitcoin meets strong consistency[J].,2014. arXiv Preprint,arXiv:1412.7935,2014.
[本文引用: 1]
[50]
KOKORIS-KOGIAS E , JOVANOVIC P , GAILLY N ,et al. Enhancing bitcoin security and performance with strong consistency via collective signing[J]. Applied Mathematical Modelling, 2016,37: 5723-5742.
[本文引用: 1]
[51]
BUTERIN V , GRIFFITH V . Casper the friendly finality gadget[J]. arXiv Preprint,arXiv:1710.09437,2017.
[本文引用: 1]
[52]
TSCHORSCH F , SCHEUERMANN B . Bitcoin and beyond:a technical survey on decentralized digital currencies[J]. IEEE Communications Surveys & Tutorials, 2016,18: 2084-2023,2017.
[本文引用: 1]
[53]
KIAYIAS A , MILLER A , ZINDROS D . Non-interactive proofs of proof-of-work[J]. IACR Cryptology ePrint Archive,ePrint-2017-963.
[本文引用: 1]
[54]
LUU L , NARAYANAN V , ZHENG C ,et al. A secure sharding protocol for open blockchains[C]// The 2016 ACM SIGSAC Conference on Computer and Communications Security(CCS’16). ACM, 2016: 17-30.
[本文引用: 1]
[55]
KOKORIS-KOGIAS E , JOVANOVIC P , GASSER L ,et al. OmniLedger:a secure,scale-out,decentralized ledger via sharding[C]// IEEE Symposium on Security and Privacy (SP). IEEE Computer Society, 2018: 583-598.
[本文引用: 1]
[56]
LI S , YU M , AVESTIMEHR S ,et al. PolyShard:coded sharding achieves linearly scaling efficiency and security simultaneously[J]. arXiv Preprint,arXiv:1809.10361,2018.
[本文引用: 1]
[57]
XIE J F , YU F R , HUANG T ,et al. A survey on the scalability of blockchain systems[J]. IEEE Network, 2019,33: 166-173.
[本文引用: 1]
[58]
BURCHERT C , DECKER C , WATTENHOFER R . Scalable funding of bitcoin micropayment channel networks[C]// Stabilization,Safety,and Security of Distributed Systems. Springer, 2017: 361-377.
[本文引用: 1]
[59]
LUU L , CHU D , OLICKEL H ,et al. Making smart contracts smarter[C]// The 2016 ACM SIGSAC Conference on Computer and Communications Security. ACM, 2016: 254-269.
[本文引用: 1]
[60]
BRENT L , JURISEVIC A , KONG M ,et al. Vandal:a scalable security analysis framework for smart contracts[J]. arXiv Preprint,arXiv:1809.039812018.
[本文引用: 1]
[61]
JIANG B , LIU Y , CHAN W K . ContractFuzzer:fuzzing smart contracts for vulnerability detection[J]. arXiv Preprint,arXiv:1807.03932,2018.
[本文引用: 1]
[62]
HASHEMI S H , FAGHRI F , CAMPBELL R H . Decentralized user-centric access control using pubsub over blockchain[J]. arXiv Preprint,arXiv:1710.00110,2017.
[本文引用: 1]
[63]
BAO S.CAO Y , LEI A ,et al. Pseudonym management through blockchain:cost-efficient privacy preservation on intelligent transportation systems[J]. IEEE Access, 2019,7: 80390-80403.
[本文引用: 1]
[64]
SAMANIEGO M , DETERS R . Hosting virtual IoT resources on edge-hosts with blockchain[C]// IEEE International Conference on Computer & Information Technology. IEEE, 2016: 116-119.
[本文引用: 1]
[65]
STANCIU A , . Blockchain based distributed control system for edge computing[C]// International Conference on Control Systems &Computer Science. IEEE, 2017: 667-671.
[本文引用: 1]
[66]
ZIEGLER M H , GROMANN M , KRIEGER U R . Integration of fog computing and blockchain technology using the plasma framework[C]// 2019 IEEE International Conference on Blockchain and Cryptocurrency (ICBC). IEEE, 2019: 120-123.
[本文引用: 1]
[67]
KIM H , PARK J , BENNIS M ,et al. Blockchained on-device federated learning[J]. arXiv Preprint,arXiv:1808.03949, 2018.
[本文引用: 1]
[68]
BRAVO-MARQUEZ F , REEVES S , UGARTE M . Proof-of- learning:a blockchain consensus mechanism based on machine learning competitions[C]// 2019 IEEE International Conference on Decentralized Applications and Infrastructures. IEEE, 2019: 119-124.
[本文引用: 1]
[69]
刘江, 霍如, 李诚成 ,等. 基于命名数据网络的区块链信息传输机制[J]. 通信学报, 2018,39(1), 24-33.
[本文引用: 1]
LIU J , HUO R , LI C C ,et al. Information transmission mechanism of Blockchain technology based on named-data networking[J]. Journal on Communications, 2018,39(1): 24-33.
[本文引用: 1]
区块链技术发展现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
区块链技术发展现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
企业级区块链技术综述
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
企业级区块链技术综述
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
A survey on blockchain-based internet service architecture:requirements,challenges,trends,and future
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
区块链安全问题:研究现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
区块链安全问题:研究现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
Applications of blockchains in the Internet of things:a comprehensive survey
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
Blind signature system
1
1984
... 加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示. ...
How to make a mint:the cryptography of anonymous electronic cash
1
1997
... 加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示. ...
Proofs of work and bread pudding protocols
1
1999
... 最早的加密货币构想将银行作为构建信任的基础,呈现中心化特点.此后,加密货币朝着去中心化方向发展,并试图用工作量证明(PoW,poof of work)[8]或其改进方法定义价值.比特币在此基础上,采用新型分布式账本技术保证被所有节点维护的数据不可篡改,从而成功构建信任基础,成为真正意义上的去中心化加密货币.区块链从去中心化加密货币发展而来,随着区块链的进一步发展,去中心化加密货币已经成为区块链的主要应用之一. ...
P2P 关键技术研究综述
1
2010
... 对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示. ...
P2P 关键技术研究综述
1
2010
... 对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示. ...
Epidemic algorithms for replicated database maintenance
1
1988
... 传播层实现对等节点间数据的基本传输,包括2 种数据传播方式:单点传播和多点传播.单点传播是指数据在2个已知节点间直接进行传输而不经过其他节点转发的传播方式;多点传播是指接收数据的节点通过广播向邻近节点进行数据转发的传播方式,区块链网络普遍基于Gossip协议[10]实现洪泛传播.连接层用于获取节点信息,监测和改变节点间连通状态,确保节点间链路的可用性(availability).具体而言,连接层协议帮助新加入节点获取路由表数据,通过定时心跳监测为节点保持稳定连接,在邻居节点失效等情况下为节点关闭连接等.交互逻辑层是区块链网络的核心,从主要流程上看,该层协议承载对等节点间账本数据的同步、交易和区块数据的传输、数据校验结果的反馈等信息交互逻辑,除此之外,还为节点选举、共识算法实施等复杂操作和扩展应用提供消息通路. ...
Information propagation in the bitcoin network
1
2013
... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...
Locality based approach to improve propagation delay on the bitcoin peer-to-peer network
1
2017
... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...
DHT clustering for load balancing considering blockchain data size
1
2018
... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...
An analysis of anonymity in bitcoin using P2P network traffic
2014
Deanonymisation of clients in bitcoin P2P network
2014
Dandelion:redesigning the bitcoin network for anonymity
1
2017
... 匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害.Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击. ...
Dandelion++:lightweight cryptocurrency networking with formal anonymity guarantees
1
2018
... 匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害.Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击. ...
Eclipse attacks on Bitcoin’s peer-to-peer network
1
2015
... 区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击.为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案.Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性.Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能. ...
Hijacking bitcoin:routing attacks on cryptocurrencies
2
2017
... 区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击.为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案.Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性.Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能. ...
... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...
Improving authenticated dynamic dictionaries,with applications to cryptocurrencies
1
2017
... 高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种.为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究.Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程.Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销. ...
GEM^2-tree:a gas-efficient structure for authenticated range queries in blockchain
1
2019
... 高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种.为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究.Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程.Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销. ...
An analysis of anonymity in the bitcoin system
1
2011
... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...
A fistful of bitcoins:characterizing payments among men with no names
1
2013
... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...
Blockchain transaction analysis using dominant sets
1
2017
... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...
Increasing anonymity in bitcoin
1
2014
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
Zerocoin:anonymous distributed e-cash from bitcoin
1
2013
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
Zerocash:decentralized anonymous payments from bitcoin
1
2014
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
A anti-quantum transaction authentication approach in blockchain
1
2018
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
The sybil attack
1
2002
... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...
Double-spending fast payments in bitcoin
1
2012
... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...
The byzantine generals problem
1
1982
... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...
Consensus in the age of blockchains
1
... 状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论.其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态.假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性.同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息.状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议.其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同.学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题. ...
Consensus in the presence of partial synchrony
2
1988
... 状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论.其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态.假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性.同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息.状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议.其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同.学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题. ...
... 比特币在网络层采用非结构化方式组网,路由表呈现随机性.节点间则采用多点传播方式传递数据,曾基于Gossip协议实现,为提高网络的抗匿名分析能力改为基于Diffusion协议实现[33].节点利用一系列控制协议确保链路的可用性,包括版本获取(Vetsion/Verack)、地址获取(Addr/GetAddr)、心跳信息(PING/PONG)等.新节点入网时,首先向硬编码 DNS 节点(种子节点)请求初始节点列表;然后向初始节点随机请求它们路由表中的节点信息,以此生成自己的路由表;最后节点通过控制协议与这些节点建立连接,并根据信息交互的频率更新路由表中节点时间戳,从而保证路由表中的节点都是活动的.交互逻辑层为建立共识交互通道,提供了区块获取(GetBlock)、交易验证(MerkleBlock)、主链选择(CmpctBlock)等协议;轻节点只需要进行简单的区块头验证,因此通过头验证(GetHeader/Header)协议和连接层中的过滤设置协议指定需要验证的区块头即可建立简单验证通路.在安全机制方面,比特币网络可选择利用匿名通信网络Tor作为数据传输承载,通过沿路径的层层数据加密机制来保护对端身份. ...
Bitcoin and beyond:a technical survey on decentralized digital currencies
1
2016
... 区块链网络中主要包含PoX(poof of X)[34]、BFT(byzantine-fault tolerant)和 CFT(crash-fault tolerant)类基础共识协议.PoX 类协议是以 PoW (proof of work)为代表的基于奖惩机制驱动的新型共识协议,为了适应数据吞吐量、资源利用率和安全性的需求,人们又提出PoS(proof of stake)、PoST (proof of space-time)等改进协议.它们的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.BFT类协议是指解决拜占庭容错问题的传统共识协议及其改良协议,包括PBFT、BFT-SMaRt、Tendermint等.CFT类协议用于实现崩溃容错,通过身份证明等手段规避节点作恶的情况,仅考虑节点或网络的崩溃(crash)故障,主要包括Raft、Paxos、Kafka等协议. ...
Blockchains consensus protocols in the wild
1
2017
... 非许可链和许可链的开放程度和容错需求存在差异,共识层面技术在两者之间产生了较大区别.具体而言,非许可链完全开放,需要抵御严重的拜占庭风险,多采用PoX、BFT类协议并配合奖惩机制实现共识.许可链拥有准入机制,网络中节点身份可知,一定程度降低了拜占庭风险,因此可采用BFT类协议、CFT类协议构建相同的信任模型[35]. ...
Practical byzantine fault tolerance and proactive recovery
1
2002
... PBFT是 BFT经典共识协议,其主要流程如图8 所示.PBFT将节点分为主节点和副节点,其中主节点负责将交易打包成区块,副节点参与验证和转发,假设作恶节点数量为f.PBFT共识主要分为预准备、准备和接受3个阶段,主节点首先收集交易后排序并提出合法区块提案;其余节点先验证提案的合法性,然后根据区块内交易顺序依次执行并将结果摘要组播;各节点收到2f个与自身相同的摘要后便组播接受投票;当节点收到超过2f+1个投票时便存储区块及其产生的新状态[36]. ...
In search of an understandable consensus algorithm
1
2015
... Raft[37]是典型的崩溃容错共识协议,以可用性强著称.Raft将节点分为跟随节点、候选节点和领导节点,领导节点负责将交易打包成区块,追随节点响应领导节点的同步指令,候选节点完成领导节点的选举工作.当网络运行稳定时,只存在领导节点和追随节点,领导节点向追随节点推送区块数据从而实现同步.节点均设置生存时间决定角色变化周期,领导节点的心跳信息不断重置追随节点的生存时间,当领导节点发生崩溃时,追随节点自动转化为候选节点并进入选举流程,实现网络自恢复. ...
Proofs of useful work
1
2017
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
Comparative analysis of blockchain consensus algorithms
1
2018
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
Ouroboros:a provably secure proof-of-stake blockchain protocol
1
2017
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
Tight proofs of space and replication
1
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
A vademecum on blockchain technologies:when,which,and how
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
A survey on consensus mechanisms and mining strategy management in blockchain networks
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
Formal modeling and verification of a federated byzantine agreement algorithm for blockchain platforms
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
An overview of blockchain technology:architecture,consensus,and future trends
1
2017
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
HotStuff:BFT consensus in the lens of blockchain
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
Libra critique towards global decentralized financial system
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
Proof of activity:extending bitcoin’s proof of work via proof of stake
1
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Bitcoin meets strong consistency
1
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Enhancing bitcoin security and performance with strong consistency via collective signing
1
2016
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Casper the friendly finality gadget
1
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Bitcoin and beyond:a technical survey on decentralized digital currencies
1
2016
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
Non-interactive proofs of proof-of-work
1
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
A secure sharding protocol for open blockchains
1
2016
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
OmniLedger:a secure,scale-out,decentralized ledger via sharding
1
2018
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
PolyShard:coded sharding achieves linearly scaling efficiency and security simultaneously
1
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
A survey on the scalability of blockchain systems
1
2019
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
Scalable funding of bitcoin micropayment channel networks
1
2017
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
Making smart contracts smarter
1
2016
... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...
Vandal:a scalable security analysis framework for smart contracts
1
2018
... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...
ContractFuzzer:fuzzing smart contracts for vulnerability detection
1
2018
... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...
Decentralized user-centric access control using pubsub over blockchain
1
2017
... 智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景.智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战.区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决.Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据. ...
Pseudonym management through blockchain:cost-efficient privacy preservation on intelligent transportation systems
1
2019
... 智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景.智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战.区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决.Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据. ...
Hosting virtual IoT resources on edge-hosts with blockchain
1
2016
... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...
Blockchain based distributed control system for edge computing
1
2017
... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...
Integration of fog computing and blockchain technology using the plasma framework
1
2019
... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...
Blockchained on-device federated learning
1
2018
... 人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标.人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费.此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大.区块链不可篡改的特性可以实现感知和训练过程的可信.另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率.Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果.Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库. ...
Proof-of- learning:a blockchain consensus mechanism based on machine learning competitions
1
2019
... 人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标.人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费.此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大.区块链不可篡改的特性可以实现感知和训练过程的可信.另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率.Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果.Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库. ...
基于命名数据网络的区块链信息传输机制
1
2018
... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...
基于命名数据网络的区块链信息传输机制
1
2018
... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...
/
〈
〉
期刊网站版权所有 © 2021 《通信学报》编辑部
地址:北京市丰台区东铁匠营街道顺八条1号院B座“北阳晨光大厦”2层 邮编:100079
电话:010-53878169、53859522、53878236 电子邮件:xuebao@ptpress.com.cn; txxb@bjxintong.com.cn
期刊网站版权所有 © 2021 《通信学报》编辑部
地址:北京市丰台区东铁匠营街道顺八条1号院B座“北阳晨光大厦”2层
邮编:100079 电话:010-53878169、53859522、53878236
电子邮件:txxb@bjxintong.com.cn