区块链原理-附代码课件

上传人:无*** 文档编号:244490915 上传时间:2024-10-04 格式:PPTX 页数:36 大小:2.52MB
返回 下载 相关 举报
区块链原理-附代码课件_第1页
第1页 / 共36页
区块链原理-附代码课件_第2页
第2页 / 共36页
区块链原理-附代码课件_第3页
第3页 / 共36页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,区块链原理详解,_Billing,目录,区块链简介,1,特征及分类,2,区块链网络,3,数据结构,4,核心问题,5,前景展望,6,1,.,区,块,链简介,区,块链技术是构建比特,币,区块链网络,与,交易信息加密传输的基础技,术,。它基,于密码学原理而不基于信用,使得任何达成一致的,双,方直接支,付,,从而不需要第三方中介的参与,。,互联网上的贸易,几乎都需要借,助,可资信赖的,第三方信用机构,来,处理电子支付信息,。这,类系统仍然内,生性,地受制于“基于信用的模式,”。,背景,3,1.,区块链简介,区块链是一个,分布式账本,,一种通过,去中心化,、,去信任,的方式集体维护一个可靠数据库的技术方案,。,定义,从,数据的角度来,看,区,块链是一种几乎不可能被更改的分布式数据,库。这,里的“分布式”不仅体现为数据的,分布式存储,,也体现为数据的,分布式,记录,(即由系统参与,者共同维,护,)。,从,技术,的,角度来,看,区块链并不是一种单一的技术,而是,多种技术整合,的结果,。,这些技术以新的结构组合,在一起,形成了一种新的数据记录、存储和表达的方式。,4,1.,区块链简介,国际权威杂志经济学人、哈佛商业周刊、福布斯杂志等相继报道,区块链技术将影响世,界,。,创,业公司,R3,联,合,全球,42,家顶级,银,行成立区块链联盟,,,包括,摩,根大通、美国银行、汇丰银行、花旗银行、富国银行、三菱,UFJ,金融集团、巴克莱银行、高盛、德意志银行,等。,动态,5,目录,区块链简介,1,特征及分类,2,区块链网络,3,数据结构,4,核心问题,5,前景展望,6,2.,特征及分类,特征,去中心,去信任,区块链由众多节点共同组成一个端到端的网络,不存在中心化的设备和管理机构。节点之间数据交换通过数字签名技术进行验证,无需互相信任,只要按照系统既定的规则进行,节点之间不能也无法欺骗其它节点。,开放,共识,任何人都可以参与到区块链网络,每一台设备都能作为一个节点,每个节点都允许获得一份完整的数据库拷贝。节点间基于一套共识机制,通过竞争计算共同维护整个区块链。任一节点失效,其余节点仍能正常工作。,7,2.,特征及分类,特征,不可篡改,可追溯,单个甚至多个节点对数据库的修改无法影响其他节点的数据库,除非能控制整个网络中超过,51%,的节点同时修改,这几乎不可能发生。区块链中的每一笔交易都通过密码学方法与相邻两个区块串联,因此可以追溯到任何一笔交易的前世今生。,交易透明,双方匿名,区块链的运行规则是公开透明的,所有的数据信息也是公开的,因此每一笔交易都对所有节点可见。由于节点与节点之间是去信任的,因此节点之间无需公开身份,每个参与的节点都是匿名的。,2.,特征及分类,分类,联盟链,由若干机构联合发起,介于公有链和私有链之间,兼具部分去中心化的特性。,私有链,建立在某个企业内部,系统的运作规则根据企业要求进行设定,修改甚至是读取权限仅限于少数节点,同时仍保留着区块链的真实性和部分去中心化的特性。,公有链,无官方组织及管理机构,无中心服务器,参与的节点按照系统规则自由接入网络、不受控制,节点间基于共识机制开展工作。,目录,区块链简介,1,特征及分类,2,区块链网络,3,数据结构,4,核心问题,5,前景展望,6,3.,区块链网络,科,普,数字签,名,数字签名涉及到一个哈希函数、发送者的公钥、发送者的私钥。数字签名有,两个作用,一,是能确定消息确实是由发送方签名并发出来,的。,二是数字签名能确定消息的完整性,。,工作原理,发,送报文时,发送方用一个哈希函数从报文文本中生成报文摘,要,,,然,后用自己的,私钥对摘,要进行加密,,加,密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再用发送方的,公钥,来对报文附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该数字签名是发送方,的。,11,3.,区块链网络,科,普,SHA256,一,种求,Hash,值,的加密算法。,工作原,理,将任何一串数据输入到,SHA256,将得到一个,256,位的,Hash,值(散列值)。其特点:相同的数据输入将得到相同的结果。输入数据只要稍有变化(比如一个,1,变成了,0,)则将得到一个千差万别的结果,且结果无法事先预知。,正向计算(由数据计算其对应的,Hash,值)十分容易,。逆,向计算(俗称“破解”,即由,Hash,值计算出其对应的数据)极其困难,,在,当前科技条件下被视作不可能,。,12,3.,区块链网络,Merkle,Tree,一,种哈希二叉树,使用它可以快速校验大规模数据的完整性。在比特币网络中,,Merkle,树被用来归纳一个区块中的所有交易信息,最终生成这个区块所有交易信息的一个统一的哈希值,区块中任何一笔交易信息的改变都会使得使得,Merkle,树改变。,科,普,工,作原理,非叶子节点,value,的计算方法是将该节点的所有子节点进行组合,然后对组合结果进行,hash,计算所得出的,hash value,。,13,3.,区块链网络,时,间戳服务器,大多用来进行比对以及验证处理,,时间戳服务器是一款基于,PKI,(公钥密码基础设施)技术的时间戳权威系统,对外提供精确可信的时间戳服务。它采用精,确的,时间源、高强度高标准的安全机制,以确认系统处理数据在某一时间的存在性和相关操作的相对时间顺序,为信息系统中的时,间防,抵赖提供基础服务。,科,普,14,3.,区块链网络,节点网络,本章节后续内容,均以比特币网络特性展开阐述,15,3.,区块链网络,节点网,络,任何机器都可以运行一个完整的比特币节点,一个完整的比特币节点包括如下功,能,:,钱,包,允许用户,在,区,块链网,络上进行交,易,完,整区块链,记录,了所,有交,易历史,,通过特殊的结构保证历史交易的安全性,并且用来验证新交易的合法,性,矿,工,通过记录交易及解密数学题来生成新区块,如果成功可以赚取奖,励,路,由功能,把其它节点传送过来的交易数据等信息再传送给更多的节,点,除了路由功能以外,其它的功能都不是必须的。,16,3.,区块链网络,交,易过程,17,3.,区块链网络,交,易过程,第,2,步:,A,将交易单广播至全网,,,比特,币,就发送给,了,B,,,每个节点都将收到的交易信息纳入一个区块,中,第,1,步,:所,有者,A,利用他的私钥对前一次交,易,(比特货来源),和,下一位所有者,B,签,署一,个,数,字签名,,并将这个签名附加在这,枚,货,币,的末尾,制作成交易,单,要点:,B,以,公,钥,作为接收方地址,要点:,对,B,而言,该,枚比特币会即时显示在比,特币钱包,中,但直,到区,块,确认,成功后才可用。目前一笔比特币从支付到最终确认成功,得,到,6,个,区块,确,认之后才能真正确认到,帐。,18,3.,区块链网络,交,易过程,第,3,步:每个节点通过解,一道,数学难题,,从而去获得,创,建新,区块,权利,,并争取得到比特币的奖励(新比特币会在此过程中产生),要点:,节,点反复尝试寻找,一,个数值,使,得,将该数值、区,块链中最后一,个,区块,的,H,ash,值,以,及交,易,单三部分送入,SHA256,算,法后能计,算出散列值,X,(,256,位,)满,足一定条件(比如前,20,位均为,0,),即找到数学难题的解。由此可见,答案并不唯一,第,4,步:当一个节点找,到解,时,它就向全网广播该区块记录的,所有盖时间戳交易,,并由全网其他节点核,对,要点:,时,间,戳用来证,实特,定区块必,然于某特定时间是的确存在,的。比特币网络采取从,5,个以上节点获取时间,然后取中间值的方式作为时间戳。,19,3.,区块链网络,交易过程,第,5,步:全网其他节点,核对该区块记账的正确,性,,,没有错误后他们将在该合法区块之后竞争下一个区块,这样就形成了一个合法记账的区块,链,。,要点:,每个区块的创建时间大约在,10,分钟。随着全网算力的不断变化,每个区块的产生时间会随算力增强而缩短、随算力减弱而延长。其原理,是根据最,近产生的,2016,年区块的时间差(约两周时间),自动调整每个区块的生成难度(比如减少或增加目标值中,0,的个数),使得每个区块的生成时间是,10,分钟。,20,目录,区块链简介,1,特征及分类,2,区块链网络,3,数据结构,4,核心问题,5,前景展望,6,4.,数据结构,区块,链,区块链以区块为单位组织数据,。全网所,有的交易记录都以交易单的形式存储在全网唯一的区块链,中。,22,4.,数据结构,区,块是一种记录交易,的数据结构。,每个区块,由区,块,头,和,区,块主体组成,区块主,体只负,责记,录前一段时间内的所有交,易信息,,区,块链的大部分功能,都由,区块头实,现。,区块,23,4.,数据结构,区块头,版,本,号,,标示软件及协议的相关版本信,息,父区块哈希,值,,引用的区块链中父区块头的哈希值,通过这个值每个区块才首尾相连组成了区块链,并且这个值对区块链的安全性起到了至关重要的作,用,Merkle,根,,这个值是由区块主体中所有交易的哈希值再逐级两两哈希计算出来的一个数值,主要用于检验一笔交易是否在这个区块中存,在,时间,戳,,记录该区块产生的时间,精确到,秒,难度,值,,该区块相关数学题的难度目,标,随机数,(Nonce),,,记录解密该区块相关数学题的答案的,值,24,4.,数据结构,在当前区,块加入区块链后,,所有矿工就立即开始下一个区块的生成工,作。,把,在本地内存中的交易信息记录到区块主体,中,在,区块主体中生成此区块中所有交易信息的,Merkle,树,把,Merkle,树根的值保存在区块头,中,把,上一个刚刚生成的区块的区块头的数据通过,SHA256,算法生成一个,哈,希值填入到当前区块的父哈希值,中,把,当,前时,间保存在时间戳字段,中,难,度值字,段会,根据之前一段时间区块的平均生成时间进行调整以应对整,个网,络不断变化的整体计算总量,如果计算总量增长了,则系统会调高数学题的难度值,使得预期完成下一个区块的时间依然,在一定时间内,区块形成过程,25,数据结构实例,26,Version,2016,版本号,4,位,Previous_block _hash,6e110d98b388e77e9c6f042ac6b497ce,上一个区块的散列值,,32,位,Timestamp,20161008131809,时间戳(当前时间),15,位,Merkle_Root,5e110d98b388e77e9c6f042ac6b497c2,Merkle Root Hash,32,位,bits,8989,当前难度值,4,位,nonce,2123,随机数,4,位,如果为认定的正式区块填写,0000,Transaction_count,3,骚扰电话数据包数量,(,交易数量,),3,位,crank_call:1331128764times:10type:2,crank_call,:骚扰号码,times:,被设定次数,type:,类型,1-,中介;,2-,保险推销,;3-,快递送餐,;4,诈骗,;5-,出租车,crank_call:1362128744times:10type:2,crank_call:1353128464times:10type:2,拦截骚扰电话的区块由区块头及该区块所包含的交易列表组成。区块头的大小为,103
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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