《第14章.全面账房—区块链技术》由会员分享,可在线阅读,更多相关《第14章.全面账房—区块链技术(40页珍藏版)》请在金锄头文库上搜索。
1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,二级,三级,四级,五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,二级,三级,四级,五级,第,3,章安全第一,信息安全,第,14,章 全面账房,区块链技术,C,ONTENTS,目 录,14.1,中心化系统与去中心化系统,14.2,区块链技术,14.3,区块链技术的应用,中心化系统与去中心化系统,14.1,14.1,中心化系统与去中心化,银行转账,中心化账本,400,元,100,元,100,元,-100,元,+,100,元,银行转账,A,账户扣除,100,元后余额为,300,元,,B,账户增加,100,元后余额为,200,元,中心化账
2、本,账本管理,去中心化,每个人都有账本复验和记账,能够抵御一定的故障和安全攻击,去中心化,验证余额情况,验证通过,记录信息,转账流程,A,要转账给,B 100,元钱,网络告知信息,没有银行参与,去中心化系统,每一个参与者(节点)都是平等且自由的关系,没有谁依赖谁,任何人都是一个节点,任何人也都可以成为一个中心,安全,效率,一种点对点的电子货币结算机制,区块链技术,14.2,14.2.1,区块链技术的简介和特点,区块链技术,广义上讲,区块链是利用块链式数据结构来存储与验证数据、利用分布式节点共识算法来生成和更新数据、利用密码学保证数据传输和访问安全、利用自动化脚本代码组成的智能合约来编程和操作数
3、据的一种全新的分布式基础架构与计算范式。区块链具有去中心化、防篡改、透明公共审计、分布式信任共识、自主可编程等特点。现如今区块链技术已被广泛应用于智能交通、智慧医疗、认证取证等领域。,区块链本质上是一种去中心化、可溯源、难以篡改、多方共同维护的分布式数据库。,安全性,14.2.2,区块链技术的原理,区块链技术的原理,应用层、合约层、激励层、共识层、网络层和数据层,数据层,负责构造安全和不可篡改的区块结构,网络层,负责节点的接入和通信,共识层,负责记账节点的选举和验证,同步数据,区块链技术的原理,激励层,负责激励区块链上的节点去维护区块链系统的稳定,合约层,开放可编程区,使得整个区块链可以通过合
4、约代码部署各种应用在区块链上,应用层,讲区块链上的部署的合约功能做成服务提供给其它用户,1.,数据层,数据层是区块链的核心部分,按照区块的链接方式可以分为串行链式和有向无环图(Directed Acyclic Graph,DAG)两种结构,这两种结构都涉及数字签名、哈希函数、非对称加密和 Merkle 树。区块数据结构中一个区块包括区块头和区块体,区块头一般包括版本号、区块高度、哈希根值、父区块哈希、时间戳、随机数、目标难度和交易数量等,区体块包括当前共识在一个周期内产生的交易数量和交易,1.,数据层,Merkle 树,又称为哈希二叉树,树的每个叶子节点都是一笔交易的哈希值,然后两两递归计算哈
5、希值,最终得到一个哈希根值,又称为 Merkle 哈希根值。此外,在没有偶数笔交易的情况下,解决方案是通过复制最后一笔交易构成偶数笔交易。Merkle 树的作用主要有两个:一是通过比较哈希根值对接收到的数据进行完整性校验,只要有一个数据不全或者被修改了,哈希根值对比验证就不通过;二是快速定位到不一致的数据,从上到下对比哈希根值,然后定位到数据不一致的地方,最后同步即可。当需要证明列表中的某笔交易存在时,一个节点只需要计算 log2N 个 32 字节的哈希根值,就可以形成一条从 Merkle 树根到特定交易的路径。,1.,数据层,非对称加密是区块链技术中用于安全性需求和所有权认证时采用的加密技术
6、,常见的非对称加密算法有 RSA、ElGamal、背包算法、Rabin 等。,在数字签名场景中,发送者先对消息进行哈希摘要计算,然后用自己的私钥对哈希摘要进行加密,最后将消息和加密后的信息发送给 B。B 先用 A 的公钥对哈希摘要进行解密,判断消息是否是 A 发出的,然后对消息进行哈希运算,检验消息在传输过程中是否存在篡改。,由于传统链式的区块结构在规模性和效率方面存在不足,因此出现了以 DAG 的形式组织链接交易的图区块链。图区块链取消了区块的概念,称为 Tangle。在 Tangle 中,每个交易事务都是分布式账本中链接的单个节点。在提交新事务之前,它必须验证前面两个已经提交但还未验证的交
7、易事务。然后通过运行工作量证明(Proof of Work,POW)共识机制将新事务与前两个事务捆绑在一起。之后,可以广播新事务到 Tangle 全网。,2.,网络层,网络层是区块链平台组网和信息传输的基础,用于同点对点(Peer to Peer,P2P)协议进行组网和特定的传输和验证机制,使得每个节点都能平等地参与记账与共识。P2P 协议中每个节点都是对等的,没有中心化的服务器和从其他实体或认证机构(Certification Authority,CA)处获取验证,从而可以有效消除篡改和第三方欺骗的风险。按照接入网络节点支持的功能和对区块数据的存储程度可分为全节点和轻量级节点。全节点保存了完
8、整的区块数据,使得这些节点能够独立验证交易内容;而轻量级节点只保存了所有的区块头,通过简单支付验证向其他节点获取数据以完成验证。这些节点都负责交易区块数据的传输和验证。P2P 协议在区块链网络中被用于交易信息传输和区块数据验证。区块链 1.0 和区块链 2.0 使用基于传输控制协议(Transmission Control Protocol,TCP)的 P2P 协议,Hyperledger Fabric 则使用基于 HTTP/2 的 P2P协议,网络层,网络层是区块链平台组网和信息传输的基础,用于同点对点(Peer to Peer,P2P)协议进行组网和特定的传输和验证机制,使得每个节点都能平
9、等地参与记账与共识。P2P 协议中每个节点都是对等的,没有中心化的服务器和从其他实体或认证机构(Certification Authority,CA)处获取验证,从而可以有效消除篡改和第三方欺骗的风险。按照接入网络节点支持的功能和对区块数据的存储程度可分为全节点和轻量级节点。全节点保存了完整的区块数据,使得这些节点能够独立验证交易内容;而轻量级节点只保存了所有的区块头,通过简单支付验证向其他节点获取数据以完成验证。这些节点都负责交易区块数据的传输和验证。P2P 协议在区块链网络中被用于交易信息传输和区块数据验证。区块链 1.0 和区块链 2.0 使用基于传输控制协议(Transmission
10、Control Protocol,TCP)的 P2P 协议,Hyperledger Fabric 则使用基于 HTTP/2 的 P2P协议,3.,共识层,共识问题,在计算机科学中主要聚焦于分布式一致性问题,即如何保证分布式系统集群中所有节点的数据完全相同,并且就某个提议能达到最终一致的状态。在区块链系统下共识问题更加复杂,因为存在着开放、缺乏信任的环境且存在一定数量的拜占庭恶意节点。而且,即使所有参与者都是诚实的,而且所验证和传输的交易都是正确的,也可能因为网络延迟和错误导致无法达成一致状态。因此,一个区块链系统下的共识算法除需要考虑传统一致性算法外,还需要考虑拜占庭恶意节点、共识效率、去中心
11、化程度、扩展性和网络故障等因素,区块链系统下的共识一直是一个值得深入研讨的课题。共识过程的核心包括选择记账节点和共识两个子过程。共识机制流程主要包括以下 4 步:(1)选主;(2)造块;(3)验证;(4)上链。,4激励层,激励层是将经济因素引入区块链系统,其存在有利于节点在最大化自身利益的前提下积极参与网络共识,以验证数据和区块,从而维护一个安全稳定的网络。在设计合理的激励机制时,要将节点最大化自身收益的个体行为与区块链系统的安全性和有效性相结合,从而使得大规模的节点对区块链历史形成稳定的共识。一般而言,激励机制包括发行机制和分配机制。下面以区块链 1.0 为例,分别进行介绍。,发行机制:区块
12、链 1.0 发行的数量随时间推移呈阶梯形下降,从创世区块开始每个区块将发行 50 个区块链 1.0 给产块的人,以后每隔 4 年发行数量减半(约 21 万个区块),一直到区块链 1.0 中区块数量维持在2 100 万左右时不再发行。另外一部分是手续费,目前默认的手续费是区块链 1.0 的万分之一,交易手续费用和区块奖励的费用都被封装在交易中,新区块验证通过,记账节点将获得奖励。,5合约层,合约层封装了各类脚本、算法和智能合约。智能合约是一种完全无须中介、可自我验证的计算机自动化交易协议,作为区块链技术的关键特性之一,是运行在区块链上的模块化、可重用、自动执行的脚本,能够实现数据处理、价值转移、
13、资产管理等一系列功能。智能合约最早于 1995 年提出,起初通过数字的形式为用户定义合同承诺,并将其部署到传统的物理实体中以构建数字资产。作为智能合约雏形的区块链 1.0 脚本,仅仅是内嵌在其交易上的一组类型单一的指令。区块链 2.0 提供了脚本语言 Solidity 与智能合约的运行环境,即以太坊虚拟机(Ethereum Virual Machine,EVM),方便用户编写和运行智能合约脚本,任何人都能上传和执行任意的应用程序,并能有效执行。在 Hyperledger Fabric 中的智能合约被称为链码(Chaincode),并且支持 Go、Python 和 Java 等主流编程语言编写智
14、能合约。区块链技术与智能合约结合,依靠合约规则实现了不信任双方之间的公平交换,避免协议被恶意中断,也避免了计划外的监控和跟踪,丰富了区块链内的交易与外界状态的交互。,6应用层,区块链技术最早应用于数字金融领域,作为一种具有去中心化、防止篡改、公开透明和支持自主可编程特性的去中心化新技术,其生命力在于作为一种管控平台或者安全底座,为其他行业提供一个安全可信的网络环境、运行环境或者存储环境。现如今区块链技术已经在其他行业有了应用,除了可编程金融,还有供应链溯源、医疗行业和工业互联网等。,14.2.3,区块链技术的分类,区块链技术的分类,1.0,金融区块链,2.0,融合智能合约,3.0,对共识效率和
15、区块结构的完善丰富、以图区块链为代表,4.0,HashNet,公有链,联盟链,私有链,区块链,1.0-,金融,区块链,2.0-,超级账本,区块链,3.0-,以图区块链为代表,区块链,4.0-,以,HashNet,为代表,区块链技术的应用,14.3,区块链技术,区块链,+,物联网,可以为物联网设备管理、数据传输高成本、隐私保护、设备间的数据共享安全无保障等问题提供解决方案,区块链,+,大数据,区块链账本不可篡改的存储机制、共识算法和密码学算法可以为大数据的存储、计算和数据资产化提供可信安全的流通共享通道,去中心化、公开透明、防篡改、自动脚本可编程和匿名化,区块链,+,数字金融,银行互联金融综合服
16、务,政府数据不能充分共享,使政府办事效率无法提升,已经实现信息共享的数据存在信息更新不及时和数据质量参差不齐等问题,银企信息不对称造成银行成本高、风险大,银行积极性不高。信息的不对等、不透明增加协同难度,降低效率,企业信用体系平台尚未建立,存在的问题,区块链银行政金融服务平台,有助于利用区块链实现数据资产流转和交易,解决数据“存、管、用”难题,可靠可信,安全合规,降低成本,区块链,+,政务,电子证明材料平台,材料的开具、传递均为纸质载体,部门间信息流转效率低下,纸质材料易篡改,真伪较难验证,而且比较容易丢失,各部门自发建立的电子证照标准不统一,难以互认,存在的问题,电子材料证明平台,通过线上开具材料、二维码展示证明,免去了纸质传递流程,提高了信息流转效率,电子证照存储于区块链中,不存在丢失风险,通过区块链技术防篡改,真伪查验便利,杜绝了假人假证,物联网领域“,BIoT”,一般使用的是以“,IOTA”,为代表的图区块链平台去管理和维护。,区块链技术,发展前景,物联网、数据分享、知识产权保护,农产品和物流等,课后习题,1,什么是区块链技术,其特点是什么?,2,区块链目前主要的应用方向有哪些