区块链技术及应用前景2020/2/8为什么要有区块链现状:•中央系统虚拟货币(中心化机构掌控);异地灾备、云存储•中心化的来源:为满足市场参与者对信息的需求,而信息的买卖造就了“中介费”(成本)•创新源于对现实问题的解决——中心化信息分散在各中心手中,打通成本非常大信息要按照中心化机构的体系要求进行运作(全球汇款)内部人员的篡改,黑客攻击,自然灾害等中心化的弊端为什么要有区块链信息去中心化第一代互联网成功实现了信息去中心化:生活信息、知识、新闻、资料…互联网的起点是TCP/IP协议(执行一个网络上所有节点统一格式对等传输信息的开放代码)——信息分享与实时更新互联网就是消灭那个价值很低、成本很高的(信息)供应链:它开放、互联、对等、全球化、去中心化——阿里巴巴副总裁高红冰信用去中心化没有“中介”的信用背书很难实现陌生人间的信用交易:银行,结算机构,淘宝…中心化带来的成本与日俱增能否在互联网中创造一种技术,这种技术在无法保证人们互相信任的前提下,还可以从事价值交换的活动?区块链技术中心化交易模式去中心化交易模式什么是区块链区块链是一个分布式公共账本,通过去中心化,去信任机制,链上信息不可篡改,集体维护的可靠数据库。区块链特点:•分布式——数据分布式存储,任一节点损坏或者失去都不会影响整个系统的运作•去中心化——无须依赖中心节点,基于P2P网络•去信任——参与整个系统中的每个节点之间进行数据交换是无需互相信任的,因为每个节点都有这个网络的所有数据。•信息不可篡改——破坏区块链系统需要攻击51%以上的节点•集体维护——系统中的数据块由整个系统中所有具有维护功能的节点来共同维护,而这些具有维护功能的节点是分布式的,任何人都可以参与。什么是区块?前一区块Hash时间戳随机数区块Hash难度版本号区块头MerkleRootTx1Hash1Hash12Hash1234Tx2Hash2Tx3Hash3Hash34Tx4Hash4交易数量区块体前一区块后一区块区块链技术-区块结构区块头1.版本号,标示软件及协议的相关版本信息2.父区块哈希值,引用的区块链中父区块头的哈希值,通过这个值每个区块才首尾相连组成了区块链,并且这个值对区块链的安全性起到了至关重要的作用3.Merkle根,这个值是由区块主体中所有交易的哈希值再逐级两两哈希计算出来的一个数值,主要用于检验一笔交易是否在这个区块中存在4.时间戳(Time),记录该区块产生的时间,精确到秒5.难度值(Bits),该区块相关数学题的难度目标6.随机数(Nonce),记录解密该区块相关数学题的答案的值区块链技术-区块形成在当前区块加入区块链后,所有矿工就立即开始下一个区块的生成工作。1.把在本地内存中的交易信息记录到区块主体中2.在区块主体中生成此区块中所有交易信息的Merkle树,把Merkle树根的值保存在区块头中3.把上一个刚刚生成的区块的区块头的数据通过SHA256算法生成一个哈希值填入到当前区块的父哈希值中4.把当前时间保存在时间戳字段中5.难度值字段会根据之前一段时间区块的平均生成时间进行调整以应对整个网络不断变化的整体计算总量,如果计算总量增长了,则系统会调高数学题的难度值,使得预期完成下一个区块的时间依然在一定时间内区块形成过程区块链技术——关键概念概念解释公钥相当于账号,全网每个节点都有一个公钥,别人付钱时都是付给这个公钥私钥相当于你的账号的身份证明,私钥可以解开公钥加密的数据,说明付款方确实是你。私钥必须妥善保存,一旦丢失,就丢失了账户内的所有数据也就是所有财产。交易节点之间发生的支付就是交易区块一段时间内的所有交易会打包成一个区块这个区块还会记录上一个区块的hash值,使得上一个区块不可篡改。区块会包含时间戳,这个时间戳解决了“双花”问题,也就是一个货币不能被支付两次,区块链技术中承认时间戳在前的交易的有效性。区块链由于每个区块都有上一个区块的hash值,造成每生成一个新区快,就会造成老区块的不可篡改,从而形成全部数据的不可篡改。记账权/挖矿所谓记账权,也就是比特币中的挖矿,其实就是把从上次区块生成后到现在为止的所有交易打包再打上时间戳,向全网公示,51%的节点确认区块有效则该区块就加入到区块链的末端,成为账本的一部分。由于不存在中心,所以记账权是全网争夺的,大家通过计算一道密码学难题,谁先解出来,并获得全网共识,谁就争夺到记账权。因为要鼓励大家参与记账,所以争夺到记账权会有报酬,就是若干比特币。共识机制就是所有分布式节之间怎么达成共识,通过算法来生成和更新数据,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。以比特币为例,采用的是“工作量证明”(ProofOfWork,简称POW)。工作量是需要算力的,通过工作量证明,有效的防止了篡改和伪造,因为如果要达到伪造和篡改的工作量,大概需要巨量成本的算力。区块链技术——加密原理公钥:信息的真实性私钥:信息的安全性非对称加密原理:私钥向全网证明“自己是自己”:全网节点虽然无法看到我的密码是什么,但要让他们都知道我确实拥有这一密码。常见的非对称加密算法包括RSA、Elgamal、D-H、ECC(椭圆曲线加密算法)等。区块链技术——共识机制古罗马帝国疆土辽阔,军队驻地远,只能依靠信使传递军令,战争时,将军们必须制定统一的行动计划,但是,军中有叛徒,叛徒希望通过影响统一行动计划的制定与传播,破坏忠诚的将军们的行动计划。因此,将军们必须有一个预定的方法协议,使得所有的将军达成一致,而且少数几个叛徒不能使得忠诚的将军做出错误的计划。也就是说拜占庭将军问题的实质是要寻找一个方法,使得在一个有叛徒的的非信任的环境中建立对战斗计划的共识。在分布式系统中,有正常的服务器(将军),有故障的服务器,也有破坏者的服务器(叛徒),共识算法的核心是在正常的节点间形成对等网络状态的共识。区块链技术——共识机制共识机制是指所有分布式节之间怎么达成共识,通过算法来生成和更新数据,去认定一个记录的有效性。指区块链系统中实现不同节点之间建立信任、获取权益的数学算法。PoW(工作量证明ProofofWork)依赖机器进行数学运算来获取记账权,所有节点都平等的计算一个数学难题,谁最先找到答案谁就获得记账权。全网算力形成区块链防火墙,降低被攻击风险。PoS(权益证明ProofofStake)股份制,通过持有币的数量和时间决定记账权。DPoS(股份授权证明DelegateProofofStake)民主议会制,通过选举决定记账权,被选中的代表在一定时间内依次具有记账权。PBFT(实用拜占庭容错PracticalByzantineFaultTolerance)拜占庭容错算法,通过数学算法实现,不需要代币,33%容错区块链技术——基础架构区块链技术——节点网络本章节后续内容,均以比特币网络特性展开阐述区块链技术——节点网络任何机器都可以运行一个完整的比特币节点,一个完整的比特币节点包括如下功能:1.钱包,允许用户在区块链网络上进行交易2.完整区块链,记录了所有交易历史,通过特殊的结构保证历史交易的安全性,并且用来验证新交易的合法性3.矿工,通过记录交易及解密数学题来生成新区块,如果成功可以赚取奖励4.路由功能,把其它节点传送过来的交易数据等信息再传送给更多的节点除了路由功能以外,其它的功能都不是必须的。区块链技术——交易过程区块链技术——交易过程第2步:A将交易单广播至全网,比特币就发送给了B,每个节点都将收到的交易信息纳入一个区块中第1步:所有者A利用他的私钥对前一次交易(比特货来源)和下一位所有者B签署一个数字签名,并将这个签名附加在这枚货币的末尾,制作成交易单要点:B以公钥作为接收方地址要点:对B而言,该枚比特币会即时显示在比特币钱包中,但直到区块确认成功后才可用。目前一笔比特币从支付到最终确认成功,得到6个区块确认之后才能真正确认到帐。区块链技术——交易过程第3步:每个节点通过解一道数学难题,从而去获得创建新区块权利,并争取得到比特币的奖励(新比特币会在此过程中产生)要点:节点反复尝试寻找一个数值,使得将该数值、区块链中最后一个区块的Hash值以及交易单三部分送入SHA256算法后能计算出散列值X(256位)满足一定条件(比如前20位均为0),即找到数学难题的解。由此可见,答案并不唯一第4步:当一个节点找到解时,它就向全网广播该区块记录的所有盖时间戳交易,并由全网其他节点核对要点:时间戳用来证实特定区块必然于某特定时间是的确存在的。比特币网络采取从5个以上节点获取时间,然后取中间值的方式作为时间戳。区块链技术——交易过程第5步:全网其他节点核对该区块记账的正确性,没有错误后他们将在该合法区块之后竞争下一个区块,这样就形成了一个合法记账的区块链。要点:每个区块的创建时间大约在10分钟。随着全网算力的不断变化,每个区块的产生时间会随算力增强而缩短、随算力减弱而延长。其原理是根据最近产生的2016个区块的时间差(约两周时间),自动调整每个区块的生成难度(比如减少或增加目标值中0的个数),使得每个区块的生成时间是10分钟。区块链技术——分叉问题在区块链中,由矿工挖出区块并将其链接到主链上,一般来讲同一时间内只产生一个区块,如果发生同一时间内有两个区块同时被生成的情况,就会在全网中出现两个长度相同、区块里的交易信息相同但矿工签名不同或者交易排序不同的区块链,这样的情况叫做分叉。不同高度的分支,总是接受最高(即最长)的那条分支•相同高度的,接受难度最大的•高度相同且难度一致的,接受时间最早的•若所有均相同,则按照从网络接受的顺序等待BlockChain高度增一,则重新选择BestChain“短块链”:被淘汰的分叉区,价值交换活动将被重新加入到交易列队池中区块链技术——双花问题“双花”问题51%攻击问题双花,即二重支付,指攻击者几乎同时将同一笔钱用作不同交易。区块链为每一笔交易加入了时间戳,使用了UTXO(未花费交易)模型,保证每一笔数字现金只会被花掉一次。51%攻击,是指利用PoW机制以算力作为竞争条件的特点,凭借算力优势篡改或者撤销自己的付款交易。如果有人掌握了50%以上的算力,他能够比其他人更快地找到开采区块需要的那个随机数,因此他能够比其他人更快地创建区块。当前比特币全网算力超过23000PH/s1P=1024T,1T=1024G,1G=1024M一台高端PC算力:1~2G一台蚂蚁S9矿机算力:13.5T,每天挖0.001BTC全网每天电费约3000万人民币区块链技术——优势与缺陷优势缺陷不可篡改的时间戳:可解决数据追踪与信息防伪问题去中心化的分布式结构:现实中可节省大量的中介成本安全的信任机制:可解决现今物联网技术的核心缺陷灵活的可编程特性:可帮助规范现有市场秩序高耗能问题数据库存储空间问题处理大规模交易的抗压能力问题安全性问题区块链——前景展望区块链1.0:可编程货币:去中心化的数字支付系统,无障碍的价值转换;代表:比特币区块链(电子货币,去中心化交易)区块链2.0:可编程金融:股票、清算、私募股权等众多金融领域;代表:以太坊区块链(智能合约、数字资产)区块链3.0:可编程社会:公证、仲裁、审计、物流、医疗、邮件等领域。区块链发展历程区块链——前景展望区块链1.0:可编程货币:去中心化的数字支付系统,无障碍的价值转换;代表:比特币区块链(电子货币,去中心化交易)区块链2.0:可编程金融:股票、清算、私募股权等众多金融领域;代表:以太坊区块链(智能合约、数字资产)区块链3.0:可编程社会:公证、仲裁、审计、物流、医疗、邮件等领域。区块链发展历程区块链——前景展望区块链生态系统区块链——前景展望区块链典型应用场景区块链——前景展望区块链项目融资情况谢谢涌泉金服