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