区块链扫盲、起源、应用及技术方案课件.ppt
区块链介绍独立架构师 唐伟佳,目录,比特币价格从诞生时的一美元兑换1300比特币,到峰值时2万多美元兑换1个比特币-去中心化-数量一定,上限2100万-本身不具备任何价值,你听过的区块链-比特币,挖矿是参与维护比特币网络的节点,通过协助生成新区块来获取一定量新增的比特币。当用户发布交易后,需要有人将交易进行确认,写到区块链中,形成新的区块。通过挖矿,每 10 分钟左右生成一个不超过 1 MB 大小的区块(记录了这 10 分钟内发生的验证过的交易内容),串联到最长的链尾部,每个区块的奖励一开始是 50 个比特币,每隔 21 万个区块自动减半,现阶段是12.5,最终比特币总量稳定在 2100 万个。比特币采用了工作量证明 Proof of Work(PoW)的机制来实现共识,你听过的区块链-比特币的挖矿,ICO,全称Initial Coin Offering,意为“首次代币发行”,可以说是以币换币:发行的是区块链项目的代币,投资者通常用币圈认知度最高的比特币或以太币去兑换。,你听过的区块链-ICO,但ICO本质上就是:通过一个还没有产品落地的项目计划,出售项目代币来筹集资金的金融行为。其基本流程是:项目方写几页白皮书,发行新的代币,出售其中一部分,以兑换价值几千万甚至上亿的比特币或以太币。,互联网(信息去中心化)已颠覆世界,区块链(信用去中心化)却要颠覆互联网区块链时代一旦降临,就将颠覆我们现在所有的认知,我们将跨入一个全新的时代,一个不再有信任危机的时代,你听过的区块链-颠覆传统,产品追溯跨境交易企业信任,现实存在的问题-信任问题,基于制度的,基于特征的和基于过程的,抗风险能力更强平等腐败与错误规则简单,现实存在的问题-中心问题,传输不可靠TCP/IP协议故意破环拜占庭将军问题信息泄密和篡改加密证书摘要,现实存在的问题-安全可靠问题,货币的形态从实物货币、金属货币、代用货币、信用货币、电子货币到数字货币。货币自身的价值依托也从实物价值、发行方信用价值。货币(信用卡、纸币等)需要额外系统(如银行)来完成生产、分发、管理等操作,带来很大的额外成本和使用风险,如伪造、信用卡诈骗、盗刷、转账等。实现一种数字货币,保持既有货币的这些特性,消除纸质货币的缺陷,提升便携、防伪、辩伪、匿名、交易、资源、发行等方面的能力。,区块链起源-数字货币,中心化控制下的数字货币需要一个中心管控系统。但很多时候并不存在一个安全可靠的第三方记账机构来充当这个中心管控的角色。贸易两国可能缺乏足够的外汇储备;网络上的匿名双方进行直接买卖;交易的两个机构彼此互不信任,找不到双方都认可的第三方担保;汇率的变化;可能无法连接到第三方的系统;第三方的系统可能会出现故障,区块链起源-数字货币,起源:2008 年 10 月 中本聪的人提出了比特币的设计白皮书,2009 年公开了最初的实现代码,区块链起源-比特币,解决的问题:被掌控在发行机构手中;自身的价值无法保证;无法匿名化交易。,2014 年开始,比特币背后的区块链(Blockchain)技术受到大家关注,并正式引发了分布式记账本(Distributed Ledger)技术的革新浪潮。人们开始意识到,记账本相关的技术,对于资产(包括有形资产和无形资产)的管理(包括所有权和流通)十分关键;而去中心化的分布式记账本技术,对于当前开放多维化的商业网络意义重大。区块链,正是实现去中心化记账本系统的一种极具潜力的可行技术。目前,区块链技术已经脱离开比特币,在包括金融、贸易、征信、物联网、共享经济等诸多领域崭露头角。现在当人们提到“区块链”时,往往已经与比特币网络没有直接联系了,除非特别指出是承载比特币交易系统的“比特币区块链”。,区块链起源-比特币到区块链,区块链起源-比特币背后的技术,比特币是区块链的首个应用,区块链是支撑比特币的底层技术,狭义,广义,本质是一种分布式记账同步更新账本技术,以去中心化和去信任化的方式,集体维护一个可靠数据库的技术方案。,一种革新和颠覆性的思维理念,去中介化,建立信任社会,实现共享,区块链简介-定义,区块链简介-结构,交易(Transaction):一次操作,导致账本状态的一次改变,如添加一条记录;区块(Block):记录一段时间内发生的交易和状态结果,是对当前账本状态的一次共识;链(Chain):由一个个区块按照发生顺序串联而成,是整个状态变化的日志记录。,A,B,中心记账需要中介做信任担保,A,B,C,D,E,F,G,分布式共享记账实现去中介化的信任,分布式架构,账本结构,共识机制,Peer-to-Peer模式非集中架构的信任,交易的公开透明和数据的不可篡改性,全网共识机制与智能合约,区块链简介-创新,区块链最大的创新:在于去中介化和建立信任度,区块链简介-主要特性,网络没有中心化的物理节点和管理机构,网络功能的维护依赖网络中所有具有维护功能的节点完成,各个节点的地位是平等的,一个节点甚至几个节点的损坏不会影响整个系统的运作,网络具备很强的健壮性。,去中心化,网络节点间数据传输是匿名的而且节点之间不需要互相信任,整个系统通过公开透明数学算法运行。节点彼此数据公开,彼此信任,没有办法欺骗其他节点。,去中介信任,系统中每个节点都能获得一份完整“账本”的拷贝。除非能够同时控制整个系统中超过 51%的节点,否则单个节点上对数据的修改是无效的,也无法影响其他节点上的数据内容。,数据可靠,区块链简介-分类,区块链简介-发展,货币与交易,即应用中与现金有关的加密数字货币,如货币、转账、汇款和数字支付系统等,智能合约,如股票、债券、期货、贷款、智能资产和智能合约等更广泛的非货币应用,自治与管理,在政府、健康、科学、文化和艺术方面有所应用。甚至最终实现去中心化自治社会的终极效果,区块链1.0,区块链2.0,区块链3.0,可编程货币,可编程经济,可编程社会,区块链应用-商业价值,区块链应用-银行金融领域,区块链技术可以为金融服务提供有效可靠的所属权证明和相当强的中介担保机制加拿大央行开发基于区块链技术的数字版加拿大元(名称为 CAD 币),以允许用户可以使用加元来兑换该数字货币。经过验证的对手方将会处理交易,如果需要,银行将保留销毁CAD币的权利。英国银行已经实现了基于分布式账本平台的数字化货币系统。RSCoin 目标是提供一个由中央银行控制的数字货币,采用了双层链架构、改进版的 2PC 提交,以及多链条之间的交叉验证机制。因为主要是央行和下属银行之间使用,通过提前建立一定的信任基础,可以提供较好的处理性能。中国邮储银行布携手 IBM 推出基于区块链技术的资产托管系统,为中国银行业首次将区块链技术应成功用于核心业务系统。,区块链应用-支付领域,区块链应用-证券领域,区块链应用-征信,企业A数据,企业B数据,企业C数据,区块链,区块链应用-权属管理,交易,A,B,房产中介,房管局,1,物品的所有权是写在数字链上的,谁都无法修改2,智能合约,确保合同准确执行,区块链应用-物联网,区块链应用-其他,区块链技术-关键技术及挑战,区块链技术-核心技术分解,区块链技术-分布式系统:一致性,存在如下的问题:1,节点之间的网络通讯是不可靠的,包括任意延迟和内容故障;2,节点的处理可能是错误的,甚至节点自身随时可能宕机;3,同步调用会让系统变得不具备可扩展性理想的分布式系统一致性应该满足:1,可终止性(Termination):一致的结果在有限时间内能完成;2,共识性(Consensus):不同节点最终完成决策的结果应该相同;3,合法性(Validity):决策的结果必须是其它进程提出的提案。,区块链技术-分布式系统:共识算法,区块链技术-分布式系统:Paxos,Paxos 是第一个被证明的共识算法,其原理基于两阶段提交并进行扩展。proposer:提出一个提案,等待大家批准为结案。往往是客户端担任该角色;acceptor:负责对提案进行投票。往往是服务端担任该角色;learner:被告知结案结果,并与之统一,不参与投票过程。可能为客户端或服务端。,区块链技术-分布式系统:Raft,Raft算法是Paxos 算法的一种简化实现。Leader(领导者):负责日志的同步管理,处理来自客户端的请求,与Follower保持这heartBeat的联系;,Follower(追随者):刚启动时所有节点为Follower状态,响应Leader的日志同步请求,响应Candidate的请求,把请求到Follower的事务转发给Leader;Candidate(候选者):负责选举投票,Raft刚启动时由一个节点从Follower转为Candidate发起选举,选举出Leader后从Candidate转为Leader状态;,区块链技术-分布式系统:拜占庭错误,对于拜占庭问题来说,假如节点总数为 N,叛变将军数为 F,则当时,问题才有解,即 Byzantine Fault Tolerant(BFT)算法。,1999 年提出的 Practical Byzantine Fault Tolerant(PBFT)是第一个得到广泛应用的 BFT 算法。只要系统中有2/3的节点是正常工作的,则可以保证一致性。PBFT 算法包括三个阶段来达成共识:Pre-Prepare、Prepare 和 Commit。PoW(Proof of Work)算法是限制一段时间内整个网络中出现提案的个数(增加提案成本),另外是放宽对最终一致性确认的需求,约定好大家都确认并沿着已知最长的链进行拓宽。系统的最终确认是概率意义上的存在。这样,即便有人试图恶意破坏,也会付出很大的经济代价(付出超过系统一半的算力)。,区块链技术-分布式系统:FLP不可能原理,FLP 不可能原理:在网络可靠,存在节点失效(即便只有一个)的最小化异步模型系统中,不存在一个可以解决一致性问题的确定性算法。,Fischer,Lynch 和 Patterson 三位作者于 1985 年发表论文,不要浪费时间去为异步分布式系统设计在任意场景下都能实现共识的算法。科学告诉你什么是不可能的;工程则告诉你,付出一些代价,我可以把它变成可能。,区块链技术-分布式系统:CAP原理,分布式领域CAP理论Consistency(一致性),数据一致更新,所有数据变动都是同步的Availability(可用性),好的响应性能Partition tolerance(分区容错性)可靠性定理:任何分布式系统只可同时满足二点,没法三者兼顾。忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。,区块链技术-分布式系统:ACID 和BASE,ACID:Atomicity(原子性)Consistency(一致性)Isolation(隔离性)Durability(持久性)BASE模型反ACID模型,完全不同ACID模型,牺牲高一致性,获得可用性或可靠性:Basically Available基本可用。支持分区失败(e.g.sharding碎片划分数据库)Soft state软状态 状态可以有一段时间不同步,异步。Eventually consistent最终一致,最终数据是一致的就可以了,而不是时时高一致。BASE思想的主要实现有 1.按功能划分数据库 2.sharding碎片,区块链技术-分布式系统:可靠性指标,如何提升可靠性,有两方案:一是让系统中的单点变得更可靠;二是消灭单点。,区块链技术-密码学与安全:HASH及摘要,Hash(哈希或散列)算法能任意长度的二进制值(明文)映射为较短的固定长度的二进制值(Hash 值),并且不同的明文很难映射为相同的 Hash 值。,目前流行的 Hash 算法包括 MD5、SHA-1 和 SHA-2。数字摘要是 Hash 算法最重要的一个用途,解决确保内容没被篡改过的问题(利用 Hash 函数的抗碰撞性特点),区块链技术-密码学与安全:加解密算法,区块链技术-密码学与安全:数字签名,数字签名用于证实某数字内容的完整性(integrity)和来源 A 先对文件进行摘要,然后用自己的私钥进行加密,将文件和加密串都发给 B。B 收到后文件和加密串,用 A 的公钥来解密加密串,得到原始的数字摘要,跟对文件进行摘要后的结果进行比对。,区块链技术-密码学与安全:PKI,PKI 是建立在公私钥基础上实现安全可靠传递消息和身份确认的一个通用框架 CA(Certification Authority):负责证书的颁发和作废,接收来自 RA 的请求,是最核心的部分;RA(Registration Authority):对用户身份进行验证,校验数据合法性,负责登记,审核过了就发给 CA;证书数据库:存放证书,一般采用 LDAP 目录服务,标准格式采用 X.500 系列。数字证书用来证明某个公钥是谁的,并且内容是正确的,数字证书就是像一个证书一样,证明信息和合法性。由证书认证机构(CA)来签发,数字证书内容可能包括版本、序列号、签名算法类型、签发者信息、有效期、被签发人、签发的公开密钥、CA 数字签名、其它信息等等,区块链技术-以太坊,以太坊(英语:Ethereum)是一个开源的有智能合约功能的公共区块链平台。通过其专用加密货币以太币(Ether,又称“以太币”)提供去中心化的虚拟机(称为“以太虚拟机”Ethereum Virtual Machine)来处理点对点合约。以太坊(Ethereum)目标是打造成一个运行智能合约的去中心化平台(Platform for Smart Contract),平台上的应用按程序设定运行,不存在停机、审查、欺诈、第三方人为干预的可能。,以太坊区块链的特点主要包括:单独为智能合约指定编程语言 Solidity;使用了内存需求较高的哈希函数:避免出现算力矿机;uncle 块激励机制:降低矿池的优势,减少区块产生间隔为 15 秒;难度调整算法:一定的自动反馈机制;gas 限制调整算法:限制代码执行指令数,避免循环攻击;记录当前状态的哈希树的根哈希值到区块:某些情形下实现轻量级客户端;为执行智能合约而设计的简化的虚拟机 EVM。,区块链技术-Fabric介绍,Hyperledger(超级账本)项目是首个面向企业的开放区块链技术的重要探索。在 Linux 基金会的支持下,吸引了包括 IBM、Intel、摩根等在内的众多科技和金融巨头的参与,fabric 是其核心项目。Fabric是为企业构建的领先的开源、通用区块链结构,区块链技术-Fabric应用,谢谢!,区块链技术简介Introduction of block chain technology,区块链(block chain):是用分布式数据库识别、传播和记载信息的智能化对等网络,也称为价值互联网。从数据的角度来看区块链是一种几乎不可能被更改的分布式数据库。区块链技术:基于去中心化的对等网络,用开源软件把密码学原理、时序数据和共识机制相结合,来保障分布式数据库中各节点的连贯和持续,使信息能即时验证、可追溯、但难以篡改和无法屏蔽,从而创造了一套隐私、高效、安全的共享价值体系。,定义,两大技术:密码学+分布式存储,特征,开放,共识 区块链网络中每个节点都允许获得一份完整的数据库拷贝。去中心,去信任 不存在中心化的设备和管理机构。交易透明,双方匿名 所有的数据信息也是公开的,每个参与的节点都是匿名的。不可篡改,可追溯 几个节点的修改无法影响其他节点的数据库,每一笔交易都通过密码学 方法(hash算法)与相邻两个区块串联,分布式存储,传统SAN以高度的可靠性、稳定性和功能丰富性,在应用实践中获得了广泛认可。随着数据量不断增加,企业对于数据存储可扩展性提出要求,分布式存储系统逐步成为扩展性强、价格低廉的选择。,节点网络,任何机器都可以运行一个完整的比特币节点,包括:钱包,允许用户在区块链网络上进行交易完整区块链,记录了所有交易历史,通过特殊的结构保证历史交易的安全性,并且用来验证新交易的合法性矿工,通过记录交易及解密数学题来生成新区块,如果成功可以赚取奖励路由功能,把其它节点传送过来的交易数据等信息再传送给更多的节点,区块是一种记录交易的数据结构。每个区块由区块头和区块主体组成,区块主体只负责记录前一段时间内的所有交易信息,区块链的大部分功能都由区块头实现。,区块(block),区块头,版本号,标示软件及协议的相关版本信息父区块哈希值,引用的区块链中父区块头的哈希值,通过这个值每个区块才首尾相连组成了区块链,并且这个值对区块链的安全性起到了至关重要的作用Merkle 根,这个值是由区块主体中所有交易的哈希值再逐级两两哈希计算出来的一个数值,主要用于检验一笔交易是否在这个区块中存在时间戳,记录该区块产生的时间,精确到秒难度值,该区块相关数学题的难度目标随机数(Nonce),记录解密该区块相关数学题的答案的值,在当前区块加入区块链后,所有矿工就立即开始下一个区块的生成工作。把在本地内存中的交易信息记录到区块主体中在区块主体中生成此区块中所有交易信息的 Merkle 树,把 Merkle 树根的值保存在区块头中把上一个刚刚生成的区块的区块头的数据通过 SHA256 算法生成一个哈希值填入到当前区块的父哈希值中把当前时间保存在时间戳字段中难度值字段会根据之前一段时间区块的平均生成时间进行调整以应对整个网络不断变化的整体计算总量,区块形成过程,hash(哈希或散列)算法是信息技术领域非常基础也非常重要的技术。它能任意长度的二进制值(明文)映射为较短的固定长度的二进制值(hash 值),并且不同的明文很难映射为相同的 hash 值。这种映射称为hash函数,如:SHA256 算法,md5等。例如:hash函数:除以5的余数,12 mod 5=2,hash 算法,明文,Hash值,优秀的 hash 算法特点:正向快速:给定明文和 hash 算法,在有限时间和有限资源内能计算出 hash 值。逆向困难:给定(若干)hash 值,在有限时间内很难(基本不可能)逆推出明文。输入敏感:原始输入信息修改一点信息,产生的 hash 值看起来应该都有很大不同。冲突避免:很难找到两段内容不同的明文,使得它们的 hash 值一致(发生冲突)。,hash 算法,SHA256算法,工作原理将任何一串数据输入到SHA256将得到一个256位的Hash值(散列值)。其特点:相同的数据输入将得到相同的结果。输入数据只要稍有变化(比如一个1变成了0)则将得到一个千差万别的结果,且结果无法事先预知。正向计算(由数据计算其对应的Hash值)十分容易。逆向计算(俗称“破解”,即由Hash值计算出其对应的数据)极其困难,在当前科技条件下被视作不可能。,区块链技术是构建比特币区块链网络与交易信息加密传输的基础技术。它基于密码学原理而不基于信用,使得任何达成一致的双方直接支付,从而不需要第三方中介的参与。,互联网上的贸易,几乎都需要借助可资信赖的第三方信用机构来处理电子支付信息。这类系统仍然内生性地受制于“基于信用的模式”。,互联网支付模式,类似在纸质合同上签名确认合同内容,数字签名用于证实某数字内容的完整性和来源。A 发给B一个文件;A 先对文件进行摘要,然后用自己的私钥进行加密;将文件和加密串都发给B;B 收到后文件和加密串;用 A 的公钥来解密加密串,得到原始的数字摘要;跟对文件进行摘要后的结果进行比对。如果一致,说明该文件确实是 A 发过来的,并且文件内容没有被修改过。,数字签名,现代加密算法的典型组件包括:加解密算法、公钥、私钥。在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是公开密钥算法(也叫非对称算法、双钥算法)”,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。加密过程中,通过加密算法和公钥,对明文进行加密,获得密文。解密过程中,通过解密算法和私钥,对密文进行解密,获得明文。,公钥私钥体系,加解密过程,秘钥分配,RSA公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。,RSA,“区块链”技术对互联网金融的影响,Contents,目录,区块链的定义和来源,区块链技术在金融领域的应用,区块链取代互联网的可能性,中国的应对措施,Part One,区块链的定义和来源,01,区块链(Blockchain)是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案,1-区块链的定义和来源,概念首次出现:比特币:一种点对点的电子现金系统-Satoshi Nakamoto,1-区块链的定义和来源,存放在互联网的各个比特币节点上,每个节点都有一份完整的备份记录着自比特币诞生以来的所有比特币转账交易账本分区块存储,每一块包含一部分交易记录。每个区块记录着前一区块的ID,形成链状结构当要发起一笔比特币交易时,只需把交易信息广播到p2p网络中,矿工把交易信息记录成一个新的区块连到区块链上,交易完成,更简单的描述,以比特币为例,区块链-比特币公共账本,Part Two,区块链技术在金融领域的应用,02,2-1 比特币,互联网金融,互联网,金融业,数字货币,比特币,2-1 比特币,一种P2P形式的数字货币,依据特定算法,通过大量的计算产生,去中心化全世界流通专属所有权低交易费用无隐藏成本跨平台挖掘,2-2 物联网,一个中心化的数据中心收集所有已联接设备的信息,去中心化分布式云网络,传统物联网,区块链物联网,Part Three,区块链取代互联网的可能性,03,3-区块链取代互联网的可能性,比特币的信用基础区块链技术是一种巨大的技术突破,这种以P2P为基础的去中心化的新体系,它革新了互联网与金融产业,现在的比特币行业,只想当于1994年左右的互联网,还处于基础建议阶段,但未来十年,区块链有可能取代互联网,比特币技术能够从根本上修复和重建互联网,比特币所依托的区块链是一种新型去中心化协议系统,它能安全地存储交易或其他数据,并且无需任何中心化机构的审核,因为这些是由整个网络来检验的。那些交易不一定是金融交易,数据也不一定是货币。区块链技术能够被应用在许许多多应用之中.,罗金海ColaPay的创始人,Jon Evans新闻媒体TechCrunch专栏作家,3-区块链取代互联网的可能性,Part Four,中国应采取的措施,04,4-中国应采取的措施,把握竞争制高点,尤其是规则和标准的制定,投入足够的资金和技术,加大研究力度,采取积极而谨慎的态度,做好监管措施,