区块链简介及技术标准

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

主讲:徐伟2020/12/270现代信息技术时代论坛系列讲座No.2020003绍兴职业技术学院拜占庭将军问题•拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都。•由于当时拜占庭罗马帝国国土辽阔,为了达到防御目的,每个军队都分隔很远,将军与将军之间只能靠信差传消息。•拜占庭帝国派10支军队进攻一敌人,这个敌人可抵御5支以上军队同时袭击,因此这10支军队须从10个方向分开同时进攻才能获胜。•为了协调攻击时间,每个将军会向其他九个将军派出一名信使,总计90次传输,每个将军会收到9条信息,可能每一封都附着不同的进攻时间。•当存在多个将军互相不信任(或存在叛徒)时,进攻将面临失败。2020/12/271将拜占庭将军问题延伸到技术领域内涵可概括为:在缺少可信任的中央节点和可信任的通道的情况下,分布在网络中的各个节点应如何达成共识。解决思路:让将军们在接收到上一位将军的信息之后,加上自己的签名再转给其他将军。这样:①信息发送的身份可以追溯了,但签名可能被伪造。②信息可能被敌人截获。这个解决思路并不完美。在中本聪发明比特币以前,世界上并没有一个非常完美的方法来解决拜占庭将军问题。自从出现了比特币,就有了区块链技术。2020/12/272中本聪SatoshiNakamoto•中本聪,自称日裔美国人,真实身份未知。•2008年,中本聪在metzdowd.com网站发表了一篇名为《比特币:一种点对点式的电子现金系统》(Bitcoin:APeer-to-PeerElectronicCashSystem)的论文,描述了一种被他称为“比特币”的电子货币及其算法。•2009年,中本聪发布了首个比特币软件,并正式启动了比特币金融系统。•2010年,中本聪退出并将项目移交给比特币社区的其他成员。退出时中本聪已持有约一百万个比特币。这些比特币在2020年汇率,市值约100亿美元。2020/12/273中本聪应得的奖项•中本聪创造性地提出了通过区块链技术建立一个去中心化、去第三方、集体协作的网络体系设想,而无需中心化平台做信任桥梁,区块链通过全网的参与者作为交易的监督者,交易双方可以在无需建立信任的前提下完成交易,实现价值的转移。•2015年,加州大学洛杉矶分校金融学教授巴格温·乔杜里曾提名中本聪为2016年诺贝尔奖经济学奖的候选人。•从区块链技术出发,中本聪更适合获得图灵奖。2020/12/274电子商务支付模式现状—传统支付模式•当前互联网上的几乎所有贸易,都需要借助可信赖的第三方信用机构(例如支付宝)来处理电子支付信息。这种支付模式我们称之为“基于信用的模式”。2020/12/275支付宝商家消费者第三方信用机构记录账本3发货1下订单4验收6交易完成区块链技术2020/12/276商家消费者第三方信用机构区块链是一个分布式的共享账本和数据库。区块链涉及数学、密码学、互联网和计算机编程等很多科学技术问题。区块链技术的特点:去中心化不可篡改可以追溯集体维护公开透明全程留痕去中心化的基本概念•有一天,村民小李找小王借钱,由于担心小李赖账,小王就来到村长老张家,老张有一本账簿,记录着村子里发生的每一笔钱,谁都别想赖账,这就是中心化。•如果小李把钱借给小王,又让村子里所有人都知道这个账目,并且村子里每个人手里都有一本账簿,把所有账目,从不遗漏地都记录下来,这就叫去中心化2020/12/277中心化的几个问题•村长老张,德高望重,带领村子走到今天不容易,村民给了他绝对的权利,他也掌握了所有的账簿信息,大家把账目往来存老张那里,这就是我们过去对中心化的一种信任。2020/12/278可是,最近村民都觉得老张有几个问题:①老张年迈已高,万一有个三长两短,那本账簿怎么办;②最近村里有小偷出现,万一偷了那本账簿怎么办;③老张掌握了所有村民的个人信息,万一哪天出卖大家怎么办;④突发火灾,烧了账簿怎么办;等等.......去中心化的实现•于是有一天,所有村民聚集在一起,开了个会,提议给每家每户一个账簿,任何人之间的转账都要通过一个大喇叭让全村的人都知道,然后村民们必须在各自的账簿上记录交易记录。在这个情况下,老张把自己的账簿搞丢了没关系,每个村民手里都有一份同样的账簿,如果有小偷来偷账簿没关系,除非能一次性偷走全村所有的账簿。•显然这样的账簿是去中心化的,是集体维护的、是公开透明的,是不可篡改的,是全程留痕的、是可以追溯的。•缺点:当一笔交易产生,每个村民都要随时倾听大喇叭,不能错过记账,显然不现实。而在“互联网+”时代这显然不是问题。2020/12/279区块链是什么•区块链是世界账本,是事实机器,是信任协议,是结算平台。•账本可以确权,事实机器可做存证,信任协议可以做通证经济的激励,结算方法与金融科技相关。•过去,区块链是比特币系统后台的底层技术。但逐渐地,区块链走上台前、成为主角。•2016年,IBM宣布加入由Linux基金会推出的全新开放式账本项目,推动区块链技术的进一步发展。•后来以太坊区块链也开始研发并成为主要的智能合约开发平台。2020/12/2710世界账本•人类社会一直存在着各式账本,最早依靠大脑记忆,出错率大。•随后,出现一些简单的刻画,比如,中国的结绳记事,记流水账。•再后来有了颠覆性的复式记账法,现在又逐渐地演变到了会计电算化、ERP。•人类商业文明的发展过程中有重要的三件事:一是书写;二是货币;三是账本。很多人曾经认为区块链改变的是货币,其实区块链改变的是账本。•区块链最重要的特点:账本不可篡改。2020/12/2711事实机器•区块链另一重要特点是,记录的信息是可信的事实,即这些信息不管经过多长时间,我们还可以确认它和刚记录到链上那一刻是一模一样的。•因此,区块链是非常好的事实机器,利用它,可以大幅降低整个社会的信任成本。例如:①教育证明②工业产品溯源③农副产品溯源2020/12/2712信任协议•人类总是通过交易和交换来向前发展的,是在相互的交易中繁荣起来的,而交易的过程中就需要信任。•①第一代信任协议:亲缘关系•②第二代信任协议:一手交钱,一手交货•③第三代信任协议:商誉•④第四代信任协议:合同•⑤第五代信任协议:互联网信用机构(如:支付宝)•⑥第六代信任协议:区块链2020/12/2713结算平台•与数据库相比,区块链改变了记录数据的方式。•区块链把每个一段时间的交易数据打包形成一个数据区块,这些数据区块用哈希指针链接起来成为一个链状的结构。因此区块链不允许修改数据,一旦数据修改了,链条指针也就断了。•刚开始,比特币区块链只能结算钱,而现在可以结算各种各样的类型,包括股份、证书、身份信息、个人数据、医疗数据等等。•现在,区块链已提供很好的编程接口,可以进行再编程。因此,这让它的功能可以无限增加。2020/12/2714区块链技术标准•2017年5月16日,在杭州国际博览中心举行的区块链技术应用峰会暨首届中国区块链开发大赛成果发布会上,首个区块链标准《区块链参考架构》正式发布。•2017年12月22日,由工业和信息化部信息化指导、工业和信息化部中国电子技术标准化研究院主办的“中国区块链技术和产业发展论坛第二届开发大会”上,《区块链数据格式规范》标准正式发布。2020/12/2715区块链功能架构--4层模型2020/12/2716区块链技术架构--6层模型2020/12/2717可编程货币可编程金融可编程社会脚本代码算法机制智能合约发行机制分配机制PoWPoSDPoS......P2P网络传播机制验证机制非对称加密时间戳Merkle树链式结构数据区块哈希函数应用层合约层激励层共识层网络层数据层核心层基础层服务层一、数据层•数据层包含数据区块以及基础数据、基本算法等。•数据层主要描述区块链技术的物理形式,数据结构。•区块链由多个相链的区块构成,每个区块记录了一段时间内网络中的交易情况。第一个区块,即最早构建的区块称为创世区块,拥有一个唯一的ID标识号。•创始区块是整个区块链技术中最底层的数据结构。•除创世块外,每个后续建立的区块均包含两个ID号,一个是该区块自身的ID号,另一个是前序区块的ID号。2020/12/27181.数据区块•区块:一种包含在区块链里的聚合了交易信息的容器的数据结构,包括区块头和区块主体,区块头+区块体=1M字节•区块头:大于88个字节•区块体:每个区块可以包含2000个交易,平均每个交易至少是250字节。2020/12/2719区块高度(4字节)区块头(大于88字节)事务列表(不定长)交易数据(可变)=1M字节区块标识(32字节)区块高度•产生:该区块节点在链入区块链时,动态地识别该区块在链中的位置,叫做区块高度。•特点:在某种特殊情况下,短时间内可能不是唯一的。•存储:不包含在区块的数据结构里,可存储在独立的数据库中。•区块高度用来丈量某一个区块到第一个区块之间的距离。通过区块高度,可以精确地描述出某一区块在链上的位置,相当于给了区块一个“坐标”。2020/12/2720区块头标识—哈希函数将任何一串数据输入经过SHA256算法(哈希函数)处理便可得到一个256位的哈希值。其特点为:相同的数据输入将得到相同的结果。输入数据只要稍有变化,则将得到一个完全不同的哈希值。哈希函数正向计算十分容易,逆向计算极其困难,在当前科技条件下被视作不可能(量子计算机、生物计算机除外)被破解。2020/12/2721区块头2020/12/2722大小字段描述不定长版本号当前区块版本号,主要对应当前区块头的结构及各个字段的含义。32字节父区块哈希值引用区块链中父区块的哈希值,作为指向父区块地址的指针。32字节Merkle根由本区块里相关的信息通过树状结构算法汇总生成的哈希值。8字节区块时间戳表示本区块的生成时间,从1970年起的时间计数,精度为毫秒,正序增加。8字节难度系数通常用于表示记账节点竞争记账权的Hash计算难度的参数。8字节Nonce区块随机数,通常用于记账节点竞争记账权的Hash计算的可变参数。版本号父区块哈希值默克尔Merkle树根哈希值时间戳难度系数Nonce随机数大于88个字节区块之间的链接2020/12/27231.从区块链的创始区开始,新的区块是创始区块的一个本地副本,不断生成新区块,不断扩展链条。2.当新区块链入链条前,它会进行验证,然后链接到现有的区块链上。3.对于一个新区块,节点会在“父区块哈希值”字段里找出包含它的父区块的哈希值。默克尔树(Merkletree)•默克尔树是一种哈希二叉树,1979年由RalphMerkle发明。•为了保持数据一致,各机器上存储的区块链数据需要同步,如果对机器上所有数据都进行比对的话,数据传输量就会很大,从而造成“网络拥挤”。•为了解决这个问题,可以在每台机器上构造一棵默克尔树,这样,在两台机器间进行数据比对时,从默克尔树的根节点开始比对。如果根节点一样,则表示两个副本目前是一致的,不再需要任何处理;如果不一样,则沿着哈布值不同的节点路径查询,很快就能定位到数据不一致的叶节点,只把不一致的数据同步即可,这样大大节省了比对时间以及数据的传输量。2020/12/2724非对称加密•加密就是通过一种算法将原始信息进行转换,接收者能够通过密钥对密文进行解密还原成原文的过程。•非对称加密:加密密钥和解密密钥是不同的,分别称为公钥和私钥。公钥一般是公开的,人人可获取的,私钥一般是个人自己持有,不能被他人获取。公钥用于加密,私钥用于解密。公钥由私钥生成,私钥可以推导出公钥,从公钥无法推导出私钥。2020/12/2725•(公开)密钥:加密密钥(公钥)解密密钥(私钥)密文机密文档机密文档数字签名•经过数字签名的文件的完整性是很容易验证的,数字签名具有不可抵赖性(不可否认性)。•签名的时候用私钥,验证签名的时候用公钥。•例如:小李给小王支付10元的过程2020/12/2726初始值:小李80元小王00元交易数据:0340eb……324f73交易后:小李70元小王10元校验签名的正确性小李转10元给小王用小李的公钥校验小李用私钥完成付款签名交易成功,广播给所有节点一个广播出去

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功