资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,区块链系统框架及技术,区块链系统框架及技术,Contents,2.1,数据层,2.2,网络层,2.3,共识层,2.4,激励层,2.5,合约层,2.6,应用层,区块链导论,1,Contents2.1数据层2.2网络层2.3共识层2.4激,区块链系统,?,区块链支撑技术:,区块链系统是由多种技术相互支撑构成的系统,,包括数据区块、时间戳、数字签名、,P2P,网络、共识算法等,此外,还包括,Merkle,树、,UTXO,模型(,Unspent,Transaction,Output,)等。,区块链导论,2,区块链系统?区块链支撑技术:区块链系统是由多种技术相互支撑构,区块链系统,?,系统架构:,系统层次由高到低分别是应用层、合约层、激励层、,共识层、网络层以及数据层。下图为区块链基础架构模型。,区块链导论,可编程货币,可编程金融,可编程社会,应用层,脚本代码,算法机制,智能合约,合约层,发行机制,分配机制,激励层,PoW,PoS,DPoS,共识层,P2P,网络,传播机制,验证机制,网络层,数据区块,链式结构,时间戳,哈希函数,Merkle,树,非对称加密,数据层,3,区块链系统?系统架构:系统层次由高到低分别是应用层、合约层、,2.1,数据层,区块链导论,2.1 数据层区块链导论,数据区块,?,构成:,区块链的数据区块包括区块头和区块体。具体如下图所示。,?,区块头:,包含当前区块的版本号、时间戳、当前区块的随机数、,Merkle,根信息、以及前一区块的哈希值和本区块的哈希值等。,?,区块体:,主要包含交易计数和交易详情的交易列表。区块体中,的,Merkle,树会对记录的各个交易进行签名,来保证交易的不可,伪造,通过,Merkle,树的哈希值计算过程产生唯一的,Merkle,根。,区块链导论,4,数据区块?构成:区块链的数据区块包括区块头和区块体。具体如下,链式结构,?,区块链采用链式结构记录数据,每个参与竞争记账权的节点称为,矿工,矿工将当前区块与区块主链上的最末端区块链接,就形成,了从初始区块到当前区块的一条区块链,这条区块链记录了所有,的交易数据,使得在该条区块链之上的所有数据历史都可以被追,溯和查询。,区块链导论,5,链式结构?区块链采用链式结构记录数据,每个参与竞争记账权的节,链式结构,?,区块链的链接模型如下图。其中上一区块的哈希值实际上是指上,一个区块头部的哈希值,而计算随机数规则决定了哪个矿工可以,获得记录区块的权力。,?,若不同地区的两个矿工同时在当前区块主链上链接新的数据区块,时,系统约定在后续区块链接时,将通过计算和比较,将数据区,块链接到长度最大的备选链上,形成新的主链。,区块链导论,区块链链接模型,6,链式结构?区块链的链接模型如下图。其中上一区块的哈希值实际上,时间戳,?,定义:,时间戳表示数据在特定时间已经存在的可验证的数据。,?,意义:,?,区块链中每个数据区块头都需要加盖时间戳,来记录区块的写,入时间,保证每个区块按顺序依次链接,后一个区块的时间戳,可以对前一区块的时间戳进行增强,为区块链应用于时间敏感,的领域奠定了基础。,?,保证区块链数据的不可篡改和伪造。,区块链导论,7,时间戳?定义:时间戳表示数据在特定时间已经存在的可验证的数据,哈希函数,?,定义:,哈希函数,也称散列函数,实现将任意长度的输入转换为,固定长度的输出。哈希函数值是指由固定长度的数字和字母组成,的字符串,区块链通常直接保存哈希函数值,而非原始数据。,?,特点:,具有单向性、易压缩、高灵敏、抗碰撞等特点,适用于存,储区块链中的数据。,区块链导论,8,哈希函数?定义:哈希函数,也称散列函数,实现将任意长度的输入,Merkle,树,?,定义:,Merkle,树是数据结构中的一种树,可以是二叉树,也可以,是多叉树,它具有树结构的所有特点。,?,Merkle,二叉树会将区块链中的数据分组进行哈希运算,向上不,断递归运算产生新的哈希节点,除底层哈希节点外,其余哈希,节点都包含两个相邻的哈希值。,Merkle,二叉树的根保存在区块,头中,其余部分保存在区块体中。,?,意义:,Merkle,树使得区块头只需包含该区块记录的所有交易经过,不断递归运算最终形成的哈希值;同时使得节点在不了解整个区,块的情况下,对是否包含某一交易进行验证,极大提高了区块链,的运行效率。其作用主要是快速归纳和校验区块数据的完整性。,区块链导论,9,Merkle树?定义:Merkle树是数据结构中的一种树,可,非对称加密,?,定义:,非对称加密也称公钥加密,需要两个非对称的密钥,分别,是公钥和私钥,其中公钥对所有人公开,私钥自己保存。,?,意义:,?,非对称加密用于保证系统安全性及所有权验证问题。常见的非,对称加密算法包括,RSA,、,Elgamal,、,ECC,等,区块链系统中使用,的是椭圆曲线加密算法,ECC,。,?,非对称加密除了对数据进行加密外,还可用于数字签名认证,,通过私钥签名的交易可以使用对应的公钥对其进行验证,从而,对交易发起者进行验证。,区块链导论,10,非对称加密?定义:非对称加密也称公钥加密,需要两个非对称的密,2.2,网络层,区块链导论,2.2 网络层区块链导论,网络层,?,网络层封装了区块链系统的组网方式、消息传播协议和数据验证,机制等要素。,?,网络层的设计是为了保证区块链中各个节点间的通信,通过特定,的协议和机制,使得每个节点都能参与记账和数据校验等。同时,保证数据区块是经过大部分节点验证后才记入区块链中的。,区块链导论,11,网络层?网络层封装了区块链系统的组网方式、消息传播协议和数据,网络结构,?,区块链系统一般采用,P2P,网络来组织各个节点参与验证和记账。,?,P2P,网络是一种不需中心服务器、而是依靠节点间沟通的体系。,P2P,网络示意如下图所示。网络中的每个节点地位平等,既产生信,息,也接收信息,每个节点都承担网络路由、数据验证等功能。,P2P,网络示意图,区块链导论,12,网络结构?区块链系统一般采用P2P网络来组织各个节点参与验证,网络结构,?,网络节点根据存储数据量的不同,可以分为全节点和轻量级节点。,?,全节点:,存储了从创始区块以来的所有区块链数据,在进行数,据校验时不需依靠别的节点,仅依靠自身就可以完成校验更新,等操作,但全节点部署时硬件成本较高。,?,轻量级节点:,存储部分数据信息,在需要别的数据时可以通过,简易支付验证方式向邻近节点请求所需数据来完成验证更新。,区块链导论,13,网络结构?网络节点根据存储数据量的不同,可以分为全节点和轻量,数据传播协议,?,区块链网络交易信息的公布方式是广播,存在两种广播机制:交易,广播和区块构造广播。,?,交易广播:,指生成交易的节点将交易信息传播给相邻节点,相,邻节点验证后继续传播给其相邻节点,通过节点间的相互传播,,使得交易信息快速被网络中的所有节点所接收,若多数节点,(,51%,)接收,则交易通过;若交易信息有错,不再进行广播。,?,区块构造广播:,指找到正确随机数后对其进行广播,其他节点,进行验证,若大部分节点验证通过,则确认记账权,生成新区,块。,区块链导论,14,数据传播协议?区块链网络交易信息的公布方式是广播,存在两种广,数据验证机制,?,数据验证机制是指节点对广播的交易信息和区块进行验证的过程。,区块链没有中心机构进行交易信任校验和保证,因此每一项交易,都需要依靠全网节点的验证来保证,至少经过多数(,51%,)节点验,证的交易才能取得信任。,?,在比特币系统中,每个节点都时刻监听区块链网络中广播的交易,数据与新区块。节点会收集网络中已经广播但未确认的交易和区,块,按照预先定义的标准,从不同方面验证交易数据和区块的有,效性,并将有效的交易数据整合至当前区块中。,区块链导论,15,数据验证机制?数据验证机制是指节点对广播的交易信息和区块进行,2.3,共识层,区块链导论,2.3 共识层区块链导论,共识层,?,共识层封装了各种共识算法。在分布式系统中,决策权越分散的,系统达成共识的效率越低,但系统稳定性高;决策权越集中的系,统达成共识效率高,但稳定性差。,?,区块链共识技术的优势之一是在去中心化的系统中使节点间对区,块数据有效性保持一致。,区块链导论,16,共识层?共识层封装了各种共识算法。在分布式系统中,决策权越分,PoW,共识,?,POW,工作原理,?,工作量证明(,Proof,of,Work,,,PoW,)共识机制是通过节点间的,算力竞争来保持共识及数据一致,即对于工作量的证明,是生,成要加入到区块链中的一笔新的交易信息(即新区块)时必须,满足的要求。,?,在基于工作量证明(,PoW,)机制构建的区块链网络中,节点通,过计算随机哈希散列的数值解争夺记账权,求得正确的数值解,以生成区块的能力是节点算力的具体表现。工作量证明机制具,有完全去中心化的优点,节点可以自由进出。,区块链导论,17,PoW共识?POW工作原理?工作量证明(ProofofWor,PoW,共识,?,POW,优缺点,?,在比特币系统中,判定竞争结果是通过工作量证明(,PoW,)的,机制来完成的。,PoW,的主要特点是计算的不对称性,工作端需,要经过长时间运算得到结果,而验证端可以很容易通过结果对,工作端所做工作进行检验。,?,PoW,共识机制具有重要的创新意义,但要求的强大算力造成了,大量资源浪费,而且交易确认时间过长,不适合小额交易的商,业应用。,区块链导论,17,PoW共识?POW优缺点?在比特币系统中,判定竞争结果是通过,PoS,共识,?,POS,原理,?,权益证明(,Proof,of,Stake,,,PoS,)共识解决,PoW,共识机制需要强大,算力造成的资源浪费问题,使用权益证明来替换工作量证明。,?,PoS,要求用户证明拥有某些数量的货币,节点对特定数量货币的所,有权称为币龄,每次交易都将消耗特定数量的币龄。,?,POS,特点,?,PoS,共识过程中挖矿难度与交易输入的币龄成反比。在挖矿过程中,,消耗币龄最高的区块将被链接。,?,PoS,共识过程依靠内部币龄,不需大量耗费电力和能源,很大程度,上解决了,PoW,共识机制中资源浪费的问题,同时也缩短了共识时间。,但依据权益来选择会导致首富账户的权力过大,甚至支配记账权。,区块链导论,18,PoS共识?POS原理?权益证明(ProofofStake,,DPoS,共识,?,股份授权证明(,Delegated,Proof,of,Stake,,,DPoS,)共识机制中节点,可以自主的选择其信任的节点,利用权益人股票的权力来公平民,主的解决共识问题。所有的网络参数,包括交易费用、生成块的,时间以及交易大小,都可以通过选出来的代理人来调整。,?,比特股(
展开阅读全文