区块链及其应用杨锋前言超级账本(hyperledger)是Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,目前拥有超过160多家全球知名企业和机构(大部分均为各自行业的领导者)会员,包括:IBM、荷兰银行(ABNAMRO)、埃森哲(Accenture)、日历、英特尔、R3、DAH、DTCC、FUJITSU、HITACHI、SWIFT、Cisco等国际巨头。以及30多家来自中国本土的企业,例如:百度、阿里、腾讯、京东、万达、华为等。超级账本(hyperledger)2区块链核心技术1区块链简介4展望与讨论3区块链应用目录区块链(BLOCKCHAIN)是一种共享的分布式账本技术。是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。从数据的角度来看区块链是一种几乎不可能被更改的分布式数据库。这里的“分布式”不仅体现为数据的分布式存储,也体现为数据的分布式记录(即由系统参与者共同维护)。从技术的角度来看区块链并不是一种单一的技术,而是多种技术整合的结果。这些技术以新的结构组合在一起,形成了一种新的数据记录、存储和表达的方式。1.1定义去中心化不可篡改,可追溯开放、共识交易透明双方匿名1.2特征去中心化在一个分布有众多节点的系统中,每个节点都具有高度自治的特征。节点之间彼此可以自由连接,形成新的连接单元。任何一个节点都可能成为阶段性的中心,但不具备强制性的中心控制功能。节点与节点之间的影响,会通过网络而形成非线性因果关系。这种开放式、扁平化、平等性的系统现象或结构,我们称之为去中心化。1.2特征开放,共识任何人都可以参与到区块链网络,每一台设备都能作为一个节点,每个节点都允许获得一份完整的数据库拷贝。节点间基于一套共识机制,通过竞争计算共同维护整个区块链。任一节点失效,其余节点仍能正常工作。1.2特征交易透明,双方匿名区块链的运行规则是公开透明的,所有的数据信息也是公开的,因此每一笔交易都对所有节点可见。由于节点与节点之间是去信任的,因此节点之间无需公开身份,每个参与的节点都是匿名的。1.2特征不可篡改,可追溯单个甚至多个节点对数据库的修改无法影响其他节点的数据库,除非能控制整个网络中超过51%的节点同时修改,这几乎不可能发生。区块链中的每一笔交易都通过密码学方法与相邻两个区块串联,因此可以追溯到任何一笔交易的前世今生。1.2特征公有链无官方组织及管理机构,无中心服务器,参与的节点按照系统规则自由接入网络、不受控制,节点间基于共识机制开展工作。私有链建立在某个企业内部,系统的运作规则根据企业要求进行设定,修改甚至是读取权限仅限于少数节点,同时仍保留着区块链的真实性和部分去中心化的特性。联盟链由若干机构联合发起,介于公有链和私有链之间,兼具部分去中心化的特性。1.3分类分类公有链私有链联盟链参与者任何人组织内部联盟成员共识机制PoW/PoS/DPoS分布式一致性算法分布式一致性算法记账人所有参与者自定义联盟成员协商确定中心化程度去中心化多中心化多中心化突出特点信用的自建立透明和可追溯效率和成本优先典型应用虚拟货币审计、发行支付、结算对比分析1.3分类2核心技术多个参与方之间基于现代密码学、共识机制、点对点网络通信技术和智能合约编程语言等形成的数据交换、处理和存储的技术组合。脚本代码EVM发行机制分配机制PoWPoSDPoS分布式一致性算法P2P技术传播机制验证机制区块+链哈希函数Merkle树非对称加密数字签名数据层网络层共识层激励层合约层2.1数据层区块链以区块为单位组织数据。全网所有的交易记录都以交易单的形式存储在全网唯一的区块链中。核心技术之:区块+链区块是一种记录交易的数据结构。每个区块由区块头和区块主体组成,区块主体只负责记录前一段时间内的所有交易信息,区块链的大部分功能都由区块头实现。核心技术之:区块+链2.1数据层核心技术之:哈希函数Hash哈希函数可将任意长度的资料经由Hash算法转换为一组固定长度的代码,原理是基于一种密码学上的单向哈希函数,这种函数很容易被验证,但是却很难破解。y=hash(x)特点:相同的数据输入将得到相同的结果。输入数据只要稍有变化(比如一个1变成了0)则将得到一个完全不同的结果,且结果无法事先预知。正向计算十分容易,逆向计算(破解)极其困难,在当前科技条件下被视作不可能。2.1数据层核心技术之:Merkle树Merkle树是一种哈希二叉树,使用它可以快速校验大规模数据的完整性。在区块链网络中,Merkle树被用来归纳一个区块中的所有交易信息,最终生成这个区块所有交易信息的一个统一的哈希值,区块中任何一笔交易信息的改变都会使得Merkle树改变。2.1数据层核心技术之:非对称加密算法非对称加密算法是一种密钥的保密方法,需要两个密钥:公钥和私钥,公钥与私钥是一对。如果用公钥对数据进行加密,只有用对应的私钥才能解密,从而获取对应的数据价值;如果用私钥对数据进行签名,那么只有用对应的公钥才能验证签名,验证信息的发出者是私钥持有者。2.1数据层2.1网络层核心技术之:P2P网络P2P网络,又称点对点技术,是没有中心服务器、依靠用户群交换信息的互联网体系。与有中心服务器的中央网络系统不同,对等网络的每个用户端既是一个节点,也有服务器的功能。特点去中心化:网络中的资源和服务分散在所有结点上,信息的传输和服务的实现都直接在结点之间进行,可以无需中间环节和服务器的介入。健壮性:P2P架构天生具有耐攻击、高容错的优点。由于服务是分散在各个结点之间进行的,部分结点或网络遭到破坏对其它部分的影响很小。2.1共识层核心技术之:共识机制共识机制,就是所有记账节点之间如何达成共识,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。目前主要有四大类共识机制:PoW、PoS、DPoS和分布式一致性算法。PoW(ProofofWork,工作量证明)DPoS(DelegatedProof-Of-Stake,股份授权证明)PoS(ProofofStake,权益证明)分布式一致性算法2.1激励层核心技术之:发行机制和激励机制以比特币为例。比特币最开始由系统奖励给那些创建新区块的矿工,该奖励大约每四年减半。刚开始每记录一个新区块,奖励矿工50个比特币,该奖励大约每四年减半。依次类推,到公元2140年左右,新创建区块就没有系统所给予的奖励了。届时比特币全量约为2100万个,这就是比特币的总量,所以不会无限增加下去。另外一个激励的来源则是交易费。新创建区块没有系统的奖励时,矿工的收益会由系统奖励变为收取交易手续费。例如,你在转账时可以指定其中1%作为手续费支付给记录区块的矿工。如果某笔交易的输出值小于输入值,那么差额就是交易费,该交易费将被增加到该区块的激励中。只要既定数量的电子货币已经进入流通,那么激励机制就可以逐渐转换为完全依靠交易费,那么就不必再发行新的货币。2.1合约层核心技术之:智能合约智能合约是一组情景应对型的程序化规则和逻辑,是通过部署在区块链上的去中心化、可信共享的脚本代码实现的。通常情况下,智能合约经各方签署后,以程序代码的形式附着在区块链数据上,经P2P网络传播和节点验证后记入区块链的特定区块中。智能合约封装了预定义的若干状态及转换规则、触发合约执行的情景、特定情景下的应对行动等。区块链可实时监控智能合约的状态,并通过核查外部数据源、确认满足特定触发条件后激活并执行合约。3区块链应用区块链应用的三个阶段(领域)从2008年的比特币开始,区块链经历了可编程货币、可编程金融与可编程社会三大应用时代,其应用范围逐步扩展到社会生活的方方面面。货币Currency货币的币值调节机制货币的分配机制货币的发行机制可编程货币可编程金融股权、股票博彩证券与金融合约互助保险权利登记、转让防伪智能合约合约Contract治理Governance可编程社会身份认证健康管理公证、见证司法仲裁供应链投票人工智能去中心化自治组织物联网目前区块链技术最广泛、最成功的运用是以比特币为代表的数字货币。自比特币诞生以后,已经陆续出现了数百种的数字货币,围绕着数字货币生成、存储、交易形成了较为庞大的产业链生态。以比特币为例,参与机构主要可分为基础设施、交易平台、ICO融资服务、区块链综合服务等四类。3.1可编程货币数字货币金融:(1)减少中间环节,降低交易成本,提高交易效率,简化大量手工金融服务流程;(2)提升数据安全性。交易时间长、过程繁琐区块链:方便、快捷2016年8月,微众银行联合上海华瑞银行推出微粒贷机构间对账平台,这也是国内首个在生产环境中运行的银行业联盟链应用场景。随后,洛阳银行、长沙银行也相继接入机构间对账平台,通过区块链技术,优化微粒贷业务中的机构间对账流程,实现了准实时对账、提高运营效率、降低运营成本等目标。3.2可编程金融跨境支付:以第三方支付公司为中心,记账周期长,交易手续费高。在这一领域,Ripple支付体系已经开始了实验性应用,主要为加氟联盟的成员商业银行和其他金融机构提供基于区块链协议的外汇转账方案。国内金融机构中,招商银行落地了首个区块链跨境支付应用,民生银行、中国银行等也在推进项目。数字票据:风险一,系统中心化,一旦中心服务器出问题,整个市场瘫痪;二、市场风险;三、道德风险。国际区块链联盟R3联合以太坊、微软研发了一套基于区块链的商业票据交易系统。3.2可编程金融资产证券化区块链去中介化、共识机制、不可篡改的特点,增加数据流转效率,减少成本,实时监控资产的真实情况,保证交易链条各方机构对底层资产的信任问题。目前,欧美各大金融机构和交易所都在开展区块链技术在证券交易方面的应用研究,探索利用区块链技术提升交易和结算效率。纳斯达克证券交易所目前已正式上线了FLinq区块链私募证券交易平台。此外,纽交所、澳洲交易所、韩国交易所也在积极推进区块链技术的探索与实践。国内多家金融机构、百度、京东、蚂蚁金服等也在积极推进基于区块链技术的资产证券化业务,其中百度金融先后与华能信托、长安新生等落地了国内首单区块链技术支持证券化项目和区块链技术支持交易所ABS项目。3.2可编程金融保险业务个人的健康状况、事故记录等信息可能会上传至区块链中,使保险公司在客户投保时可以更加及时、准确地获得风险信息,从而降低核保成本、提升效率。目前,英国的区块链初创公司Edgelogic正与Aviva保险公司进行合作,共同探索对珍贵宝石提供基于区块链技术的保险服务。国内的阳光保险于2016年采用区块链技术作为底层技术架构,推出了“阳光贝”积分,成为国内第一家落地区块链应用的保险公司。中国平安、众安保险、中国人寿等多家保险公司也在推进区块链技术应用落地。3.2可编程金融医疗:病例数据掌握者是患者,而不是某个医院或第三方机构方便病人可以跨医院就医,并且可以做健康规划电子健康病例(EHR)、DNA钱包、药品防伪等都是区块链技术可能的应用领域。目前,国外如飞利浦医疗、Gem等医疗巨头和Google、IBM等科技巨头都在积极探索区块链技术的医疗应用,也有Factom、BitHealth、BlockVerify、DNA.Bits、Bitfury等区块链技术公司参与其中。国内,阿里健康与常州市合作了医联体+区块链试点项目,众享比特、边界智能等区块链技术创业公司也在布局相关项目。3.3可编程社会在国外,欧洲能源巨头TenneT、Sonnen、Vandebron也在与IBM合作运用区块链技术,将分布式弹性能源整合至电网,以确保供电平衡。纽约初创LO3Energy和ConsenSys合作,在纽约布鲁克林区实现了一个点对点交易、自动化执行、无第三方中介的能源交易平台,实现了10个住户之间的能源交易和共享。国内也有一家能源区块链初创企业EnergoLabs,提供基于微电网和区块链的P2P清洁能源生产和交易平台及解决方案,目前在菲律宾已经有落地的试点项目。3.3可编程社会分布式能源的发展带来的一个问题是微电网的管理以及与现有的中央电网之间如何平衡。区块链具有分布式账本和智能化的合约体系功能,能够将能源流、资金