区块链概念、简介、技术及相关知识汇总精品课件_第1页
区块链概念、简介、技术及相关知识汇总精品课件_第2页
区块链概念、简介、技术及相关知识汇总精品课件_第3页
区块链概念、简介、技术及相关知识汇总精品课件_第4页
区块链概念、简介、技术及相关知识汇总精品课件_第5页
已阅读5页,还剩194页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、区块链简介BIG DATA PRESENTATION区块链Qukuailian区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。区块链是比特币的底层技术,像一个数据库账本,记载所有的交易记录。这项技术也因其安全、便捷的特性逐渐得到了银行与金融业的关注。目 录CONTENTS区块链简介区块链网络数据结构核心问题前景展望区块链的定义区块链是一个分布式账本,一种通过去中心化、去信任的方式集体维护一个可靠数据库的技术方案。从数据的角度来看区块链是一种几乎不可能被更改的分布式数

2、据库。这里的“分布式”不仅体现为数据的分布式存储,也体现为数据的分布式记录(即由系统参与者共同维护)。从技术的角度来看区块链并不是一种单一的技术,而是多种技术整合的结果。这些技术以新的结构组合在一起,形成了一种新的数据记录、存储和表达的方式。国际权威杂志经济学人、哈佛商业周刊、福布斯杂志等相继报道区块链技术将影响世界。创业公司R3联合全球42家顶级银行成立区块链联盟,包括摩根大通、美国银行、汇丰银行、花旗银行、富国银行、三菱UFJ金融集团、巴克莱银行、高盛、德意志银行等。区块链的动态区块链科普数字签名数字签名涉及到一个哈希函数、发送者的公钥、发送者的私钥。数字签名有两个作用,一是能确定消息确实

3、是由发送方签名并发出来的。二是数字签名能确定消息的完整性。工作原理发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要,然后用自己的私钥对摘要进行加密,加密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要SHA256 一种求Hash值的加密算法。Merkle Tree一种哈希二叉树,使用它可以快速校验大规模数据的完整性。在比特币网络中,Merkle 树被用来归纳一个区块中的所有交易信息,最终生成这个区块所有交易信息的一个统一的哈希值,区块中任何一笔交易信息的改变都会使得使得 Merkle 树改变。工作原理将任何一串数据

4、输入到SHA256将得到一个256位的Hash值(散列值)。其特点:相同的数据输入将得到相同的结果。输入数据只要稍有变化(比如一个1变成了0)工作原理非叶子节点value的计算方法是将该节点的所有子节点进行组合,然后对组合结果进行hash计算所得出的hash value。节点网络任何机器都可以运行一个完整的比特币节点,一个完整的比特币节点包括如下功能:钱包,允许用户在区块链网络上进行交易完整区块链,记录了所有交易历史,通过特殊的结构保证历史交易的安全性,并且用来验证新交易的合法性矿工,通过记录交易及解密数学题来生成新区块,如果成功可以赚取奖励路由功能,把其它节点传送过来的交易数据等信息再传送给

5、更多的节点除了路由功能以外,其它的功能都不是必须的。时间戳服务器大多用来进行比对以及验证处理,时间戳服务器是一款基于PKI(公钥密码基础设施)技术的时间戳权威系统,对外提供精确可信的时间戳服务。它采用精确的时间源、高强度高标准的安全机制,以确认系统处理数据在某一时间的存在性和相关操作的相对时间顺序,为信息系统中的时间防抵赖提供基础服务。节点网络第1步节点网络第2步交易过程第3步交易过程第4步A将交易单广播至全网,比特币就发送给了B,每个节点都将收到的交易信息纳入一个区块中要点:对B而言,该枚比特币会即时显示在比特币钱包中,但直到区块确认成功后才可用。目前一笔比特币从支付到最终确认成功,得到6个

6、区块确认之后才能真正确认到帐当一个节点找到解时,它就向全网广播该区块记录的所有盖时间戳交易,并由全网其他节点核对要点:时间戳用来证实特定区块必然于某特定时间是的确存在的。比特币网络采取从5个以上节点获取时间,然后取中间值的方式作为时间戳。所有者A利用他的私钥对前一次交易(比特货来源)和下一位所有者B签署一个数字签名,并将这个签名附加在这枚货币的末尾,制作成交易单要点:B以公钥作为接收方地址每个节点通过解一道数学难题,从而去获得创建新区块权利,并争取得到比特币的奖励(新比特币会在此过程中产生)要点:节点反复尝试寻找一个数值,使得将该数值、区块链中最后一个区块的Hash值以及交易单三部分送入SHA

7、256算法后能计算出散列值X(256位)满足一定条件(比如前20位均为0),即找到数学难题的解。由此可见,答案并不唯一全网其他节点核对该区块记账的正确性,没有错误后他们将在该合法区块之后竞争下一个区块,这样就形成了一个合法记账的区块链。要点:每个区块的创建时间大约在10分钟。随着全网算力的不断变化,每个区块的产生时间会随算力增强而缩短、随算力减弱而延长。其原理是根据最近产生的2016年区块的时间差(约两周时间),自动调整每个区块的生成难度(比如减少或增加目标值中0的个数),使得每个区块的生成时间是10分钟。交易过程第5步区块链以区块为单位组织数据。全网所有的交易记录都以交易单的形式存储在全网唯

8、一的区块链中。区块链区块是一种记录交易的数据结构。每个区块由区块头和区块主体组成,区块主体只负责记录前一段时间内的所有交易信息,区块链的大部分功能都由区块头实现。区块版本号,标示软件及协议的相关版本信息父区块哈希值,引用的区块链中父区块头的哈希值,通过这个值每个区块才首尾相连组成了区块链,并且这个值对区块链的安全性起到了至关重要的作用Merkle 根,这个值是由区块主体中所有交易的哈希值再逐级两两哈希计算出来的一个数值,主要用于检验一笔交易是否在这个区块中存在时间戳,记录该区块产生的时间,精确到秒难度值,该区块相关数学题的难度目标随机数(Nonce),记录解密该区块相关数学题的答案的值区块头4

9、、难度值字段会根据之前一段时间区块的平均生成时间进行调整以应对整个网络不断变化的整体计算总量区块形成过程1、在当前区块加入区块链后,所有矿工就立即开始下一个区块的生成工作2、把在本地内存中的交易信息记录到区块主体中在区块主体中生成此区块中所有交易信息3、把上一个刚刚生成的区块的区块头的数据通过 SHA256 算法生成一个区块头包含一个随机数,使得区块的随机散列值出现了所需的0个数。节点通过反复尝试来找到这个随机数, 这样就构建了一个工作量证明机制。工作量证明机制的本质是一CPU一票,“大多数”的决定表达为最长的链,因为最长的链包含了最大的工作 量。如果大多数的CPU为诚实的节点控制,那么诚实的

10、链条将以最快的速度延长,并超越其他的竞争链条。如果想要修改已出现的区块,攻击者必须重新完成该区块的工作量外加该区块之后所有区块的工作量,并最终赶上和超越诚实节点的工作量。工作量证明分叉BLOCK1BLOCK2BLOCK3BLOCK4BLOCK6BLOCK5同一时间段内全网不止一个节点能计算出随机数,即会有多个节点在网络中广播它们各自打包好的临时区块(都是合法的)。某一节点若收到多个针对同一前续区块的后续临时区块,则该节点会在本地区块链上建立分支,多个临时区块对应多个分支。该僵局的打破要等到下一个工作量证明被发现,而其中的一条链条被证实为是较长的一条,那么在另一条分支链条上工作的节点将转换阵营,

11、开始在较长的链条上工作。其他分支将会被网络彻底抛弃。双花,即二重支付,指攻击者几乎同时将同一笔钱用作不同交易。每当节点在把新收到的交易单加入区块之前,会顺着交易的发起方的公钥向前遍历检查,检查当前交易所用的币是否确实属于当前交易发起方,此检查可遍历到该币的最初诞生点(即产生它的那块区块源)。虽然多份交易单可以任意序的广播,但是它们最终被加入区块时必定呈现一定的顺序。区块之间以Hash值作为时间戳则区块,这决定了任意一笔交易资金来源都可以被确定的回溯。双花金融、 医疗、公证、通信、供应链、域名、投票等领域都开始意识到区块链的重要性并开始尝试将技术与现实社会对接。从需求端来看从投资端来看从市场应用

12、来看区块链的投资资金供给逐步上升, 风投的投资热情也不断高涨,投资密度越来越大,供给端的资金供给有望推动技术的进一步发展。区块链能成为一种市场工具,帮助社会削减平台成本,让中间机构成为过去;区块链将促使公司现有业务模式重心的转移,有望加速公司的发展。区块链有望促进数据记录、数据传播及数据存储管理方式的转型;区块链本身更像一种互联网底层的开源 式协议,在不远的将来会触动甚至最后彻底取代现有互联网的底层基础协议。从底层技术来看从社会结构来看区块链技术有望将法律与经济融为一体,彻底颠覆原有社会的监管模式;组织形态会因其而发生改变,区块链也许最终会带领人们走向分布式自治的社会区块链简介BIG DATA

13、 PRESENTATION“区块链”技术对互联网金融的影响Contents目录区块链的定义和来源区块链技术在金融领域的应用区块链取代互联网的可能性中国的应对措施Part One区块链的定义和来源01区块链(Blockchain)是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案1-区块链的定义和来源概念首次出现:比特币:一种点对点的电子现金系统-Satoshi Nakamoto1-区块链的定义和来源存放在互联网的各个比特币节点上,每个节点都有一份完整的备份记录着自比特币诞生以来的所有比特币转账交易账本分区块存储,每一块包含一部分交易记录。每个区块记录着前一区块的ID,形成链状结构当

14、要发起一笔比特币交易时,只需把交易信息广播到p2p网络中,矿工把交易信息记录成一个新的区块连到区块链上,交易完成更简单的描述,以比特币为例区块链-比特币公共账本Part Two区块链技术在金融领域的应用022-1 比特币互联网金融互联网金融业数字货币比特币2-1 比特币一种P2P形式的数字货币,依据特定算法,通过大量的计算产生去中心化全世界流通专属所有权低交易费用无隐藏成本跨平台挖掘2-2 物联网一个中心化的数据中心收集所有已联接设备的信息去中心化分布式云网络传统物联网区块链物联网Part Three区块链取代互联网的可能性033-区块链取代互联网的可能性比特币的信用基础区块链技术是一种巨大的

15、技术突破,这种以P2P为基础的去中心化的新体系,它革新了互联网与金融产业,现在的比特币行业,只想当于1994年左右的互联网,还处于基础建议阶段,但未来十年,区块链有可能取代互联网比特币技术能够从根本上修复和重建互联网,比特币所依托的区块链是一种新型去中心化协议系统,它能安全地存储交易或其他数据,并且无需任何中心化机构的审核,因为这些是由整个网络来检验的。那些交易不一定是金融交易,数据也不一定是货币。区块链技术能够被应用在许许多多应用之中.罗金海ColaPay的创始人Jon Evans新闻媒体TechCrunch专栏作家3-区块链取代互联网的可能性时至今日,国内外的比特币产业链条均已初现雏形。C

16、oinDesk和BitcoinFigures显示,2014年上半年已经有2.5048亿美元的比特币投资,这笔投资,比十年前互联网行业的美金投资更高传统的互联网是一个“中心去中心中心”的结构,但本质是一个中心化结构;而区块链是一个“去中心-中心-去中心”的结构,更接近于自然的智慧. 2014年9月份,IBM 也看上了比特币区块链技术未来IBM 表示,公司已经在物联网投入了海量资源,区块链技术则是解决其中一些核心问题的关键010203Part Four中国应采取的措施044-中国应采取的措施把握竞争制高点,尤其是规则和标准的制定投入足够的资金和技术,加大研究力度采取积极而谨慎的态度,做好监管措施E

17、NDThank You区块链基本概念 区块链的主要作用的存储信息,并不是新发明的一种技术,而是一系列技术的集成,包括非对称加密技术、时间戳、共识机制等,是去中心化的分布式数据库。从逻辑上可以理解为一个一个块,块里面有header,header里存储上一个块的哈希值,除创世区块外,下一个块的header把上一个块的header和数据体作为哈希存到自己的header里,这样就形成一个链,好处就是后续链存储了前一块链的所有数据,如果要改动当前区块的话,必须改动前面所有区块,一个区块要能够打败全网所有区块的51%才有可能被篡改,因此区块链是很安全,不易篡改的。一种特殊的分布式数据库什么是区块链去中心化

18、去信任化公开透明不可篡改匿名性可溯源性区块链的特点 所有节点都地位平等,没有中心服务器(它不像Hadoop那样是分布式存储的,所有节点是协作式的,100个任务,每一个map分一个,合作来运行)点对点网络什么是DApp1.运行在对等网络上2.参与者信息被安全存储,隐私保护3.通过网络节点去中心化操作去中心化应用的优点容错性好防止单一机构的干扰用户更容易相信该应用去中心化应用的缺点更新困难用户身份认证较为困难程序扩充困难DApp之间协作困难DApp中的用户身份和账号DApp中用户完全匿名,身份验证困难多以公钥-私钥对来代表一个账号如果私钥丢失,永远无法访问账户,无账号找回功能DApp开发框架Tru

19、ffle:代码-编译-部署-测试-打包Solidity:智能合约编程语言Web3.js:智能合约调用区块链1.0数字货币比特币01中本聪,2008年“比特币:点对点电子现金系统”区块链是比特币的底层技术;比特币是区块链的一个应用比特币主要功能仅为“有价代币转移”挖矿、矿工、难度系数 由于节点之间必须同步,当一个节点有区块生成必须同步到全网,于是中本聪故意让添加新区块变得困难,平均每10分钟全网才能生成一个区块,也就是一小时六个。区块头包含一个难度系数,难度系数越大,目标值越小,小于目标值的哈希才有效。矿工的作用就是猜出随机值,使区块头的哈希小于目标值才能写入区块链。最高次数可达21.47亿次。

20、区块链产出速度不是通过命令达成的,而是故意设置了海量的计算,也就是说,只有通过大量的计算才能得到当前区块的有效哈希,从而把新区块添加到区块链,这个过程叫挖矿计算哈希的难度,就像全世界的沙子里找到一粒符合条件的沙子。计算哈希的机器叫矿机,操作矿机的人叫矿工挖矿、矿工、难度系数 即使区块链可靠,现在还有一个问题没有解决:如果两人同时向区块链写入数据,也就是说,同时有两个区块加入,因为他们都连着前一个区块,就形成了分叉。 新节点总是采用最长的那条区块链,如果有分叉,就要看哪个分支首先达到6个区块,即”六次确认”。新区快的生成速度由算力决定,即谁的算力高谁就是正确的区块链。区块链的分叉区块链2.0以太

21、坊02以太坊:区块链2.0以太坊是一个可编程、图灵完备的区块链开发平台(2014-2017)人人都可创建合约和去中心化应用以太坊虚拟机(EVM)运行合约 以太坊虚拟机(EVM)EVM可以执行复杂的算法,开发者可以用js、python、solidity等语言在以太坊上开发出自己想要的应用 通过以太坊虚拟机,可以很简单的发行数字资产、编写智能合约,建立和运行去中心化的应用以太坊基本概念以太币/Ether:以太坊中使用的数字货币,2000块左右人民币一个,除了可以买卖赚差价,主要是发布调用程序消耗以太币Gas:以太坊里对所有活动进行消耗资源计量的单位,读取免费,写入收费。0102迷恋猫(crypto

22、Kitties):第一款区块链游戏互联网广告:所有环节数据均在区块链上,通过投票机制确定流量好坏以太坊典型应用以太坊网络Mainnet:以太坊主网Rinkeby:geth客户端组成的测试网络,使用集团共识Ropsten:以太坊主测试网络Kovan,parity:客户端组成测试网络,使用授权证明去中心化的挑战如何保证所有节点状态都同步?如何保证所有交易都广播到所有节点如何防止恶意篡改?共识机制(保证每一笔交易在所有记账节点上的一致性,即让全网达成共识)PoW:Proof of Work,工作量证明PBFT:Practical Byzantine Fault Tolerance,实用拜占庭容错算法

23、PoS:Proof of Stake,权益证明DPoS:Delegated Proof of Stake,委任权益 证明PoW你获得多少币取决于你挖矿贡献的有效 “工作”当节点拥有占全网n%的算力时,该节点即有n/100的概率找到Block Hash“工作”为Block Hash计算,计算时间取决于机器的哈希运算程度PoS根据你持有货币的量和时间,给你发利息的一个制度一个账户的余额越多,在同等算力下,就越容易发现下一个区块发现了一个pos区块,币龄会清空为0,同时发放“利息”DPoS与PoS原理相似,区别在于节点选取若干代理人,由代理人验证和记账。比如轮到代理人记账时他们没能完成则会被除名,网

24、络会选出新的节点来取代他们。DPoS的每个客户端都有权利决定哪些节点可以被信任。相较于PoW工作量共识机制,DPoS大幅提高区块链处理数据的能力,甚至可以实现秒到账,同时大大降低维护区块链网络安全的费用。拜占庭将军问题:是由莱斯利兰伯特提出的点对点通信中的基本问题。含义是在存在消息丢失的不可靠信道上试图通过消息传递的方式达到一致性是不可能的。因此对一致性的研究一般假设信道是可靠的,或不存在本问题。所谓拜占庭失效指一方向另一方发送消息,另一方没有收到,或者收到了错误的信息的情形。拜占庭将军协议:n 个将军被分隔在不同的地方,忠诚的将军希望通过某种协议达成某个命令的一致(比如一起进攻或者一起后退)

25、。但其中一些背叛的将军会通过发送错误的消息阻挠忠诚的将军达成命令上的一致。Lamport 证明了在将军总数大于3m ,背叛者为m 或者更少时,忠诚的将军可以达成命令上的一致。也就是说拜占庭将军协议容许1/3的错误发生。拜占庭将军协议区块链3.0EOS03Enterprise Operation System,即为商用分布式应用设计的一款区块链操作系统。EOS是引入的一种新的区块链架构,旨在实现分布式应用的性能扩展。. 它并不是像比特币和以太坊那样的货币,而是基于EOS软件项目之上发布的代币,被称为区块链3.0CapacityEOSEOS的特点EOS有点类似于微软的windows平台,通过创建一

26、个对开发者友好的区块链底层平台,支持多个应用同时运行,为开发dAPP提供底层的模板EOS是没有手续费的,普通受众群体更广泛。EOS上开发dApp,需要用到的网络和计算资源是按照开发者拥有的EOS的比例分配的。EOS通过并行链和DPOS的方式解决了延迟和数据吞吐量的难题,EOS是每秒可以上千级别的处理量,而比特币每秒7笔左右,以太坊是每秒30-40笔谢谢您的观看!区块链技术的起源、演进与发展4.1区块链技术发展路线4.2区块链技术发展前景3.1金融服务3.2.征信管理3.3跨境投资管理2.1区块链的 演进2.2区块链分类2.3区块链关键技术1.1比特币的起源1.2比特币中的区块链1.3比特币中的

27、交易1.4挖矿原理概述1.从比特币到区块链2.深入了解区块链4.区块链的未来3.区块链应用场景从比特币到区块链123从比特币到区块链4什么是比特币?1.1比特币的起源 A purely peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution. Satoshi Nakamoto, “Bitcoin: a peer to peer ele

28、ctronic cash system”, 2008比特币采用密码技术来控制货币的产生和转移,因此被称为密码货币(Cryptocurrency)。比特币采用去中心化的发行方式,通过工作量证明计算产生,采用分布式账本技术(区块链)来确认并记录所有的交易过程,通常被认为是区块链的第一个成功应用案例。什么是比特币?1.1比特币的起源 BitCoin网络中的任意两个用户可在无可信第三方参与的情况下进行P2P交易,并将每笔交易计入总帐中。如何解决信任问题? 在比特币出现之前,一般采用建立可信第三方机构的方法,对交易进行记录。这种情景下,数字货币的流通对第三方机构的依赖程度很高,所以要求第三方具有很强的可

29、靠性,同时存在第三方作恶的可能性。AB1010001101能不能构建一个去中心化的可信的记账系统呢?AB14235点对点网络1.1比特币的起源比特币的信任构建方法通过区块链技术解决信任问题交易被打包成区块,区块“链接”在一起形成区块链选取最长链作为主链,全网共识,保证账本一致在多数人参与者是诚实的情况下,系统是安全的1.1比特币的起源123从比特币到区块链4比特币中的区块链1.2比特币中的区块链BitCoin采用了去中心化的区块链技术来完成交易记账比特币中的区块链14235比特币网络账本. . .1交易列表12交易列表23交易列表3n交易列表n区块1.2比特币中的区块链blockblock区块

30、区块是一种记录交易的数据结构。每个区块由区块头和区块主体组成。区块头包含了除了交易相关信息以外的所有信息,区块主体负责记录前一段时间内的所有交易信息。区块整体结构区块示意图区块头结构1.2比特币中的区块链区块链每个区块通过包含上一区块hash值的方式,使得区块“链接”起来构成区块链。1.2比特币中的区块链123从比特币到区块链4公钥、地址公钥通过这样一个过程得到:K = k * G。其中k是私钥,G是椭圆曲线成点的常数点,K是所得公钥。其反向运算, 被称为离散对数问题,即已知公钥 K 来求出私钥 k是常困难的。比特币地址是由公钥经过哈希运算再经过Base58Check编码后生成的。它是系统中用

31、户的身份标识。1.3比特币中的交易私钥个特币地址中的所有资的控制权取决于相应私钥的所有权和控制权。在特币交易中,私钥于成付特币所必需的签名以证明资的所有权。比特币私钥其实是随机生成的二进制随机数,有效私钥的范围取决于比特币使用的椭圆曲线数字签名标准。私钥必须保密和备份。1.3比特币中的交易交易笔特币交易是个含有输值和输出值的数据结构。创建交易的过程就是“填写”交易需要的数据。交易结构1.3比特币中的交易交易的结构特币交易的基本单位是未花费的交易输出,简称UTXO(Unspent Transaction Output)。比特币币值最小单位是聪,类似于人民币中的分,1聪为0.00000001个比特

32、币,UTXO是一定数量的聪。被交易消耗的UTXO称为交易输。由交易创建的UTXO称为交易输出。1.3比特币中的交易交易过程1.3比特币中的交易交易示例Alice下载一个比特币客户端。客户端自动生成一个钱包,随机生成一个私钥和对应的比特币地址。1.3比特币中的交易获取比特币,向朋友Joe现金购买。按下发送键后钱包创建一笔交易Joe的私钥签名这笔交易公告比特币全网矿工通过“挖矿”,使交易包括在一个区块中将区块存储到全网公开账本(区块链)交易示例1.3比特币中的交易Alice去Bob的咖啡店消费。交易示例1.3比特币中的交易123从比特币到区块链4挖矿(达成全网共识)验证交易每个全节点依据统一的标准

33、对每个交易进验证。验证交易通过后,将交易加入交易池中。构建区块矿交易池中的一组交易构建个候选区块的主题,再构建区块头。校验并广播区块矿工成功构建一个区块后,广播该区块到邻近节点。其他节点接到区块后依据统一的标准对区块进独验证,验证通过后再广播该区块,并将区块组装到节点保存的区块链上。将区块组装进区块链因为区块链是去中化的数据结构,所以不同节点间的状态会有不一致,但组装区块时,所有的节点都遵从选择“最长”的区块链,这样整个特币络最终会收敛到致的状态。1.4挖矿原理概述1.4挖矿原理概述POW 共识机制POW(Proof Of Work),工作量证明。核心思想是通过计算能力竞争的方式来保证数据一致

34、性从而达成共识。在比特币系统中,各节点 ( 即矿工 ) 基于各自的计算机算力的相互竞争来解决一个求解困难但验证容易的 问题,最快解决该难题 的节点获得区块记账权,即该参与方创建了一个区块,所有其他参与方更新本地区块链。1.4挖矿原理概述区块头结构随机数版本号前一 区块hash值Merkle根hash值时间戳目标值区块头结构版本号区块版本号,表示本区块遵守的验证规则时间戳该区块产生的近似时间,精确到秒前一区块hash值前一区块的哈希值,使用SHA256(SHA256(父区块头)计算1.4挖矿原理概述区块头结构随机数版本号前一 区块hash值Merkle根hash值时间戳目标值区块头结构Merkl

35、e根hash值该区块中交易的Merkle树根的哈希值,用于验证交易是否存在,同样采用SHA256(SHA256()计算目标值该区块工作量证明算法的目标值目标值 = 最大目标值 / 难度值新难度值 = 旧难度值 * ( 过去2016个区块花费时长 / 20160 分钟 )其中最大目标值为一个恒定值:0 x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF随机数为了找到满足目标值所设定的随机数1.4挖矿原理概述POW过程随机数版本号前一 区块hash值Merkle根hash值时间戳目标值区块头结构创建区块头选取随机值计算

36、hash(区块头)小于目标值?开始结束是否创建交易列表,通过Merkle Tree算法生成Merkle根HashMerkle 根Hash与其他相关字段组装成区块头,将区块头的80字节数据(Block Header)作为工作量证明的输入不停的变更区块头中的随机数即nonce的数值,并对每次变更后的的区块头做双重SHA256运算(即SHA256(SHA256(区块头)),将结果值与当前网络的目标值做对比,如果小于目标值,则解题成功,工作量证明完成。1.4挖矿原理概述POW优点算法简单,容易实现节点间无需交换额外的信息即可达成共识破坏系统需要投入极大的成本缺点浪费能源区块的确认时间难以缩短挖矿的作用

37、挖矿在构建区块时会创造新的比特币,类似中央银行印发新的纸币。比特币的总数是固定的,创建比特币的速度随时间下降。挖矿创建信任。挖矿确保只有在包含交易的区块上贡献了足够的计算量后,这些交易才被确认。区块越多,花费的计算量越大,数据越难篡改,意味着更多的信任。挖矿实现了在没有中机构的情况下, 也能使整个特币络达成共识。1.4挖矿原理概述区块链技术的演进区块链的演进 狭义来讲, 区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。 广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数

38、据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。中国区块链技术和应用发展白皮书(2016)1. 技术来源数据库技术非对称加密算法P2P网络数字货币2. 区块链1.0数字货币区块链就是一种无须中介参与,亦能在互不信任或弱信任的参与者之间维系一套不可篡改的账本记录的技术。1、以区块为单位的链状数据块结构2、全网共享账本3、非对称加密4、源代码开源3. 区块链2.0智能合约智能合约区块链系统中的应用,是已编码的、可自动运行的业务逻辑,通常有自己的代币和专用开发语言。虚拟机EVM用于执行智能合约编译后的代码。虚拟机是

39、图灵完备的。分布式应用(DAPP) 包含用户界面的应用,包括但不限于各种加密货币,如以太坊钱包。 典型特征: 4. 区块链类型共享目标共享账本共享状态机核心数据结构区块链分布式总账节点准入规则公有链联盟链专有链代际演进1.0支撑去中心化交易和支付系统2.0通过智能合约支撑行业应用3.0支撑去中心化的社会体系区块链2.0的典型案例 - 以太坊 以太坊的目的是基于智能合约、竞争币和链上元协议概念进行整合和提高,使得开发者能够创建任意的基于共识的、可扩展的、标准化的、特性完备的、易于开发的和协同的应用。以太坊通过建立内置有图灵完备编程语言的区块链,使得任何人都能够在平台上创建合约和去中心化应用,并在

40、其中设立他们自由定义的所有权规则、交易方式和状态转换函数。以太坊比比特币脚本所能提供的智能合约强大得多。POS 共识机制POS(Proof Of Stake),权益证明。核心思想:持有的权益越大,挖到区块的概率越大。2012年8月,“Sunny King”提出PeerCoin(PPC),首次采用PoW机制发行新币,采用PoS机制维护网络安全。只有持有PPC才能挖矿,参与网络安全的维护。POS挖矿方程 Hash(Kernel)Target*币龄Kernel类似于POW中的区块头,Target类似于POW中的随机数。可以看到币龄(即权益)越大,挖矿成功的概率越大在PoS挖矿过程中,只需要客户端的P

41、PCom钱包中有存储超过30天的PPC,就可以自动开始PoS挖矿。当挖到一个Block后,系统会消耗掉币龄,按照消耗的币龄数量来获得挖矿奖励。币龄(Coin Age)货币的持有时间段。比如A从B那里收到了10个币,并且持有90天,那么A就收集到了900币天(coin-days)的币龄.如果A使用了从B收到的这10个币,就认为A从这10个币上积累的币龄被消耗(销毁)了.POS优点在一定程度上缩短了共识达成的时间不再需要大量消耗能源挖矿缺点记账权利可能过度集中在首次发行者,安全性得不到保证还是需要挖矿,本质上没有解决商业应用的痛点联盟链案例 Hyperledger 联盟链案例 Hyperledge

42、r Fabric 的组成PBFT共识机制拜占庭将军问题拜占庭帝国军队的将军们必须全体一致的决定是否攻击某一支敌军。问题是这些将军在地理上是分隔开来的,并且将军中存在叛徒。叛徒可以任意行动以达到以下目标:欺骗某些将军采取进攻行动;促成一个不是所有将军都同意的决定,如当将军们不希望进攻时促成进攻行动;或者迷惑某些将军,使他们无法做出决定。如果叛徒达到了这些目的之一,则任何攻击行动的结果都是注定要失败的,只有完全达成一致的努力才能获得胜利。拜占庭假设是对现实世界的模型化,由于硬件错误、网络拥塞或断开以及遭到恶意攻击,计算机和网络可能出现不可预料的行为。PBFT(Practical Byzantine

43、 Fault Tolerance),实用拜占庭容错算法。在一个3f+1节点的分布式系统中, 可以允许有不超过f个节点失效。PBFT从全网节点选举出一个主节点(Leader),新区块由主节点负责生成Pre-Prepare:每个节点把客户端发来的交易向全网广播,主节点0将从网络收集到需放在新区块内的多个交易排序后存入列表,并将该列表向全网广播,扩散至123Prepare:每个节点接收到交易列表后,根据排序模拟执行这些交易。所有交易执行完后,基于交易结果计算新区块的哈希摘要,并向全网广播,1-023,2-013,3因为宕机无法广播Commit:如果一个节点收到的2f(f为可容忍的拜占庭节点数)个其它

44、节点发来的摘要都和自己相等,就向全网广播一条commit消息Reply:如果一个节点收到2f+1条commit消息,即可提交新区块及其交易到本地的区块链。PBFT优点系统运转可以脱离币的存在,可用性强共识的时延短,基本达到商用实时处理的要求共识效率高,可满足高频交易量的需求缺点当有1/3或以上节点失效后,系统将无法提供服务不适合节点数量过多的场景,扩展性较差 fabric-ca联盟链案例 Hyperledger Fabric1.0 体系架构Fabric 1.0 提出了将应用层共识同全局数据一致性算法相分离的设计逻辑。区块链应用场景区块链应用场景区块链的应用场景,需要从区块链自身的特性出发进行分

45、析。区块链具有去中心化、不可篡改、安全可靠等特性。未来几年内,可能深入应用区块链的场景将包括:金融服务主要是降低交易成本,减少跨组织交易风险等。金融服务涉及的领域包括证券、货币、保险、捐赠等。贵阳市的区块链精准扶贫项目是一个比较成功的案例,建立区块链扶贫诚信积分系统,实现扶贫工作的全流程精准管理,防止弄虚作假、徇私舞弊。征信管理目前的征信相关的大量有效数据主要集中在少数机构手中。这些数据仍然存在数据量不足、相关度较差、时效性不足等缺陷。区块链将可能提供前所未有规模的相关性极高的数据。区块链存在着无法篡改、不可抵赖的特性。基于区块链的信用机制将天然具备稳定性和中立性。包括 IDG、腾讯、安永、普

46、华永道等都纷纷投资或进入基于区块链的征信管理领域,特别是跟保险和互助经济相关的应用场景。跨境投资管理在国际贸易活动,买卖双方可能互不信任。因此需要两家银行作为买卖双方的保证人,代为收款交单,并以银行信用代替商业信用。区块链可以为交易参与方提供共同账本,允许银行和其它参与方拥有经过确认的共同交易记录并据此履约,从而降低风险和成本。一带一路中对区块链技术的探索应用,能让原先无法交易的双方(例如,不存在都认可的国际货币情况下)完成交易,并且降低贸易风险、减少成本。 区块链应用食品溯源 沃尔玛与IBM合作,利用区块链技术跟踪食品,将每个环节进行数字化记录。当食品产生问题时,这家零售巨头得以针对出现的具

47、体问题作出更快的反应。 一旦发生食品安全的恐慌,或对某个商品有怀疑,就可以很快地追溯到它的生产地,从而判定这些食品是不是受到了影响。如果受到影响就能够很快做出决策,是不是进行召回。区块链的未来区块链技术发展路线从区块链现阶段的技术和应用来看,其核心是分布式数据存储、点对点传输、共识机制、加密算法等已有计算机技术。共识机制。公有链方面,目前常用的共识机制存在性能低、能耗高的缺点。联盟链目前的主流共识机制大多基于PBFT及其变种,虽然加入权限控制能获得性能的大幅提升,但是同时也牺牲了一部分共识的效率、约束、容错率等方面的性能。安全算法。一方面,目前采用的大多数传统的安全类算法,存在潜在的“后门”风

48、险,需要逐步替换成更加安全的国密算法,算法的强度也需要不断升级;另一方面,还要防止一些新技术,如量子计算,对传统安全算法的冲击甚至颠覆。隐私保护。目前,区块链相关的隐私保护环节还比较薄弱。尤其是对敏感数据需要平衡隐私保护和合规监管。信息隐私保护技术,如零知识证明、同态加密等,也是后续发展的一个重要方向。区块链简介、分类及前景展望详解目录 区块链简介1 特征及分类2 区块链网络3 数据结构4 核心问题5 前景展望61.区块链简介区块链技术是构建比特币区块链网络与交易信息加密传输的基础技术。它基于密码学原理而不基于信用,使得任何达成一致的双方直接支付,从而不需要第三方中介的参与。互联网上的贸易,几

49、乎都需要借助可资信赖的第三方信用机构来处理电子支付信息。这类系统仍然内生性地受制于“基于信用的模式”。背景1271.区块链简介区块链是一个分布式账本,一种通过去中心化、去信任的方式集体维护一个可靠数据库的技术方案。定义从数据的角度来看区块链是一种几乎不可能被更改的分布式数据库。这里的“分布式”不仅体现为数据的分布式存储,也体现为数据的分布式记录(即由系统参与者共同维护)。从技术的角度来看区块链并不是一种单一的技术,而是多种技术整合的结果。这些技术以新的结构组合在一起,形成了一种新的数据记录、存储和表达的方式。1281.区块链简介国际权威杂志经济学人、哈佛商业周刊、福布斯杂志等相继报道区块链技术

50、将影响世界。创业公司R3联合全球42家顶级银行成立区块链联盟,包括摩根大通、美国银行、汇丰银行、花旗银行、富国银行、三菱UFJ金融集团、巴克莱银行、高盛、德意志银行等。动态129目录 区块链简介1 特征及分类2 区块链网络3 数据结构4 核心问题5 前景展望62.特征及分类特征去中心,去信任区块链由众多节点共同组成一个端到端的网络,不存在中心化的设备和管理机构。节点之间数据交换通过数字签名技术进行验证,无需互相信任,只要按照系统既定的规则进行,节点之间不能也无法欺骗其它节点。开放,共识任何人都可以参与到区块链网络,每一台设备都能作为一个节点,每个节点都允许获得一份完整的数据库拷贝。节点间基于一

51、套共识机制,通过竞争计算共同维护整个区块链。任一节点失效,其余节点仍能正常工作。1312.特征及分类特征不可篡改,可追溯单个甚至多个节点对数据库的修改无法影响其他节点的数据库,除非能控制整个网络中超过51%的节点同时修改,这几乎不可能发生。区块链中的每一笔交易都通过密码学方法与相邻两个区块串联,因此可以追溯到任何一笔交易的前世今生。交易透明,双方匿名区块链的运行规则是公开透明的,所有的数据信息也是公开的,因此每一笔交易都对所有节点可见。由于节点与节点之间是去信任的,因此节点之间无需公开身份,每个参与的节点都是匿名的。 2.特征及分类分类联盟链由若干机构联合发起,介于公有链和私有链之间,兼具部分

52、去中心化的特性。私有链建立在某个企业内部,系统的运作规则根据企业要求进行设定,修改甚至是读取权限仅限于少数节点,同时仍保留着区块链的真实性和部分去中心化的特性。公有链无官方组织及管理机构,无中心服务器,参与的节点按照系统规则自由接入网络、不受控制,节点间基于共识机制开展工作。目录 区块链简介1 特征及分类2 区块链网络3 数据结构4 核心问题5 前景展望63.区块链网络科普数字签名数字签名涉及到一个哈希函数、发送者的公钥、发送者的私钥。数字签名有两个作用,一是能确定消息确实是由发送方签名并发出来的。二是数字签名能确定消息的完整性。工作原理发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要

53、,然后用自己的私钥对摘要进行加密,加密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再用发送方的公钥来对报文附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该数字签名是发送方的。1353.区块链网络科普SHA256 一种求Hash值的加密算法。工作原理将任何一串数据输入到SHA256将得到一个256位的Hash值(散列值)。其特点:相同的数据输入将得到相同的结果。输入数据只要稍有变化(比如一个1变成了0)则将得到一个千差万别的结果,且结果无法事先预知。正向计算(由数据计算其对应的Hash值)十分容易。

54、逆向计算(俗称“破解”,即由Hash值计算出其对应的数据)极其困难,在当前科技条件下被视作不可能。1363.区块链网络Merkle Tree一种哈希二叉树,使用它可以快速校验大规模数据的完整性。在比特币网络中,Merkle 树被用来归纳一个区块中的所有交易信息,最终生成这个区块所有交易信息的一个统一的哈希值,区块中任何一笔交易信息的改变都会使得使得 Merkle 树改变。科普工作原理非叶子节点value的计算方法是将该节点的所有子节点进行组合,然后对组合结果进行hash计算所得出的hash value。1373.区块链网络时间戳服务器大多用来进行比对以及验证处理,时间戳服务器是一款基于PKI(

55、公钥密码基础设施)技术的时间戳权威系统,对外提供精确可信的时间戳服务。它采用精确的时间源、高强度高标准的安全机制,以确认系统处理数据在某一时间的存在性和相关操作的相对时间顺序,为信息系统中的时间防抵赖提供基础服务。科普1383.区块链网络节点网络本章节后续内容,均以比特币网络特性展开阐述1393.区块链网络节点网络任何机器都可以运行一个完整的比特币节点,一个完整的比特币节点包括如下功能:钱包,允许用户在区块链网络上进行交易完整区块链,记录了所有交易历史,通过特殊的结构保证历史交易的安全性,并且用来验证新交易的合法性矿工,通过记录交易及解密数学题来生成新区块,如果成功可以赚取奖励路由功能,把其它

56、节点传送过来的交易数据等信息再传送给更多的节点除了路由功能以外,其它的功能都不是必须的。1403.区块链网络交易过程1413.区块链网络交易过程第2步:A将交易单广播至全网,比特币就发送给了B,每个节点都将收到的交易信息纳入一个区块中第1步:所有者A利用他的私钥对前一次交易(比特货来源)和下一位所有者B签署一个数字签名,并将这个签名附加在这枚货币的末尾,制作成交易单要点:B以公钥作为接收方地址要点:对B而言,该枚比特币会即时显示在比特币钱包中,但直到区块确认成功后才可用。目前一笔比特币从支付到最终确认成功,得到6个区块确认之后才能真正确认到帐。1423.区块链网络交易过程第3步:每个节点通过解

57、一道数学难题,从而去获得创建新区块权利,并争取得到比特币的奖励(新比特币会在此过程中产生)要点:节点反复尝试寻找一个数值,使得将该数值、区块链中最后一个区块的Hash值以及交易单三部分送入SHA256算法后能计算出散列值X(256位)满足一定条件(比如前20位均为0),即找到数学难题的解。由此可见,答案并不唯一第4步:当一个节点找到解时,它就向全网广播该区块记录的所有盖时间戳交易,并由全网其他节点核对要点:时间戳用来证实特定区块必然于某特定时间是的确存在的。比特币网络采取从5个以上节点获取时间,然后取中间值的方式作为时间戳。1433.区块链网络交易过程第5步:全网其他节点核对该区块记账的正确性

58、,没有错误后他们将在该合法区块之后竞争下一个区块,这样就形成了一个合法记账的区块链。要点:每个区块的创建时间大约在10分钟。随着全网算力的不断变化,每个区块的产生时间会随算力增强而缩短、随算力减弱而延长。其原理是根据最近产生的2016年区块的时间差(约两周时间),自动调整每个区块的生成难度(比如减少或增加目标值中0的个数),使得每个区块的生成时间是10分钟。144目录 区块链简介1 特征及分类2 区块链网络3 数据结构4 核心问题5 前景展望64.数据结构区块链区块链以区块为单位组织数据。全网所有的交易记录都以交易单的形式存储在全网唯一的区块链中。1464.数据结构区块是一种记录交易的数据结构

59、。每个区块由区块头和区块主体组成,区块主体只负责记录前一段时间内的所有交易信息,区块链的大部分功能都由区块头实现。区块1474.数据结构区块头版本号,标示软件及协议的相关版本信息父区块哈希值,引用的区块链中父区块头的哈希值,通过这个值每个区块才首尾相连组成了区块链,并且这个值对区块链的安全性起到了至关重要的作用Merkle 根,这个值是由区块主体中所有交易的哈希值再逐级两两哈希计算出来的一个数值,主要用于检验一笔交易是否在这个区块中存在时间戳,记录该区块产生的时间,精确到秒难度值,该区块相关数学题的难度目标随机数(Nonce),记录解密该区块相关数学题的答案的值1484.数据结构在当前区块加入

60、区块链后,所有矿工就立即开始下一个区块的生成工作。把在本地内存中的交易信息记录到区块主体中在区块主体中生成此区块中所有交易信息的 Merkle 树,把 Merkle 树根的值保存在区块头中把上一个刚刚生成的区块的区块头的数据通过 SHA256 算法生成一个 哈希值填入到当前区块的父哈希值中把当前时间保存在时间戳字段中难度值字段会根据之前一段时间区块的平均生成时间进行调整以应对整个网络不断变化的整体计算总量,如果计算总量增长了,则系统会调高数学题的难度值,使得预期完成下一个区块的时间依然在一定时间内区块形成过程149数据结构实例150Version2016版本号,4位Previous_block

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论