区块链导论配套ppt课件

上传人:494895****12427 文档编号:241297735 上传时间:2024-06-16 格式:PPTX 页数:321 大小:15.47MB
返回 下载 相关 举报
区块链导论配套ppt课件_第1页
第1页 / 共321页
区块链导论配套ppt课件_第2页
第2页 / 共321页
区块链导论配套ppt课件_第3页
第3页 / 共321页
点击查看更多>>
资源描述
区块链导论新一代信息技术系列教材区块链导论新一代信息技术系列教材第 一 章绪论第一章目录区块链的发端与源起区块链的技术特点区块链的发端与源起区块链的技术特点区块链的发端与源起1区块链的发端与源起1新一代信息技术系列教材 区块链导论区块链技术也称为分布式记账技术。众所周知,“记账”就是按时间的先后顺序,将个体、公司、组织等在一定时间内所发生的收和支出全部记录下来,供査阅者翻阅査看的行为。简单刻记/直观绘图结绳记事法单式记账复式记账法互联网时代记账工具分布式记账技术人类记账史上的革命人类记账史上的革命复式记账法复式记账法的生和发展奠定了当代会计学基础的生和发展奠定了当代会计学基础基于复式记账法思想,但又有很大的改进和提升,客观上大大推动了现代商业行为的发展。记账技术的更迭:1.1.1记账技术的更迭区块链技术也称为分布式记账技术。简新一代信息技术系列教材 区块链导论分布式记账技术新一代的记账技术区块链系统可以被视为带密钥的分布式和自动式记账账本,其核心是系统中每个节点都有一份一模一样的账本,这些账本记录了系统所有发生的交易,并且能自动将新的交易数据添加到每个节点的账本中。和复式记账方式相比,区块链账本是多点同时记账,依靠共识机制确认,单个节点难以篡改账本记录。分布式记账优势:(1)通过多方记账的方式,增强数据安全性,防止单点故障(2)减少不同数据库之间的对账工作,提高效率和透明度分布式记账技术新一代的记账技术区块链系统可以被视为带密钥新一代信息技术系列教材 区块链导论密码学最初是研究如何在敌方存在的情况下进行安全通信的一门科学。目的是分析和构建协议,使得通信双方在按照协议进行通信的过程中,能够防止第三方窃取通信内容。现代密码学是数学、计算机科学、电子工程、通信科学、物理学等多学科汇集的交叉科学,密码学技术被广泛应用于电子商务、电子支付卡、数字货币、计算机密码、军事通信等众多领域。密码学最早起源于古希腊时代,经过长达几千年的研究,为如今的区块链密码学技术奠定了基础。1.1.2密码学的发展密码学最初是研究如何在敌方存在的情况新一代信息技术系列教材 区块链导论1.1.2密码学的发展新一代信息技术系列教材 区块链导论l20世纪90年代发展出“密码朋克”(“Cypherpunk”)的概念。l1992年,Intel的资深科学家蒂姆梅(TimMay)成立密码朋克组织。l1993年,蒂姆梅、美国加州大学伯克利分校(UCB)的数学家埃里克休斯(EricHughes)、开源软件的早期核心人物之一约輸吉尔摩尔(JohnGilmore)共同创建“密码朋克邮件列表”。l1993年,埃里克休斯(EricHughes)发表密码朋克宣言密码学研究赛博朋克构想密码朋克(Cypherpunk)(20世纪90年代)个体精神隐私保护1.1.3“密码朋克”的建立20世纪90年代发展出“新一代信息技术系列教材 区块链导论l大卫乔姆(DavidChaum)在20世纪80年代发明了乔姆育签名技术,并在20世纪90年代基于这种盲签名技术首次提出在网络上匿名传递价值的方式,将之命名为Ecash。Ecash通过银行的加密签名,以数字形式存储货币,必须依赖中心服务器系统。Ecash的诞生在某种程度上可以说是加密货币的始祖。大卫乔姆1.1.3“密码朋克”的建立大卫乔姆(DavidCha新一代信息技术系列教材 区块链导论l尼尔科布利茨(NealKoblitz)和维克多米勒(VictorMiller)在1985年提出基于椭圆曲线的算法 ECC。这是一种新型的密钥算法,能够提供比RSA更高级别的安全。这个算法成为后来比特币的核心算法。尼尔科布利茨1.1.3“密码朋克”的建立尼尔科布利茨(NealKo新一代信息技术系列教材 区块链导论l斯图尔特哈勃(StuartHaber)和斯科特斯托内塔(ScottStornetta)在1991年发表论文如何为电子文件添加时间戳。在这篇论文中,他们提出用时间戳确保电子文档的安全这种技术保证了信息的可追溯和不可篡改,成为后来“区块链”数据结构的雏形。斯图尔特哈勃1.1.3“密码朋克”的建立斯图尔特哈勃(Stuart新一代信息技术系列教材 区块链导论l菲利普齐默尔曼(PhilipZimmerman)在1991年发布邮件加密软件“优良保密协议”(PrettyGoodPrivacy,PGP),并成立相关公司。PGP是一个基于RSA公钥加密体系的邮件加密系统,能够保证邮件内容不被篡改,同时让邮件接受者信任邮件来自发送者。PGP的使用范围很广,例如比特币白皮书的作者中本聪也是PGP的使用者,他的邮件都是通过PGP发出的。菲利普齐默尔曼1.1.3“密码朋克”的建立菲利普齐默尔曼(Philip新一代信息技术系列教材 区块链导论l亚当巴克(AdamBack)在1997年发明了哈希现金(Hashcash)算法。这个算法用于电子邮件系统,要求在发送电子邮件之前,解一个数学题,以此来适度增加发送电子邮件的成本屏蔽大量的垃圾邮件。这个思想后来被PGP的成员哈尔芬尼(HalFinney)借鉴发明了可重用的工作量证明机制。亚当巴克1.1.3“密码朋克”的建立亚当巴克(AdamBack新一代信息技术系列教材 区块链导论l美国华裔工程师戴伟(WeiDai)在198年提出了匿名的、分布式的加密货币系统B-money,B-money在很多关的技术上与后来的比特币非常相似,然而由于其某些技术细节(例如抵抗“双花”)难以实现,导致B-money最终没有成为现实。尽管如此,中本聪与戴伟(WeiDai)之间的交流却相当多,并大量借鉴了B-money的很多思想。在比特币白皮书的参考文献中,B-money的论文也赫然在列。戴伟1.1.3“密码朋克”的建立美国华裔工程师戴伟(WeiD新一代信息技术系列教材 区块链导论l1998年,密码学家、智能合约概念的创造者尼克萨博(NickSzabo),提出了比特金(BitGold)的设想。这种设想已经非常接近于比特币的体系构造,但由于BitGold的设想缺乏具体的代码实现,因此只停留在概念阶段,而没能成为“创世货币。尼克萨博1.1.3“密码朋克”的建立1998年,密码学家、智能合新一代信息技术系列教材 区块链导论l哈尔芬尼是比特币的早期核心贡献者,也是PGP公司的成员,并为PGP做出了重要的贡献。哈尔芬尼在2004年借鉴亚当巴克的哈希现金算法提出了可重用的工作量证明机制(ReusableProofsofWork,RPOW),它直接影响了后来比特币的共识机制。l除了这些先驱以外,约佩里巴洛(JohnPerryBarlow,赛博自由主义政治活动家)菜斯利兰伯特(LeslieLamport,拜占庭将军问题的提出者)、肖恩范宁(ShawnFanning)和肖恩、派克(ShaunParker,点对点网络工具Napster的发明者)、布拉姆科亨(BramCohen,BitTorrent的发明者)等都为比特币各项关键技术的发展做出了巨大贡献。在这些先驱以及更多科学家和工程师们的共同努力下,这些基于加密技术的创新和应用逐渐发展和成熟起来,为日后比特币和区块链的诞生奠定了坚实的基础。哈尔芬尼是比特币的早期核心贡献者,也是PGP公司的成员新一代信息技术系列教材 区块链导论1.1.3“密码朋克”的建立新一代信息技术系列教材 区块链导论互联网发展史:苏联发射“伴侣号”美国组建ARPA开始研究“包交换”技术ARPANET启动第一次使用“internet”一词TCP/IP协议NSF扩展MCIMailCompuserve1957年20世纪60年代1969年1974年20世纪80年代1989年超文本传输协议(HTP)超文本标记语言(HTML)网络浏览器商用互联网exchange斯坦福联邦信用社互联网大面积普及1990年1991年1994年2000年以后1.1.4互联网技术的蓬勃进步互联网发展史:苏联发射“伴侣新一代信息技术系列教材 区块链导论1.1.4互联网技术的蓬勃进步新一代信息技术系列教材 区块链导论根本原因:现有的转账系统必须依赖中介机构进行处理和协调2008年11月1日,一位网名为中本聪(SatoshiNakamoto)的用户在密码朋克社区上发表了比特币白皮书比特币:一种点对点的电子现金系统(Bitcoin:Peer-to-PeerElectronicCashSysten),闻述了一个以点对点网络、分布式记账、工作量证明(PoW)共识机制、加密技术等为基础构建的电子现金支付系统。2009年1月3日,中本聪通过运行这个版本产生了比特币的第一个区块,也就是创世区块创世区块的诞生标志着比特币主网正式上线,比特币从理论变为现实。比特币系统的发明是为了解决传统的银行转账过程中碰到的一些问题:账户和账户之间的转账交易成本高昂;存在利用信用卡撤销交易进行欺诈的行为;银行系统为了处理可能发生的纠纷会过度索取交易双方的个人隐私信息等。根本原因:现有的转账系统必须依赖中介机构进行处理和协调1.1新一代信息技术系列教材 区块链导论l现有的金融系统中转账交易转账请求AB银行后台服务系统e.g.A与B都在某银行有账户,A向B转账100元检查A的账户余额是否大于100元是A账户+100元B账户-100元拒绝A的转账请求否账本记录交易检查交易执行收取手续费1.1.5首个区块链应用的诞生现有的金融系统中转账交易转账新一代信息技术系列教材 区块链导论l比特币系统中转账交易AB账本记录了A、B的账户信息和余额信息账本记录了A、B的账户信息和余额信息双方验证交易有效完成转账e.g.若系统用户只有A、B两人,A向B转账100元1.1.5首个区块链应用的诞生比特币系统中转账交易AB账本新一代信息技术系列教材 区块链导论e.g.当系统用户规模扩大,A向B转账AB账本记账节点完成记账,并将交易广播到整个网络其他节点接受信息并验证,如果没问题则加入自己账本该笔交易生效执行e.g.当系统用户规模扩大,A向B转账1.1.5首个区新一代信息技术系列教材 区块链导论比特币的诞生中本聪在邮件中提出“一种不需要第三方支持的新的点对点电子现金系统”,并贴出该电子现金系统的研究论文的地址。2009年1月,中本聪在一个小型服务器上挖出了比特币的第一个区块-创世区块,并获取了50个比特币的奖励,宣告了比特币的正式诞生。有趣的是,在创世区块中被写入了一串数字信息,还原为文本为:“TheTimes 03/Jan/2009 Chancellor on Brink of secondbaioutforbanks”。当时正值英国的财政大臣被迫考虑第二次出手解救陷入危机的银行,这句话是泰晤士报当天的头版标题。中本聪将这一事件在第一个区块链中永久的保留了下来。这既是对区块链产生时间的证明,也是对金融危机下银行系统脆弱的嘲讽。1.1.5首个区块链应用的诞生比特币的诞生区块链的技术特点2区块链的技术特点2新一代信息技术系列教材 区块链导论在以比特币为首的公有区块链系统中,它们自创世区块开始,所有区块包含的交易信息都是公开、透明的。在系统中每一笔交易从何地址转出、何时转出、转出金额、转人何地址等信息都被一一记录下来并且公开可査。依据这些信息,一个地址的总交易笔数、与何地址有过交易、转出总金额、余额等信息也可以被推断出来。区块链浏览器:区块链浏览器是一种区块链搜索工具。区块链浏览器的运营方本身已经下载好了完整的账本数据。用户在区块链浏览器中输入相关字段,可以查到区块或交易的详细信息。典型的区块链公链系统,比如比特币和以太坊等都有许多区块链浏览器,这些浏览器通常是由开源软件团队自发开发的。1.2.1公开透明在以比特币为首的公有区块链系统中,它们自新一代信息技术系列教材 区块链导论1.2.1公开透明新一代信息技术系列教材 区块链导论父区块哈希值hash()数据父区块哈希值hash()数据创世区块父区块哈希值hash()数据区块链系统中的链式数据结构,是由包含交易信息的区块按照时间顺序从先到后链接起来的,这个数据结构被称为“区块链”。在区块链中,每个区块的区块头都包含一个名为“父区块哈希值”的字段,这个区块通过存储在这个字段中的值“链接”到前一个区块(父区块),并一直延续到创世区块。如果黑客想篡改区块链中的数据,那么前一区块的哈希值将不会与该区块的哈希指针匹配;当然,黑客也可以通过篡改前一个区块的哈希指针来进行掩盖,但他会发现修改到区块链的头部-创世块时会遇到麻烦,因为创世块一般存储在黑客无法改动的地方。1.2.2难以篡改父区块数据父区块数据创世区块父区块数据区新一代信息技术系列教材 区块链导论区块链信息的可追溯性来源于区块链数据结构的特殊性。在区块链系统中,它的链式结构是从创世区块开始的,其后系统产生的所有区块都通过父区块的哈希值前后相连,并最终都能追溯到创世区块。由于每个区块都包含一段时间内系统进行的所有交易数据,因此系统完整的区块链数据就包含了自创世区块以来,系统所有进行的交易及交易前后的关联信息。当追溯一笔交易时,能够顺着该交易所在的区块向前追溯所有这些历史区块信息。父区块哈希值hash()数据父区块哈希值hash()数据创世区块父区块哈希值hash()数据1.2.3可以追溯区块链信息的可追溯性来源于区块链数据结构新一代信息技术系列教材 区块链导论区块链的集体维护主要指区块链系统在共识机制的作用下,激励新节点不断加入系统,并集体参与系统的维护和运作的特点。每一个区块链都会有一套“共识机制”,用来使众多互不相识的节点达成一致。具体来说,共识机制激励系统中的节点在参与系统运作时,令遵循这套机制的节点获得利益最大化,不遵循甚至作恶的节点则会付出较大代价而得不偿失。因此,区块链系统在没有单一机构的运作和管理下,依靠共识机制就能让系统自我运作起来,具备集体维护的特征。比特币就是第一个这样的集体维护性组织。1.2.3集体维护区块链的集体维护主要指区块链系统在共识机新一代信息技术系列教材 区块链导论n“中介化”:在一个组织或系统中,有一个中介机构负责整个系统的调配和服务。系统中所有的个体无论做什么、进行什么活动都要通过这个中介机构的调度。现有的互联网技术就是采用的这种方式工作,也就是俗称的“客户端/服务器”(ClientServer)模式,简称为C/S模式。在这种用模式中,能为客户端应用提供服务(如文件服务、打印服务、通信管理服务等)的计算机或处理器被称为服务器。与服务器相对应,提出服务请求的计算机或处理器就是客户端。这种系统中,服务器就是“中介”,客户端就是系统的“个体”。n“去中介化”:区块链系统中没有个拥有特殊权限的中介服务器或单一机构。系统中每个全节点既是服务器也是客户端,在系统中的权利和义务都是对等的。它们既能作为服务器为需要服务的客户端服务,也可以作为客户端向其他节点提出请求。任意一个节点宕机或者失效都不会影响整个系统的运作。因此,区块链系统在架构上是去中介化/弱中介化的。1.2.4去中心化/弱中心化“中介化”:第 二 章区块链的基础概念第二章目录分布式系统区块链的分类区块链的应用分布式系统区块链的分类区块链的应用分布式系统1分布式系统1新一代信息技术系列教材 区块链导论集中式系统由一台或者多台计算机组成中心节点,负责管理应用访问的数据存储、计算等资源;集中式系统一般采用中心化的数据库和服务器,优点是部署简单、开发运维容易,缺点是可扩展性不足;集中式系统还存在单点故障问题,如果中心节点出现故障就意味着所有应用都将出现问题。2.1.1分布式系统的概念集中式系统由一台或者多台计算机组新一代信息技术系列教材 区块链导论分布式系统是由若干独立的计算机节点组成的系统,这些计算机节点可以看成独立的系统组件,通过网络进行连接并在一定范围内有效共享资源,节点之间通过传递消息进行协调工作,共同完成系统内的工作任务。2.1.1分布式系统的概念分布式系统是由若干独立的计算机节新一代信息技术系列教材 区块链导论定义包含两方面:系统内的计算机节点都是独立的,通过网络通信进行协调用户对于分布式系统的访问从功能逻辑上就像访问单个计算机系统一样(1)分布性:分布式系统内计算机节点可以分布在不同的位置。(2)可扩展性:分布式系统内节点数量可以根据应用需求进行动态増减,服务器也可以动态部署。(3)对等性:分布式系统没有中心化的控制主机,组成分布式系统的所有计算机节点都是对等的;当某一个节点上存储的数据丢失时,可以从副本上读取该数据。(4)并发性:分布式系统中的多个计算机节点通过网络进行连接并在一定范围内有效共享资源,某一时刻这些计算机节点可能会并发地操作一些共享的资源。分布式系统特征:2.1.1分布式系统的概念定义包含两方面:系统内的计算机新一代信息技术系列教材 区块链导论FLP原理是一个关于分布式系统达成共识的重要理论,由费舍尔(Fischer)、林奇(Lynch)、帕特森(Patterson)三位学者在1985年提出,并以三人姓氏的首字母作为缩写命名。FLP原理告诉人们,不要浪费时间去为异步通信的分布式系统设计在任意场景下都能实现共识的算法,这样的算法不存在,理由是:在实际异步通信的分布式系统环境下,可能存在通信故障、延迟或者节点本身出现失效的情况,异步系统无法确保在有限时间内完成一致性。FLP原理为分布式系统领域帯来一个较为悲观的结论,既然不存在这样的算法可以实现分布式系统的一致性,那么一致性问题就无法解决了么?后来埃里克布鲁尔(EricBrewer)在2000年美国计算机学会(AssociationforComputingMachinery,ACM)组织的一个研讨会上提出了CAP原理猜想,之后林奇等人对CAP原理进行了证明。FLP 原理2.1.2FLP和CAP定理FLP原理是一个关于分新一代信息技术系列教材 区块链导论CAP 原理CAP原理定义了分布式计算系统的三大特性:(1)一致性(Consistency):共享数据副本之间呈现出统一且实时的数据内容;(2)可用性(Availability):所有的数据操作总会在一定时间内得到响应;(3)分区容错性(Partition):通常由于网络间连接中断而导致网络中的节点相互隔离无法访问时,被隔离的节点仍可正常运行。这三大特性无法同时实现,设计中需要弱化其中某个特性,而保证另外两个特性。对于结果一致性要求不是特别高的应用,可弱化一致性要求,比如延长达成一致性的时间。对于一致性要求高的应用可弱化可用性要求,比如系统发生故障时拒绝服务。大部分时候网络都是可靠的,网络分区出现概率小但很难完全避免,所以实际情况一般弱化分区容错性2.1.2FLP和CAP定理CAP原理CAP原理新一代信息技术系列教材 区块链导论n分布式系统的一致性:对系统内的所有计算机节点给定一组操作,按照约定的规则协议,节点之间对于操作后的最终处理结果达成某种共同认可的状态。分布式系统的一致性是设计分布式系统时应考虑的最核心问题。n影响分布式系统最终全局状态结果一致性的因素:不同计算机节点处于不同的地理位置计算性能也存在差异对于相同数据任务完成计算耗费的时间无法保证一致:比如有可能出现少数节点处理较慢,而其他节点必须等待它们处理结;或者发生节点临时中断处理等异常情况,如出现节点宕机的情况。节点之间进行网络通信也有可能因为通信链路故障而导致消息接收延迟n分布式系统一致性的目标:系统在出现上面描述各种故障发生的情况下,依然能正常满足工作的要求,最终系统通过检测和处理,节点依然能达成全局一致性状态。2.1.3分布式系统的一致性分布式系统的一致性:新一代信息技术系列教材 区块链导论n分布式系统的容错率:分布式系统的一致性表明,系统本身具有容忍一定数量节点发生错误行为的能力。这些发生错误行为的节点称为故障节点,占整个分布式系统全部节点数量的比例称为分布式系统的容错率。n分布式系统达成一致性状态的基本要求:(1)收敛性:一致的结果在有限时间内能完成;(2)一致性:不同节点最终完成决策的结果是相同的;(3)有效性:决策的结果必须是某个节点提出的提案;分布式系统计算机服务可以正常使用的前提主要指分布式系统最终一致性是由分布式系统内的节点执行的结果2.1.3分布式系统的一致性分布式系统的容错率:分布式系统新一代信息技术系列教材 区块链导论在实际工程实践中,一般会放宽对一致性的要求,采用弱一致性替代强一致性。强一致性要求节点无论何时进行数据的读取操作,均会返回最新一次写操作后的结果数据,即系统对节点达成一致性结果的同步性要求很高。弱一致性一般指在满足一定约条件下达到最终一致性,即系统可以在未来某个时刻而不是马上达成一致性状态。弱一致性要求中比较典型的是最终一致性(EventualConsistency),不保证任意时间点上节点的数据均相同,但需要在经过有限的时间后达到数据上的一致。这实际上可以通过放宽系统的目标要求,从而降低系统实现的难度。2.1.3分布式系统的一致性新一代信息技术系列教材 区块链导论分布式系统内部存在地理位置分布不同的计算机节点,内部节点之间还存在复杂的通信行为,分布式系统节点或者节点通信出现故障都有可能影响到系统的安全性和系统最终完成计算任务的结果可信度。n分布式系统的安全性主要体现在攻击者无法通过影响系统内的部分节点或者其他手段,造成分布式系统整体功能故障而无法继续正常工作。n分布式系统的可信性系统最终完成计算任务得出的全局一致性状态结果对于所有节点及系统用户均是可信的。分布式系统一般通过系统内数据和服务副本的冗余性,即所有节点都存储一份状态数据的副本以及保证这个唯一的系统全局状态数据的不可篡改性来实现可信。2.1.4分布式系统的安全可信分布式系统内部存在地理位置分区块链的分类2区块链的分类2新一代信息技术系列教材 区块链导论公有链通常不设置准入门槛,对所有人开放,任何人都可以自由访问公有链的数据,参与公有链的共识,并在公有链上创建应用,这也是“公有”的由来。目前公有链可以运用在数字资产等场景,如比特币、以太坊等。同时,公有链也可以应用在一些直接点对点交互需求的场景,如资产注册登记、发行、投票、资产管理等。公有链的公开透明使得其不太适合那些对数据隐私、商业机密要求较高的场景,更适合对信任、安全和持久性要求较高的场景,如用户对自主数据的控制、可信的商品溯源记录。公有链的应用也不局限于金融场景,还包括防伪溯源、数字身份、内容版权、物联网等。2.2.1公有链公有链通常不设置准入门槛,对所有人开放,任新一代信息技术系列教材 区块链导论联盟链服务于符合某种条件的成员组成的特定联盟,是由联盟成员进行管理的区块链。其具有半开放的网络,只有经过认证许可的可信节点才能加入、退出网络;具有受控制的读写权限,只有特定权限的链上节点能发布和访问交易,只有一部分拥有权限的可信节点才能参与该联盟链的共识和记账。联盟链没有通过激励机制实现系统自治的强烈需求,各联盟链根据自身需求自主选择増加激励系统。联盟链的分布式程度和信息公开程度不及公有链,但也因此可更好地保护用户、交易隐私。同时由于交易只需要部分被授权的受信高算力节点进行验证共识,因此相较公有链,其性能较更高,成本更低。2.2.2联盟链联盟链服务于符合某种条件的成员组成的特定联新一代信息技术系列教材 区块链导论私有链服务于特定企业、组织或个人,是由该企业、组织或个人进行管理的区块链。其具有相对封闭的网络,只对指定实体或个人开放,只有相关节点在许可认证后才能加入、退出网络。私有链同时具有受控制的读写权限,只有特定权限的链上节点才能在链上发布和访问交易信息,只有一部分拥有权限的可信节点能参与共识和记账。与联盟链不同的是,私有链节点均属于同一企业或组织,节点之间信任程度更高,并且私有链共识范围更加狭窄,甚至可以仅由单高性能节点进行记账。私有链在三类区块链中分布式程度和信息公开程度最低,因此其性能最高,隐私性最强且交易成本最低。由于私有链较为集中的权限控制与管理并非真正的分布式系统,其一般只应用于企业内部,主要应用于数据管理、审计等金融场景。2.2.3私有链私有链服务于特定企业、组织或个人,是由该企区块链的应用3区块链的应用3新一代信息技术系列教材 区块链导论公有链对所有人开放,任何人都可以参与访问公有链,并在公有链上创建应用。目前公有链主要应用在数字货币等场景,如比特币、以太坊等。同时,公有链也可以应用在一些具有点对点直接交互需求的场景,如资产注册、发行、投票、资产管理等。n关于数字货币、加密货币和虚拟货币概念界定:数字货币(DigitalCurrency)指向的范围较广,它泛指数字化的货币。电子货币ElectronicMoney)与数字货币的概念相类似,它同样指以电子化途径实现的货币,例如央行数字货币(CentralBankDigitalCurrencies,CBDC)。加密货币(CryptoCurrency)其实是加密数字货币的简称,是数字货币发展的一种分支它更强调货币使用了密码学技术。例如,基于公用链技术发行的比特币就是一种很经典的加密货币。虚拟货币(VirtualCurrency)和数字货币范畴有一定的重合,但它强调这类货币不是真实的货币,通常不具有法偿性和强制性等货币属性。游戏中的点券、互联网公司发行供生态内使用的货币,都可以认为是虚拟货币,而比特币等有时也被认为是虚拟货币。2.3.1公有链的应用公有链对所有人开放,任何人都可以参与新一代信息技术系列教材 区块链导论n关于 Token:它原指令牌、通行证。在区块链中,它是指基于区块链创建的一种数字对象代表区块链的某种价值或某种权利,中文也被译作“通证”。一般Token是以加密货币形式存在的,但也有一些是传统的电子化凭证。Token指代的某种价值或某种权利的范围很广泛,例如货币、积分、票据、投票权、分红权、地产、证券、债券、某种资格、某类证明等各种权益证明。大部分加密货币和Token为了能够进一步提升其可信程度,会选择公有链作为载体去发行。但是也有一些Token,会因为场景需要发行在联盟链或私有链上。此外,出于便于监管和可控的考虑,一些央行层面的数字货币会选择在联盟链或私有链架构上进行发行。关于Token:2.3.1公有链的应用新一代信息技术系列教材 区块链导论联盟链只对特定的参与组织开放权限,可以保护参与者的交易数据隐私,适合机构之间的交易、清结算和B2B场景。联盟链的应用场景非常丰富,主要包括金融和非金融领域:1)金融领域:支付、保险、清结算、股权登记、征信、供应链金融等金融场景对于信任要求较高,同时也需要保护数据隐私,适合作为联盟链场景。2)非金融领域:非金融领域主要通过区块链不可篡改的特性来追踪、记录和共享数据,如区块链应用在商品溯源、电子政务、智慧城市、公益慈善、医疗健康等场景。2.3.2联盟链的应用联盟链只对特定的参与组织开放权限,可新一代信息技术系列教材 区块链导论区块链的应用方式从其延生开始已经经过了三个发展阶段:第一个阶段是比特币为代表的点对点支付时代,主要实现高效率、点对点的支付过程,其主要应用场景包括支付、流通等;第二个阶段是以以太坊为代表的智能合约时代。区块链与智能合约相结合,实现在区块链上部署应用程序,包括可编程金融、分布式应用(DecentralizationApplications,简称DAPPS”)等落地;第三个阶段是“区块链+行业”应用的时代,即把区块链应用拓展到各个行业场景,以实现具体行业应用落地为目标,解决行业痛点,服务经济发展和社会进步。2.3.3区块链应用的发展趋势区块链的应用方式从其延生开始已新一代信息技术系列教材 区块链导论目前区块链正在加速向第三阶段的行业应用推进,成为一种通用基础设施,加速与行业融合创新。区块链技术的优势:多方协作场景中以低成本建立信任区块链技术发展瓶颈:存储、计算等方面存在一定的资源和性能瓶颈区块链不只是单一技术,而是多种技术的综合集成,包括P2P网络通信、非对称加密技术以及分布式数据库技术等。同时,区块链应用还涉及多节点参与的协调问题,实施区块链解决方案可能面临计算复杂度和存储冗余度都比较高的情况,区块链和其他技术结合可以有效降低复杂度,加速区块链应用落地进程。2.3.3区块链应用的发展趋势目前区块链正在加速向第三阶段的第 三 章区块链的分层模型第三章目录3.2 数据层3.1 区块链的系统分层3.3 网络层3.4 共识层3.5 合约层3.6 应用层3.2数据层3.1区块链的系统分层3.3网络层3.4区块链的系统分层1区块链的系统分层1新一代信息技术系列教材 区块链导论发送者A接收者B?1.借助何种应用完成转账2.检查发送者余额与真实性3.节点确认4.通知接收者5.“收款凭证”的存储分层:拆分复杂问题,通过层级递进关系串联3.1.1互联网分层模型发送者A接收者B?借助何种应用完成通用网络标准和方法:开放系统互联模型应用层表示层会话层传输层网络层数据链路层物理层图3-1 OSI七层网络模型网络通信模型:TCP/IP协议应用层传输层网络层链路层图3-2 TCP/IP 四层网络模型层级之间存在传递关系新一代信息技术系列教材 区块链导论3.1.1互联网分层模型通用网络标准和方法:开放系统互联模1.独立性每层具有独立的逻辑和功能2.通用性各层规范和架构确定,有利于国际标准化工作展开,促进系统各部分的通用性和兼容性。3.层级间具有递进关系需要满足分层的以下特点:应用层分布式的链上应用面向最终用户合约层实现智能合约、脚本功能共识层负责实现各账本的数据一致性分布式系统特有层级各节点达成一致,共识机制:PoW,PoS,BFT网络层节点之间的网络连接和传输点对点网络数据层区块链模型基础负责区块链数据存储“账本”数据形成区块,以时间戳顺序存储在物理介质中新区块验证并上链图3-3 区块链五层分层模型新一代信息技术系列教材 区块链导论3.1.2区块链的五层模型独立性需要满足分层的以下特点:应发送者A接收者B应用层例子:发送Token交易信息+签名信息选择APP,输入交易信息合约层交易信息+签名信息+合约内容调用Token合约共识层选出节点并进行信息验证,打包成区块节点信息+交易信息+签名信息+合约内容网络层节点广播区块给其他节点,并进行验证区块数据层区块上链新一代信息技术系列教材 区块链导论发送者A接收者B应用层例子:发送Token交易信息+签名信息数据层2数据层2新一代信息技术系列教材 区块链导论区块链的本质:分布式账本数据结构数据模型数据存储合约层共识层网络层数据数据层层应用层3.2.1数据结构区块链的本质:分布式账本数据结构数据模型新一代信息技术系列教材 区块链导论区块链:区块按照时间戳,由远及近地链接,形成一条链式结构的数据存储。1.区块结构区块链的数据组织单元是区块,不同的区块链的区块数据都会包含“区块头”和“交易”两个部分。区块头交易存放区块自身的元数据存放加密后的交易信息比特币幻数、区块大小、区块头、交易计数和交易以太坊区块头、交易、区块头哈希3.2.1数据结构区块链:区块按照时间戳,由远及近地链接,新一代信息技术系列教材 区块链导论区块链:区块按照时间戳,由远及近地链接,形成一条链式结构的数据存储。1.区块结构区块链的数据组织单元是区块,不同的区块链的区块数据都会包含“区块头”和“交易”两个部分。区块头交易存放区块自身的元数据存放加密后的交易信息比特币幻数、区块大小、区块头、交易计数和交易以太坊区块头、交易、区块头哈希3.2.1数据结构区块链:区块按照时间戳,由远及近地链接,新一代信息技术系列教材 区块链导论区块头前块哈希默克尔(Merkle)根时间戳向前一个区块的指针,将孤立的区块串联在一起,形成区块链存放着基于交易信息形成的哈希值记录当前区块产生的近似时间区块头区块头前块哈希默克尔(Merkle)根时间戳向前一个区块的指新一代信息技术系列教材 区块链导论交易信息对交易信息的哈希对下层节点的进一步哈希交易与Merkle树Merkle树又称为哈希树,树中的每个节点存储的均为哈希值。Merkle树的结构特点:(1)易校验(2)扩展性强(3)证明成本低交易信息对交易信息的哈希对下层节点的进一步哈希交易与Merk新一代信息技术系列教材 区块链导论区块链的形成:“前块哈希”的数据域,将父区块的区块头做哈希运算得到,将区块有序连接成区块链。特点:1.增加了篡改难度2.无法避免产生分叉!3.2.4区块链区块链的形成:“前块哈希”的数据域,将父区1.交易输出(Unspent Transaction Output,UTXO)模型UTXO以“交易”为单位进行追踪和记录。比特币为代表,每笔交易有一个或者多个交易输出或输入。输出:交易的每一个输出即为一个新的UTXO,一个用户所拥有的比特余额为该用户的所有UTXO之和,这些UTXO零散地记录在不同的交易区块中。输入:交易的每一个输入即为前序交易的某个UTXO,所有交易的最初输入可以追溯了铸币奖励。每笔交易的输入与输出可以并行处理,并且一一对应。1.交易输出(UnspentTransactionOu2.账户模型账户不记录交易过程,只记录余额状态。特点:1.区块体积小,网络传输量小,空间利用率高;2.相比与UTXO模型,账户模型让网络中的轻节点更容易验证;3.并发处理能力比UTXO差。以太坊为代表,账户模型中包含了:(1)外部账户给用户操作,通过私钥信息操作账户实现转账、智能合约的创建,调用等功能(2)合约账户 不能自主发起交易,只能被外部账户调用2.账户模型账户不记录交易过程,只记录余额状态。3.2.2新一代信息技术系列教材 区块链导论存储构架的演变:中心化服务器分布式数据中心或者云平台(多中心化)区块链:分布式存储,每个节点都能够存储全量账本。不同区块链,节点上的物理存储方式不同比特币:区块数据以文本形式存储;其他信息存储在键值(Key-Value,KV)数据库LevelDB中。以太坊:状态和索引数据都被存储在LevelDB中。联盟链Corda项目的数据存储在传统关系型数据库,TrustSQL项目数据采用MySQL及MariaDB作为存储数据库。区块链项目面临着严峻的存储问题,需要新的技术手段,例如云平台、侧链、闪电网络等。3.2.3数据存储存储构架的演变:中心化服务器分布式数据中网络层3网络层3合约层共识层网络网络层层数据层应用层网络层:泛指区块链系统的整个网络通信层,区块链数据通过网络层传播进行校验、存储等。主要实现组网、传播与校验功能。中心化模式:架构:客户端/服务端(Client/Server,C/S)或浏览器/服务端(Browser/Server,B/S)特点:1.系统需要一个或多个中心化的服务器承担统一接收和处理请求的职能2.优点:利于服务的统一管理与升级;保持服务一致性;3.缺点:中心化的设备故障会导致服务瘫痪;节点多导致负载压力大。3.3网络层合约层共识层网络层数据层应用层网络层:泛指区块新一代信息技术系列教材 区块链导论点对点网络(Peer-to-Peer,P2P)分布式网络架构,网络中的每一个节点都是对等的,可以充当服务提供方及服务获取方。单一或少量节点机器配套通信设备的故障不会影响整个网络的服务提供。优点:节点越多,服务质量越高,扩展性越强。缺点:数据一致性难以保障、资源无法统一管理、垃圾信息多等。3.3.1点对点网络点对点网络(Peer-to-Peer,新一代信息技术系列教材 区块链导论nP2P网络的核心技术:分布式哈希表用途:维护网络中节点清单和和节点能提供的服务清单分布式哈希表(DistributedHashTable,DHT)诞生于2001年,核心思想是网络中的每个节点都维护一部分索引信息,然后通过特定的规则将这些节点信息连接起来,使得在查询或注册时,按规则触达相关节点或资源,不同的规则对应着分布式哈希表不同的协议。优势:避免中心化索引和网络风暴n分布式哈希表基础结构:哈希表,是一种以“键-值”形式进行存储和查询的数据结构。在存储时,存储信息经过哈希函数的处理生成一个映射地址,并将信息存储到这个地址中,读取时直接定位到该映射地址提取数据。3.3.1点对点网络P2P网络的核心技术:分布式哈希表新一代信息技术系列教材 区块链导论图3-12为哈希表存储结构,是一组数据1、3、4、7、8、20、55经过哈希函数H(k)=k%7进行散列得到。对于数值20,20%7=6,因此数值20存储在地址为6的地方。也有可能存在地址冲突的情况,例如1和8散列后地址相同,这种情况可以通过开放定址、单独链表、再散列等方法解决。图中的采用的是单独链表法。通过哈希表存储的数据,可以实现在常数时间复杂度内完成数据读取,十分高效。在分布式网络中,每个节点都存储了一张哈希表,通过一定的规则关联形成了分布式哈希表。地址存储数据3.3.1点对点网络图3-12为哈希表存储结构,是一组数据新一代信息技术系列教材 区块链导论n分布式哈希表实现:Kademlia协议Kademlia协议在2002年设计,具有结构简单、性能好、安全性强的优点由于在分布式哈希表的网络中,每个节点只保存一部分资源的索引信息,当网络中有资源变更时不需要全网广播,只需要更新相关节点。问题1:如何在每个节点都知道部分信息的情况下实现对全网资源的触达与维护?Kademlia协议提出基于距离的解决方案:每一个节点都维护一张哈希表,表中将网络的节点基于距离进行分组,每个分组下存放若干个节点代表。问题2:网络中的节点和资源如何建立关系?Kademlia协议将网络中的节点和资源均映射成160位的二进制码,编码等于或接近某个资源的节点,需要知道该资源的下载地址。Kademlia协议解决了点对点网络中的组网问题,将找资源变成找节点,将找具体节点变成找大类的代表。3.3.1点对点网络分布式哈希表实现:Kademlia协议新一代信息技术系列教材 区块链导论l数据传播区块数据打包后需要广播给其他节点进行校验和记账。根据点对点分布式网络的特点,每个节点只会向其直接连接的节点发送区块信息。收到消息的节点会对区块进行校验,通过后加入该节点本地的区块链,并广播给其他节点,如此循环,知道触达全网的节点。以太坊中的数据传播方式:1.向相邻节点直接发送包含完整的区块内容的消息;2.向相邻节点发送只包含区块哈希的消息,收到区块哈希的节点再从发送节点请求对应的完整区块信息。3.3.2数据传播和校验数据传播新一代信息技术系列教材 区块链导论l数据校验点对点网络中,全节点会占用较大的存储量,轻量级节点会存储部分数据,所以轻量级节点需要向相邻节点请求数据来完成数据校验。数据校验的内容:依据该区块链项目预定义的清单。比特币的数据校验内容:(1)工作量证明检查(2)区块头中Merkle根的值是否与依据区块体中交易信息计算得到一致(3)区块大小再限制范围内(4)第一笔交易以外的其他交易不能是铸币交易(5)交易的合法性3.3.2数据传播和校验数据校验共识层4共识层4新一代信息技术系列教材 区块链导论区块链系统作为一个分布式系统,其正常工作的核心问题是如何保证所有节点中的数据完全相同,并且能够对某个提案达成一致。解决方法:共识层包含了各种共识算法,负责实现区块链各个账本的一致性,即不同节点数据的一致性。一致性指不同节点中的数据内容是否完整并且相同,是系统对外呈现的状态是否一致。共识是一种实现一致性的方法、途径或手段;共识机制(共识算法)是为了达成共识需要使用的某种机制,快速准确地在各个节点实现区块数据一致性的机制和算法,通常是利用奖惩机制。主流的共识机制:1.确定性算法:如拜占庭容错(BFT)2.概率性算法:如工作量证明(PoW)、权益证明(PoS)、委托权益证明(DPoS)区别:确定性算法下的新区块无法被滚回,而概率性算法的新区块,只有当被回滚的概率接近0时,才被视为确定性的。3.4.1共识和一致性区块链系统作为一个分布式系统,其正常新一代信息技术系列教材 区块链导论拜占庭容错(ByzantineFaultTolerance,BFT)算法可以解决分布式系统里拜占庭将军问题的容错算法。拜占庭将军问题:将军选择进攻还是不进攻?决策是否能达成一致,是决定胜负的关键。诚实将军们决策的结果会被叛徒将军干扰:1.不进行表态;2.发表错误观点;3.主动干扰其他将军对局势进行误判。例如:有11位将军A1,A2,A3,A4,B1,B2,B3,Z1,Z2,Z3,Z4叛徒:Z1Z4;想进攻:A1A4;不想进攻:B1B34位叛徒成功瓦解了7位诚实将军3.4.2拜占庭容错BFT拜占庭容错(Byzantine新一代信息技术系列教材 区块链导论区块链中:每个节点拜占庭军队中的将军各个节点的信息传输过程信使传信部分节点被干扰信使被杀恶意节点叛徒将军出现故障或错误的节点被称为拜占庭节点;接收正确信息同时传送正确信息的节点称为非拜占庭节点。BFT共识机制中应用最广的位实用拜占庭容错机制(PracticalByzantineFaultTolerance,PBFT),1999年由MiguelCastro和BarbaraLiskov提出。适用场景:极少有恶意节点或者故障节点核心思路:性能优先3.4.2拜占庭容错BFT区块链中:BFT共识机制中应用最新一代信息技术系列教材 区块链导论PBFT算法:由执行交易命令的主节点使用,在三个阶段中达成共识。主节点广播请求每个验证者签名并准备针对该请求的准备消息,验证器广播提交消息当接收到足够的提交消息后,请求被接受3.4.2拜占庭容错BFTPBFT算法:由执行交易命令的主新一代信息技术系列教材 区块链导论证明类共识(Proof of X):节点以某种代价或消耗资源的证明,基于这个证明,节点可以获得一定概率或一定比例的记账权。工作量证明(Proof of Work,PoW):指节点通过消耗计算资源,计算一项较难完成但很容易验证的工作,并以此证明获取区块链记账权的共识机制。最常用的工作为计算哈希函数(计算过程简单,破解很难);要求节点利用计算能力去寻找一个随机数,使得该随机数和特定数字的哈希计算满足一定的条件。优点:安全性和不可篡改性。缺点:交易确认时间过长,不适用高频的商业应用;消耗了大量的电力资源;挖矿系统越来越中心化。3.4.3PoW证明类共识(ProofofX):节点以新一代信息技术系列教材 区块链导论比特币使用随机数搜索目标哈希的PoW过程:(1)将一个新的铸币交易添加进系统中,计算出Merkle根哈希;(2)利用随机数Nonce、上一个区块哈希值、当前Merkle根哈希及其他的字段组成区块头;(3)将每一个区块头进行双重SHA-256运算,并且使得随机数Nonce加1,得到一个结果值,把网络目标值和得到的数值进行比较。当得到的值小于等于目标哈希值,则随机数符合条件,第一个算出此随机数的矿工拥有记账权。3.4.3PoW比特币使用随机数搜索目标哈希的PoW过程:新一代信息技术系列教材 区块链导论币龄(Coin Days):个人所拥有货币数量与拥有天数的乘积。权益证明(Proof of Stake,PoS)共识机制:根据用户持有货币的币龄为消耗资源,获得记账权,打包新区块的证明。拥有更高币龄的节点会有更高的概率挖出新区块,大部分PoS共识机制采用单纯以Token数量争夺记账权的方式;挖出新区块后,币龄会被消耗;获得记账权的节点会得到一定的区块奖励;优点:挖矿效率更高效且不存在算力冗余;不需要消耗大量电力;缺点:无法摆脱挖矿的约束;币龄或持币量越大的节点,权益高度集中,产生马太效应。委托权益证明(Delegated Proof of Stake,DPoS):严格限制了参与共识的节点数量,Token持有者可以参与投票,将权益委托给候选节点。能够降低参与共识的节点数量,降低能耗及成本,提高区块链的数据处理能力。3.4.4PoS/DPoS币龄(CoinDays):个人新一代信息技术系列教材 区块链导论PoS:节点都是对等节点,每个节点都能参与共识,概率和持币量或币龄挂钩。DPoS:有代表节点,系统中的Token持有者能够把权益投票给某个候选代表节点,委托其参与共识。票数高的候选节点可以称为代表节点,参与共识过程。3.4.4PoS/DPoSPoS:节点都是对等节点,每个新一代信息技术系列教材 区块链导论区块链系统中,还有其他多个共识机制,采用何种共识算法需要考虑到实际应用场景:(1)权威证明(ProofofAuthority):基于声誉的共识算法,被选为区块验证者需要凭借个人声誉,而不需要抵押Token。适用于私有链场景。(2)身份证明(ProofofIdentity,PoI):是一块表示加密事实的数据,它允许任何持有私钥的用户和一个认证的身份相对应,然后和指定的交易进行连接。(3)权重证明(ProofofWeight,PoWeight):基本理念是在权益证明系统中,用户所拥有的网络中Token的百分比,表示了该用户“发现”下一个区块的概率。3.4.5其他共识机制区块链系统中,还有其他多个共识机制,合约层5合约层5新一代信息技术系列教材 区块链导论打个比方,区块链是一块蛋糕,数据层、网络层和共识层就是蛋糕胚,起到整体支撑作用;而合约层和应用层则是蛋糕上的奶油和樱桃,是整个区块链最亮眼的部分。合约层在整个区块链分层模型中位于第四层,它封装脚本、智能合约,是区块链灵活编程的基础。一般来说,区块链应用的用户不需要直接与智能合约进行交互,而是通过应用向智能合约下达指令,应用再通过接口与合约层进行交互。因此,合约层非常重要,它为顶层应用提供所依赖的智能合约逻辑和算法。3.5.1合约层引入打个比方,区块链是一块蛋糕,数据层、网络新一代信息技术系列教材 区块链导论通常认为,区块链2.0阶段的一个重要标志是智能合约的实现,那么智能合约是什么呢?从定义看,智能合约是一种由机器实现的协议或程序,但是由于它运行在一个需要达成共识的分布式系统环境中,与一般的计算机程序存在很大的区别。A AB BA在互联网出售一个电子产品,而远在千里之外的B希望将这个电子产品收入囊中,他们该如何完成交易呢?最简单的方法莫过于借助一个线上商店,但是这需要重度依赖商店的信誉。换一种思路,如果双方签订一个(基于区块链)的智能合约,并在合约中约定中约定,如果A发送电子商品给合约,B转账给合约,那么合约就将钱转给A,将电子商品发送给B,双方皆大欢喜完成交易。或者如果时间到了,双方有一方未履行约定,就将电子商品和钱原路退回,不给双方带来任何风险和损失。3.5.2智能合约通常认为,区块链2.0阶段的一个重要标志新一代信息技术系列教材 区块链导论智能合约是一种旨在以数字化手段传播、验证或执行合同的计算机协议,它无需第三方即可执行可靠且不可逆的交易。3.5.2智能合约智能合约是一种旨在以数字化手段传播、验证新一代信息技术系列教材 区块链导论(4/6)可以解锁(3/6)无法解锁最常见的脚本语言实现的功能之一就是多重签名,通常来说,每个地址都对应一把独一无二的私钥。但是通过脚本语言,可以实现让多把互不相同的私钥管理同一个地址。每次用户转移地址中的资产时,用户们必须同时使用a+n把私钥中的a把才能完成转账,在上图展示的多重签名示意中,要求同时出示6把私钥中的4把签名才能转账。这样的多人管理的多签手段,方便大型组织、公司使用,既有增加了安全性,又防止单一私钥丢失,而这个功能,正是合约层脚本语言提供的。地址A多签要求:6把私钥中至少有4把地址A多签要求:6把私钥中至少有4把3.5.3多重签名(4/6)可以解锁(3/6)无法解锁最常见新一代信息技术系列教材 区块链导论什么是确定性呢?从定义来看,如果给定一个输入,计算机经过同样的状态变化顺序后总会产生相同的结果,那么这个算法即可被称为是确定性的。区块链是一个分布式系统,分布式系统中的各类节点必须保证结果的确定性,如果每个结点运行相同的智能合约,却产生不同的结果,那么区块链网络就无法达成共识。智能合约确定性算法层面数据层面在合约层,不应当使用会产生不确定结果的算法,如随机数,如比特币,它只提供有限数量的脚本,而这些脚本不会产生不确定的结果。不同的数据输入一般会带来不同的结果输出,如果智能合约采用链上的数据的话,链上数据是确定的、不可篡改的。但很多智能合约的运行逻辑都依赖外部的数据输入,可以利用预言机来处理外部数据,增加外部数据的可信性3.5.4确定性什么是确定性呢?从定义来看,如
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


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

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


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