1、PART ONE 区块链技术概念互联网(Internet) 网络与网络之间所串连成的庞大网络,这些网络以一组标准的网络TCP/IP协议族相连,连接全世界几十亿个设备,形成逻辑上的单一巨大国际网络。 它是由从地方到全球范围内私人的、学术界的、企业的和政府的网络所构成,通过电子,无线和光纤网络技术等等一系列广泛的技术联系在一起。互联网价值体现 互联网价值体现在自身的数据与为其尺度的数字(虚拟)货币之上。一:互联网价值是通过数字货币来体现。二:互联网价值是对每一次流量所产生的价值计算,更加透明、精准的计算网络上真实流量信息价值。PART ONE 区块链技术概念互联网1.0 信息互联网信息互联网主要是
2、利用互联网技术完成信息的处理、存储和传输,完成信息资源的数字化。中国的“BAT”(百度、阿里巴巴和腾讯)典型的互联网企业,实际上做的都是信息传播的生意。互联网2.0 价值互联网价值互联网是互联网价值(数字货币或商品)基于区块链协议上,形成价值互联链,实现互联网价值的真实体现与透明转移。核心特征是实现资金、合约、数字化资产等价值的互联互通。PART ONE 区块链技术概念价值互联网发展历程(1)初步发展阶段: 价值互联网的雏形可以追溯到 20 世纪 90 年代,美国安全第一网络银行 (SFNB) 在 1996 年开始网上金融服务,中国在 1998 年也有了第一笔网络支付。 其后,很多金融机构借助
3、互联网技术来拓展支付业务,并出现了第三方支付、大数据金融、网络金融门户等模式,以互联网金融为代表的价值互联网相关产业不断发展,价值互联网特征逐渐显现。 尤其是 2010 年以来,随着互联网金融呈现爆发式增长,价值互联互通的范围和程度逐渐加大,价值互联网的规模和功能有了初步的发展。PART ONE 区块链技术概念互联网发展历程(2)全网发展阶段:区块链的出现,为价值互联网带来了新的发展空间,触发了一个新的发展阶段。可以说,在区块链出现之前,价值互联网处于一个非常初级的发展阶段,基本上是以一些中介化机构为中心的碎片化发展模式。而区块链在技术上具有去中心化、透明可信、自组织等特征,使得其应用更容易扩
4、散为全球范围内的无地域界限的应用,为价值互联网注入了新的内涵。随着应用的逐渐发展,区块链将推进形成规模化的、真正意义上的价值互联网。 PART ONE 区块链技术概念去中心化性价值互联网基于区块链之上,区块链基于数字货币交易与应用之上,去中心化特征是它的核心特征。匿名性价值互联网中的数字货币的转移,不需要注册与审核,而且通过设计好的程序加密传输,具有较强的匿名性特征,虽然帐本公开,流向可查,但由于比特币可以在全球流动,并可以在不同的交易平台来回交易,以及它本身具有的混币功能,单在比特币上的追踪,是非常困难的事情。支付便捷性价值互联网的价值转移不受时间和空间的限制,能够快捷方便且低成本的实现全球
5、资金的快速转移,整个支付过程更加便捷有效,虽不分距离近远可以达到近实时,远比中心化货币支付汇款快,另一个方面它所转移价值的成本极为低廉,不按价值大小。不可篡改性由于每一笔交易的发生,都需要区块链的认证,然后记入每一个比特币地址的帐本里,并有巨大的算力作为支撑,任何人是不能够篡改这本公开、透明的帐本,确保了使用者对数据了信任。可编程性由于软件本身的开源性,与区块链数据的可应用性,我们可以基于这本公开的帐本上面,做你想做的应用。价值互联网的主要特征PART THREE 区块链技术合约层数据层激励层网络层共识层以太坊合约的部署和调用PART THREE 区块链技术以太坊架构PART THREE 区块
6、链技术PART THREE 区块链技术PART THREE 区块链技术法律合规问题一旦使用区块链,而不是由地方机构签署服务,金融机构或者企业可能面临复杂的法律和合规问题。技术不成熟问题目前分布式账本的技术仍旧不成熟,并且未经更多行业应用证明。路线和标准不统一大型银行和服务提供商虽然形成一股区块链热,但技术路线较多,可能出现的情况是:不同机构或联盟各自获得了不同区块链的发展,但相互分割的不同类型的区块链又称为一个个“信息孤链”利益格局问题问题去中心化意味着现有格局的改变,但是这些中介机构都是大公司,具有巨大利益,他们没有主动变革的内在动力公共网络可持续维护区块链基本是开源的,大家共同参与软件的开
7、发和维护,但没有一个人在法律上有义务必须这么做区块滥用和泛用正确使用区块链来维护其作为价值交易网络的质量与信誉非常关键。一些天然适合区块链的应用场景却可能造成它声名狼藉,比如:博彩。PART TWO 目前大部分人已经认同,区块链是“价值互联网”的基础协议,其地位与当前“信息互联网”的HTTP协议相当,两者都是建立在TCP/IP协议之上的应用协议,同是互联网的两大基础协议,因而二者呈现一个互补的关系世界经济论坛正式对外发布白皮书实现区块链的潜力(Realizing the Potential of Blockchain),指出区块链(分布式账本技术)即将开创更具颠覆性与变革性的互联网时代。PAR
8、T TWO 区块链发展基石中本聪首次提出区块链的概念。第一个区块,被称为“创世区块”诞生,比特币称为区块链的首个应用。瑞波币协议系统发布,在比特币去中心化的思想基础上,创造了去中心化的支付和清算系统,利用区块链进行跨国转账,试图挑战国际银行间支付清算的SWIFT系统的地位3月,比特币区块链出现硬分叉,强迫大型矿池返回0.7旧版本后,分叉重新合并 ,问题被解决。 开始在比特币区块链基础上打造侧链,建立比特币区块链与其他类型区块链之间的连接;以太坊项目启动众筹,把区块链技术应用到货币以外的领域,用于对任何智能资产的注册、存储和交易;Tilecoin团队发布首个集成区块链技术的物联网实验设备进入区块
9、链发展元年,世界各地的银行、证券公司、投资机构开始进行区块链的应用测试。首届全球区块链峰会在上海举办。快速发展和传播,中国区块链技术和应用发展白皮书(2016)正式亮相,区块链技术终于迎来了第一个官方指导文件。7月,夏季达沃斯论坛辽宁举行,世界经济论坛正式对外发布白皮书实现区块链的潜力指出区块链(分布式账本技术)即将开创更具颠覆性与变革性的互联网时代。区块链相关的事件PART TWO 区块链什么?首先,区块链是一项技术 关键技术,P2P动态组网、基于密码学的共享账本、共识机制(拜占庭将军问题,即一种分布式场景下的一致性问题)智能合约技术等。第二,区块链是一个账务系统第三,区块链是一种互联网新系
10、统 从互联网经济角度看,区块链是网络空间中各类互联网资产的分布式管理系统,一段时间内任何数字化。智能化的资产的注册、存储和交易信息都被加密打包成区块,一个个区块相互链接形成分布式资产管理系统。 从货币学的角度看,区块链是数字货币系统的分布式共享账本系统,一段时间内的账务交易信息被加密打包成一个区块,盖上时间戳,一个个区块顺序链接形成一个账本,这是一个去中心化的、网内用户共同维护的账本系统。 总的来看区块链就是基于区块链技术形成的公共数据库(或公共账本)。PART TWO 区块链发展基石为什么说区块链被称作价值互联网基石?区块链符合互联网经济时代的一些基本特征:一是共享开放系统对所有参与者开放,
11、所有参与者都享有知情权,人人平等地享有这些区块信息。二是全民共识所有参与者对全网交易记录的事件顺序和当前状态建立共识,大家共同信任区块链机制。三是公平竞争谁的算力强或谁的股份大,谁就拥有记账的权利,谁就能获得更多收益。劳动创造财富,这一思想,在网络空间也得到了贯彻。四是真实完整每个交易数据都在大家的监督下被真实、完整地记录,有迹可循,证据充分。五是安全可靠所有数据都被加密,用密码学保证了数据的不可纂改性和不可伪造。通过复杂的校验机制,区块链能够保持数据的完整性、连续性和一致性,即使部分参与人作假也无法改变区块链的完整性,更无法篡改区块链中的数据。PART TWO 区块链发展基石拜占庭将军问题问
12、题描述: 一组拜占庭将军分别各率领一支军队共同围困一座城市。为了简化问题,将各支军队的行动策略限定为进攻或撤离两种。因为部分军队进攻部分军队撤离可能会造成灾难性后果,因此各位将军必须通过投票来达成一致策略,即所有军队一起进攻或所有军队一起撤离。因为各位将军分处城市不同方向,他们只能通过信使互相联系。在投票过程中每位将军都将自己投票给进攻还是撤退的信息通过信使分别通知其他所有将军,这样一来每位将军根据自己的投票和其他所有将军送来的信息就可以知道共同的投票结果而决定行动策略。 系统的问题在于,将军中可能出现叛徒,他们不仅可能向较为糟糕的策略投票,还可能选择性地发送投票信息。拜占庭将军问题是由著名计
13、算机科学家莱斯利.兰伯特(Leslie Lamport)在1982年提出的。该问题被用来研究分布式对等网络通信容错问题。PART TWO 区块链发展基石数学家替他们设计了一套算法,让将军在接到上一位将军的信息之后,加上自己的签名再转发给处发给自己信息之外的其他将军,在这样的信息连环周转后,让将军们得以在不找出叛徒的情况下达成共识,从而能保证得到的信息和做出的决策的是正确的。 区块链正是基于这一算法进行设计的。它构建在点对点通信网络(P2P)上,用非对称加密算法和时间戳实现将军们的“签名转发”机制,保证了区块链无须信任单个节点,却能创建共识网络。区块链不关心参与者是不是叛徒,每个参与者无须了解其
14、他人的背景资料,也无须借助第三方机构来担保或保证,但区块链技术保障了最后的共识结果是可信的。 区块链是用纯数学的方法来建立各方的信任关系,交易各个方信任关系的简历完全不需要借助第三方,建立信任关系的成本几乎降到了零。区块链的精髓。PART TWO 区块链发展基石区块链的分类:公共链(Public Blockchain)、联盟链(Consortium Blockchain)和私有连(Private Blockchain)公共链对外公开,用户不用注册就能匿名参与,无需授权即可访问网络和区块链。节点可选择自由出入网络。公共链上的区块可以被任何人查看,任何人也可以在公共链上发送交易,还可以随时参与网络
15、上形成共识的过程,即决定哪个区块可以加入区块链并记录当前的网络状态。联盟链仅限于联盟人员参与,区块链上的读写权限、参与记账权限按联盟规则来制定。由40多家银行参与的区块链联盟R3和Linux基金会支持的超级账本项目都属于联盟链架构。联盟链是一种需要注册许可的区块链,这种区块链也称为许可链。私有链仅在私有组织使用,区块链上的读写权限、参与记账权限按私有组织规则来制定。私有链的应用一般是企业内部的应用,如数据库管理、审计等。PART TWO 区块链发展基石去中心化性构建去中心化、去信任的机制,不再需要第三方的信用认证和担保机构,能够保证结果是可信的,坏人没有做机会做坏事。分布式共享区块链是一种分布
16、式记录、分布式存储、分布式协作、分布式维护的超级账本真实记录交易通过时间戳建立对历史交易事件的全程全员真实记录,每件事都有迹可循,且无法篡改一切资源可编程具有各类资产价值转移的可编程性,有利于建立数据资产的智能化管理的机制,让互联网世界的资产自动化、智能化管理、真正实现价值互联网络。构建分享经济新秩序建立分布式环境下竞合机制,共同协作、多劳多得、公平竞争,有利于建设分享经济的新秩序和新规则。区块链的应用价值PART TWO 区块链发展基石比特币和和区块链的关系?区块链是伴随比特币诞生的, 是比特币的基础技术架构。 可以将区块链理解为一个基于互联网的去中心化记账系统。区块链是比特币的底层技术,比
17、特币是一种区块链的典型应用。PART TWO 区块链发展基石1.数据区块 每一个数据块中记录了一组采用哈希算法组成的树状交易状态信息,这样保证了每个区块内的交易数据不可篡改,区块链里链接的区块也不可篡改。 比特币的交易记录会保存在数据区块中,比特币系统中大约每10分钟会产生一个区块,每个数据区块一般包含区块头部(Header)和去块体(Body)两部分.区块链的基本概念区块链的本质上是一个对等网络的分布式账本数据库,基础结构上讲就是“区块+链”。比特币的底层就采用了区块链的技术架构。PART TWO 区块链发展基石2.挖矿与分叉问题 所谓的挖矿,实际上是穷举随机数算法,把上个区块的哈希值加上1
18、0分钟内的全部交易单打包,在加上一个随机数,算出一个256位的字符串哈希值,输入的随机数Nonce使哈希值满足一定条件就获得这个区块的交易记账权。 新产生的区块需要快速广播出去,以便其他节点进行对其验证,以防造假。每个区块存着上一个区块的哈希值,可以溯源到源头,只要经过验证后才最终获得区块的记账交易权。 比特币系统会让挖矿的矿工竞争记账(在主链上链接区块的权利),这个竞争机制就是工作量证明机制。挖矿需要付出大量的能源和时间,谁付出的工作量多就能以更大的概率获得一个区块的记账权。获取记账权的矿工将当前区块链接到前一区块,形成最新的区块主链,该矿工也会得到系统奖励一定数量(2009年-2013年每
19、10分钟产生50个比特币,2014年至今每10分产生的比特币减半成25个)的比特币。所有的区块链接在一起形成了区块链的主链,从创世区块到当前区块,在区块链之上的所有数据历史都是可以追溯和查询的。区块链的基本概念PART TWO 区块链发展基石分叉问题 挖矿的时候可能会出现不同地区的两个矿工同时“挖出”两个新区块加以链接的情况,这时主链上就会出现“分叉”。系统并不会马上确认那个区块不合理,而是约定后续矿工总是选择累积工作量证明最大的区块链。因此,当主链分叉以后,后续区块的矿工将通过计算和比较,将其区块链接到当前累积工作量最大化的备选链上,形成更长的新主链,并自动抛弃分叉的短链,从而解决分叉问题。
20、区块链的基本概念PART TWO 区块链发展基石区块链的基本概念3.时间戳和不可篡改性 时间戳是指从格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数, 通常是一个字符序列, 唯一地标识某一刻的时间。 在比特币系统中, 获得记账权的节点在链接区块时需要在区块头中加盖时间戳, 用于记录当前区块数据的写入时间。 每一个随后区块中的时间戳都会对前一个时间戳进行增强, 形成一个时间递增的链条。 时间戳技术本身并没有多复杂, 但在区块链技术中应用时间戳却是一个重大创新, 时间戳为未来基于区块链的互联网和大数据增加了一个时间维度, 使得
21、数据更容易追溯, 重现历史也成为可能。 同时, 时间戳可以作为存在性证明(Proof ofExistence) 的重要参数, 它能够证实特定数据必然在某特定时刻是的确存在的, 这保证了区块链数据库是不可篡改和不可伪造的。PART TWO 区块链发展基石区块链的基本概念4.分布式数据库 比特币系统中的区块就像一个记账本一样, 记录了所有比特的交易信息, 每一个比特币用户的比特币收支情况都被永久地嵌入了数据区块中以供别人查询。 这些数据区块中的交易数据存放在每一个比特币用户的客户端节点中, 所有的这些节点则组成了比特币及其坚韧的分布式数据库系统。 任何一个节点的数据被破坏都不会影响整个数据库的正常
22、运转, 因为其他的健康节点中都保存了完整的数据库。PART TWO 区块链发展基石区块链的基本概念5.UTXO交易模式UTXO(Unspent Transaction Outputs) 是未花费的交易输出, 它是比特币交易过程中的基本单位。 除创世区块以外, 所有区块中的交易(Tx) 会存在若干个输入(Tx_in, 也称资金来源) 和若干个输出(Tx_out, 也称资金去向) , 创世区块和后来挖矿产生的区块中给矿工奖励的交易没有输入, 除此之外,在比特币系统中, 某笔交易的输入必须是另一笔交易未被使用的输出, 同时这笔输入也需要上一笔输出地址所对应的私钥进行签名。 当前整个区块链网络中的UT
23、XO会被储存在每个节点中, 只有满足了来源于UTXO和数字签名条件的交易才是合法的。 所以区块链系统中的新交易并不需要追溯整个交易历史, 就可以确认当前交易是否合法。PART TWO 区块链发展基石区块链的基本概念6.哈希函数哈希函数在比特币系统中也有着重要的应用, 区块链中的数据并不只是原始数据或者交易记录, 还包括它们的哈希函数值, 即将原始数据编码为特定长度的、 由数字和字母组成的字符串后, 记入区块链。哈希函数有着很多适合存储区块链数据的优点:1) 哈希函数处理过的数据是单向性的, 通过处理过的输出值几乎不可能计算出原始的输入值;2) 哈希函数处理不同长度的数据所耗费的时间是一致的,
24、输出值也是定长的;3) 哈希函数的输入值即使只相差一个字节, 输出值的结果也会迥然不同。比特币系统中最常采用的哈希函数是双SHA256哈希函数, 通俗来说就是将不同长度的原始数据用两次SHA256哈希函数进行处理, 再输出长度为256的二进制数字来进行统一的识别和存储。PART TWO 区块链发展基石区块链的基本概念7.Merkle树 Merkle树是数据结构中的一种树, 可以是二叉树, 也可以是多叉树, 它具有树结构的所有特点 比特币区块。链系统中的采用的是Merkle二叉树, 它的作用主要是快速归纳和校验区块数据的完整性, 它会将区块链中的数据分组进行哈希运算,向上不断递归运算产生新的哈希
25、节点, 最终只剩下一个Merkle根存入区块头中, 每个哈希节点总是包含两个相邻的数据块或其哈希值。 在比特币系统中使用Merkle树有诸多优点: 首先是极大地提高了区块链的运行效率和可扩展性, 使得区块头只需包含根哈希值而不必封装所有底层数据, 这使得哈希运算可以高效地运行在智能手机甚至物联网设备上; 其次是Merkle树可支持“简化支付验证协议”(SPV) , 即在不运行完整区块链网络节点的情况下, 也能够对交易数据进行检验。PART TWO 区块链发展基石区块链的基本概念8.双重支付 利用货币的数字特性用“同一笔钱”完成两次或者多次支付。 在传统的金融和货币体系中, 由于金钱货币是物理实
26、体具有客观唯一存在的属性, 所以可以避免双重支付的情况。 但在其他的电子货币系统中, 则需要可信的第三方管理机构提供保证。 区块链技术则在去中心化的系统中不借助任何第三方机构而只通过分布式节点之间的相互验证和共识机制, 有效地解决了双重支付问题, 在信息传输的同时完成了价值转移。 区块链技术通过区块链接形成的时间戳技术加上验证比特币是否满足UTXO(未花费交易) 和数字签名, 有效避免了双重支付的问题。 PART TWO 区块链发展基石区块链的基本概念9.P2P网络 P2P网络(peer-to-peer network, 对等网络) 是一种在对等者(peer) 之间分配任务和工作负载的分布式应
27、用架构, 是对等计算模型在应用层形成的一种组网或网络形式。 全节点的优点是进行数据校验时不需要依靠别的节点, 仅依靠自身就可以完成校验更新等操作, 缺点是硬件成本较高。 轻量级节点只需要存储部分数据信息, 当需要别的数据时可以通过简易支付验证方式(Simplified Payment Verification, SPV) 向邻近节点请求所需数据来完成验证更新。PART TWO 区块链发展基石区块链的基本概念10.加密算法 比特币系统中使用的就是一种非常典型的非对称加密算法椭圆曲线加密算法(ECC)。11.数字签名 数字签名就是在信息后面加上另一段内容, 作为发送者的证明并且证明信息没有被篡改。
28、 一般是发送者将信息用哈希算法处理得出一个哈希值, 然后用私钥对该哈希值进行加密, 得出一个签名。 然后发送者再将信息和签名一起发送给接收者。 接收者使用发送者的公钥对签名进行解密, 还原出哈希值, 再通过哈希算法来验证信息的哈希值和解密签名还原出来的哈希值是否一致, 从而可以鉴定信息是否来自发送者或验证信息是否被篡改。PART TWO 区块链发展基石区块链的基本概念12. 比特币的隐私模型比特币的隐私模型传统隐私模型准匿名机制1.02.03.0区块链架构演进智能合约、数字资产、各行业的应用电子现金、去中心化交易去中心化互联网,价值互联网,去中心化社会治理PART THREE 区块链技术应用层
29、数据层激励层网络层共识层3.1 区块链基础架构PART THREE 区块链技术PART THREE 区块链技术应用层数据层激励层网络层共识层3.1 区块链基础架构应用层:主要由客户端完成记账和转账的功能PART THREE 区块链技术应用层数据层激励层网络层共识层3.1 区块链基础架构发行机制,激励机制另一个激励的来源则是交易费 所有交易都需要支付手续费给记录区块的矿工,如果某笔交易的交易费不足,那么矿工将拒绝执行。 以比特币为例,所有的比特币均通过奖励给那些创建新区块的矿工的方式生产,该奖励大约每四年减半。目前比特币系统10分钟产生一个新区块,每个区块奖励12.5个比特币给矿工,这是货币发行
30、的方式。PART THREE 区块链技术应用层数据层激励层网络层共识层3.1 区块链基础架构共识机制 类似比特币这样的去中心化数字货币系统, 要求在没有中心节点的情况下保证各个诚实节点记账的一致性, 就需要区块链来完成。 所以区块链技术的核心是在没有中心控制的情况下, 在互相没有信任基础的个体之间就交易的合法性等达成共识的共识机制。PART THREE 区块链技术应用层数据层激励层网络层共识层3.1 区块链基础架构优点: 完全去中心化, 节点自由进出, 避免了建立和维护中心化信用机构的成本。 只要网络破坏者的算力不超过网络总算力的50%, 网络的交易状态就能达成一致。缺点: 目前比特币挖矿造成
31、大量的资源浪费;另外挖矿的激励机制也造成矿池算力的高度集中, 背离了当初去中心化设计的初衷。 更大的问题是PoW机制的共识达成的周期较长, 每秒只能最多做7笔交易, 不适合商业应用。PoW 工作证明类似比特币的挖矿机制, 矿工通过把网络尚未记录的现有交易打包到一个区块。然后不断遍历尝试来寻找一个随机数,使得新区块加上随机数的哈希值满足一定的难度条件, 例如前面10位是零。 找到满足条件的随机数, 就相当于确定了区块链最新的一个区块,也相当于获得了区块链的本轮记账权。 矿工把满足挖矿难度条件的区块在网络中广播出去, 全网其他节点在验证该区块满足挖矿难度条件, 同时区块里的交易数据符合协议规范后,
32、将各自把该区块链接到自己版本的区块链上, 从而在全网形成对当前网络状态的共识。PART THREE 区块链技术应用层数据层激励层网络层共识层3.1 区块链基础架构挖矿工作量证明SHA256(SHA256(Version+HashPreBlock+Merkle_root+Timestamp+Bits+Nonce)= 难度数难度数:目标哈希值,根据全网算力动态变化Nonce:矿工不断尝试的随机数,小于TargetHash的Nonce就是答案。Merkle Tree:一种哈希二叉树,使用它可以快速校验大规模数据的完整性。PART THREE 区块链技术应用层数据层激励层网络层共识层3.1 区块链基础
33、架构CPU挖矿显卡挖矿专用芯片矿机矿池PART THREE 区块链技术应用层数据层激励层网络层共识层3.1 区块链基础架构区块的间隔时间越短,包含的交易越少,浪费也越大,网络时延对区块链的稳定影响也越大,容易形成分叉。如果保证区块发布时间保持在10分钟。每完成2016个块,根据出块的平均时间调整一次难度。“双花”问题 如果有人用同一笔UTXO构造了两笔付给不同交易方的交易, 则比特币客户端只会转发最先被侦听到的那个。 矿工会选择将那笔交易包入未来区块, 当其中一笔交易所在的区块后有5个链接的区块, 这笔交易已经得到了6次确认。 在比特币区块链上, 6次确认后可以基本上保证比特币不被双花。51%
34、攻击并不能修改数据,但是可以产生“双花”攻击。为什么区块10分钟发布一次PART THREE 区块链技术应用层数据层激励层网络层共识层3.1 区块链基础架构 P2P网络又称点对点技术,是没有中心服务器、依靠用户群交换信息的互联网体系。P2P架构天生具有耐攻击、高容错的优点。由于服务是分散在各个节点之间进行的,部分结点或网络遭到破坏对其他部分的影响很小。实际就是我们经常下电影的BT技术。P2P网络 P2P网络每个节点以区块链的形式全量存储着所有的全部交易记录。PART THREE 区块链技术应用层数据层激励层网络层共识层3.1 区块链基础架构硬分叉问题PART THREE 区块链技术应用层数据层
35、激励层网络层共识层3.1 区块链基础架构非对称加密公钥和私钥成对出现,公钥公开,私钥保密。私钥加密的信息只有对应的公钥才能解密。公钥加密的信息只有对应的私钥才能解密。钱包地址生成PART THREE 区块链技术应用层数据层激励层网络层共识层3.1 区块链基础架构交易数据包含的信息矿工交易数据的验证PART THREE 区块链技术应用层数据层激励层网络层共识层3.1 区块链基础架构区块链的链接模型区块链本身其实就是一串链接的数据区块,其链接指针是采用密码学哈希算法对区块头进行处理所产生的区块头哈希值。PART THREE 区块链技术3.2 比特币区块链系统架构PART THREE 区块链技术3.
36、2 比特币区块链 区块链的交易并不是通常意义上的一手交钱一手交货的交易, 而是转账。 从生成到在网络中传播, 再到通过工作量证明、 整个网络节点验证, 最终记录到区块链, 就是区块链交易的整个生命周期。PART THREE 区块链技术3.2 比特币区块链1.交易的生成 所有者A利用他的私钥对前一次交易和下一位所有者B签署一个数字签名, 并将这个签名附加在这枚货币的末尾, 制作成交易单。2.交易的传播 A将交易单广播至全网, 每个节点都将收到的交易信息纳入一个区块中。3.工作量证明 每个节点通过相当于解一道数学题的工作量证明机制, 从而获得创建新区块的权力,并争取得到数字货币的奖励。PART T
37、HREE 区块链技术3.2 比特币区块链4.整个网络节点验证 当一个节点找到解时, 它就向全网广播该区块记录的所有盖时间戳交易, 并由全网其他节点核对。5.记录到区块链 全网其他节点核对该区块记账的正确性, 没有错误后他们将在该合法区块之后竞争下一个区块, 这样就形成了一个合法记账的区块链 。PART THREE 区块链技术3.2 比特币区块链比特币区块链的局限性:1、交易效率低和交易确认时间长的问题2、高能耗问题3、技术性能问题4、安全性问题 5、与货币金融体系融合的问题以比特币为代表的区块链1.0产生了很多应用,数字货币的存在已经渐渐为一部分人所接受。最多的行业应用是小额支付、外汇兑换、博
38、彩和洗钱。 但是随着应用的扩展,人们发现比特币的设计只适合虚拟货币场景,在很多区块链应用场景下并不适用。人们需要一个新的基于区块链的具有图灵完备性、 高效共识机制、 支持更多应用场景的智能合约开发平台。 以太坊在这种情况下应运而生。以太坊是区块链2.0时代的一个典型的代表。PART THREE 区块链技术3.3 区块链2.0架构应用层增加了智能合约缩短出块时间为15秒加入DPOS、POS和PBFT扩充了区块,支持发送数据和变量,采用优化的加密算法和Merkle树合约层数据层激励层网络层共识层PART THREE 区块链技术合约层数据层激励层网络层共识层3.3 区块链2.0架构 交易数据中加入了
39、Input data 交易数据中加入了Input dataPART THREE 区块链技术合约层数据层激励层网络层共识层3.3 区块链2.0架构简单来说,就是根据每个币的量和时间,给你发利息的制度。一个币每天产生1币龄。举例:你有100个币,总共持有30天,当你发现一个 PoS 区块,你的币龄就会被清空为0,同时,每清空365个币龄,获得0.05个币的利息(可以理解为年利率5%)。POS 股权证明算法优点: 在一定程度上缩短了共识达成的时间,降低了PoW机制的资源浪费。缺点: 破坏者对网络攻击的成本低, 网络的安全性有待验证。 另外拥有代币数量大的节点获得记账权的几率更大, 会使得网络的共识受
40、少数富裕账户支配, 从而失去公正性。PART THREE 区块链技术合约层数据层激励层网络层共识层3.3 区块链2.0架构由比特股提出。DPoS 机制是让 每一个持有 BTS(比特股的货币)的人对整个系统资源当代表的人进行投票。获得票数最多的101个代表将进行交易打包计算。对此,可以理解为有101个矿池,彼此权利完全对等。那些握着 BTS 选票的人可以随时通过投票更换这些代表,如果他们提供的算力不稳定或者利用手中的权利作恶,那些愤怒的选民们就会立刻把他踢出整个系统,而后背代表随时顶上去。DPoS 股份授权证明算法优点: 大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。缺点: 选举固定
41、数量的见证人作为记账候选人有可能不适合于完全去中心化的场景。 另外在网络节点数少的场景, 选举的见证人的代表性也不强。PART THREE 区块链技术应用层数据层激励层网络层共识层3.3 区块链2.0架构优点: 实现秒级的快速共识机制, 保证一致性。缺点: 去中心化程度不如公有链上的共识机制; 更适合多方参与的多中心商业模式。分布式一致性算法是基于传统的分布式一致性技术。 其中有分为解决拜占庭将军问题的拜占庭容错算法, 如PBFT。 另外解决非拜占庭问题的分布式一致性算法(Pasox、 Raft) 。 该类算法目前是联盟链和私有链链场景中常用的共识机制。PBFT证明算法PART THREE 区
42、块链技术合约层数据层激励层网络层共识层3.3 区块链2.0架构降低区块间隔到16秒,为防止分叉,加入叔伯块的奖励由于区块生成间隔时间太短,延迟2秒都会对整个网络的POW运算有很大影响,容易分叉,为鼓励维护主链,分叉的区块也有奖励。PART THREE 区块链技术合约层数据层激励层网络层共识层3.3 区块链2.0架构智能合约一种用计算机语言取代法律语言去记录条款的合约。PART THREE 区块链技术合约层数据层激励层网络层共识层3.3 区块链2.0架构智能合约是由事件驱动的、具有状态的、获得多方承认的、运行在一个可信、共享的区块链账本之上的。且能够根据预设条件自动处理账本上资产的程序。智能合约
43、的优势是利用程序算法替代人仲裁和执行合同。智能合约模型PART THREE 区块链技术合约层数据层激励层网络层共识层3.3 区块链2.0架构以太坊EVM以太坊中智能合约的运行环境。如果做比喻的话智能合约运行更像是JAVA程序,JAVA程序通过JAVA虚拟机(JVM)将代码解释字节进行执行,以太坊的智能合约通过以太坊虚拟机(EVM)解释成字节码进行执行。PART THREE 区块链技术合约层数据层激励层网络层共识层3.3 区块链2.0架构PART THREE 区块链技术合约层数据层激励层网络层共识层3.3 区块链2.0架构智能合约运行原理PART THREE 区块链技术合约层数据层激励层网络层共
44、识层3.3 区块链2.0架构RPC接口以太坊节点程序Geth在8545端口提供了JSON RPC API,数据传输采用JSON格式,可以执行Web3库的各种命令,可以向两端,比如Mist等图像化客户端提供区块链信息。智能合约相当于服务器后台,要实现与用户的友好体验,还需要一个前台页面,通过RPC接口与后台对接,实现网页访问,部署在服务器上,拥有完整的智能合约+前台交互界面的组合体,称为DAPP智能合约与其他IT系统对接智能合约与DAPPPART THREE 区块链技术合约层数据层激励层网络层共识层3.3 区块链2.0架构以太坊合约的部署和调用PART THREE 区块链技术3.3 区块链2.0
45、架构以太坊架构PART THREE 区块链技术3.3 区块链1.0与2.0对比区块链区块链1.0区块链区块链2.0非图灵完备,只能执行有限类型指令图灵完备不支持智能合约支持智能合约定位于某一应用,如支付网络定位于平台,可实现各种应用交易速度5-20TPS更快的交易速度,高达3000TPS比特币使用的算力超122029TH/s,相当于5000台天河2号A运算速度,每天耗电几十万人民币(估算)无资源消耗,支持POS,DPOS,PBFT等无消耗公式机制。PART THREE 区块链技术3.4 区块链3.0通用架构PART THREE 区块链技术3.5 区块链的主要应用PART THREE 区块链技术
46、3.6 区块链GartnerPART THREE 区块链技术3.7 区块链应用的障碍法律合规问题一旦使用区块链,而不是由地方机构签署服务,金融机构或者企业可能面临复杂的法律和合规问题。技术不成熟问题目前分布式账本的技术仍旧不成熟,并且未经更多行业应用证明。路线和标准不统一大型银行和服务提供商虽然形成一股区块链热,但技术路线较多,可能出现的情况是:不同机构或联盟各自获得了不同区块链的发展,但相互分割的不同类型的区块链又称为一个个“信息孤链”利益格局问题问题去中心化意味着现有格局的改变,但是这些中介机构都是大公司,具有巨大利益,他们没有主动变革的内在动力公共网络可持续维护区块链基本是开源的,大家共
47、同参与软件的开发和维护,但没有一个人在法律上有义务必须这么做区块滥用和泛用正确使用区块链来维护其作为价值交易网络的质量与信誉非常关键。一些天然适合区块链的应用场景却可能造成它声名狼藉,比如:博彩。PART FOUR 区块链未来展望4.1 区块链未来展望 第一代互联网TCP/IP协议的建立让整个社会的信息实现了自由传递。但是,在区块链出现之前,互联网尚未建立起让货币、资产或者更广泛的经济价值自由传递的机制。中心化的信用机制不足以支撑经济价值在互联网上的传递。区块链通过建立分布式账本,让信用去中心化,称为一个创造信任的机器。可以预期,区块链将有力推动构建价值互联网的底层基础协议,真正让互联网1.0升级为互联网2.0,从信息互联网走向价值互联网,让经济价值在互联网上自由传递。感谢聆听HAVE A NICE DAY!