第二章 区块链的组成与基本原理_第1页
第二章 区块链的组成与基本原理_第2页
第二章 区块链的组成与基本原理_第3页
第二章 区块链的组成与基本原理_第4页
第二章 区块链的组成与基本原理_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

区块链金融第二章任课老师:请输入任课老师姓名目录第一节区块的认知第二节哈希和链式结构第三节点对点网络

1区块的大小

3区块的意义

2区块的组成

4创世区块第一节区块的认知案例导入:淘宝购物的中心化分析思考:有没有一种“去中心化”体系可以解决这些问题?它是如何解决这些问题的?区块加链组成区块链区块链网络区块链由一个区块连接另一个区块所组成什么是区块链01区块的大小01。02区块的大小除了决定了所含交易数据的多少,还决定了一个区块被数据填满所需要的时间,一旦数据达到一个区块的存储上限就会产生新的区块。0303区块的大小取决于开发者的设计,一旦确认,区块链上所有的区块都将遵循同样的大小。只有更新整个区块链的系统才能改变区块的大小。区块的大小区块存储了一定量的交易数据,区块的大小决定了交易数据的多少。02区块的组成前一个区块的哈希默克尔根时间戳每个区块的区块头都包含着前一个区块的哈希,可以理解为每一个区块都包含上一个区块信息的“数字指纹”,从而使新的区块数据有序地排列在上一个区块数据的后面。默克尔根归纳了所在区块体含有的所有交易,形成了整个交易数据集合的“数字指纹”。每个区块的区块头包含时间戳。时间戳能表明此区块生成的时间,同时能为区块体含有的每一笔数据打上时间标记,具备唯一性。区块由区块头+区块体组成,区块头包括随机数区块头里的随机数是一个随意的号码,它的存在与比特币挖矿息息相关。随机数往往存在于采用工作量证明(PoW)共识机制的区块链里。03区块的意义存储区块存储着区块链的数据效率区块的存在实现了数据的批量处理,让数据得以有条不紊地被处理,提高了整个区块链系统的运转效率。04创世区块创世区块创世区块指的是比特币区块链产生的第一个区块。1现在不同区块链产生的第一区块也可被称作创世区块。2比特币创世区块的内容如图3第二节哈希和链式结构

1哈希函数

2哈希的应用

3哈希的特性

4默克尔树

5链式结构思路说明(二)哈希函数的特性(一)哈希函数在区块中的作用哈希(Hash)是哈希值的缩写,又称散列值。哈希函数又称散列函数,把任意长度的输入通过哈希函数,变换成固定长度的输出,该输出就是哈希值。哈希函数01哈希函数(一)

哈希函数在区块中的作用快速验证用于PoW共识机制防止篡改哈希函数在区块链中生成各种数据的摘要,当比较两个数据是否相等时,只需要比较它们的摘要就可以了。哈希函数主要是在PoW共识机制中使用。详细说来,就是给定一组数据,然后寻找其他的数据,合并起来计算出的哈希值小于某个值。比特币、以太坊,都是使用的PoW共识机制。传递一个数据,要保证它在传递过程中不被篡改,只需要同时传递它的摘要即可。收到数据的人将这个数据重新生成摘要,然后比较传递的摘要和生成的摘要是否相等,如果相等,则说明数据在传递过程中没有被篡改。。(二)哈希函数的特性特性不定长度输入固定长度输出。1抗碰撞性2不可逆性(单向性)302哈希的应用映射哈希函数可以将任意大小的数据(输入内容)映射到固定大小的数据(哈希值)密码保护保存到数据库中的是密码生成的哈希。即使是公司后台管理人员,也拿不到用户的密码。万一公司数据库泄露了,用户的密码依然是相对安全的。03哈希的特性安全哈希的不可逆性保证了密码的安全不冲突性哈希的不冲突性指的是一个数据对应着一个哈希,任何数据的变动哈希也随着变动。哈希的不冲突性又保证了用户再次输入密码的时候,能够登录账号。04默克尔树01。默克尔树默克尔树具体而言,是一个区块中的所有交易都会求取哈希值,得到的哈希值,再两两组合成新文本求取哈希值,以此类推,直到生成最后一个哈希值,即根哈希值,这些哈希值组成的二叉树就是默克尔树,如图2-8。05链式结构当区块和区块连接在一起的时候,当前的区块头里总是会有前一个区块的哈希。由于哈希的不冲突性,只要一个区块里数据导致哈希值改变了,那么后面所有的区块将会随着改变。哈希和区块构成了一个可被验证的数据结构,保证了对数据的可验证性。区块链账本数据主要通过前块哈希值组成的链式结构来保证防篡改和可验证的特性。

1点对点网络的定义

3点对点网络与区块链

2点对点网络的特点第三节点对点网络

4共识机制

6区块链交易运行原理

5区块链账户体系01点对点网络的定义区块链的去中心化结构在区块链网络中,并不存在一个中心节点来校验并记录交易信息,校验和记录工作由网络中的所有节点共同完成。当一个节点需要发起转账交易时,需要指明转账目的地址、转账金额,还需要对该交易并进行签名。由于不存在中心服务器,该交易会随机发送到网络中的邻近节点,邻近节点收到交易信息后,对交易的签名进行校验,确认身份合法后,再校验余额是否充足等信息。验证都完成后,则将该信息转发至自己的邻近节点。。点对点网络的定义点对点网络不同于有中心服务器的中心化网络系统,是一种消除了中心化服务节点,将所有的网络参与者视为对等节点,并在它们之间进行任务和工作的系统。点对点网络结构打破了传统的中心服务器架构,去除了中心服务器,是一种依靠用户群共同维护的网络结构。02点对点网络的特点点对点网络的优势是它是去中心化的,网络中的资源和服务分散在所有节点上,信息的传输和服务的实现都直接在节点之间进行,可以无需中间环节和服务器的介入。去中心化点对点网络通常都是以自组织的方式建立起来的,并允许节点自由地加入和离开。对于点对点网络,理论上其可扩展性几乎可以认为是无限的。可扩展性点对点网络服务是分散在各个节点之间进行的,部分节点或网络遭到破坏对其他部分的影响很小。点对点网络一般在部分节点失效时能够自动调整,保持其他节点的连通性。健壮性03点对点网络与区块链在区块链系统中,要求所有节点共同维护账本机构,即每笔交易都需要发送给网络中的所有节点。如果按照传统的中心化的服务器架构,中心节点要将大量交易信息转发给所有节点,这也是非常低效率的。点对点网络的这些设计思想和区块链的理念完全契合,在区块链中,所有交易及区块的传播不需要发送者将消息发给所有节点。节点只需要将消息发送给一定数量的相邻节点即可,其他节点收到消息后,会按一定的规则发给自己的相邻节点,通过一传十、十传百的方式,最终将消息发给所有节点。04共识机制(一)分布式共识问题区块链通过全民记账来解决信任问题,但是所有节点都参与记录数据,那么最终以谁的记录为准呢?或者说,怎么样保证所有节点记录的是一份相同的正确数据呢?这就是一个如何达成共识的问题。“拜占庭将军问题”是莱斯利·兰伯特(2013年的图灵奖得主)为描述分布式共识问题在论文中抽象出来的一个著名的例子。“拜占庭将军问题”也被称为“拜占庭容错”。“拜占庭将军问题”是一个分布式共识问题,关于拜占庭帝国军队的将军们必须全体一致地决定是否攻击敌国。其核心描述是军中可能有叛徒,却要保证进攻决定一致,并由此引申到了计算机分布式系统领域。抽签式共识投票式共识中心式共识(二)共识机制及其分类解决双花问题和拜占庭将军问题(三)常见的共识机制工作量证明(PoW):就是一个抽签式共识。工作量证明的主要特征是计算的不对称性,节点需要做一定难度的工作得到一个结果,而验证方很容易通过结果来检查节点是不是做了相应的工作。权益证明(PoS):引入了“凭证”的概念。根据每个节点的某些属性(拥有的币数、持币时间、可贡献的计算资源、声誉等),定义每个节点进行出块的难度或者优先度,并且取凭证排序中最优的节点,或者取凭证排序中比较高的小部分节点进行加权随机抽取某个节点,进行下一段时间的记账出块。拜占庭容错协议(BFT)算法:通过投票的方式产生能被所有(诚实)节点认可的区块。01010203(一)私钥私钥就是一组随机获取的数字。私钥是用户控制区块链账户的根本。私钥用来生成数字签名,数字签名能证明对应私钥的所有权。(二)公钥公钥是通过私钥使用非对称加密算法运算而来。(三)非对称加密非对称加密使用两个成对的密钥:公钥,对外公开;私钥,必须严格保密,密钥本质上是一个数值,使用数学算法产生。可以用公钥加密消息,然后使用私钥解密;反过来也可以使用私钥加密,用公钥解密,这也被称为签名。05区块链账户体系06区块链交易运行原理如何记账所有人记账记账篡改难度非常大记账会给奖励(一)简易的区块链系统

温馨提示

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

评论

0/150

提交评论