资源描述
区块链白皮书 (2018年) 中国信息通信研究院 可信区块链推进计划 2018年9月版权声明 本白皮书版权属于中国信息通信研究院和可信区块链推进计划,并受法律保护。转载、摘编或利用其它方式使用本白皮书文字或者观点的,应注明“来源:中国信息通信研究院和可信区块链推进计划”。违反上述声明者,编者将追究其相关法律责任。 前言 2018年5月,习近平总书记在两院院士大会上的讲话中指出,“以人工智能、量子信息、移动通信、物联网、区块链为代表的新一代信息技术加速突破应用。”区块链凭借其独有的信任建立机制,成为金融和科技深度融合的重要方向。在政策、技术、市场的多重推动下,区块链技术正在加速与实体经济融合,助力高质量发展,对我国探索共享经济新模式、建设数字经济产业生态、提升政府治理和公共服务水平具有重要意义。 区块链作为点对点网络、密码学、共识机制、智能合约等多种技术的集成创新,提供了一种在不可信网络中进行信息与价值传递交换的可信通道。当前,基于区块链的应用探索一直在加速推进,跨链、隐私保护、安全监管等区块链关键技术也正在成为研究热点。然而,区块链技术仍处于社会实验阶段,各方对区块链的概念、架构、技术特点、发展路线及治理与监管等尚未形成共识。 为推动区块链技术与实体经济深度融合,形成发展共识,中国信息通信研究院和可信区块链推进计划共同组织编写了区块链白皮书(2018年)。本白皮书深入解读了区块链内涵概念,提出了区块链技术体系架构,分析了区块链关键技术发展路线,剖析当前区块链在政策、产业、技术和标准方面的最新形势和发展机遇,探讨了区块链发展面临的挑战,并提出相应政策建议。目录 一、 区块链的概念和特征 . 1 (一) 区块链概念 . 1 (二) 区块链的特征 . 2 (三) 区块链适用的场景条件 . 3 二、 区块链关键技术架构和发展趋势 . 4 (一) 区块链的技术架构 . 4 1. 基础设施(Infrastructure) . 5 2. 基础组件(Utility) . 5 3. 账本(Ledger) . 6 4. 共识(Consensus) . 7 5. 智能合约(Smart Contract) . 9 6. 系统管理(System Management) . 10 7. 接口(Interface). 11 8. 应用(Application) . 11 9. 操作运维(Operation and Maintenance) . 12 (二) 区块链的技术发展趋势 . 13 1. 架构方面,公有链和联盟链融合持续演进 . 13 2. 部署方面,区块链即服务加速应用落地 . 14 3. 性能方面,跨链及高性能的需求日益凸显 . 15 4. 共识方面,共识机制从单一向混合方式演变 . 17 5. 合约方面,可插拔、易用性、安全性成为发展重点 . 18 三、 区块链发展现状 . 19 (一) 各国竞相布局区块链产业制高点 . 19 (二) 区块链与实体经济融合成为主旋律. 20 (三) 区块链技术创新日趋活跃 . 25 (四) 区块链标准体系加速构建 . 29 四、 区块链面临的挑战 . 31 (一) 技术成熟层面存在隐患 . 31 (二) 应用场景模式尚不明确 . 31 (三) 行业专业人才相对稀缺 . 32 (四) 相关法律法规有待完善 . 32 五、 发展措施和建议 . 33 (一) 引导社会客观理性认识 . 33 (二) 加强核心关键技术研究 . 33 (三) 推动与实体经济深度融合 . 34 (四) 完善区块链发展政策环境 . 34 中国信息通信研究院& 可信区块链推进计划 区块链白皮书(2018 年) 1一、 区块链的概念和特征 (一) 区块链概念 区块链(Blockchain)是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的记账技术,也称为分布式账本技术(Distributed Ledger Technology)。典型的区块链以块-链结构存储数据。作为一种在不可信的竞争环境中低成本建立信任的新型计算范式和协作模式,区块链凭借其独有的信任建立机制,正在改变诸多行业的应用场景和运行规则,是未来发展数字经济、构建新型信任体系不可或缺的技术之一。 典型的区块链系统中,各参与方按照事先约定的规则共同存储信息并达成共识。为了防止共识信息被篡改,系统以区块(Block)为单位存储数据,区块之间按照时间顺序、结合密码学算法构成链式(Chain)数据结构,通过共识机制选出记录节点,由该节点决定最新区块的数据,其他节点共同参与最新区块数据的验证、存储和维护,数据一经确认,就难以删除和更改,只能进行授权查询操作。按照系统是否具有节点准入机制,区块链可分类为许可链和非许可链。许可链中节点的加入退出需要区块链系统的许可,根据拥有控制权限的主体是否集中可分为联盟链1和私有链2;非许可链则是完全开放的,亦可称为公有链3,节点可以随时自由加入和退出。 1联盟链:根据一定特征所设定的节点能参与、交易,共识过程受预选节点控制的区块链。 2私有链:写入权限在一个组织手里,读取权限可能会被限制的区块链。 3公有链:任何人都能读取区块链信息,发送交易并能被确认,参与共识过程,是真正意义上的去中心化区块链,比特币区块链即是公有链最好的代表。 区块链白皮书(2018 年) 中国信息通信研究院& 可信区块链推进计划 2 (二) 区块链的特征 相对于传统的分布式数据库,区块链体现了以下几个对比特征:一是从复式记账演进到分布式记账。传统的信息系统,每位会计各自记录,每次对账时存在多个不同账本。区块链打破了原有的复式记账,变成“全网共享”的分布式账本,参与记账的各方之间通过同步协调机制,保证数据的防篡改和一致性,规避了复杂的多方对账过程。二是从“增删改查”变为仅“增查”两个操作。传统的数据库具有增加、删除、修改和查询四个经典操作。对于全网账本而言,区块链技术相当于放弃了删除和修改两个选项4,只留下增加和查询两个操作,通过区块和链表这样的“块链式”结构,加上相应的时间戳进行凭证固化,形成环环相扣、难以篡改的可信数据集合。三是从单方维护变成多方维护。针对各个主体而言,传统的数据库是一种单方维护的信息系统,不论是分布式架构,还是集中式架构,都对数据记录具有高度控制权。区块链引入了分布式账本,是一种多方共同维护、不存在单点故障的分布式信息系统,数据的写入和同步不仅仅局限在一个主体范围之内,需要通过多方验证数据、形成共识,再决定哪些数据可以写入。四是从外挂合约发展为内置合约。传统上,财务的资金流和商务的信息流是两个截然不同的业务流程,商务合作签订的合约,在人工审核、鉴定成果后,再通知财务进行打款,形成相应的资金流。智能合约的出现,基于事先约定的规则,通过代码运行来独立执行、协同写入,通过算法代码形成了一种将信息流和资金流整合到一起的“内置合约”。 4用户可以对本地数据进行删除和修改,但不影响全网共识后的数据一致性。 中国信息通信研究院& 可信区块链推进计划 区块链白皮书(2018 年) 3(三) 区块链适用的场景条件 作为一项新兴技术,区块链具有在诸多领域开展应用的潜力。然而,区块链不是万能的,技术上去中心化、难以篡改的鲜明特点,使其在限定场景中具有较高的应用价值,可以总结为“新型数据库、多业务主体、彼此不互信、业务强相关”。 首先,源自于应用场景对数据库的需要。区块链本质上是一种带时间戳的新型数据库,从对数据真实、有效、不可伪造、难以篡改的组织需求角度出发,相对于传统的数据库来说,可谓是一个新的起点和新的要求。其次,需要是一个跨主体、多方写入的应用场景。多个主体各自维护账本,往往因为数据信息不共享、业务逻辑不统一等原因,导致“账对不齐”的现象。与之相反,区块链中每个主体都可以拥有一个完整的账本副本,通过即时清结算的模式,保证多个主体之间数据的一致性,规避了复杂的对账过程。再次,适合于在不可信的环境中建立基于数学的信任。区块链在技术层面保证了系统的数据可信(密码学算法、数字签名、时间戳)、结果可信(智能合约、公式算法)和历史可信(链式结构、时间戳),因此区块链提供了一种“机器中介”,尤其适用于协作方不可信、利益不一致或缺乏权威第三方介入的行业应用。最后,根据系统控制权和交易信息公开与否进行归类。公有链允许任一节点的加入,不对信息的传播加以限制,信息对整个系统公开;联盟链只允许认证后的机构参与共识,交易信息根据共识机制进行局部公开;相比而言,私有链范围最窄,只适用于限定的机构之内。 区块链白皮书(2018 年) 中国信息通信研究院& 可信区块链推进计划 4 图1 区块链适用的场景条件判定 二、 区块链关键技术架构和发展趋势 (一) 区块链的技术架构 各类区块链虽然在具体实现上各有不同,其整体架构却存在共性,本白皮书建议了一种可划分为基础设施、基础组件、账本、共识、智能合约、接口、应用、操作运维和系统管理9部分的架构。 来源:中国信息通信研究院,2018年8月 图2 区块链技术架构图 中国信息通信研究院& 可信区块链推进计划 区块链白皮书(2018 年) 51. 基础设施(Infrastructure) 基础设施层提供区块链系统正常运行所需的操作环境和硬件设施(物理机、云等),具体包括网络资源(网卡、交换机、路由器等)、存储资源(硬盘和云盘等)和计算资源(CPU、GPU、ASIC等芯片)。基础设施层为上层提供物理资源和驱动,是区块链系统的基础支持。 2. 基础组件(Utility) 基础组件层可以实现区块链系统网络中信息的记录、验证和传播。在基础组件层之中,区块链是建立在传播机制、验证机制和存储机制基础上的一个分布式系统,整个网络没有中心化的硬件或管理机构,任何节点都有机会参与总账的记录和验证,将计算结果广播发送给其他节点,且任一节点的损坏或者退出都不会影响整个系统的运作。具体而言,主要包含网络发现、数据收发、密码库、数据存储和消息通知五类模块。 1)网络发现 区块链系统由众多节点通过网络连接构成。特别是在公有链系统中,节点数量往往很大。每个节点需要通过网络发现协议发现邻居节点,并与邻居节点建立链路。对于联盟链而言,网络发现协议还需要验证节点身份,以防止各种网络攻击。 2)数据收发 节点通过网络通讯协议连接到邻居节点后,数据收发模块完成与其他节点的数据交换。事务广播、消息共识以及数据同步等都由该模块执行。根据不同区块链的架构,数据收发器的设计需考虑节点数量、区块链白皮书(2018 年) 中国信息通信研究院& 可信区块链推进计划 6 密码学算法等因素。 3)密码库 区块链中多个环节使用密码学算法。密码库为上层组件提供基本的密码学算法支持,包括各种常用的编码算法、哈希算法、签名算法、隐私保护算法等。与此同时,密码库还涉及诸如密钥的维护和存储之类的功能。 4)数据存储 根据数据类型和系统结构设计,区块链系统中的数据使用不同的数据存储模式。存储模式包括关系型数据库(如MySQL)和非关系型数据库(如LevelDB)。通常,需要保存的数据包括公共数据(例如:交易数据、事务数据、状态数据等)和本地的私有数据等。 5)消息通知 消息通知模块为区块链中不同组件之间以及不同节点之间提供消息通知服务。交易成功之后,客户通常需要跟踪交易执行期间的记录和获取交易执行的结果。消息通知模块可以完成消息的生成、分发、存储和其他功能,以满足区块链系统的需要。 3. 账本(Ledger) 账本层负责区块链系统的信息存储,包括收集交易数据,生成数据区块,对本地数据进行合法性校验,以及将校验通过的区块加到链上。账本层将上一个区块的签名嵌入到下一个区块中组成块链式数据结构,使数据完整性和真实性得到保障,这正是区块链系统防篡改、可追溯特性的来源。典型的区块链系统数据账本设计,采用了一种按
展开阅读全文