区块链技术发展现状与展望_袁勇.docx

上传人:88****9 文档编号:15865 上传时间:2018-03-18 格式:DOCX 页数:14 大小:367.16KB
返回 下载 相关 举报
区块链技术发展现状与展望_袁勇.docx_第1页
第1页 / 共14页
区块链技术发展现状与展望_袁勇.docx_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《区块链技术发展现状与展望_袁勇.docx》由会员分享,可在线阅读,更多相关《区块链技术发展现状与展望_袁勇.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第 42 卷 第 4 期 自 动 化 学 报 Vol. 42, No. 4 2016 年 4 月 ACTA AUTOMATICA SINICA April, 2016 区块链技术发展现状与展望 袁 勇 1, 2 王飞跃 1, 3 摘 要 区块链是随着比特币等数字加密货币的日益普及而逐渐兴起的一种全新的去中心化基础架构与分布式计算范式 , 目 前已经引起政府部门、金融机构、科技企业和资本市场的高度重视与广泛关注 . 区块链技术具有去中心化、时序数据、集体维 护、可编程和安全可信等特点 , 特别适合构建可编程的货币系统、金融系统乃至宏观社会系统 . 本文通过解构区块链的核心要 素 , 提出了区块链

2、系统的基础架构模型 , 详细阐述了区块链及与之相关的比特币的基本原理、技术、方法与应用现状 , 讨论了 智能合约的理念、应用和意义 , 介绍了基于区块链的平行社会发展趋势 , 致力于为未来相关研究提供有益的指导与借鉴 . 关键词 区块链 , 比特币 , 共识机制 , 智能合约 , 平行社会 引用格式 袁勇 , 王飞跃 . 区块链技术发展现状与展望 . 自动化学报 , 2016, 42(4): 481494 DOI 10.16383/j.aas.2016.c160158 Blockchain: The State of the Art and Future Trends YUAN Yong1,

3、2 WANG Fei-Yue1, 3 Abstract Blockchain is an emerging decentralized architecture and distributed computing paradigm underlying Bitcoin and other cryptocurrencies, and has recently attracted intensive attention from governments, nancial institutions, high- tech enterprises, and the capital markets. B

4、lockchain s key advantages include decentralization, time-series data, collective maintenance, programmability and security, and thus is particularly suitable for constructing a programmable monetary system, nancial system, and even the macroscopic societal system. In this paper, we proposed a basic

5、 model of the blockchain system, discussed the principles, technologies, methods and applications of blockchain and the related Bitcoin systems. We also discussed the smart contract and its applications, and presented the future trends of blockchain-enabled paralleled societies. This paper is aimed

6、at providing helpful guidance and reference for future research eorts. Key words Blockchain, Bitcoin, consensus mechanism, smart contract, paralleled society Citation Yuan Yong, Wang Fei-Yue. Blockchain: the state of the art and future trends. Acta Automatica Sinica, 2016, 42(4): 481494 区块链是以比特币为代表的

7、数字加密货币体系 的核心支撑技术 . 区块链技术的核心优势是去中心 化 , 能够通过运用数据加密、时间戳、分布式共识和 经济激励等手段 , 在节点无需互相信任的分布式系 统中实现基于去中心化信用的点对点交易、协调与 协作 , 从而为解决中心化机构普遍存在的高成本、低 效率和数据存储不安全等问题提供了解决方案 . 随 着比特币近年来的快速发展与普及 , 区块链技术的 收稿日期 2016-02-22 录用日期 2016-03-02 Manuscript received February 22, 2016; accepted March 2, 2016 国家自然科学基金 (71472174, 71

8、102117, 61533019, 71232006, 61233001) 资助 Supported by National Natural Science Foundation of China (71472174, 71102117, 61533019, 71232006, 61233001) 本文责任编委 林宗利 Recommended by Associate Editor LIN Zong-Li 1. 中国科学院自动化研究所复杂系统管理与控制国家重点实验室 北京 100190 2. 青岛智能产业技术研究院 青岛 266109 3. 国防科技大 学军事计算实验与平行系统技术中心 长沙

9、410073 1. The State Key Laboratory of Management and Control for Complex Systems, Institute of Automation, Chinese Academy of Sciences, Beijing 100190 2. Qingdao Academy of Intelli- gent Industries, Qingdao 266109 3. Research Center of Mili- tary Computational Experiments and Parallel System, Nation

10、al University of Defense Technology, Changsha 410073 研究与应用也呈现出爆发式增长态势 , 被认为是继 大型机、个人电脑、互联网、移动 /社交网络之后计 算范式的第五次颠覆式创新 , 是人类信用进化史上 继血亲信 用、贵 金属信 用、央 行纸币信用之后的第 四个里程碑 1. 区块链技术是下一代云计算的雏形 , 有望像互联网一样彻底重塑人类社会活动形态 , 并 实现从目前的信息互联网向价值互联网的转变 . 区块链技术的快 速发展引起了政府部 门、金 融 机构、科技企业和资本市场的广泛关注 . 2016 年 1 月 , 英国政府发布区块链专题研究

11、报告 2, 积极推行 区块链在金融和政府事务中的应用 ; 中国人民银行 召开数字货币研讨会探讨采用区块链技术发行虚拟 货币的可行性 , 以提高金融活动的效率、便利性和透 明度 . 美国纳斯达克于 2015 年 12 月率先推出基于 区块链技术的证券交易平台 Linq, 成为金融证券市 场去中心化趋势的重要里程碑 ; 德勤和安永等专业 审计服务公司相继组建区块链研发团队 , 致力于提 升其客户审计服务质量 . 截止到 2016 年初 , 资本市 场已经相继投入 10 亿美元以 加速区块链 领域的 发 482 自 动 化 学 报 42 卷 展 . 初创公司 R3CEV 基于微软云服务平台 Azur

12、e 推出的 BaaS (Blockchain as a service, 区块链即服 务 ) 服务 , 已与美国银行、花旗银行等全球 40 余家 大型银行机构签署区块链合作项目 , 致力于制定银 行业的区块链行业标准与协议 . 区块链技术起源于 2008 年由化名为 “ 中本聪 ” (Satoshi nakamoto) 的学者在密码学邮件组发表的 奠基性论文比特币 : 一种点对点电子现金系统 3, 目前尚未形成行业公认的区块链定义 . 狭义来讲 , 区 块链是一种按照时间顺序将数据区块以链条的方式 组合成特定数据结构 , 并以密码学方式保证的不可 篡改和不可伪造的去中心化共享总账 (Decen

13、tral- ized shared ledger), 能够安全存储简单的、有先后 关系 的、能 在系统内验证的数据 . 广义的区块链技 术则是利用加密链式区块结构来验证与存储数 据、 利用分布式节点共识算法来生成和更新数据、利用 自动化脚本代码 (智能合约 ) 来编程和操作数据的一 种全新的去中心化基础架构与分布式计算范式 . 区块链具有去中心化、时序数据、集体维护、可 编程和安全可信等特点 . 首先是去中心化 : 区块链 数据的验证、记账、存储、维护和传输等过程均是基 于分布式系统结构 , 采用纯数学方法而不是中心机 构来建立分布式节点间的信任 关系 , 从而形成去中 心化的可信任的分布式系

14、统 ; 其次是时序数据 : 区块 链采用带有时间戳的链式区块结构存储数据 , 从而 为数据增加了时间维度 , 具有极强的可验证性和可 追溯性 ; 第三是集体维护 : 区块链系统采用特定的经 济激励机制来保证分布式系统中所有节点均可参与 数据区块的验证过程 (如比特币的 “ 挖矿 ” 过程 ), 并 通过共识算法来选择特定的节点将新区块添加到区 块链 ; 第四是可编程 : 区块链技术可提供灵活的脚本 代码系统 , 支持用户创建高级的智能合约、货币或其 他去中心化应用 . 例如 , 以太坊 (Ethereum) 平台即 提供了图灵完备的脚本语言以供用户来构建任何可 以精确定义的智能合约或交易类型

15、4; 最后是安全 可信 : 区块链技术采用非对称密码学原理对数据进 行加密 , 同时借助分布式系统各节点的工作量证明 等共识算法形成的强大算力来抵御外部攻击、保证 区块链数据不可篡改和不可伪造 , 因而具有较高的 安全性 . 区块链技术是具有普适性的底层技术框架 , 可 以为金 融、经济、科 技甚至政治等各领域带来深刻 变革 . 按照目前区块链技术的发展脉络 , 区块链技术 将会经历以可编程数字加密货币体系为主要特征的 区块链 1.0 模 式、以 可编程金融系统为主要特征的 区块链 2.0 模式和以可编程社会为主要特征的区块 链 3.0 模式 1. 目前 , 一般认为区块链技术正处于 2.0

16、模式的初期 , 股权众筹和 P2P 借贷等各类基于 区块链技术的互联网金融应用相继涌现 . 然而 , 上 述模式实际上是平行而非演进式发展的 , 区块链 1.0 模式的数字加密货币体系仍然远未成熟 , 距离其全 球货币一体化的愿景实际上更远、更困难 . 目前 , 区 块链领域已经呈现出明显的技术和产业创新驱动的 发展态势 , 相关学术研究严重滞后、亟待跟进 . 截止 到 2016 年 2 月 , 以万方数据知识服务平台为中文 数据源、以 Web of Science 和 EI Village 为英文数 据源的文献检索显示 , 目前篇名包含关键词 “ 区块 链 /blockchain” 的仅有

17、2 篇中文 56 和 9 篇英文文 献 614. 本文系统性地梳理了区块链的基本原 理、 核心技术、典型应用和现存问题 , 以期为未来研究提 供有益的启发与借鉴 . 本文组织结构为 : 第 1 节概述区块链与比特币 的发展史及二者的关系 ; 第 2 节阐 述区 块链的基础 架构模型及其关键技术 ; 第 3 节和第 4 节分别概要 总结了区块链技术的应用场景与现存的问题 ; 第 5 节介绍智能合约及其在区块链领域的应用现状 ; 第 6 节展望了区块链驱动的平行社会发展趋势 ; 第 7 节 总结本文内容 . 1 比特币与区块链概述 比特币是迄今为止最为成功的区块链应用场景 . 据区块链实时监控网站

18、 Blockchain.info 统计显示 , 平均每天有约 7 500 万美元的 120 000 笔交易被写 入比特币区块 链 , 目前已生 成超 过 40 万个区块 15. 加密货币市值统计网站 显示 , 截止到 2016 年 2 月 , 全球共有 675 种加密货币 , 总 市值超过 67 亿美元 , 其中比特币市值约占 86 %, 瑞 波币和以太币分别居二、三位 16. 目前比特币供应 量 (即已经挖出的比特币数量 ) 已经超过 1 500 万枚 , 按照每枚比特币 389.50 美元的现行价格估算其总 市值已超过 59 亿美元 , 在世界各国 2015 年 GDP 排名中占据第 1

19、44 位 (略低于欧洲的摩尔多瓦 ). 换 言之 , 在没有政府和中央银行信用背书的情况下 , 去 中心化的比特币已经依靠算法信用创造出与欧洲小 国体量相当的全球性经济体 . 预计到 2027 年 , 全球 10 % 的 GDP 将会通过区块链技术存储 17. 比特币区块链的第一个区块 (称为创世区块 ) 诞 生于 2009 年 1 月 4 日 , 由创始人中本聪持有 . 一周 后 , 中本聪发送了 10 个比特币给密码学专家哈尔芬 尼 , 形成了比特币史上第一次交易 ; 2010 年 5 月 , 佛 罗里达程序员用 1 万比特币购买价值为 25 美元的 披萨优惠券 , 从而诞生了比特币的第一

20、个公允汇率 . 此后 , 比特币价格快速上涨 , 并在 2013 年 11 月创下 每枚比特币兑换 1 242 美元的历史高值 , 超过同期每 盎司 1 241.98 美元的黄金价格 . 据 CoinDesk 估算 , 目前全球约有 6 万商家接受比特币交易 , 其中中 国 4 期 袁勇等 : 区块链技术发展现状与展望 483 是比特币交易增长最为迅速的国家 18. 比特币本质上是由分布式网络系统生成的数字 货币 , 其发行过程不依赖特定的中心化机构 , 而是依 赖于分布式网络节点共同参与一种称为工作量证明 (Proof of work, PoW) 的共识过程以完成比特币交 易的验证与记录 .

21、 PoW 共识过程 (俗称挖矿 , 每个 节点称为矿工 ) 通常是各节点贡献自己的计算资源 来竞争解决一个难度可动态调整的数学问题 , 成功 解决该数学问题的矿工将获得区块的记账权 , 并将 当前时间段的所有比特币交易打包记入一个新的区 块、按 照时间顺序链接到比特币主链上 . 比特币系 统同时会发行一定数量的比特币以奖励该矿工 , 并 激励其他矿工继续贡献算力 . 比特币的流通过程依 靠密码学方法保障安全 . 每一次比特币交易都会经 过特殊算法处理和全体矿工验证后记入区块链 , 同 时可以附带具有一定灵活性的脚本代码 (智能合约 ) 以实现可编程的自动化货币流通 . 由此可见 , 比特币 和

22、区块链系统一般具备如下五个关键要素 , 即公共 的区块链账 本、分 布式的点对点网络系 统、去 中心 化的共识算法、适度的经济激励机制以及可编程的 脚本代码 . 区块链技术为比特币系统解决了数字加密货币 领域长期以来所必需面对的两个重要问题 , 即双重 支付问题和拜占庭将军问题 19. 双重支付问题又称 为 “ 双花 ”, 即利用货币的数字特性两次或多次使用 “ 同一笔钱 ” 完成支付 . 传统金融和货币体系中 , 现 金 (法币 ) 因是物理实体 , 能够自然地避免双重支付 ; 其他数字形式的货币则需要可信的第三方中心机构 (如银行 ) 来保证 . 区块链技术的贡献是在没有第三 方机构的情况

23、下 , 通过分布式节点的验证和共识机 制 解决了去中心化系统的双重支付问题 , 在信息传 输的过程同时完成了价值转移 . 拜占庭将军问题是 分布式系统交互过程普遍面临的难题 , 即在缺少可 信任的中央节点的情况下 , 分布式节点如何达成共 识和建立互信 20. 区块链通过数字加密技术和分布 式共识算法 , 实现了在无需信任单个节点的情况下 构建一个去中心化的可信任系统 . 与传统中心机构 (如中央银行 ) 的信用背书机制不同的是 , 比特币区 块链形成的是软件定义的信用 , 这标志着中心化的 国家信用向去中心化的算法信用的根本性变革 . 比特币凭借其先发优势 , 目 前已经形成体系完 备的涵盖

24、发行、流通和金融衍生市场的生态圈与产 业链 (如图 1 所示 ), 这也是其长期占据绝大多数数 字加密货币市场份额的主要原因 . 比特币的开源特 性吸引了大量开发者持续性地贡献其创新技术、方 法和机制 ; 比特币各网络节点 (矿工 ) 提供算力以保 证比特币的稳定共识和安全性 , 其算力大多来自于 设备商销售的专门用于 PoW 共识算法的专业设备 (矿机 ). 比特币网络为每个新发现的区块发行一定数 量的比特币以奖励矿工 , 部分矿工可能会相互合作 建立收益共享的矿池 , 以便汇集算力来提高获得比 特币的概率 . 比特币经发行进入流通环节后 , 持币人 可以通过特定的软件平台 (如比特币钱包

25、) 向商家支 付比特币来购买商品或服务 , 这体现了比特币的货 币属性 ; 同时由于比特币价格的涨跌机制使其完全 具备金融衍生品的所有属性 , 因此出现了比特币交 易平台以方便持币人投资或者投机比特币 . 在流通 环节和金融市场中 , 每一笔比特币交易都会由比特 币网络的全体矿工验证并记入区块链 . 比特币是区块链技术赋能的第一个 “ 杀手级 ” 应用 , 迄今为止区块链的核心技术和人才资源仍大 多在比特币研发领域 . 然而 , 区块链作为未来新一代 的底层基础技术 , 其应用范畴势必会超越数字加密 货币而延伸到金融、经济、科技和政治等其他领域 . 图 1 比特币生态圈 Fig. 1 The

26、Bitcoin ecosystem 484 自 动 化 学 报 42 卷 比特币的现有技术、模式和机制 , 将会对区块链在新 应用领域的发展提供有益的借鉴 , 而新领域的区块 链创新也势必反过来促进解决比特币系统现存的问 题 . 因此 , 比特币和区块链技术存在着协同进化、和 谐共生而非相互竞争的良性反馈关系 . 2 区块链的基础模型与关键技术 本节将结合比特币系统的技术与应用现状 , 阐 述区块链技术的基础模型、基本原理和关键技术 , 以 及区块链在比特币系统之外的若干创新模式 . 现存 的其他区块链应用大多都与比特币类似 , 仅在某些 特定的环节或多或少地采用比特币模式的变种 . 区块链技

27、术的基础架构模型如图 2 所示 . 一般 说来 , 区块链系统由数据层、网络层、共识层、激励 层、合约层和应用层组成 . 其中 , 数据层封装了底层 数据区块以及相关的数据加密和时间戳等技术 ; 网 络层则包括分布式组网机制、数据传播机制和数据 验证机制等 ; 共识层主要封装网络节点的各类共识 算法 ; 激励层将经济因素集成到区块链技术体系中 来 , 主要包括经济激励的发行机制和分配机制等 ; 合 约层主要封装各类脚本、算法和智能合约 , 是区块链 可编程特性的基础 ; 应用层则封装了区块链的各种 应用场景和案例 . 该模型中 , 基于时间戳的链式区块 结 构、分 布式节点的共识机 制、基 于

28、共识算力的经 济激励和灵活可编程的智能合约是区块链技术最具 代表性的创新点 . 2.1 数据层 狭义的区块链即是去中心化系统各节点共享的 数据账本 . 每个分布式节点都可以通过特定的哈希 算法和 Merkle 树数据结构 , 将一段时间内接收到的 交易数据和代码封装到一个带有时间戳的数据区块 中 , 并链接到当前最长的主区块链上 , 形成最新的区 块 . 该过程涉及区块、链式结构、哈希算法、 Merkle 树和时间戳等技术要素 . 数据区 块 : 如图 3 所示 , 每个数据区块一般包 含区块头 (Header) 和区块体 (Body) 两部分 . 区 块头封装了当前版本号 (Version)

29、、前 一区块地址 (Prev-block)、当前区块的目标哈希值 (Bits)、当前 区块 PoW 共识过程的解随机数 (Nonce)、 Merkle 根 (Merkle-root) 以 及 时 间 戳 (Timestamp) 等 信 息 21. 比特币网络可以动态调整 PoW 共识过程的 难度值 , 最先找到正确的解随机数 Nonce 并经过全 体矿工验证的矿工将会获得当前区块的记账权 . 区 块体则包括当前区块的交易数量以及经过验证 的、 区块创建过程中生成的所有交易记录 . 这些记录通 过 Merkle 树的哈希过程生成唯一的 Merkle 根并记 入区块头 . 图 2 区块链基础架构模

30、型 Fig. 2 A basic framework of blockchain 图 3 区块结构 Fig. 3 The structure of blocks 链式结构 : 取得记账权的矿工将当前区块链接 到前一区块 , 形成最新的区块主链 . 各个区块依次环 环相接 , 形成从创世区块到当前区块的一条最长主 链 , 从而记录了区块链数据的完整历史 , 能够提供区 块链数据的溯源和定位功能 , 任意数据都可以通过 此链式结构顺藤摸瓜、追本溯源 . 需要说明的是 , 如 果短时间内有两个矿工同时 “ 挖出 ” 两个新的区块 加以链接的话 , 区块主链可能会出现暂时的 “ 分叉 ” 现象 , 其

31、解决方法是约定矿工总是选择延长累计工 4 期 袁勇等 : 区块链技术发展现状与展望 485 作量证明最大的区块链 . 因此 , 当主链分叉后 , 后续 区块的矿工将通过计算和比较 , 将其区块链接到当 前累计工作量证明最大化的备选链上 , 形成更长的 新主链 , 从而解决分叉问题 19. 时间戳 : 区块链技术要求获得记账权的节点必 须在当前数据区块头中加盖时间戳 , 表明区块数据 的写入时间 . 因此 , 主链上各区块是按照时间顺序依 次排列的 . 时间戳技术本身并不复杂 , 但其在区块 链技术中的应用是具有重要意义的创新 . 时间戳可 以作为区块数据的存在性证明 (Proof of exi

32、stence), 有助于形成不可篡改和不可伪造的区块链数据库 , 从而为区块链应用于公证、知识产权注册等时间敏 感的领域奠定了基础 . 更为重要的是 , 时间戳为未来 基于区块链的互联网和大数据增加了时间维度 , 使 得通过区块数据和时间戳来重现历史成为可能 . 哈希函数 : 区块链通常并不直接保存原始数据 或交易记录 , 而是保存其哈希函数值 , 即将原始数据 编码为特定长度的由数字和字母组成的字符串后记 入区块链 . 哈希函数 (也称散列函数 ) 具有诸多优良 特点 , 因而特别适合用于存储区块链数据 . 例如 , 通 过哈希输出几乎不能反推输入值 (单向性 ), 不同长 度输入的哈希过程

33、消耗大约相同的时间 (定时性 ) 且 产生固定长度的输出 (定长性 ), 即使输入仅相差一 个字节也会产生显著不同的输出值 (随机性 ) 等 . 比 特币区块链通常采用双 SHA256 哈希函数 , 即将任 意长度的原始数据经过两次 SHA256 哈希运算后转 换为长度为 256 位 (32 字节 ) 的二进制数字来统一 存储和识别 . 除上述特点外 , SHA256 算法还具有巨 大的散列空间 (2256) 和抗碰撞 (避免不同输入值产 生相同哈希值 ) 等特性 , 可满足比特币的任何相关标 记需要而不会出现冲突 . Merkle 树 : Merkle 树是区块链的重要数据结 构 , 其作用

34、是快速归纳和校验区块数据的存在性 和完整性 . 如图 3 所示 , Merkle 树通常包含区块 体的底层 (交易 ) 数据库 , 区块头的根哈希值 (即 Merkle 根 ) 以及所有沿底层区块数据到根哈希的分 支 . Merkle 树运算过程一般是将区块体的数据进 行分组哈希 , 并将生成的新哈希值插入到 Merkle 树 中 , 如此递归直到只剩最后一个根哈希值并记为区 块头的 Merkle 根 . 最常见的 Merkle 树是比特币采 用的二叉 Merkle 树 , 其每个哈希节点总是包含两个 相邻的数据块或其哈希值 22, 其他变种则包括以太 坊的 Merkle patricia t

35、ree 等 4. Merkle 树有诸多 优点 : 首先是极大地提高了区块链的运行效 率和可 扩展性 , 使得区块头只需包含根哈希值而不必封装 所有底层数据 , 这使得哈希运算可以高效地运行在 智能手机甚至物联网设备上 ; 其次是 Merkle 树可支 持 “ 简化支付验证 ” 协议 , 即在不运行完整区块链网 络节点的情况下 , 也能够对 (交易 ) 数据进行检验 3. 例如 , 为验证图 3 中交易 6, 一个没有下载完整区块 链数据的客户端可以通过向其他节点索要包括从交 易 6 哈希值沿 Merkle 树上溯至区块头根哈希处的 哈希序列 (即哈希节点 6, 5, 56, 78, 5 67

36、8, 1 234) 来 快速确认交易的存在性和正确性 . 一般说来 , 在 N 个交易组成的区块体中确认任一交易的算法复杂度 仅为 log2N . 这 将极 大地降低区块链运行所需的带 宽和验证时间 , 并使得仅保存部分相关区块链数据 的轻量级客户端成为可能 . 非对称加密 : 非对称加密是为满足安全性需求 和所有权验证需求而集成到区块链中的加密技术 , 常见算法包括 RSA、 Elgamal、 Rabin、 D-H、 ECC (即椭圆曲线加密算法 ) 等 . 非对称加密通常在加密 和解密过程中使用两个非对称的密码 , 分别称为公 钥和私钥 . 非对称密钥对具有两个特点 , 首先是用其 中一个

37、密钥 (公钥或私钥 ) 加密信息后 , 只有另一个 对应的密钥才能解开 ; 其次是公钥可向其他人公开、 私钥则保密 , 其他人无法通过该公钥推算出相应的 私钥 . 非对称加密技术在区块链的应用场景主要包 括信息加密、数字签名和登录认证等 , 其中信息加密 场景主要是由信息发送者 (记为 A) 使用接受者 (记 为 B) 的公钥对信息加密后再发送给 B, B 利用自 己的私钥对信息解密 . 比特币交易的加密即属于此 场景 ; 数字签名场景则是由发送者 A 采用自己的私 钥加密信息后发送给 B, B 使用 A 的公钥对信息解 密、从而可确保信息是由 A 发送的 ; 登录认证场景 则是由客户端使用私

38、钥加密登录信息后发送给服务 器 , 后者接收后采用该客户端的公钥解密并认证登 录信息 . 以比特币系统为例 , 其非对称加密机制如图 4 所示 : 比特币系统一般通过调用操作系统底层的随 机数生成器来生成 256 位随机数作为私钥 . 比特 币私钥的总量可达 2256, 极难通过遍历全部私钥空 间来获得存有比特币的私钥 , 因而是密码学安全的 . 为便于识别 , 256 位二进制形式的比特币私钥将通 过 SHA256 哈希算法和 Base58 转换 , 形成 50 个字 符长度 的易识别和书写的私钥提供给用户 ; 比特币 的公钥是由私钥首先经过 Secp256k1 椭圆曲线算法 生成 65 字

39、节长度的随机数 . 该公钥可用于产生比 特币交易时使用的地址 , 其生成过程为首先将公钥 进行 SHA256 和 RIPEMD160 双哈希运算并生成 20 字节长度的摘要结果 (即 hash160 结果 ), 再经过 SHA256 哈希算法和 Base58 转换形成 33 字符长度 的比特币地址 19. 公钥生成过程是不可逆的 , 即不 能通过公钥反推出私钥 . 比特币的公钥和私 钥 通 常 486 自 动 化 学 报 42 卷 图 4 比特币非对称加密机制 Fig. 4 The asymmetric cryptography of the Bitcoin system 保存于比特币钱包文件

40、 , 其中私钥最为重要 . 丢失私 钥就意味着丢失了对应地址的全部比特币资产 . 现 有的比特币和区块链系统中 , 根据实际应用需求已 经衍生出多私钥加密技术 , 以满足多重签名等更为 灵活和复杂的场景 . 2.2 网络层 网络层封装了区块链系统的组网方 式、消 息传 播协议和数据验证机制等要素 . 结合实际应用需求 , 通过设计特定的传播协议和数据验证机制 , 可使得 区块链系统中每一个节点都能参与区块数据的校验 和记账过程 , 仅当区块数据通过全网大部 分节点验 证后 , 才能记入区块链 . 组网方式 : 区块链系统的节点一般具有分布式、 自治性、开放可自由进出等特性 , 因而一般采用对等

41、 式网络 (Peer-to-peer network, P2P 网络 ) 来组织 散布全球的参与数据验证和记账的节点 . P2P 网络 中的每个节点均地位对等且以扁平式拓扑结构相互 连通和交互 , 不存在任何中心化的特殊节点和层级 结构 , 每个节点均会承担网络路由、验证区块数据、 传播区块数据、发现新节点等功能 . 按照节点存储数 据量的不同 , 可以分为全节点和轻量级节点 . 前者保 存有从创世区块到当前最新区块为止的完整区块链 数据 , 并通过实时参与区块数据的校验和记账来动 态更新主链 . 全节点的优势在于不依赖任何其他节 点而能够独立地实现任意区块数据的校验、查询和 更新 , 劣势则

42、是维护全节点的空间成本较高 ; 以比特 币为例 , 截止到 2016 年 2 月 , 创世区块至当前区块 的数据量已经超过 60 GB. 与之相比 , 轻量级节点则 仅保存一部分区块链数据 , 并通过第 2.1 节提到的 简易支付验证方式向其相邻节点请求所需的数据来 完成数据校验 . 数据传播协议 : 任一区块数据生成后 , 将由生成 该数据的节点广播到全网其他所有的节点来加以验 证 . 现有的区块链系统一般根据实际应用需求设计 比特币传播协议的变种 , 例如以太坊区块链集成了 所谓的 “ 幽灵协议 ” 以解决因区块数据确认速度快 而导致的高区块作废率和随之而来的安全性风险 4. 根据中本聪的

43、设计 , 比特币系统的交易数据传播协 议包括如下步骤 3: 1) 比特币交易节点将新生成的交易数据向全网 所有节点进行广播 ; 2) 每个节点都将收集到的交易数据存储到一个 区块中 ; 3) 每个节点基于自身算力在区块中找到一个具 有足够难度的工作量证明 ; 4) 当节点找到区块的工作量证明后 , 就向全网 所有节点广播此区块 ; 5) 仅当包含在区块中的所有交易都是有效的且 之前未存在过的 , 其他节点才认同该区块的有效性 ; 6) 其他节点接受该数据区块 , 并在该区块的末 尾制造新的区块以延长该链条 , 而将被接受区块的 随机哈希值视为先于新区块的随机哈希值 . 需要说明的是 , 如果交

44、易节点是与其他节点无 连接的新节点 , 比特币系统通常会将一组长期稳定 运行的 “ 种子节点 ” 推荐给新节点建立连接 , 或者推 荐至少一个节点连接到新节点 . 此外 , 交易数据广播 时 , 并不需要全部节点均接收到 , 而是只要足够多的 节点做出响应即可整合进入区块账本中 . 未接收到 特定交易数据的节点则可向邻近节点请求下载该缺 失的交易数据 19. 数据验证机制 : P2P 网络中的每个节点都时刻 监听比特币网络中广播的数据与新区块 . 节点接收 到邻近节点发来的数据后 , 将首先验证该数据的有 效性 . 如果数据有效 , 则按照接收顺序为新数据建 立存储池以暂存尚未记入区块的有效数

45、据 , 同时继 续向邻近节点转发 ; 如果数据无效 , 则立即废弃该 数据 , 从而保证无效数据不会在区块链 网络继续传 播 . 以比特币为例 , 比特币的矿工节点会收集和验证 P2P 网络中广播的尚未确认的交易数据 , 并对照预 定义的标准清单 , 从数据结构、语法规范性、输入输 出和数字签名等各方面校验交易数据的有效性 , 并 将有效交易数据整合到当前区块中 ; 同理 , 当某矿工 4 期 袁勇等 : 区块链技术发展现状与展望 487 “ 挖 ” 到新区块后 , 其他矿工节点也会按照预定义标 准来校验该区块是否包含足够工作量证明 , 时间戳 是否有效等 ; 如确认有效 , 其他矿工节点会将

46、该区块 链接到主区块链上 , 并开始竞争下一个新区块 . 由网络层设计机理可见 , 区块链是典型的分布 式大数据技术 . 全网数据同时存储于去中心化系统 的所有节点上 , 即使部分节点失效 , 只要仍存在一 个正常运行的节点 , 区块链主链数据就可完全恢复 而不会影响后续区块数据的记录与更新 . 这种高度 分散化的区块存储模式 与云存储模式的区别在于 , 后者是基于中心化结构基础上的多重存储和多重数 据备份模式 , 即 “ 多中心化 ” 模式 ; 而前者则是完全 “ 去中心化 ” 的存储模式 , 具有更高的数据安全性 . 2.3 共识层 如何在分布式系统中高效地达成共识是分布式 计算领域的重要

47、研究问题 . 正如社会系统中 “ 民主 ” 和 “ 集中 ” 的对立关系相似 , 决策权越分散的系统达 成共识的效率越低、但系统稳定性和满意度越高 ; 而 决策权越集中的系统更易达成共识 , 但同时更易出 现专制和独裁 . 区块链技术的核心优势之一就是能 够在决策权高度分散的去中心化系统中使得各节点 高效地针对区块数据的有效性达成共识 . 早期的比特币区块链采用高度依赖节点算力的 工作量证明 (Proof of work, PoW) 机制来保证比特 币网络分布式记账的一致性 . 随着区块链技术的发 展和各种竞争币的相继涌现 , 研究者提出多种不依 赖算力而能够达成共识的机制 , 例如点点币首创的 权益证明 (Proof of stake, PoS) 共识 23 和比特股首 创的授权股份证明机制 (Delegated proof of stake, DPOS) 共识机制 24 等 . 区块链共识层即封装了这 些共识机制 . PoW 共识 : 中本聪在其比特币奠基性论文中设 计了 PoW 共识机制 , 其核心思想是

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 期刊短文 > 短文

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁