区块链技术与应用讲解--科技让信任变简单1.1背景–先讲比特币(Bitcoin/BTC)比特币价格单位:美元比特币价格从诞生时的一美元兑换1300比特币,到峰值时1100美元兑换1个比特币。什么是比特币?什么是区块链?00.493515.261151934.21453.95759.01000.34.3313.48293.67176.5368.3800.066.058.46189.55525.41272.36450.79020040060080010001200140020092010201120122013201420152016比特币每年价格变化最高价最低价平均价单位:美元疯狂的比特币1.1背景–比特币大事记2009-1-3比特币创世区块(GenesisBlock)诞生,第一批比特币被挖出2013-8德国联邦财政部承认比特币为“记账单位”,和外汇一样可具有结算功能,但不具备充当法定支付手段的功能。中本聪发表论文《比特币:种点对点的电子现金系统》2008-10-31比特币产量第一次减半2012-11-282010-5-22比特币历史上第一笔交易:佛罗里达程序员LaszloHanyecz用1万个比特币购买了价值25美元的披萨2011-6比特币获得时代周刊和福布斯的关注,开始吸引主流媒体的目光2013-12五部委联合发布《关于防范比特币风险的通知》,并禁止第三方支付参与比特币交易2015-10比特币交易平台火币网上比特币价格达到峰值8000元/个2013-11当时全球最大的比特币交易平台Mt.Gox宣称85万个比特币被盗,随后破产2014-2Coinbase成为美国首家持牌比特币交易所2015-12014-6美国加州最终通过AB-129法案,允许使用比特币等数字货币在加州进行消费2015-6欧盟法院裁定比特币交易免征增值税2014-7戴尔、美国卫星电视巨头DishNetwork、电子商务巨头新蛋网等接受比特币支付2014-12微软接受比特币支付,比尔盖茨认为令人兴奋2015年度比特币上涨约120%,成为表现亮眼的投资品2015-12中国人民银行在京召开数字货币研讨会或推出央行数字货币2016-1日本首次批准数字货币监管法案,并定义比特币为财产2016-5纽约州金融服务局(NYDFS)宣布BitLicense许可证正式生效,纽约成为美国第一个正式推出定制比特币和数字货币监管的州2016-7比特币产量第二次减半41.2相关概念PeertoPeer,简称p2p,就是点对点的意思。处于p2p网络中的所有节点地位对等,网络不依赖于一个中心。比特币的账户体系使用非对称加密算法,其中用到一对秘钥:公钥(publickey)和私钥(privatekey)。用公钥对数据进行加密后,只有对应的私钥才能解密;反之如果私钥用于加密,则只有对应的公钥才能解密。在发送比特币时,交易发起者使用私钥对他的交易申请进行签名,网络上的任何人都可以使用对应的公钥对这个交易的合法性进行验证。比特币世界中,通过私钥可以计算得到公钥,公钥再经过一系列哈希及编码运算就得到地址,地址可以理解为公钥的摘要,由一串字符表示,例如:16FQCgFD5gBoJvD8kauX9oVoRQhs1NTvb4。地址使公钥更具可读性,类似于银行账号。就是比特币生产过程的形象说法。通过大量计算,完成系统要求的的工作量证明,系统就会奖励一定数量的比特币。在通过“挖矿”得到比特币的过程中,一个节点每秒钟能做多少次计算,就是其“算力”的代表,单位写成hash/s,简写h/s。1h/s表示1秒钟能做1次hash碰撞。1Kh/s=1000h/s,1Mh/s=1000Kh/s,1Gh/s=1000Mh/s,1Th/s=1000Gh/s,1Ph/s=1000Th/sP2P公钥、私钥地址挖矿算力51.2相关概念矿机随着挖矿所需算力的不断上升,专门制造出来挖矿的专业设备,就是矿机。矿池一般是对外开放的团队开采服务器,奖励的比特币按算力占比分给矿工,其存在意义为提升比特币开采稳定性。山寨币和竞争币我们把没有对比特币进行改进或创新的,完全模仿比特币的开发出来的虚拟货币称为山寨币。通过借鉴比特比并有一定程度的改进或创新的,称为竞争币。据统计,现在市场上的山寨币和竞争币总数多达几百种。冷钱包线下钱包,不联网。热钱包线上钱包,联网。市场深度由所有未成交的买单和卖单构成。是指平台在承受大额交易时币价不出现大幅波动的能力。市场深度越深表明市场越稳定、越成熟。62.1比特币的产生•贝壳、羽毛、牲口等实物货币物物交换•黄金、白银等贵金属金属货币•早期纸币、银票、廉价金属货币•纸币本位货币纸币•在线支付•银行卡•Q币等游戏币•电子现金中心化电子货币•比特币去中心化电子货币商品货币时代•货币价值主要取决于贵金属的发现和冶炼信用货币时代•货币本身没有价值而取决于对发行机构的信任去中心货币时代•货币价值取决于人们对算法、系统的认可货币的演化72.1比特币的产生去中心化电子货币比特币之前电子货币的尝试都没有克服中心化的问题,这类系统都内生性地受制于“基于信用模式”的弱点。中心化货币由于货币主体单一,容易出现通货膨胀、经济周期性波动等缺陷,并且存在使用地区局限的问题。去中心化电子货币的特点:没有发行主体,不通过中央银行或第三方机构发行和交易货币发行和系统安全基于数学原理依托互联网可以全球范围内使用定义目前使用范围是否依赖中心发行数量基于比特币数字货币全球不依赖2100万密码学Q币游戏币腾讯所有游戏、业务依赖由腾讯公司负责发行、监管和调控,没有上限信用比特币是最早的去中心化电子货币,虽然受比特币启发后来出现了多种竞争者,但比特币在全球的被认可程度仍然遥遥领先。以比特币和Q币为例的去中心化电子货币与中心化电子货币的对比82.2比特币的产生比特币的产生发明人SatoshiNakamoto(中本聪)Bitcoin:APeer-to-PeerElectronicCashSystem(比特币:一种点对点电子现金系统)第一次以论文的形式提出(纽约时间2008.10.31):论文解决了无监管网络世界里的两个实际问题·货币伪造问题·双重支付问题92.2比特币的产生第一批比特币的产生102.2比特币的产生比特币的节点分布比特币节点在欧美等发达国家节点分布非常广泛,说明比特币在这些国家的生命力非常强,除此之外在经济较发达的城市也存在较多比特币节点。数据来源:Qukuai.com,节点分布112.3比特币的产生比特币系统区块:区块链:交易:比特币的底层是区块链技术,区块链可以形象的理解为去中心化的分布式账本,该账本由很多区块组成。每10分钟左右一个新的区块被创建出来,加到区块链的尾端。新的区块记录了这10分钟内发生的所有交易,目前比特币系统稳定运行了7年多,积累了40多万个区块。交易记录一笔交易的具体信息。包括付款人地址,收款人地址,付款金额,付款人签字,收款人公钥、付款人资金来源交易ID等。该系统的主要特点:使用一个P2P(点对点)网络不需要货币发行机构,不需要受信任的第三方用户可匿名使用新货币通过工作量证明机制产生。系统的共识机制可以有效防止双重支付的发生。第一个区块区块ID上个区块ID第三个区块区块ID上个区块ID第二个区块区块ID上个区块ID区块ID交易1,交易2,交易3…交易n上个区块ID其他信息交易ID资金来源1:我挖矿所得50btc的交易ID资金来源2:张三给我100btc的交易ID资金来源3:李四给我50btc的交易ID资金去向:壹基金捐助账号ID金额:200btc我的签名2.3比特币的产生区块与比特币•谁创建区块,就给谁币!一个区块被创建后,系统就会奖励给创建者一定数量的比特币。这笔由系统奖励创建者的交易就被区块记录在第一条交易单中,称为coinbase交易。•比特币世界里没有独立的“币”,每个账户的余额体现为交易链条上的输出,而所有的的输出都可以追溯到第一条coinbase交易。•创建一个区块,系统奖励多少币呢?刚开始,创建一个区块有50btc;产生到第21万个区块之后,奖励降为25btc;第42万个区块创建后,奖励降为12.5btc……可理解为奖励每4年减半。区块的创建币(比特币/Bitcoin/BTC)的由来•在比特币行业里,区块创建的过程我们俗称为挖矿。•每个人都可以创建区块。区块的创建是通过竞争计算完成的。上一个区块创建出来之后,系统会给出一个数A。所有人就开始创建新的区块,记录实时发生的交易,同时玩一个密码学游戏——哈希。哈希的特点是:可以根据任意一段数据计算出一个固定长度的值,此计算结果相当随机,无法预知大小。大家不停的计算区块的哈希值(根据以下数据计算:一个随机数、上一个区块的哈希值以及十分钟内验证过的交易),谁先算出来一个小于A的哈希值谁就在游戏中获胜。系统会将获胜的人创建的区块链接到区块链上。•比特币世界中,系统算法决定每10分钟左右产生一个区块。如果一段时间内区块产生的平均时间超过10分钟,算法会降低游戏难度;反之,算法会提高游戏难度。数A决定计算难度,A越小计算难度系数越高。这样就保证了比特币的发行速度。133区块链原理区块链区块链是一个分布式账本,一种通过去中心化、去信任的方式集体维护一个可靠数据库的技术方案。Block:101上一区块哈希值本区块哈希值挖矿随机数难度时间戳交易的TreeHashBlock:102上一区块哈希值本区块哈希值挖矿随机数难度时间戳交易的TreeHash时间有序挖矿就是找这个数字构成不可逆的链条“币”以交易记录形式存在只有主人用私钥签名后,才能花掉它。143区块链原理Bitcoin的组网结构每个用户节点都可以自由加入网络,完全分布式的P2P网络每个用户节点都维护有账本,某个节点的恶意篡改,不能得到其余节点的认同。1.产生新的交易2.挖矿,验证交易3.扩散验证后的交易(Block)153区块链原理Bitcoin的交易过程所有者A利用他的私钥对前一次交易(比特货来源)和下一位所有者B签署一个数字签名,并将这个签名附加在这枚货币的末尾,制作出交易单。此时。B是以公钥作为接收方地址。A将交易单广播至全网,比特币就发送给了B,每个节点都将收到交易信息纳入一个区块中此时,对B而言,该枚比特币会即时显示在比特币钱包中,但直到区块确认成功后才可以使用。目前一笔比特币从支付到最终确认成功,得到6个区块确认之后才能真正的确认到账。每个节点通过解一道数学难题,从而去获得创建新区块的权利,并争取得到比特币的奖励(新比特币会在此过程中产生)此时节点反复尝试寻找一个数值,使得将该数值、区块链中最后一个区块的Hash值以及交易单三部分送入SHA256算法后能计算出散列值X(256位)满足一定条件(比如前20位均为0),即找到数学难题的解。由此可见,答案并不唯一。当一个节点找到解时,它就向全国广播该区块记录的所有盖时间戳交易,并由全网其他节点核对。此时时间戳用来证实特定区块必然于某特定时间是的确存在的。比特币网络采用从5个以上节点获取时间,然后取中间值的方式成为时间戳。全网其他节点核对该区块记账的正确性,没有错误后他们将在该合法区块之后竞争下一个区块,这样就形成了一个合法记账区块链。第一步第二步第三步第四步第五步3区块链的原理区块链特点区块链分类开放,共识任何人都可以参与到区块链网络,每一台设备都能作为一个节点,每个节点都允许获得一份完整的数据库拷贝。节点间基于一套共识机制,通过竞争计算共同维护整个区块链。任一节点失败,其余节点人能正常工作。去中心化,去信任区块链由众多节点共同组成一个端到端的网络,不存在中心化的设备和管理机构。节点之间数据交换通过数字签名技术进行验证,无需互相信任,只要按照系统既定的规则进行,节点之间不能也无法欺骗其他节点。交易透明,双方匿名区块链的运行规则是公开透明的,所有的数据信息也是公开的,因此每一笔交易都对所有节点可见。由于节点与节点之间是去信任的,因此节点之间无需公开身份,每个参与的节点都是匿名的。不可篡改,可追溯单个甚至多个节点对数据库的修改无法影响