《华为区块链白皮书.pdf》由会员分享,可在线阅读,更多相关《华为区块链白皮书.pdf(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 华为区块链白皮书 版权所有 华为技术有限公司 i 华为区块链白皮书 前 言 版权所有 华为技术有限公司 ii 前前 言言 区块链成为近两年热点话题,因其通过分布式数据存储、点对点传输、共识机制、加密算法等技术的集成,可有效解决传统交易模式中数据在系统内流转过程中的造假行为,从而构建可信交易环境,打造可信社会。近年来各国政府机构,国际货币基金组织以及标准、开源组织和产业联盟等在纷纷投入区块链产业的拉通和应用。随着区块链的产业价值的逐渐确定,区块链迅速地成为一场全球参与竞逐的“军备”大赛,中国也开始从国家层面设计区块链的发展道路(发改委委托信通院组织国内主要区块链公司进行区块链的顶层设计的研讨,
2、工信部的信软司也在积极确定区块链的顶层设计机构)。2018 年,区块链及相关行业加速发展,中国将领跑全球进入“区块链可信数字经济社会”,我们正面临区块链重大的产业机遇。区块链的应用已由开始的金融延伸到物联网、智能制造、供应链管理、数据存证及交易等多个领域,将为云计算、大数据、承载网络等新一代信息技术的发展带来新的机遇,其构建的可信机制,将改变当前社会商业模式,从而引发新一轮的技术创新和产业变革。编委会成员编委会成员 顾顾 问:问:张文林、龚体、肖然、廖振钦、万汉阳、楚庆、张辉、潘秋菱、祁峰、伊志权、ZHU PEIYING、刘培、王伟、王小渭、LIAO HENG 研究撰写:研究撰写:张小军、曹朝
3、、胡瑞丰、刘再耀、张亮亮、周瑛达、郭兴民、吴义镇、杜伟、甘嘉栋、WU SHUANG、姜耀国、William Michael Genovese、朱朝晖 排版设计:排版设计:杨少青 审审 稿:稿:潘秋菱、张小军、胡瑞丰、刘再耀、周瑛达 华为区块链白皮书 目 录 版权所有 华为技术有限公司 iii 目目 录录 前前 言言.ii 1 区块链的兴起区块链的兴起.1 1.1 区块链的起源.1 1.2 区块链的发展路径.2 1.3 当前区块链认识上的两大误区.3 2 区块链核心技术及原理机制区块链核心技术及原理机制.5 2.1 区块链的概念和特征.5 2.2 区块链的核心技术.6 2.2.1 分布式账本.6
4、 2.2.2 共识机制.7 2.2.3 智能合约.8 2.2.4 密码学.11 2.3 华为在区块链发展中进行的技术创新.12 2.3.1 共识算法创新.12 2.3.2 安全隐私保护.13 2.3.3 离链通道.14 3 区块链国内外产业发展现状区块链国内外产业发展现状.16 3.1 区块链相关产业政策现状.16 3.2 区块链在开源领域的发展现状.17 3.3 区块链在标准领域的发展现状.18 3.4 区块链产业联盟发展现状.19 4 区块链的典型应用场景区块链的典型应用场景.22 4.1 数据交易:实现数据交易的过程透明、可审计,重塑社会公信力.23 4.2 身份认证:验证身份的合法性,
5、加速数字化社会发展.24 4.3 新能源:打造清洁能源交易信任基石.25 4.4 车联网:用区块链实现信息准确共享,构建新经济模式.27 4.5 供应链溯源:树立公信力,构建真实交易.28 4.6 运营商云网协同:解决运营商网络碎片化,构建新商业模式.29 4.7 供应链金融:有效减少金融风险,拓展金融业务发展.30 华为区块链白皮书 目 录 版权所有 华为技术有限公司 iv 5 华为区块链的方案及特点华为区块链的方案及特点.33 5.1 华为云区块链服务(BCS:Blockchain service).33 5.1.1 区块链服务 BCS 的设计原则和产品定位.33 5.1.2 区块链服务
6、BCS 的总体逻辑架构.34 5.1.3 区块链服务 BCS 平台功能特性.36 5.1.4 区块链服务 BCS 系统安全保障.41 5.1.5 区块链服务 BCS 的技术特色和优势.43 5.2 华为对区块链的整体构想.46 6 总结:华为对区块链未来发展判断总结:华为对区块链未来发展判断.48 华为区块链白皮书 1 区块链的兴起 版权所有 华为技术有限公司 1 1 区块链的兴起区块链的兴起 1.1 区块链的起源 探寻区块链的机制和发展,比特币永远是无法绕过的话题。区块链作为一种独立的技术出现,最早可以追溯到比特币系统中。2008 年一个笔名为中本聪的人(或团队)发布了一篇名为比特币 一种点
7、对点的电子现金系统的文章,又在 2009 年公开了其早期的实现代码,比特币就此诞生。抛去比特币价格的跌宕起伏,仅探讨比特币系统本身的设计,可以把它视作一次电子货币在概念和技术上的实验:在传统的电子支付系统(如银行转账或第三方支付等)中,由银行或支付服务提供方来对验证并记录系统中发生的交易,账本在中心机构手中;而比特币在人类历史上第一次实现了去中心化的电子货币发行和交易,即不需要一个中心化的第三方认证机构或账务管理系统对交易进行验证和记录,全网共同维护更新一份相同的账本。比特币的出现使得电子货币系统出现了由传统的“中心化账本+中介”的模式向“公共账本+共识”的模式转变的可能性,而这种转变正是由区
8、块链技术实现的。比特币白皮书中并没有直接提出“区块链”(Blockchain)这一概念,但其解决交易记录真实有效并不可篡改的方案可以看做区块链系统的雏形:客户端发起交易后向全网广播等待确认,系统中的节点将若干待确认的交易和上一个块的 hash 值打包放进一个块(Block)中并审查块内交易的真实性以形成一个备选区块;随后试图找到一个随机数使得该侯选区块的hash 值小于某一特定值,一旦找到该数后系统判定该区块合法,节点向全网进行广播,其他节点对该区块进行验证后公认该区块合法,此时该区块就会被添加到链上,进而区块中的所有交易也自然被判定为有效。此后发生的交易则依此法类推链在该区块之后,以此形成一
9、个 华为区块链白皮书 1 区块链的兴起 版权所有 华为技术有限公司 2 历史交易记录不断堆叠的账本链条。任何对链条上某一块的改动将会导致该块 hash 值的变化,进而导致后续块的 hash 值变化与原有账本对不上,因此篡改难度极高。比特币以上述方案为基础,由数千个分布式节点 7x24 小时不间断运行了近 10 年之久,期间未出现过重大的漏洞。人们逐渐意识到承载比特币运行背后的区块链技术可能极具应用前景,它不该也不会仅限于在电子货币转账中使用。1.2 区块链的发展路径 电子现金交易的本质是货币(或类货币)资产价值的转移。实际上区块链所带来的分布式记账理念不仅仅能够为电子现金交易服务,它可以被用于
10、处理更广义上的价值转移:各类有形资产和无形资产的所有权归属和流通理论上都可以运用区块链技术进行记录和追踪,并完成点对点的价值交换。这对于社会商业的信息和资产管理而言将会是一次意义重大的革新。然而由于比特币系统设计的非图灵完备性,其系统无法处理更为复杂的业务逻辑。受比特币启发,于 2015 年左右开发上线的公共区块链平台以太坊则将区块链的应用更进一步,允许开发者在平台上部署智能合约,以处理更为复杂的业务逻辑。智能合约使得通过代码设定好的业务逻辑能够自动按照触发条件执行而无需人为干预,并且合约部署在区块链上公开透明。因此区块链技术可以被广泛的运用在涉及合同处理、数据交换、所有权转移的金融、物联网、
11、物流和共享经济等场景中。如果从比特币诞生开始计算,区块链技术已有近 10 年的发展历史。目前区块链的发展方向主要可以分为公有链和联盟链:前者以比特币和以太坊为代表,任何人都可以随时加入其中,链上记录对所有人公开;后者则由指定区块链的参与成员组成联盟,成员之间的业务往来信息被记录在区块链中,限定了使用规模和权限,典型代表如 Linux 基金会旗下的开源区块链项目 Hyperledger 等。华为区块链白皮书 1 区块链的兴起 版权所有 华为技术有限公司 3 表1-1 区块链的发展阶段表 区块链发展阶段 典型事件 作用 2009-2014(区块链 1.0)比特币系统公布。区块链技术起源。2014-
12、2017(区块链 2.0)以太坊,超级账本等区块链开源项目发布。区块链协议层和框架层优化,智能合约支持,公有链和联盟链方向出现。2017-?商业应用项目爆发出现,但仍未大规模落地。区块链在不同行业的应用探索,可能向 3.0 进化。近年来区块链的概念不断被炒热,但技术本身并未大规模落地商用,更多的是一些金融、物流、公益方面的试点。区块链目前在性能、权限和隐私保护、链间互通等方面仍存在诸多问题,其技术还处于发展阶段。相关咨询和分析报告显示,区块链大规模商用将在 3-5年之后,因此区块链解决方案仍需要各方进行优化,以满足商用需求。1.3 当前区块链认识上的两大误区 业界对区块链的声音很多,而在这么多
13、针对区块链的声音中,一类声音是极度夸大区块链的功能,而另一类极端的声音是极力抨击区块链存在的缺陷。业界针对新技术需要更客观的评价。误区一误区一 将比特币等同于区块链。首先当前区块链讲的很热闹,几乎人人都在讲区块链,而更多的是谈论比特币等虚拟货币带来的经济价值,将比特币等虚拟加密货币作为区块链的概念使用,实际上虚拟加密货币仅是区块链中的一种应用形式。目前全球有一千多种虚拟货币,并且数量还在不断增加。虚拟货币(如:比特币)更多的侧重将加密货币作为投资的一种手 华为区块链白皮书 1 区块链的兴起 版权所有 华为技术有限公司 4 段,而对于企业或政府更多关注的区块链则从技术层面探讨如何借助区块链可靠性
14、机制,解决多企业交易安全性问题从而带来商业价值,并试图在更多的场景下释放智能合约和分布式账本带来的科技潜力。误区二误区二 区块链是一种万能的技术,可替代数据库,替代 Internet。业界一些观点认为区块链颠覆了数据库,或采用分布式数据库取代集中的传统数据库(Oracle、DB2 等)等说法,其实这些只是神化了区块链,区块链主要技术由密码学和共识算法所组成,其中大部分都是已有技术整合而来,并未开辟新的技术体系。区块链技术是对现有技术的一种补充,其在现有的加密技术上,利用分布式账本和共识机制形成在数据流转过程中防篡改的一种机制保障。区块链技术中采用的分布式账本,对于替代数据库来说是不存在的,其不
15、会作为独立数据库使用,因此独立的数据存储仍然存在,并未被替代。区块链无法离开 Internet、数据库等技术,反而脱离这些技术将无法形成技术体系,因此,区块链是“X+区块链”的技术形态。华为区块链白皮书 2 区块链核心技术及原理机制 版权所有 华为技术有限公司 5 2 区块链核心技术及原理机制区块链核心技术及原理机制 2.1 区块链的概念和特征 区块链(Blockchain)是一系列现有成熟技术的有机组合,它对账本进行分布式的有效记录,并且提供完善的脚本以支持不同的业务逻辑。在典型的区块链系统中,数据以区块(block)为单位产生和存储,并按照时间顺序连成链式(chain)数据结构。所有节点共
16、同参与区块链系统的数据验证、存储和维护。新区块的创建通常需得到全网多数(数量取决于不同的共识机制)节点的确认,并向各节点广播实现全网同步,之后不能更改或删除。从外部来看,区块链系统应具备如下特征:多方写入,共同维护多方写入,共同维护 此处的多方仅指记账参与方,不包含使用区块链的客户端。区块链的记账参与方应当由多个利益不完全一致的实体组成,并且在不同的记账周期内,由不同的参与方主导发起记账(轮换方式取决于不同的共识机制),而其他的参与方将对主导方发起的记账信息进行共同验证。公开账本公开账本 区块链系统记录的账本应处于所有参与者被允许访问的状态,为了验证区块链记录的信息的有效性,记账参与者必须有能
17、力访问信息内容和账本历史。但是公开账本指的是可访问性的公开,并不代表信息本身的公开,因此,业界期望将很多隐私保护方面的技术,如零知识证明、同态加密、门限加密等,应用到区块链领域,以解决通过密文操作就能验证信息有效性的问题。华为区块链白皮书 2 区块链核心技术及原理机制 版权所有 华为技术有限公司 6 去中心化去中心化 区块链应当是不依赖于单一信任中心的系统,在处理仅涉及链内封闭系统中的数据时,区块链本身能够创造参与者之间的信任。但是在某些情况下,如身份管理等场景,不可避免的会引入外部数据,并且这些数据需要可信第三方的信任背书,此时对于不同类型的数据,其信任应来源于不同的可信第三方,而不是依赖于
18、单一的信任中心。在这种情况下,区块链本身不创造信任,而是作为信任的载体。不可篡改不可篡改 作为区块链最为显著的特征,不可篡改性是区块链系统的必要条件,而不是充分条件,有很多基于硬件的技术同样可以实现数据一次写入,多次读取且无法篡改,典型的例子如一次性刻录光盘(CD-R)。区块链的不可篡改基于密码学的散列算法,以及多方共同维护的特性,但同时由于这个特性,区块链的不可篡改并不是严格意义上的,称之为难以篡改更为合适。2.2 区块链的核心技术 2.2.1 分布式账本 分布式账本技术 DLT(Distributed Ledger Technology)本质上是一种可以在多个网络节点、多个物理地址或者多个
19、组织构成的网络中进行数据分享、同步和复制的去中心化数据存储技术。相较于传统的分布式存储系统,分布式账本技术主要具备两种不同的特征:传统分布式存储系统执行受某一中心节点或权威机构控制的数据管理机制,分布式账本往往基于一定的共识规则,采用多方决策、共同维护的方式进行数据的存储、复制等操作。面对互联网数据的爆炸性增长,当前由单一中心组织构建数据管理系统的方式正受到更多的挑战,服务方不得不持续追加投资构建大型数据中心,不仅带来了计算、网络、存储等各种庞大资源池效率的问题,不断推升的系统规模和复杂度也带来了愈加严峻的可靠性问题。然而,分布式账本技术去中心化的数据维护策略恰恰可以有效减少系统臃肿的负担。在
20、某些应用场景,甚至可以有效利用互联网中大量零散节点所沉淀的庞大资源池。华为区块链白皮书 2 区块链核心技术及原理机制 版权所有 华为技术有限公司 7 传统分布式存储系统将系统内的数据分解成若干片段,然后在分布式系统中进行存储,而分布式账本中任何一方的节点都各自拥有独立的、完整的一份数据存储,各节点之间彼此互不干涉、权限等同,通过相互之间的周期性或事件驱动的共识达成数据存储的最终一致性。经过几十年的发展,传统业务体系中的高度中心化数据管理系统在数据可信、网络安全方面的短板已经日益受到人们的关注。普通用户无法确定自己的数据是否被服务商窃取或篡改,在受到黑客攻击或产生安全泄露时更加显得无能为力,为了
21、应对这些问题,人们不断增加额外的管理机制或技术,这种情况进一步推高了传统业务系统的维护成本、降低了商业行为的运行效率。分布式账本技术可以在根本上大幅改善这一现象,由于各个节点均各自维护了一套完整的数据副本,任意单一节点或少数集群对数据的修改,均无法对全局大多数副本造成影响。换句话说,无论是服务提供商在无授权情况下的蓄意修改,还是网络黑客的恶意攻击,均需要同时影响到分布式账本集群中的大部分节点,才能实现对已有数据的篡改,否则系统中的剩余节点将很快发现并追溯到系统中的恶意行为,这显然大大提升了业务系统中数据的可信度和安全保证。这两种特有的系统特征,使得分布式账本技术成为一种非常底层的、对现有业务系
22、统具有强大颠覆性的革命性创新。2.2.2 共识机制 区块链是一个历史可追溯、不可篡改,解决多方互信问题的分布式(去中心化)系统。分布式系统必然面临着一致性问题,而解决一致性问题的过程我们称之为共识。分布式系统的共识达成需要依赖可靠的共识算法,共识算法通常解决的是分布式系统中由哪个节点发起提案,以及其他节点如何就这个提案达成一致的问题。我们根据传统分布式系统与区块链系统间的区别,将共识算法分为可信节点间的共识算法与不可信节点间的共识算法。前者已经被深入研究,并且在现在流行的分布式系统中广泛应用,其中 Paxos 和 Raft及其相应变种算法最为著名。对于后者,虽然也早被研究,但直到近年区块链技术
23、发展如火如荼,相关共识算法才得到大量应用。而根据应用场景的不同,后者又分为以 PoW(Proof of Work)和 PoS(Proof of Stake)等算法为代表的适用于公链的共识算法和以PBFT(Practical Byzantine Fault Tolerance)及其变种算法为代表的适用于联盟链或私有链的共识算法。华为区块链白皮书 2 区块链核心技术及原理机制 版权所有 华为技术有限公司 8 工作量证明 POW 算法是比特币系统采用算法,该算法于 1998 年由 W.Dai 在 B-money的设计中提出。以太坊系统当前同样采用 PoW 算法进行共识,但由于以太坊系统出块更快(约
24、15 秒),更容易产生区块,为了避免大量节点白白陪跑,以太坊提出了叔(Uncle)块奖励机制。PoS(Proof of Stake)算法最早由 Sunny King 在 2012 年 8 月发布的 PPC(PeerToPeerCoin 点点币)系统中首先实现,而以太坊系统也一直对 PoS 抱有好感,计划后续以 PoS 代替 PoW 作为其共识机制。PoS 及其变种算法可以解决 PoW 算法一直被诟病的浪费算力问题,但其本身尚未经过足够验证。PBFT 算法最早由 Miguel Castro(卡斯特罗)和Barbara Liskov(利斯科夫)在 1999 年的 OSDI99 会议上提出,该算法相
25、较原始拜占庭容错算法具有更高的运行效率。假设系统中共有 N 个节点,那么 PBFT 算法可以容忍系统中存在F 个恶意节点,并且 3F+1 不大于 N。PBFT 共识算法虽然随着系统中节点数增多而可以容忍更多的拜占庭节点,但其共识效率却是以极快的速率下降,这也是我们能看到的应用 PBFT做共识算法的系统中很少有超过 100 个节点的原因。无论是 PoW 算法还是 PoS 算法,其核心思想都是通过经济激励来鼓励节点对系统的贡献和付出,通过经济惩罚来阻止节点作恶。公链系统为了鼓励更多节点参与共识,通常会发放代币(token)给对系统运行有贡献的节点。而联盟链或者私链与公链的不同之处在于,联盟链或者私
26、链的参与节点通常希望从链上获得可信数据,这相对于通过记账来获取激励而言有意义得多,所以他们更有义务和责任去维护系统的稳定运行,并且通常参与节点数较少,PBFT 及其变种算法恰好适用于联盟链或者私链的应用场景。2.2.3 智能合约 什么是智能合约?智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易。这些交易可追踪且不可逆转。其目的是提供优于传统合同方法的安全,并减少与合同相关的其他交易成本。智能合约概念可追溯到 20 世纪 90 年代,由计算机科学家、法学家及密码学家尼克萨博(Nick Szabo)首次提出
27、。他对智能合约的定义如下:“一个智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。”尼克萨博等研究学者,希望能够借助密码学及其他数字安全机制,将传统的合约条款的制定与履 华为区块链白皮书 2 区块链核心技术及原理机制 版权所有 华为技术有限公司 9 行方式,置于计算机技术之下,降低相关成本。然而,由于当时许多技术尚未成熟,缺乏能够支持可编程合约的数字化系统和技术,尼克 萨博关于智能合约的工作理论迟迟没有实现。随着区块链技术的出现与成熟,智能合约作为区块链及未来互联网合约的重要研究方向,得以快速发展。基于区块链的智能合约包括事件处理和保存的机制,以及一个完备的状态机
28、,用于接受和处理各种智能合约,数据的状态处理在合约中完成。事件信息传入智能合约后,触发智能合约进行状态机判断。如果自动状态机中某个或某几个动作的触发条件满足,则由状态机根据预设信息选择合约动作的自动执行。因此,智能合约作为一种计算机技术,不仅能够有效地对信息进行处理,而且能够保证合约双方在不必引入第三方权威机构的条件下,强制履行合约,避免了违约行为的出现。智能合约的优点与风险 随着智能合约在区块链技术中的广泛应用,其优点已被越来越多的研究人员与技术人员认可。总体来讲,智能合约具备以下优点:a.合约制定的高时效性:智能合约在制定中,不必依赖第三方权威机构或中心化代理机构的参与,只需合约各方通过计
29、算机技术手段,将共同约定条款转化为自动化、数字化的约定协议,大大减少了协议制定的中间环节,提高了协议制定的响应效率。b.合约维护的低成本性:智能合约在实现过程中以计算机程序为载体,一旦部署成功后,由计算机系统按照合约中的约定监督、执行,一旦发生毁约可按照事前约定由程序强制执行。因此,极大降低了人为监督与执行的成本。c.合约执行的高准确性:智能合约的执行过程中,由于减少了人为参与的行为,因此利益各方均无法干预合约的具体执行,计算机系统能够确保合约正确执行,有效提高了合约的执行准确性。虽然智能合约较传统合约具有明显的优点,但对智能合约的深入研究与应用仍在不断探索中,我们不能忽略这种新兴技术潜在的风
30、险。2017 年,多重签名的以太坊钱包 Parity 宣布了一个重大漏洞,这个关键漏洞会使多重签名的智能合约无法使用,该漏洞导致了价值超过 1.5 亿美元的以太坊资金被冻结。华为区块链白皮书 2 区块链核心技术及原理机制 版权所有 华为技术有限公司 10 无独有偶,2018 年 2 月,新加坡国立大学、新加坡耶鲁大学学院和伦敦大学学院的一组研究人员发布了一份报告声称,他们运用分析工具 Maian,分析基于以太坊的近 100 万个智能合约,发现有 34,200 个合约含有安全漏洞,予黑客可趁之机,可窃取以太币或是冻结资产、删除合约。安全风险事件的发生值得我们反思,但不管怎样,业内人士普遍认为,区
31、块链技术及智能合约将成为未来 IT 技术发展的一个重要方向,目前的风险是新技术成熟所必然经历的过程。智能合约的应用 目前,智能合约作为区块链的一项核心技术,已经在以太坊、Hyperledger Fabric 等影响力较强的区块链项目中,得到广泛应用。a.以太坊的智能合约应用:以太坊的一个智能合约就是一段可以被以太坊虚拟机执行的代码。以太坊支持强大的图灵完备的脚本语言,允许开发者在上面开发任意应用,这些合约通常可以由高级语言(例如:Solidity、Serpent、LLL 等)编写,并通过编译器转换成字节码(byte code)存储在区块链上。智能合约一旦部署就无法被修改。用户通过合约完成账户的
32、交易,实现对账户的货币及状态进行管理与操作。b.Hyperledger Fabric 的智能合约应用:在 Hyperledger Fabric 项目中,智能合约的概念及应用被更广泛的延伸。作为无状态的、事件驱动的、支持图灵完备的自动执行代码,智能合约在 Fabric 中部署在区块链网络中,直接与账本进行交互,处于十分核心的位置。和以太坊相比,Fabric 智能合约和底层账本是分开的,升级智能合约时并不需要迁移账本数据到新智能合约当中,真正实现了逻辑与数据的分离。Fabric的智能合约称为链码(chaincode),分为系统链码和用户链码。系统链码用来实现系统层面的功能,负责 Fabric 节点
33、自身的处理逻辑,包括系统配置、背书、校验等工作。用户链码实现用户的应用功能,提供了基于区块链分布式账本的状态处理逻辑,由应用开发者编写,对上层业务进行支持。用户链码运行在隔离的链码容器中。华为区块链白皮书 2 区块链核心技术及原理机制 版权所有 华为技术有限公司 11 2.2.4 密码学 信息安全及密码学技术,是整个信息技术的基石。在区块链中,也大量使用了现代信息安全和密码学的技术成果,主要包括:哈希算法、对称加密、非对称加密、数字签名、数字证书、同态加密、零知识证明等。本章从安全的完整性、机密性、身份认证等维度,简要介绍区块链中安全及密码学技术的应用。完整性(防篡改)完整性(防篡改)区块链采
34、用密码学哈希算法技术,保证区块链账本的完整性不被破坏。哈希(散列)算法能将二进制数据映射为一串较短的字符串,并具有输入敏感特性,一旦输入的二进制数据,发生微小的篡改,经过哈希运算得到的字符串,将发生非常大的变化。此外,优秀哈希算法还具有冲突避免特性,输入不同的二进制数据,得到的哈希结果字符串是不同的。区块链利用哈希算法的输入敏感和冲突避免特性,在每个区块内,生成包含上一个区块的哈希值,并在区块内生成验证过的交易的 Merkle 根哈希值。一旦整个区块链某些区块被篡改,都无法得到与篡改前相同的哈希值,从而保证区块链被篡改时,能够被迅速识别,最终保证区块链的完整性(防篡改)。机密性机密性 加解密技
35、术从技术构成上,分为两大类:一类是对称加密,一类是非对称加密。对称加密的加解密密钥相同;而非对称加密的加解密密钥不同,一个被称为公钥,一个被称为私钥。公钥加密的数据,只有对应的私钥可以解开,反之亦然。区块链尤其是联盟链,在全网传输过程中,都需要 TLS(Transport Layer Security)加密通信技术,来保证传输数据的安全性。而 TLS 加密通信,正是非对称加密技术和对称加密技术的完美组合:通信双方利用非对称加密技术,协商生成对称密钥,再由生成的对称密钥作为工作密钥,完成数据的加解密,从而同时利用了非对称加密不需要双方共享密钥、对称加密运算速度快的优点。身份认证身份认证 单纯的
36、TLS 加密通信,仅能保证数据传输过程的机密性和完整性,但无法保障通信对端可信(中间人攻击)。因此,需要引入数字证书机制,验证通信对端身份,进而保 华为区块链白皮书 2 区块链核心技术及原理机制 版权所有 华为技术有限公司 12 证对端公钥的正确性。数字证书一般由权威机构进行签发。通信的一侧持有权威机构根CA(Certification Authority)的公钥,用来验证通信对端证书是否被自己信任(即证书是否由自己颁发),并根据证书内容确认对端身份。在确认对端身份的情况下,取出对端证书中的公钥,完成非对称加密过程。此外,区块链中还应用了现代密码学最新的研究成果,包括同态加密、零知识证明等,在
37、区块链分布式账本公开的情况下,最大限度地提供隐私保护能力。这方面的技术,还在不断发展完善中。区块链安全是一个系统工程,系统配置及用户权限、组件安全性、用户界面、网络入侵检测和防攻击能力等,都会影响最终区块链系统的安全性和可靠性。区块链系统在实际构建过程中,应当在满足用户要求的前提下,在安全性、系统构建成本以及易用性等维度,取得一个合理的平衡。2.3 华为在区块链发展中进行的技术创新 2.3.1 共识算法创新 共识效率是整个区块链对外提供服务的核心能力,实用拜占庭容错算法 PBFT 解决了原始拜占庭容错算法效率不高的问题,将算法复杂度由指数级降低到多项式级,使得拜占庭容错算法在实际系统应用中变得
38、可行,PBFT 完成 3f+1 个节点集群内 f 个节点拜占庭容错,即任一节点收到 2f+1 条消息后可以得到正确的结论(至多有 f 个节点发送恶意错误信息),是联盟链中常用共识算法。尽管得到广泛应用,PBFT 仍然存在一些缺限。PBFT 算法为了克服 Primary Node 采用了复杂的全量点对点通信来监听各类异常行为,通信复杂度达到 O(n2)的同时额外增加了大量签名校验,由此带来繁重的系统开销,降低了共识效率、节点扩展性。此外,一旦发生主节点选举,在选主期间 PBFT 将无法正常共识,若新当选的 Primary 节点作弊或者故障,可能会造成连续选主,在此期间,整个区块链系统对外服务能力
39、将会大幅降低甚至无法提供对外服务。华为区块链白皮书 2 区块链核心技术及原理机制 版权所有 华为技术有限公司 13 华为区块链采用一种高效、支持拜占庭容错、具有自主知识产权的共识算法,有效改进了 PBFT 算法的上述缺陷。通过改进共识流程,保障了节点故障和切主期间区块链系统对外服务的稳定性。同时通过减少不必要的签名验证、简化共识流程,将通信复杂度从 O(n2)减少到 O(n),有效提升了共识效率和扩展性。2.3.2 安全隐私保护 华为区块链安全隐私从以下方面提供更强保障:国密算法国密算法 国密算法是国家密码局制定标准的一系列算法,随着金融安全上升到国家安全高度,国密算法的应用也越来越广泛,20
40、17 年 11 月 SM2/9 正式进入 ISO/IEC 标准。华为区块链支持国密 SM2/3/4,提供多种加密算法给用户选择,同时满足合规要求。同态加密用户交易隐私保护同态加密用户交易隐私保护 区块链可以防篡改,去中心化,在非信任的网络运行,但是用户的账本对参与组织是透明的,任何组织都可以访问到相同的数据,如果将用户的隐私的数据放到链上将会放大用户隐私泄露的风险。当前在比特币等公有链系统中,所有的交易信息都是公开的(包括交易金额)。但是,在金融业的交易中,金融交易信息是敏感数据,非业务相关方不能查看,但同时要满足监管机构的监管要求,而大部分的区块链并没有满足隐私性要求。华为区块链交易解决方案
41、中:(1)提供同态加密库,对用户的交易数据用其公钥进行加密保护,交易的时候都是密文运算,最终账本中加密保存,即使节点被攻破,获取到账本记录也无法解密;(2)提供范围证明校验,背书节点能够对密文进行背书,无需解密就能校验交易的正确性,从而识别出恶意交易风险,保证了智能合约的正确执行。华为开发出适用于 Hyperledger Fabric 平台的保密交易系统,通过改良的算法,比起使用传统的加法同态加密与基于环签名的范围零知识证明,性能大幅提升。零知识证明零知识证明 零知识证明能够在不向验证者提供任何有用的信息情况下,使验证者来相信该结论是正确的,证明过程中不用向验证者泄露被证明的消息。华为区块链将
42、会提供零知识证明能力,对用户的隐私数据进行保护,减少用户隐私泄露风险。华为区块链白皮书 2 区块链核心技术及原理机制 版权所有 华为技术有限公司 14 智能合约安全智能合约安全 当智能合约运行错误或者编程错误时,就会导致“DAO”的事件,从而让用户遭受巨大损失,华为区块链可提供智能合约检测工具,防止恶意的企图通过智能合约漏洞入侵用户数据的行为,同时将提供安全容器,持续监控容器的运行状态,若发现漏洞,进行有效的隔离,严格对容器的访问权限进行控制,从而保证合约安全运行。共识安全共识安全 华为区块链将提供基于硬件的共识算法,使用形式化验证保证共识机制的安全,同时可以提高共识效率,增加网络的稳定性。账
43、本安全账本安全 每个节点的本地账本可能会被篡改,如果出现大部分节点的本地账本都被修改,就可能造成 51%的攻击。华为区块链将提供基于硬件的保护机制,对本地账本的机密性和完整性保护,防止账本被篡改。通信端到端安全通信端到端安全 通用 TLS 通信只能保护应用与应用之间的安全,如果启动 TLS 之前,就已经被攻击,TLS 的保护就失效。华为区块链将提供基于硬件的解决方案,端到端的保证区块链节点间的通信安全。2.3.3 离链通道 单位时间内交易处理能力仍是区块链大规模应用的主要瓶颈之一。受限于区块链的分布式架构特性,节点间不均等的计算能力,不同的网络状况等因素,全网共识往往无法快速达成,从而导致交易
44、速度难以提升。现阶段比特币网络每秒仅能处理约 7 笔交易,支持智能合约的以太坊交易处理速度约为每秒 15 笔。相比之下,中心化服务器支持的 VISA 系统峰值吞吐率可达 56,000 笔,支付宝在 2017 年双十一期间则达每秒 256,000 笔峰值吞吐率。交易拥堵,交易费攀升已极大限制区块链的规模性应用。区块链社区对交易扩容方案的争论与尝试由来已久,现有的主要方案包括区块扩容,共识算法改良,安全硬件(TEE)辅助,隔离见证,闪电网络,交易/状态分片,多层子链等。但 华为区块链白皮书 2 区块链核心技术及原理机制 版权所有 华为技术有限公司 15 无论哪种方案都难以同时兼顾去中心化,可扩展性
45、,安全性三个关键需求。值得注意的是区块链具有应用强相关性,在特定应用场景仍可找到各要素间的平衡点以满足总体业务需求。在大规模 DAPP(Decentralized APP)应用中,往往小额支付占据了大部分交易请求,而小额交易并无必要在主链及时获得确认,例如共享经济中广泛存在的小额支付场景。如果将海量小额交易在链下通道处理,交易过程中不与主链交互,而在交易通道关闭或交易方退出时才请求主链记录交易最终状态,这将极大缓解主链的处理压力,这也是离链微支付通道的设计思想。典型应用包括比特币框架下的闪电网络(Lightning Network)和以太坊智能合约框架下的雷电网络(Raiden Network
46、)。离链通道涉及到“链上锁定-链下执行”等一系列操作,其中交易双方的状态变化(资金分配比例)与交易执行过程由链上合约监督执行。华为开发出适用于 Hyperledger Fabric 平台的离链通道交易系统,通过交易方高效安全的握手协议,实现用户间单通道 2,000+TPS 的交易性能。随着离链交易通道数的增加,可进一步提升系统在单位时间内交易处理能力。华为区块链白皮书 3 区块链国内外产业发展现状 版权所有 华为技术有限公司 16 3 区块链国内外产业发展现状区块链国内外产业发展现状 3.1 区块链相关产业政策现状 中欧在区块链产业政策中逐渐引领全球,欧盟在 2018 年 2 月已成立欧洲区块
47、链观察论坛,主要职责包括:政策确定,产学研联动,跨国境 BaaS(Blockchain as a Service)服务构建,标准开源制定等,并且在 Horizon 2020 投入 500 万欧作为区块链研发基金(在 2018 年12 月 19 日前),预计三年内(2018-2020)区块链方面投资将达到 3.4 亿欧元。而美国则由于各州之间政策不一,虽然区块链在美国初创企业中仍然是热潮,但产业政策推动一直较慢。中东地区以迪拜为首在引领区块链的潮流,由政府牵头,企业配合以探索区块链的新技术应用。亚太区域日韩也相对活跃,日本以 NTT 为主,政府背后提供支撑,韩国以金融为切入点探索区块链应用。中国
48、国务院印发“十三五”国家信息化规划,区块链与大数据、人工智能、机器深度学习等新技术,成为国家布局重点。中国人民银行印发了中国金融业信息技术“十三五”发展规划,明确提出积极推进区块链、人工智能等新技术应用研究,并组织进行国家数字货币的试点。在 2017 年 10 月,工信部发布中国区块链技术和应用发展白皮书,这是首个落地的区块链官方指导文件。各地政府,特别是沿海地区纷纷成立区块链实验地、研究院。目前,深圳、杭州、广州、贵阳等地政府都在积极建立区块链发展专区,给予特别扶植政策。其中广州在 2017 年12 月正式发布广州区块链 10 条策略,在黄浦区和开发区打造区块链企业技术创新区。深圳在 201
49、8 年 3 月由深圳市经济贸易和信息化委员会发布市经贸信息委关于组织实施深圳市战略性新兴产业新一代信息技术信息安全转型 2018 年第二批扶持计划的通知,区块链在扶 华为区块链白皮书 3 区块链国内外产业发展现状 版权所有 华为技术有限公司 17 持方向之列,这是继广州、贵阳、青岛、杭州之后,国内第 5 个地方政府,出台的关于区块链的扶持政策。3.2 区块链在开源领域的发展现状 超级账本(超级账本(Hyperledger)超级账本(Hyperledger)是由 Linux 基金会于 2015 年发起的推进区块链数字技术和交易验证的开源项目,吸引了包括 IBM、英特尔、Fujitsu、Cisco
50、、华为、Redhat、Oracle、三星、腾讯云、百度金融等众多公司参与,目前已经有超过 200 家会员单位。Apache 基金会创始人 Brian Behlendorf 担任超级账本项目的执行董事。超极账本项目的目标是让成员共同合作,共建开放平台,满足来自多个不同行业的用户案例,并简化业务流程。超级账本旗下有多个区块链平台项目,包括 IBM 贡献的 Fabric 项目,Intel 贡献的 Sawtooth 项目,以及 Iroha、Burrow、Indy 等。华为是 Hyperledger 重要成员,不仅在 Hyperledger Fabric 和 Sawtooth Lake 项目贡献大量代码