中国区块链应用发展动态

2019-08-30 14:08:31 caoyu 55

图片关键词


 

目  录


总 报 告

第一章 兴未艾的中国区块链动态 

一、 中国区块链应用发展基本状况 

二、中国区块链产业发展主要特征 

三、区块链技术高速发展对中国经济的影响 

四 中国区块链技术及应用的挑战与发展机遇 

技 术 篇

第二章 区块链共识机制演进及应用 

一、概述 

二 传统分布式系统一致性问题 

三、 区块链共识机制及其应用 

四、区块链共识机制发展趋势 

五、总结与展望 

第三章 区块链智能合约及其应用详解 

一、智能合约技术概述 

二、智能合约应用介绍 

第四章 区块链技术与应用安全分析报告 

一、区块链安全问题 

二、区块链安全模型与分析 

三、区块链隐私泄露问题 

四、结束语 

第五章 区块链技术与新一代信息技术创新融合的价值、方法与挑战 

一、区块链概述 

二、 区块链与新一代信息技术的融合创新 

三、区块链与新一代信息技术融合面临的挑战 

四、发展建议 

行 业 篇

第六章 “区块链+医疗”技术应用研究报告 

一、目前医疗行业存在的问题以及区块链与医疗行业的结合点 

二、医疗区块链市场布局 

三、“区块链+医疗”案例 

案例一:区块链电子病历 

案例二:“区块链+健康证” 

案例三:医时间(基于特定疾病的用药反馈社群) 

案例四:废弃医疗器械追溯 

案例五:互联网的互助计划 

四、医疗区块链发展趋势及建议 

第七章 “区块链+溯源”打造溯源产业新生态 

一、传统溯源的痛点 

二、“区块链+溯源”应用的特点 

三、典型案例分析 

四、发展趋势 


中国区块链发展动态

总 报 告

第一章 兴未艾的中国区块链动态


当前,人类社会正在进入以数字化生产、服务为主要标志的新阶段。伴随互联网、云计算、大数据、区块链等新一代信息技术的创新发展,新一轮科技革命和产业变革正在改变着各行各业,以数据为底层要素的新技术已成为推动数字经济和经济增长的重要引擎,甚至成为影响全球竞争格局的核心力量。

数字经济正深刻地改变着人类的生产和生活方式,成了经济增长的新动能。区块链作为一项由“信息互联网”向“价值互联网”变迁的颠覆性技术,正在引领全球新一轮技术变革和产业变革。近年来,区块链技术在全球范围内备受关注。各国政府在区块链领域积极发力,制定相关政策,企图抢占下一个产业创新的制高点。2018年5月,习近平总书记在中国科学院第十九次院士大会、中国工程院第十四次院士大会上发表指示,将区块链与人工智能、量子信息、移动通信、物联网等并列为新一代信息技术代表。

区块链是一种由多方共同维护、分布式存储的记账技术,具有不可篡改、可溯源、安全可信等特点,已在全球范围引起一场新的产业变革。随着区块链技术的成熟,其应用场景逐渐由金融领域扩充至全领域,未来,有望重塑各行各业的产业形态和人类社会活动形态。

目前,区块链还处于行业发展初期,技术、应用、政策等标准还在加速构建,由于缺乏有效的监管措施,市场上也存在打着区块链旗号,通过发行“虚拟货币”“虚拟资产”“数字资产”等方式吸收资金,进行非法集资、扰乱行业秩序的现象。2017年9月,央行等七部门联合发布《关于防范代币发行融资风险的公告》,要求即日起停止各类代币发行融资活动,已完成代币发行融资的组织和个人做出清退等安排。2018年8月24日,中国银保监会、中央网信办、公安部、中国人民银行和国家市场监管总局联合发布《关于防范以“虚拟货币”“区块链”名义进行风险集资的风险提示》,对炒作区块链概念行非法集资、传销、诈骗之实的项目予以严厉打击。

随着监管政策的进一步出台,区块链行业深度洗牌,逐渐规范,并慢慢回归良性发展态势,那些以诈骗为目的、没有核心技术支撑的区块链项目大量死亡。市场趋于规范,区块链项目开始更深入地探索技术创新、基础设施建设、政策研究,以及应用场景深层落地。目前,区块链技术的快速发展和广泛应用引起了政府部门、金融机构、科技企业和资本市场的广泛关注。除金融领域外,区块链的应用已延伸到共享经济、社会治理、公益慈善、物联网、供应链管理、农产品溯源、文化创意、传媒、司法、医疗健康等多个领域。

一、 中国区块链应用发展基本状况

近年来,在中国经济数字化转型的背景下,区块链技术快速发展与普及,区块链技术的研究与应用已由初期概念阶段进入大规模实际应用阶段,并被认为是继蒸汽机、电力、互联网之后的下一代科技创新革命,将深刻改变经济、金融、工业、农业等各领域。各国政府都在不同程度上对区块链进行发力。很多企业也在大力投入区块链技术研发和应用实践,比如百度、阿里巴巴、腾讯、蚂蚁金服、IBM、微软、华为、京东、迅雷、网易等都推出了自身的区块链底层应用平台,并加大技术投入力度,力图布局区块链,探索区块链的应用落地。

目前,我国对区块链技术高度关注并加大了对产业的扶持力度,区块链技术落地的场景已从金融领域向实体经济领域延伸,覆盖了身份认证、溯源、能源、版权、共享经济、公益慈善、泛娱乐等非金融领域场景。未来,区块链技术将继续在更多产业场景中得到应用,与实体经济产业深度融合,产业区块链将会快速发展。

(一)中国区块链应用项目正在经历一次深度“过滤”

从数字资产市场角度来看,2017年以来,随着比特币、以太币等各类加密货币价格的暴涨,区块链的财富效应开始为市场所关注,市场出现了大量的ICO、“空气币”项目。2017年,数字资产市场经历了爆发式增长,总市值从年初的177.4亿美元暴涨至年末的5597.6亿美元,增长了30倍,超越了其他任何一类资产的回报。然而,2018年后,数字资产市场掉转风向,价格剧烈回撤,截至12月31日,总市值约为1300亿美元,整体市场缩水超80%。

从区块链ICO项目来看,第三方大数据评级机构RatingToken的数据显示,2018年上半年,全球新增区块链ICO项目2183个。金融服务行业依然是区块链项目最为集中的领域,项目占比达22.6%;商业和物流行业紧随其后,项目占比为17.4%。2018年一级市场共有947个项目完成众筹,而在2018年下半年,只有20个项目成功完成众筹。

受全球监管政策的影响,全球数字资产合规化进程快速推进。我国早在2017年9月就禁止市场上通过发行数字货币进行集资或诈骗等活动。但技术本身是中性的,可以支持下一代金融科技和诸多场景的信任机制变革、效率变革、质量变革,还可以作为监管利器,以“链”治“链”。英国在数字资产合规化方面探索比较积极,已提出产业沙盒、保护伞沙盒、监管沙盒等方式解决区块链市场合规化问题。目前,我国数字资产还处在早期合规探索阶段。

从区块链项目落地情况来看,目前,中国区块链项目共计1787个,其中,区块链行业应用项目共有843个,占比为47.2%。金融领域是区块链技术影响最大的领域,占到所有行业应用项目的56%,区块链社交项目占比为7.3%,区块链文娱项目占比为6.7%。

数字货币项目有536个,占比为29.9%,这些项目又分为虚拟数字货币、数字货币交易平台、数字货币挖矿产业、数字钱包、数字货币投资等,其中虚拟数字货币占所有数字货币项目的49.4%。

另外,区块链信息服务及社区项目占比为10.6%,区块链应用技术项目(包括智能合约、数据服务、信息安全、区块链硬件、区块链工具等)占9.1%,区块链基础技术类项目(包括区块链底层技术、身份验证、支付结算、匿名技术、区块链BaaS服务等)占3.1%。

从项目融资情况来看,2018年区块链行业投资数量达到314起,投资金额达192多亿元,不管是投资数量还是投资总额都在2017~2018年达到了顶峰。2018~2019年,投资数量和投资总额骤减(见图1.1)。

图片关键词 

图1.1 2013~2019年中国区块链投资金额及数量

清华大学互联网产业研究院发布的《区块链技术应用白皮书2018》显示,截至2018年11月底,2018年区块链融资项目数呈先上升后下降的趋势。第一季度融资项目占比为19.18%,第二季度新增项目占比为31.60%,第三季度新增项目占比为34.42%,进入8月,区块链项目融资情况明显下滑(见图1.2)。

图片关键词 

图1.2 2018年区块链项目融资数量占比

从融资进展来看,截至2018年11月底,除战略投资,初创期投资轮次(B轮以前)占比达到77%外,行业发展依然处于早期阶段。被投项目中轮次最多的为天使轮,共有170个项目,占比为39%;轮次占比最低的类别为基石轮,仅占1%。除此之外,战略投资所占比例达到17%,且多有行业先行者共同参投,依然在行业内开辟道路(见图1.3)。

图片关键词 

图1.3 2018年区块链项目融资进展占比

(二)公链瓶颈明显,DAPP数量和用户数量初有成效

公链是区块链发展的前提和基础,是区块链技术的底层架构,也是众多区块链应用的操作系统。2018年被称为“公链元年”,自以太坊后,底层公链逐渐变得炙手可热,它提供了一个“底层公链—解决方案—项目应用”的逻辑,受到区块链业界的诸多青睐。而后,越来越多的底层公链项目出现,到了2018年,更是呈现井喷之势。

目前,区块链的发展现状是底层公链的性能尚有诸多技术瓶颈,在这些公链上构建的各类DAPP严重受限于性能、安全性,以及区块链和真实资产、价值的关联性,因而大规模商业应用难以展开。

DAPP是搭载在公链的应用程序。与建立在IOS系统或者Android系统上的APP不同,DAPP是建立在底层区块链开发平台和共识机制上的分布式应用,具备区块链去中心化、不可篡改的特征。

DAPP.com在2019年1月15日发布的《2018年DAPP市场报道》显示,DAPP在2018年的用户数接近150万,其中ETH链上的用户数最多,达到80万(但与规模型平台用户数量相比还相去甚远)。

自2009年比特币网络成功运行以来,区块链各类技术得到了较好的发展,尤其是从2017年至今,区块链技术应用发展成果明显,各行各业都开始将区块链技术与实体经济结合,并在各领域不断进行场景化落地尝试,DAPP应用持续推陈出新。

当前,以太坊平台受到诸多开发者的认可与追捧,他们基于该平台持续进行技术落地创新,DAPP不断涌现。据统计,截至2018年12月10日,基于以太坊开发的DAPP共计1391个,但单个DAPP 24小时最高活跃用户仅为754位,其中较为知名的有世界首款区块链游戏CryptoKitties、以太坊钱包imtoken、社交聊天应用YeeCall等。除以太坊外,其他底层平台也陆续衍生出了各具特色的应用生态,拥有各自典型的DAPP,如基于Steem平台的Steemit、基于迅雷链的玩客云等。

总体来看,目前,DAPP发展仍处于初步探索时期。绝大多数DAPP在产品设计上尚未成熟。在DAPP应用方面,以游戏类和竞猜类居多,市场上暂未出现杀手级的、可以承载大量用户的DAPP,用户体量相对较小。

(三)应用场景向更宽领域和更深层次拓展,区块链与实体经济融合更加紧密

金融领域是区块链应用的最大场景,过去一年里,区块链在金融领域的应用逐渐成熟,供应链金融、支付清结算、证券、风控与征信等诸多金融细分领域都开始与区块链技术深度融合。很多银行、投资机构、券商、互联网金融都开始研究或者使用区块链技术,不少银行、金融机构与科技巨头开展合作,采用区块链技术对业务进行优化和升级。

汇丰银行、桑坦德银行、德意志银行、比利时联合银行、法国外贸银行、法国兴业银行、北欧银行、荷兰合作银行和意大利联合信贷银行基于IBM超级账本项目(Hyperledger)联合创立了we.trade区块链跨境金融交易平台。2018年8月全国首张区块链电子发票在深圳落地,当前深圳市税务局区块链电子发票的试点范围已由银行、餐饮、零售、物业、游戏行业扩大至基金行业。

在风控和征信方面,北京市网贷行业协会曾发布X-credit信息共享系统,该系统引入了区块链技术,使用区块链记录关键环节,以解决机构间的“数据孤岛”问题,以及网贷行业中的多头借贷和反欺诈问题。中国银联与京东金融发起的互联网金融支付安全联盟风险信息共享(分布式查询)平台也利用区块链技术建立机构间去中心化数据共享协议,以解决数据安全、数据质量、数据交易效率等问题。

在跨境支付方面,中国银行通过区块链跨境支付系统,成功完成河北雄安与韩国首尔两地间客户的美元国际汇款。支付宝香港也通过基于电子钱包的区块链跨境汇款服务,使其用户可以通过区块链技术给菲律宾用户转账,并由渣打银行负责日终的资金清算以及外汇兑换,使得跨境汇款能像境内转账一样秒到账。

近年来,区块链技术逐渐从金融领域向非金融领域渗透,不断尝试与各种业态的结合,现已应用于版权保护、产品溯源、游戏、公益、电商、医疗、房产等多个行业(见图1.4)。

图片关键词 

图1.4 区块链由金融领域应用扩充至实体经济和新兴领域概览

近年来,中国区块链已经从以比特币为代表的数字货币应用、以以太坊为代表的智能合约区块链,发展到能够满足更加复杂的商业逻辑的深度应用阶段。研究人员普遍认为,比特币代表了区块链1.0时代的应用,主要集中在虚拟货币领域;区块链2.0时代则是区块链技术在其他金融领域的运用,例如银行结算、跨境支付、征信等;在区块链3.0时代,区块链和智能合约的应用将覆盖人类社会生产生活的方方面面,不再依靠第三方或中心机构获得信任或建立信用,而在各类社会活动中实现信息的自证明和共享,包括在司法、医疗、物流等各个领域。

在2018年下半年,部分技术服务类项目将区块链与人工智能及其他新兴技术相结合,借助新技术对文化娱乐、医疗健康、能源、零售等数字化程度较高的行业进行改造。

到目前为止,中国区块链应用已经从单一的数字货币应用延伸至经济社会的各个领域,赋能实体经济,助力经济高质量发展。据IT桔子数据,在843个区块链应用项目中,区块链项目数量从多到少的应用领域依次是金融、社交、文娱、游戏、物联网、物流、公益、医疗、法律、不动产、能源、汽车交通、农业等。

从区块链的大量应用项目中我们发现,区块链技术去中心化、数据可信、不可篡改、可溯源等特性,以及应用项目的安全性、稳定性、易用性等是其能够广泛应用的关键。

而在具体的应用方面,我们发现,那些信任成本偏高、涉及产品的生产流通、对信息共识需求较大的场景都可以通过区块链技术对原有业务进行重塑。

随着区块链技术的发展、基础平台和支撑环境的不断成熟,区块链正在扩展到更多的应用领域,“区块链+某领域”的概念也将广泛兴起,区块链技术对实体经济的价值正在凸显。

在零售方面,区块链主要通过影响零售业的物流、供应链等来影响零售业态。比如,在2018年3月,沃尔玛通过区块链技术开发智能包裹(smart package),利用区块链技术完善更智能的包裹交付追踪系统,记录包裹信息(比如包裹内容、环境条件、位置信息等)。在供应端,利用区块链技术,可以分布式记录商品的全链路过程。生产、运输、通关、报检、第三方检验等信息,全部得到加密确证,不仅不可更改,每个流程还能做到清晰可追踪、可监控。

在版权方面,区块链具备的信息可验证、可追溯、不可篡改的技术特性,为版权相关方在数字网络环境下的确权、授权和维权等提供了技术支撑。2019年3月,迅雷区块链为中国版权保护中心搭建的DCI标准联盟链体系发布。该联盟链联合国内多家头部互联网平台,诸如新浪微博、京东AR\VR、阿里巴巴口碑、中国司法大数据研究院、美素创意、广联达、中国报业版权服务中心、妹夫家、文旗天下、安妮股份等。在DCI标准联盟链上,创作者在内容平台生成的内容可瞬间完成登记和确权,快速实现内容上链。该联盟链的成员每天处理的版权信息量巨大,因此对区块链性能要求较高。迅雷区块链利用技术性能优势,为DCI体系与区块链的结合提供了强有力的底层技术支撑。首先,在登记确权的过程中,迅雷区块链会瞬时记录下全部痕迹,并可轻松追溯它的全过程,直至源头。这一点,轻松解决了人工追溯的烦琐问题,而且其正确性、可信度和取证效率都是其他方式不可比拟的。其次,区块链对原始信息使用了加密技术以及电子签名技术,从技术上对版权信息做进一步的验证处理,这为取证提供了更加有效的技术手段。同时,区块链还可轻松应对DCI版权信息登记瞬时高并发、业务量激增以及数据存储安全等问题。

在医疗方面,区块链的加密算法、分布式存储等特性可以加强对医疗数据安全和患者隐私的保护。2018年4月,腾讯宣布将在医疗领域落地区块链技术,以实现电子处方不可更改。而且早在2017年,阿里健康就已经将区块链应用于常州市医联体底层技术架构体系中,并实现当地部分医疗机构之间安全、可控的数据互联互通。

在文娱方面,使用区块链技术对文娱作品进行确权,证明一段文字、视频、音乐、资产等存在性、真实性和唯一性,进而进行版权保护,既能提供文化产品价值,也能促进文化产品的交易和流通。比如,纸贵科技通过基于区块链的电子数据存证技术,将原创作品的登记时间和数字指纹信息存储在纸贵联盟链上,明确原创作品版权归属,使文化产品的版权情况、交易情况等公开化、可信化。

(四)大型互联网企业和由政府主导的区块链应用实践较为突出

2018年大型互联网公司纷纷着手对区块链进行战略布局。2018年8月,京东发布了自主研发的区块链服务平台“智臻链”,该链是一个区块链BaaS平台,用以推动各行业企业级区块链应用的大规模落地。2018年4月,华为发布《华为区块链白皮书》,华为区块链的整体构想是聚焦典型应用领域,以区块链平台为核心,联合网络和可信硬件执行环境(终端+芯片),形成三位一体的端到端区块链框架,实现软件、硬件结合,提供更快、更安全的区块链端到端解决方案。

2018年腾讯也将区块链技术分别应用在物流信息、游戏、医疗、法务存证等方面。比如,2018年3月,腾讯和中国物流与采购联合会联合开发基于物流信息的区块链,用以提升物流与供应链行业的效率,助力行业标准化运营,并帮助物流行业的小微商户解决融资困难等问题。2018年5月,腾讯与深圳市国税局共同推出区块链电子发票,使每一张发票都可查、可验、可信、可追溯。

2018年阿里主要将区块链应用于公共服务领域,与上海华山医院联合将区块链应用于医疗领域,实现医院处方精准无误且不可篡改、可溯源,以解决复诊患者拿着处方不遵医嘱在外重复开药等问题。2018年9月,阿里和杭州互联网法院共同探索区块链在司法存证、取证、用证等方面的应用,起诉人可以通过线上申诉入口在线提交合同、维权过程、服务流程明细等电子证据。同年10月,阿里与华信永道联合把公积金名单记录在链上,从而实现可信记录共享且不可篡改。

2018年百度主要将区块链应用于版权、游戏、物流、教育等方面。该年4月,推出区块链原创图片服务平台“图腾”;5月,在百度百科中嵌入区块链;6月,百度推出区块链游戏应用“度宇宙”,为用户打造一个由元素、引力、星球所构建的“数字宇宙”;7月,将百度云与区块链结合,推出相应的解决方案。

2018年,网易共推出四款产品,包括网易星球、游戏《逆水寒》、区块链资讯阅读APP“易头条”、社交平台“网易圈圈”等。

此外,2018年区块链在政府公共事务方面的应用也较为突出。一方面,通过区块链分布式账本,实现业务系统数据同步,减少了各部门工作量,并在具体跨部门业务发生之前保护了部门的数据隐私,也减少了信息化服务中心对中心化系统的维护负担。另一方面,通过区块链网络中的可信节点对数据记录的真实性进行验证。使得政务公开真正地走向阳光、透明、可信。在具体实践应用方面,可以将区块链应用于房管、文化、教育、税务、民政、审计、司法、监管等部门。比如,广州市开发区推出政策公信链,用以提高政府政策兑现业务处理效率,降低企业政策兑现人力及物力成本;重庆市所有电子营业执照通过区块链实现数据保密传输、参与多方共享、信息同步更新、记录不可篡改等;雄安新区在建设“数字雄安”的过程中将区块链应用在工程建设招标、“千年秀林”项目财务管理、房屋租赁等政务领域;北京互联网法院推出“天平链”,利用区块链技术快速鉴别证据真伪,并通过加密技术防止证据和司法文件被篡改和遗失。

二、中国区块链产业发展主要特征

现在我国区块链产业链条已经形成,从上游的硬件制造、平台服务、安全服务,到下游的产业技术应用服务,再到保障产业发展的行业投融资、媒体、人才服务,各领域的公司已经基本完备、协同有序,共同推动产业不断前行。

中国有庞大的互联网消费群体,区块链应用在中国也呈现出多元广泛的特点。2018年以来,中国区块链领域私募股权投资共计投向挖矿、钱包、虚拟货币、基础设施、底层技术、交易所、相关服务、区块链应用8个领域,中国区块链产业链可谓基本成型。

(一)区块链产业发展回归价值,应用效果更加明显

一个产业有其发展周期和发展规律,其发展阶段包括产业形成期、产业成长期、产业成熟期,以及产业衰退期。产业的发展与其技术创新、基础设施建设、产业发展政策,以及国家和地方经济发展关系密切。我们认为,区块链目前还处于成长阶段,技术标准体系、政策扶持和监管、基础设施建设、应用范式等都还在不断加速完善。

自比特币诞生以来,区块链产业的发展已有10年多的历史。2015年,《经济学人》把区块链作为解决信任问题的重要技术,第五届的世界经济论坛也提到区块链是继蒸汽机、电脑计算机、互联网络之后的第四次工业革命。区块链作为数字经济的信任基础设施,对于中国经济结构调整、经济创新发展,以及驱动经济高质量发展起着重要作用。

一方面,区块链作为价值互联网的核心驱动技术,在一定程度上解决了数据及数据传输过程中的完整性、真实性、唯一性等问题,在一定程度上降低了价值传输的风险,提高了价值传输的效率,促进了企业内外部(成员)协作的效率。如此,在一个产业生态中,产业链上下游的协作效率和联动水平将进一步提高,在区块链赋能下降低产业成本、提升产业效率、改善产业环境,带动经济和产业格局进行重大调整,进而加速产业转型升级。

另一方面,随着越来越多的项目实际落地,整个产业开始进入了一个应用加速落地的周期。当前,区块链技术落地的场景已从金融领域向实体经济领域延伸,并应用于供应链金融、保险、清算和结算、资产交易等金融领域场景,也覆盖了版权保护、电子证据存证、商品溯源、电子政务、农业、工业、能源等非金融领域场景。

在供应链金融方面,央行数字货币研究所、央行深圳市中心支行推动建立粤港澳大湾区贸易金融区块链平台,对平台上的应收账款、贸易融资等多种场景的贸易和融资活动进行贸易金融监管,实现对平台上各种金融活动的动态实时监测。

此外,腾讯等众多企业开展了覆盖多个行业的供应链金融区块链应用实践,以核心企业的应收账款为底层资产,通过腾讯区块链技术实现债权凭证的流转,以保证不可重复融资,相关信息不可篡改、可被追溯,帮助相关各方形成供应链金融领域的合作创新。

在数字内容版权方面,百度、360分别上线基于区块链技术的原创图片认证平台——“图腾”“图刻”;纸贵科技构建了专业的全类型版权存证平台;腾讯基于区块链技术,实现了游戏道具等虚拟数字资产的确权和保护。电子存证方面,杭州上线全国首个电子证据平台和司法区块链,解决电子证据存取证难题;北京互联网法院在受理著作权权属、侵权纠纷的案例中使用了区块链取证存证技术。

在防伪溯源方面,京东、蚂蚁金服、众安科技等科技企业纷纷投入基于区块链的食品、药品防伪溯源应用。

京东从解决商品的信任痛点出发,利用区块链溯源技术完整记录商品原材料、制作方、物流等信息,并与科尔沁牛肉共同打造区块链防伪与追溯解决方案。从屠宰到货运再到派送等环节,各种设备自动化采集的信息会写入区块链链码,实现了真实可查的全程溯源。通过信任机制的建立,使供应链整体成本下降。截至2018年6月,京东的区块链溯源技术已介入数百名品牌商,覆盖12000多款商品SKU。

众安科技也相继推出了农业养殖方面的“步步鸡”区块链防伪溯源项目、区块链钻石溯源及交易平台。此外,众安科技也在快消品类商品(药品)防伪溯源应用、医疗器械区块链应用、艺术品防伪溯源应用、跨境电商产品防伪溯源应用等方面进行了充分的探索与尝试。“趣链”通过与物联网等技术的结合,将商品在整个产业链的生产记录保存在区块链上,无论是生产商、经销商还是消费者,均可通过可信记录看到商品的全部信息流转。

蚂蚁金服也在公益慈善、互助保险、跨境溯源等领域进行实践探索,曾推出“让听障儿童重获新声”公益慈善项目。这个场景的实现主要基于蚂蚁金服与多家公益机构共同建造的一个区块链阳光账本,该账本的技术核心是提供多方关于慈善捐款全部流程的多节点独立记账的区块链服务,在该阳光账本中,支付宝用户可以看到其每一笔捐款从捐款账户到受捐助人的整个过程。另外,蚂蚁金服也曾与信美人寿互助保险社合作打造区块链互助保险账户,对从发起机构到资产管理机构相应的会员信息及投资信息(主要包括基础资产的投资信息、投资明细、收益数据等),利用区块链技术进行可信存证。

在跨境溯源方面,为天猫境外商品提供跨境溯源服务,利用区块链的可溯源特性,为产自澳大利亚、新西兰的26个品牌的奶粉(如雅培、爱他美、惠氏、贝拉米等)提供溯源二维码。用户扫二维码,就能知道产地、出厂日期、物流、检验等所有信息。

(二)区块链核心技术逐渐成熟,系统架构日趋完善,安全问题较明显

共识机制、智能合约、跨链技术是区块链的核心技术。当前,区块链技术尚不成熟,仍处于发展早期。对于区块链性能、隐私安全、可扩展等方面的技术创新正在不断涌现,系统架构正在不断完善。

在共识机制方面,郑旗撰写的《区块链共识机制演进及应用》分报告显示,早期的区块链系统一般采取单一的共识机制,比如BTC的PoW、Peercoin的PoS、EOS的DPoS等。PoW算法的缺点主要有两个:一是能耗大,需要消耗巨大的电力;二是效率低。PoS的发展主要经历了三个阶段:第一阶段是以Peercoin为代表的基于币龄的PoS,第二阶段是以黑币为代表的基于币数的PoS,第三阶段是以EOS为代表的DPoS。DPoS和上述的共识协议相比,大幅缩短了打包区块的时间,大大提高了系统的处理能力,交易确认时间降低到秒级。不过,在当前的技术背景下,没有哪一种共识机制是完美无缺的,每一种共识机制都有其优点和缺点,不同的应用场景可能需要不同的共识机制。在区块链解决方案中,应该实现兼容多种共识算法,在实际业务落地中有选择性地使用一种最合适的共识机制,甚至整个网络应具备让开发者自定义共识机制的能力。可插拔的共识机制可能是未来发展的主要方向。

在智能合约方面,目前区块链技术还处于发展初期,各项核心技术都在加速突破。同样,智能合约的应用还处于早期,其发展至今仍存在性能不足、安全性有待提升等问题,以及社会大众接受过程、法律承认合约有效性等其他条件的限制。智能合约的应用目前普遍不太成熟,相当多的DAPP处于活跃度低的状态,暂时还缺乏能被社会大众广泛接受的智能合约应用。

在跨链技术方面,跨链技术是多条公链生态连接的核心技术,在实际应用中,跨链技术要解决的问题是如何让一条链上的token转移到另一条链上,这个过程不只是信息流的传递,更是信息流背后需要被精确记账的价值的传递。目前,跨链技术在跨账本结算、资产跨链交易和抵押等方面都有较成熟的应用。但目前具有成熟跨链技术的链或平台数量不多,大多还处在开发阶段,对于跨链易用性、可扩展性以及安全性的研究还较缺乏,后期仍需加大研发力度。

在安全与性能方面,区块链系统的安全性与性能是影响技术广泛应用的主要因素。目前,区块链在基础设施层、密码算法层、节点通信层、共识协议层、运行平台层、智能合约层和系统应用层等均有安全风险和漏洞。据统计,2018年区块链安全事件造成的经济损失高达22.38亿美元,较上年暴增253%;区块链安全事件发生138起,较上年暴增820%。区块链安全问题主要集中在业务层和合约层,两者安全事件导致的经济损失占整个区块链安全行业的98.87%,分别发生了64次和58次,累计损失22.1亿美元。

此外,区块链应用还存在监管缺失、系统可扩展性差等问题,正阻碍区块链的发展。未来,还需加强区块链安全体系的建设。

(三)区块链基础设施建设初有成效,公链性能有所提高

周平、唐晓丹撰写的《区块链基础设施和配套服务发展现状及建议》分报告显示,区块链的基础设施主要提供硬件市场、计算、网络通信三种能力,与这些基础设施相关的设备类型包括服务器、矿机、个人计算机、移动设备等。从实现技术的角度看,区块链基础设施的相关技术包括云计算、物联网、边缘计算、分布式文件系统、移动通信、容器、虚拟机等。

在硬件设备方面,比特大陆、嘉楠耘智、亿邦通信三家厂商在全球数字货币矿机出货量方面占据着较大的优势,但是在2018年,随着整个数字资产市场的持续降温,硬件设备的交易量也出现较大幅度下降。

在数据与存储方面,具有代表性的是融合Git、自证明文件系统(SFS)、BitTorrent和DHT等技术的星际文件系统(IPFS),其提供全球统一的可寻址空间,可以用作区块链的底层协议,支持与区块链系统进行数据交互。在网络通信方面,5G技术的出现将极大提升区块链的性能、扩展区块链的应用范围。

图片关键词 

图1.5 区块链基础设施及相关设备、技术

此外,公链是区块链行业的基础设施,公链超高的处理性能、优良的扩展性能、强大的安全性能,为其上各种应用的发展提供了良好的开发平台。据不完全统计,目前已经有70多条公链和2000多种加密货币。区块链底层基础设施搭建都在逐步完善,分片技术(sharding)、有向无环图结构(DAG)、链下计算、跨链等技术都在不断创新和发展,试图提高区块链的性能指标。例如以太坊分片技术、墨客MOAC子链技术、Fabric多通道技术,以及区块链与物联网创新项目IOTA采用的DAG技术使得区块链系统的可扩展性不再受区块大小的限制,仅取决于网络带宽、CPU处理速度和存储容量等的限制。

(四)区块链产业政策逐渐完善,产业发展环境持续优化

2018年,以工业和信息化部及其相关附属机构为主导,已开始逐步探索并实践区块链技术的标准化与统一化。比如,2018年10月,工信部表示,将积极构建完善区块链标准体系,加快推动重点标准研制和应用推广,逐步构建完善的标准体系。

除此之外,区块链产业在技术安全、信息服务安全、应用落地安全、数字货币监管等方面的政策也在加速完善。2019年1月10日,国家网信办发布《区块链信息服务管理规定》,进一步明确区块链信息服务提供者的信息安全管理责任,规范和促进区块链技术及相关服务健康发展,规避区块链信息服务安全风险,为区块链信息服务的提供、使用、管理等提供有效的法律依据。

2018年12月18日,第三届区块链开发大会上,来自深圳前海微众银行、众安科技、安妮股份、上海市信息安全测评认证中心等的4位行业专家发布了四项区块链团体标准:《区块链隐私保护规范》、《区块链智能合约实施规范》、《区块链存证应用指南》以及《区块链技术安全通用规范》。

在监管层面,2018年是数字资产市场合规化探索的关键之年,我国乃至全球市场进入加速合规阶段。在沙盒监管方面,英国金融行为监管局(FCA)提出3种沙盒管理模型,分别是监管沙盒(Regulatory Sandbox)、产业沙盒或虚拟沙盒(Industry Sandbox),以及保护伞沙盒(Umbrella Sandbox)。在具体实践方面,中国天民(青岛)国际沙盒研究院推出泰山沙盒,融入区块链、大数据、自动化测试、自动化监控、容器、云计算、区块链互联网等多项技术,已于2017年底开始实践应用。

在分类监管方面,2017~2018年初,各国对数字资产(尤其是数字资产发行)的监管大多采用了分类监管方式。2018年11月1日,香港证监会发布《有关针对数字资产投资组合的管理公司、基金分销商及交易平台营运者的监管框架的声明》,提出了“无差别监管”方案,即无论数字资产是否构成《证券及期货条例》(第571章)中所界定的证券及期货合约,出于保护投资者的考虑,均被纳入同等监管框架。

总体而言,国家鼓励探索研究区块链技术标准与技术安全应用,以此推动区块链技术与实际应用场景结合,服务实体经济,构建数字经济。工信部、国家网信办等政府部门积极推动区块链技术标准的统一,同时,也谨慎对待并防范数字货币或ICO的风险。目前,对于数字资产监管还处于探索阶段,监管政策还有待完善。

随着中央和各地区块链扶持政策和监管政策的逐渐完善、区块链标准(国家标准、行业标准)体系的完备,以及区块链技术的成熟,区块链产业发展基石也逐渐牢固。

(五)区块链相关标准加速推出,标准体系尚需完善

在区块链技术架构标准方面,首个区块链标准《区块链参考架构》已经于2016年颁布。同时,由中国主导开展名为“区块链和分布式记账技术中的数据流动和数据分类”的新工作项目研究。2018年1月,“信息技术、区块链和分布式账本技术参考架构”作为区块链领域的首个国家标准获批立项。区块链安全标准方面,2018年4月,全国信息安全标准化技术委员会开展了对“区块链安全技术标准研究”项目的立项评审工作。2018年11月,《区块链平台安全技术要求》行业标准正式立项并起草,将明确区块链平台面临的主要威胁和安全体系架构。

由李鸣、李佳秾、孙琳撰写的《区块链标准化助力数字经济发展》分报告指出,目前国内区块链标准化工作还存在很大的提升空间,产业面临标准体系不完善(如跨链通信机制、跨链通信消息规范、账本管理规范、共识机制这四个方向的标准化研究尚未开展);国家标准制定周期过长,远远落后于产业快速发展的需求,技术的应用程度不高,无法有效统一协调等问题。

2019年,我国区块链相关标准研制工作有可能取得进一步进展,区块链技术应用、技术安全等领域的标准也将取得突破。在技术创新和区块链标准体系完善的情况下,区块链技术将得到大规模应用落地。

三、区块链技术高速发展对中国经济的影响

当前,中国经济正处于转型升级和高质量发展的重要时期,促进经济社会持续健康发展是当前经济社会发展的核心任务。在国家倡导脱虚向实、金融服务实体经济的过程中,通过科技创新高效服务实体经济成为当今社会经济转型的重要手段。

区块链是一项新兴技术,将该技术应用到实体经济中、发挥区块链的经济价值和社会价值,是区块链技术应用的关键。

我们认为,经济发展的本质就是供需的有效匹配和基于供需资产的高效流通,而供需匹配和资产流通的关键则是共识和信任。传统的互联网模式在跨地域、跨机构、跨系统层面,很难解决信任传递的问题。因此,让不同地区、不同机构、不同组织,通过不同的系统,共同来服务于产业链上的企业,降低信用成本、监管成本以及治理成本等成为促进经济发展的关键。

区块链借助分布式账本和智能合约技术大幅降低契约建立和执行的成本,打破信任障碍,实现去中介化。降低生产成本、提高生产效率是经济高质量发展的重要指标,而区块链技术能为经济和产业发展带来五大红利,即降低信用建立成本、降低信用传递成本、降低监管审计成本、降低协议联通成本、降低组织管理成本。

具体来说,首先,区块链分布式账本技术具有交易不可篡改、便于追溯、便于协同监管的特性,使得交易、支付结算和融资都能更容易,可充分增加信任减少贸易摩擦。其次,上链后的资产或数据可以保证其真实性、有效性以及唯一性,在一定程度上能够提升实体企业交易的广度和动力,实体经济会更加积极地推动业务的数字化转型,实物流向信息流的映射速度、广度和深度也将加速提升。基于区块链打造的分布式共享平台,可以使全国或地方信用平台、实体企业、商业银行或其他金融服务机构等接入区块链节点开放共享信息,为平台提供高效便捷的商品交易平台、融资渠道及交易通道。如此,金融机构就可以准确获取实体企业的真实经营信息,金融机构和实体企业也更容易建立信任,不同主体之间可以较准确地进行信任传递和供需连接,助推金融更好地为实体经济服务,实现脱虚向实。

未来,随着区块链技术的成熟,该技术将进一步改变生产关系和市场结构,商业业态也将被进一步重塑,带有共识机制和智能合约技术的新生态系统会被整合到现有行业中,升级现有的商业模式、业务模式、监管模式。这是因为,几乎所有的产业场景都涉及产品的交易流通,都有降成本、提效率、优化产业诚信环境等的需求,而这正是区块链技术落地应用后能迅速发挥的作用。

此外,我们认为区块链的核心价值是与实体经济结合,助力经济高质量增长。也就是说,区块链技术的价值,体现为为落地产业场景带来的“价值增量”,在具体的应用中可以结合物联网和工业互联网技术,将传统产业中的实物资产转化为信息资产,并将信息资产上链,推动信息资产高效流动,促进实体产业的商业模式创新和产业变革。

区块链技术在实体经济中广泛落地将为我国经济结构改革和数字化经济提供新的发展机遇。我们认为,数字化转型的实质是业务重塑,数字化转型首要的是把所有的业务系统中的数据打通,而区块链的链式结构可以对数据进行有效溯源,区块链的数字签名、非对称加密等技术能够克服隐私与共享之间的矛盾。分布式存储的数据库模式能够改变中心化的垄断格局,结合大数据、物联网和工业互联网等技术,数据从生产端到消费端将实现有效的联通和聚合,大量服务和交易将由线下转向链上,这将极大地加快产业信息化改革,促进产业转型升级和中国经济高质量发展。

四 中国区块链技术及应用的挑战与发展机遇

(一)中国区块链技术及应用面临的挑战

1.应用大规模落地和产业高速发展需要加强技术创新与融合

随着信息技术的更迭和演化,出现了物联网、大数据和人工智能等新技术,其中,物联网技术主要解决数据信息的采集和输入问题,人工智能主要解决数据信息的处理和输出问题,区块链技术主要解决数据的存储、安全和智能控制等问题。以上技术的成熟,将会在多领域产生重要影响。这些技术的大规模应用与各核心技术的成熟度和该技术应用场景的广泛度密切相关。在核心技术创新方面,目前区块链的共识机制、加密技术、安全技术等虽有所突破,但是,技术创新还支撑不起应用场景的大规模落地。

区块链技术能推动企业业务升级、商业模式优化、监管完善、社会进步,离不开其与大数据、物联网和人工智能等技术的结合。区块链、物联网和人工智能的融合可以使企业最大限度地发挥每项技术的优势,同时最大限度地降低与之相关的风险和限制。比如,物联网网络包含大量连网设备,存在众多安全漏洞。为了防止安全问题,可以由人工智能主动防御恶意软件和黑客攻击;也可以通过区块链进一步增强网络和数据的安全性,防止非法访问和修改网络上的数据。

因此,想要在未来驱动区块链应用大规模落地和产业高速发展,一方面需要加强区块链核心技术的创新;另一方面需要加强区块链与物联网、人工智能等技术融合的应用标准研制,针对成熟度高的应用领域开展区块链与物联网融合的应用标准研究和制订工作,制订符合地区发展的地方和行业标准,以此提升区块链与物联网融合应用的规范性和科学性,促进区块链和其他边缘技术的结合、集合技术与产业的融合。

2.区块链安全问题较明显,阻碍应用大范围落地

随着区块链逐渐与各行业相结合实现应用落地,一些问题也慢慢浮出水面。目前,区块链安全问题严重,比如,在区块链技术安全方面,主要存在共识机制和智能合约逻辑漏洞、密码算法安全、P2P网络机制安全等问题。比如,2018年5月,比特币黄金(BTG)遭遇51%双花攻击,损失1860万美元。同月,360公司Vulcan(伏尔甘)团队发现了区块链平台EOS的一系列高危安全漏洞,在区块链市场中引起一片哗然。再比如,在区块链使用安全方面,会遇到诸如私钥管理不善、遭遇病毒木马、账户被窃取等问题。在区块链市场快速发展的同时,其所带来的经济损失也较多,在未来区块链的发展过程中,安全问题依然是重中之重。

3.区块链产业相关监管政策及区块链合规化发展问题有待完善

2018年区块链发展比较曲折,在各项监管框架之内逐步走向合规化。继2017年9月4日中国人民银行等七部门联合发布《关于防范代币发行融资风险的公告》,对国内触及ICO及数字货币交易所的项目全部禁止和关停清退之后,2018年8月下旬,中国银保监会、国家网信办、公安部、中国人民银行、国家市场监管总局五部门又下发了《关于防范以“虚拟货币”“区块链”名义进行非法集资的风险提示》。

在此背景下,区块链的合规化发展便成为紧要课题,很多企业和机构积极探索区块链项目发展的合规化之路,探索产业沙盒监管、牌照申请,以及针对证券类数字资产和非证券类数字资产分类监管等的合规化路径,进一步加速了合规化的进程。比如,新加坡金融管理局(MAS)于2017年下半年提出沙盒监管;美国SEC也设立了创新和金融技术新战略中心Finhub,以构建市场和SEC之间就创新理念和技术发展沟通的桥梁。

在我国,除了出台一些区块链监管政策外,各方面还在积极探索产业沙盒的监管方式。由天民(青岛)国际沙盒研究院提出的泰山沙盒系统,可以测试区块链底层协议的能力,例如共识机制、出块机制、加密机制等;也可以测试区块链应用和金融科技应用,例如支付、清算、版权等应用。

此外,合规交易所、合规托管等相关监管方式和区块链合规化发展模式还处于探索阶段,有待进一步完善。

4.去中心化、可扩展性、安全性的“三角制约”问题,成为区块链主流应用的瓶颈

在区块链领域中,安全性、可扩展性、去中心化三者被称作区块链的“不可能三角”。也就是说,在同一个区块链系统中,想要同时做到三者,并且都达到足够高的要求,是很难的。同时,技术上的“三角制约”问题成为区块链进入区块链主流应用的最大瓶颈。

目前,针对“三角制约”问题常见的尝试方法有如下几种:一是改变共识机制,比如Hyperledger提出的PBFT(实践拜占庭容错)共识机制、EOS使用的DPOS(委托权益证明),这也往往牺牲了部分去中心化;二是改变了网络结构,比如IOTA、Byteball就使用了不同于区块链的DAG(有向无环图)的数据结构;三是直接利用链外方式解决,比如链下的子链/侧链、状态通道,甚至是跨链中间件等;四是使用分片机制,以处理各链之间未建立连接的交易,提高网络并发量。但是,目前还未出现成熟的解决方法。未来,在具体的应用上,还需根据其应用场景寻找平衡点和侧重点。

(二)中国区块链应用发展趋势和机遇

1.区块链在金融领域的应用或将越加全面、成熟

区块链技术经过多年的发展,已逐渐从概念化阶段进入大规模应用阶段。而金融被认为是区块链应用的最大场景,已有多家金融机构积极尝试区块链技术特性,用于数字货币、资产托管交易、股权交易、金融审计、跨境金融、电子票据、清算、供应链金融等场景中,以突破此前金融交易中信用校验复杂、成本高、流程长、数据传输误差等问题,并且已经在数家银行取得实际应用成果。比如,中国农业银行在国内银行业中首次将区块链技术应用于电商供应链金融领域,上线涉农互联网电商融资产品“e链贷”,此外,还推进金融数字积分(简称“嗨豆”)系统建设,打造区块链积分体系。中国建设银行浙江省分行与杭州联合银行合作,实现业内首笔跨行区块链福费廷交易,此笔业务借助区块链技术连接买入行、卖出行双方,通过在线询价、报价,发送电文、传输单据等功能,实现交易电子化,有效提升时效性、安全性、便捷性。中信银行已与民生银行合作推出首个银行业国内信用证区块链应用,信用证的开立、通知、交单、承兑报文、付款报文各个环节均通过该系统实施,缩短了信用证及单据传输的时间,报文传输时间可达秒级,大幅度提高了信用证业务处理效率,同时利用区块链的防篡改特性提高了信用证业务的安全性……

基于此,我们推断,2019年将是区块链金融走向成熟的一年。在金融领域,将有更多的区块链项目落地,或将展开大规模的商业化应用。

2.区块链在社交、文娱、游戏、公益、医疗、农业等场景的应用或将更加规范和成熟

区块链技术最佳的适应场景就是那些信任成本偏高、涉及产品的生产流通、对信息共识需求较大的场景。除金融领域外,社交领域、文娱版权保护和交易、游戏、公益等场景是区块链较大的适用场景。IT桔子数据显示,在843个区块链应用项目中,区块链项目数量从高到低的领域依次是金融、社交、文娱、游戏、物联网、物流、公益、医疗、法律、不动产、能源、汽车交通、农业等。

随着区块链技术在上述领域的应用探索,其应用模式也会越加清晰。区块链在文娱产业主要解决的是原有文娱产品版权保护问题,目前市场上已经有纸贵、原本、阅链中国、版权家等关注数字版权确权和IP管理的应用产品,形成了确权、用权、维权一体化应用模式。在游戏领域,目前,网易、天神娱乐、恺英网络、游久游戏、迅雷等上市公司也已相继入局。据了解,目前基于迅雷链开发的区块链游戏已经达到数十款,比如玩客猴、链克狐、链克熊、玩客龙、战神风云、功夫链克、链克熊猫等,并已形成了基于项目研发、运营、发行等多维度内容,以通证作为交易媒介的游戏生态圈。

在医疗方面,2018年腾讯与广西柳州在微信挂号、支付等功能基础上提出了“处方链”项目,实现了全国首例“院外处方流转”服务,院内开处方、院外购药甚至送药上门。

此外,在公益和农业领域,主要基于区块链可溯源、信息可信透明等特性,解决了农产品安全、阳光公益生态等问题。如,京东“跑步鸡”项目,利用区块链等技术溯源跑步鸡养殖、屠宰、检验检疫、仓储、运输全程信息,以上信息可通过APP查询,形成全流程追溯信息数据闭环。

3.区块链基础设施红利逐渐向企业释放

目前,区块链P2P网络计算技术已被广泛用于开发各种应用,如即时通信软件、文件共享和下载软件、网络视频播放软件、计算资源共享软件等。5G技术的成熟将促进区块链网络基础设施的建设。在计算和存储方面,主流的计算服务技术包括虚拟化技术、容器技术和云计算技术;主流的存储技术是星际文件系统(IPFS),可以用作区块链的底层协议,支持与区块链系统进行数据交互。但是,目前区块链底层技术存在性能、安全等方面瓶颈,基于区块链的基础设施建设只有与现行行业标准和资源、行业需求相容才能实现大规模商用。

比如,2018年阿里云基于建立在强大稳定的公共云、专用云基础之上的弹性计算能力和海量可靠的存储资源,联合蚂蚁金服投入区块链基础设施建设。

未来,随着区块链技术的成熟和普及,以及区块链基础设施建设的完备,区块链基础设施红利将逐渐向企业释放。企业在现有的区块链基础设施服务平台上会较容易介入区块链,解决其业务经营上的信任、运营效率、产品质量运维等方面的问题。

4.DAPP数量和用户将引来新的增长

据全球领先的DAPP数据服务平台DApp Total最新数据,截至2018年12月28日,EOS平台上共收录了262款DAPP,累计用户为627137人,累计交易额为1228918798.8465EOS(约12.2亿EOS)。截至2018年11月底,以太坊平台上共有1200款DAPP,其中竞猜类DAPP数量居首位,共495款,占比为41.25%;其次是游戏类DAPP,共397款,占比为33.08%。以以太坊和EOS为代表的公链平台生态正在逐步完善和壮大,并建立稳定的生态环境。

DApp Total数据分析人员分析认为:10月以来,随着一大批竞猜类游戏的出现,月交易量呈井喷式发展,12月最高交易额达6.12亿EOS,且还在逐步攀升;12月EOS DAPP月活量达183194人(去重),较8月增长超7倍,以EOS为代表的DAPP生态圈正悄然爆发。未来,随着区块链技术与实体经济的紧密融合,将迎来DAPP数量和用户上的大爆发。

5.区块链成熟应用或将大量浮出水面

2018年是区块链脱虚向实的一年,这一年比特币下跌超过80%,各种“空气”项目大多消失。很多区块链从业者都开始探索区块链在实体经济方面的落地应用,区块链技术开始在各行各业应用,政府、银行、企业都开始实际应用。随着区块链技术在安全性、性能上的提高,监管等功能上的完善,以及与人工智能、物联网等新技术的融合,区块链技术或将拓展出更多可应用的新空间,一些较成熟的区块链应用或将大量浮出水面。

 

技 术 篇

第二章 区块链共识机制演进及应用


一、概述

(一)区块链技术

2008年11月1日,中本聪发表了《比特币:一种点对点的电子现金系统》一文,阐述了基于P2P网络技术、加密技术、时间戳技术、区块链技术等的电子现金系统的构架理念,标志着比特币的诞生。2009年初,中本聪搭建了以其论文为原型的网络——比特币。区块链技术是比特币背后的技术基础,是一种基础设施。区块链作为一种在不可信分布式环境下能够以较低成本建立信任的计算模式和协作模式,正在悄然改变这个世界。

(二)共识机制

由于区块链系统多数采用去中心化的分布式设计,节点分散在各处,所以必须设计一套完善的制度,以维护系统的运作顺序与公平性,统一区块链的版本,并奖励提供资源、维护区块链的使用者,以及惩罚恶意的危害者。这样的制度,必须依赖某种方式来证明,谁取得了一个区块链的打包权(或称记账权),谁就可以获取打包这一个区块的奖励;谁意图进行危害,谁就会获得一定的惩罚,这就是区块链系统的共识机制。

区块链是一个去中心化的分布式系统,在该系统中,所有的节点都是一个全副本,维护着全部的账本数据。这样,当某一个或多个节点发生故障时,用户可以从其他的节点读取数据。由于系统中有多个副本,如何保证副本之间的一致性是整个分布式系统的理论核心,下面会详细地向大家介绍传统分布式系统和区块链系统副本一致性问题。

二 传统分布式系统一致性问题

(一)分布式一致性问题

从传统的集中式单节点结构,演变到分布式多节点结构,碰到的首个问题就是一致性的保障。如何保障副本之间的一致性是整个分布式系统的理论核心。

一致性是指分布式系统中的多个服务节点,给定一系列的操作,在约定协议的保障下,使它们对外界呈现的状态是一致的。换句话说,也就是保证集群中所有服务节点中的数据完全相同并且能够对某个提案(Proposal)达成一致。

在分布式系统中,系统可以达成一致性需要满足以下三个要求:

①有限性:达成一致的结果在有限的时间内完成;

②约同性:不同节点最终完成决策的结果是相同的;

③合法性:决策的结果必须是系统中某个节点提出来的。

一般地,从非学术角度来说,分布式系统一致性主要包括以下三类。

一是强一致性(Strong):数据a一旦写入成功,在任意副本任意时刻都能读到a的最新值。

二是弱一致性(Weak):写入一个数据a成功后,在数据副本上可能读出来,也可能读不出来。系统不能保证多长时间之后每个副本的数据一定达成一致。

三是最终一致性(Eventually):最终一致性是弱一致性的一种特例。写入一个数据a成功后,在其他副本有可能暂时读不到a的最新值,但在某个不一致的时间窗口之后保证最终能读到。不一致性窗口的大小依赖于以下几个因素:交互延迟、系统负载、复制协议的副本数。

2000年,Berkeley大学计算机科学家埃里克·布鲁尔提出了著名的CAP定理,指出对于一个分布式计算机系统来说,不可能同时满足以下三点。

①一致性(Consistency):所有节点访问同一份最新的数据副本,读操作总是能读取到之前完成的写操作结果,满足这个条件的系统就符合我们前面对强一致性系统的定义。

②可用性(Availability):每次请求都能获取到非错的响应,但是不保证获取的数据为最新数据,读写操作在单台机器发生故障的情况下仍然能够正常执行,不需要等到故障的节点将数据迁移到新的节点。

③分区容错性(Partition tolerance):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。

根据定理,分布式系统只能满足三项中的两项而不可能满足全部三项。理解CAP理论的最简单方式是想象两个节点分别处于分区两侧,允许至少一个节点更新状态会导致数据不一致,即丧失了C性质。如果为了保证数据一致性,将分区一侧的节点设置为不可用,那么又丧失了A性质。除非两个节点可以互相通信,才能既保证C又保证A,这又会导致丧失P性质。

随着系统规模逐渐变大,故障的发生会是一种常态,系统的设计必须考虑容错(Fault Tolerant)。依据分布式系统的部署环境,容错主要包括两大类:一是可信环境下的分布式容错,即我们通常说的CFT(Crash Fault Tolerant);二是不可信环境下的分布式容错,即我们通常说的BFT(By zantine Fault Tolerant)。下面两节会详细向大家介绍一下两类环境下的分布式一致性问题和容错方案。

(二)可信环境分布式一致性问题

传统的分布式系统中,所有服务器掌握在一个公司或者组织内部,系统没有恶意节点,所有节点都是可信的,这样的分布式系统我们称之为可信环境分布式系统TEDS(Trusted Environment Distributed System)。

可信环境分布式系统容错即CFT,在该类系统中,只需要考虑单机故障、磁盘故障等故障恢复场景。

可信环境分布式系统的一致性协议有很多,比较著名的有两阶段提交协议、Paxos协议和Raft协议。

1.两阶段提交协议(2PC)

两阶段提交协议2PC(Two-phase Commit)是指在计算机网络以及数据库领域内,为了使基于分布式系统架构下的所有节点在进行事务提交时保持一致性而设计的一种算法。

2PC协议只有在所有节点都同意提交事务后才会提交事务。

2PC协议包括两类节点,分别是协调者(Coordinator)和参与者(Cohorts),节点间可以进行网络通信。该协议假设所有的节点都采用预写入日志的方式,且日志被写入后会持久化到可靠的存储设备上,这样即使系统故障,也不会丢失日志。该协议同时假设所有的节点不会永久性损坏,即使损坏后也可以恢复。

2PC协议主要包括两个阶段。

提交请求阶段:这个阶段,协调者会向所有参与者询问“是否可以执行提交”操作,同时会开始等待各参与者节点回复。参与者执行协调者的事务操作,将操作信息写入日志。如果参与的事务操作执行成功,则返回“同意”消息,否则回复“终止”消息。

提交执行阶段:当第一个节点所有参与者都回复“同意”时,协调者会向所有节点发出“正式提交”操作请求,参与者节点正式完成操作,并释放整个事务处理期间占用的资源,然后参与者会向协调者发送“完成”消息。协调者收到所有节点反馈“完成”后,事务完成。

图片关键词 

图2.1 两阶段(2PC)提交协议

当第一个阶段有任何一个参与者返回“终止”的消息,或者存在参与者操作超时,则协调者会向所有参与者发出“回滚操作”,协调者收到所有参与者返回“回滚完成”后取消事务。

2PC协议在现实分布式系统一般都不采用,主要是由于其有一个显著的缺点:在其事务的提交过程中,节点是处于阻塞状态的;节点在等待其他节点返回时无法响应其他服务;并且如果出现参与者宕机或者无响应时,协调者需要通过超时机制来恢复,系统无法容错且低效。

2.Paxos协议

Paxos协议是Lamport于1989年在一篇论文中首次提出的,由于算法晦涩难懂,直到1998年该论文才得以发表。Lamport后续又发表了相关文章Paxos Made Simple和Fast Paxos,因此大家习惯性地将这类算法称为Paxos算法。

Paxos算法自问世以来就垄断了可信环境分布式一致性算法。众多分布式系统都采用该算法实现了分布式一致性,如Google的Spanner、Chubby、Megastore,还有开源的ZooKeeper等。

Paxos协议将系统中的节点分为三类。

提议者(Proposer):Proposer负责提出提案,包括提案标号和提案内容。

决策者(Acceptor):参与提案的决策,Acceptor收到提案后会根据情况决策是否要接受提案,若足够多的Acceptor接受提案,则该提案通过。

决策学习者(Learner):不参与提案的提出或者决策过程,Proposer收到足够多的Acceptor同意后,会将通过的决议发送给所有的Learner。

Paxos算法主要包括两部分,分别是决议的达成和决议的发布,其中决议的达成又包括两个阶段,整个过程如图2.2所示。

图片关键词 

图2.2 Paxos算法

(1)决议提出与达成。

准备阶段(Prepare):Proposer选择一个提案标号Proposer ID并将Prepare的消息发送给Acceptors中的一个多数;Acceptor收到Prepare的消息后,如果提案标号大于它接受的所有历史提案的标号,就回复接受,并承诺不再接受标号小于该标号的提案。

批准阶段(Accept):当一个Proposer收到了多数Acceptors对Prepare的回复后,就进入批准阶段。它要向回复Prepare请求的Acceptors发送Accept请求,Acceptor在不违背其他提案的前提下对收到的Propose请求进行Accept处理。在Proposer收到多数节点的Accept消息后,提案就已经达成。

(2)决议的发布(Publish):当提案已经达成后,Proposer会将该提案发送给所有的Learner。

3.Raft协议

Raft协议也是一种可信环境分布式一致性算法。相比于Paxos算法,Raft协议更加容易理解和容易实现,它强化了领导人的概念,将整个分布式一致性问题抽象成了两大阶段:领导人选举(Leader Election)和日志复制(Log Replication)。

Raft协议中每个节点可能会处于三种状态。

领导者(Leader)状态:Leader负责处理客户端的请求并将事务同步给Follwer。

跟从者(Follower)状态:接受Leader的更新事务请求,并写入本地的日志文件。

候选(Candidate)状态:当Follower一段时间内没有接收到Leader的心跳,会认为Leader不可用,此时副本会进入Candidate状态,并开始新一轮选主,直到新的主被选择出来。

其状态转换如图2.3所示。

图片关键词 

图2.3 Raft选主

第一个阶段选出主后,会进入第二个阶段Log replication。这个阶段Leader就开始处理客户端的请求,每一个请求包含一个被副本状态机执行的命令。Leader将该命令作为一个新的记录追加在日志结尾,同时调用其他节点的追加记录的接口,将操作同步给其他副本。如果某个Follower宕机、运行得很慢或者网络丢包,那么Leader会一直重试直到副本与Leader状态一致。

(三)不可信环境分布式一致性问题

当一个分布式系统中节点的维护方不属于某个公司单独所有、节点参与方的利益互不相同时,就可能出现节点不遵循规则、对系统实施作恶的情况,这样的环境就是一个不可信的环境。其中作恶的节点我们叫作拜占庭节点(Byzantine node),这样环境下的分布式系统我们称之为UTEDS(Untrusted Environment Distributed System)。

不可信环境分布式系统容错即BFT(Byzantine-Fault-Tolerant),该类系统中,我们需要允许部分节点作恶、欺骗或者伪造消息。

不可信环境分布式系统一致性算法典型的有BFT、PBFT和SBFT。下文会向大家介绍一下著名的拜占庭问题及相应算法。区块链系统是一个不可信环境的分布式系统,自2008年比特币系统创建以来,一批又一批的学者和科创团队投入该领域分布式一致性问题的研究,创新性地引入了激励以及博弈的思想来促使系统达成一致,经典的算法有PoW、PoS、DAG、VRF等。

1.拜占庭问题及算法

拜占庭问题是由Lamport于1982年提出的分布式对等网络通信的容错问题。在分布式系统中,所有节点通过通信交换达成共识,按照相同的策略协同,但是系统中有时存在节点由于各种原因发送错误的信息到网络中,从而破坏系统一致性的问题。

拜占庭问题的原始描述是N个将军被分隔在不同的地方,诚实的将军希望通过某种协议达成命令的一致,但是其中一些背叛的将军会通过发送错误的消息阻挠的诚实的将军达成一致。Lamport证明了在将军总数大于3f,背叛者为f或者更少时,忠诚的将军可以达成命令上的一致。

2.PBFT

传统的BFT算法复杂度太高,Castro和Liskov于1999年提出了PBFT(Practical Byzantine Fault Tolerance)实用拜占庭容错算法,该算法能够实现拜占庭容错,同时能够大大提升拜占庭容错的效率。

PBFT是一种基于副本状态机复制的算法。将不可信环境一致性达成分成三个阶段,分别是预准备、准备和确认,如图2.4所示。

图片关键词 

图2.4 PBFT算法

请求(Request):客户端C向服务器0发起一个请求。

预准备阶段(Pre-prepare):该阶段,服务器0分配一个整数n给收到的请求,并将消息广播给所有的副本节点,同时将消息添加到日志的结尾,消息格式为PRE-PREPARE,v,n,d>σp,m>,其中v表示发送消息的视图、m表示客户端发送的消息,d表示消息的摘要。副本收到消息后会进行消息的签名验证、消息摘要验证、视图验证和水平线验证,验证通过的消息予以接收。

准备阶段(Prepare):当副本接收了消息PRE-PREPARE,v,n,d>σp,m>时,就会进入Prepare阶段,这个阶段,副本会广播<PREPARE,v,n,d,i>σi消息,同时将预准备消息和准备消息写入日志。当所有正常节点对统一视图v的请求序号n达成一致时,会进入确认阶段。

确认(Commit):该阶段,副本会广播<COMMIT,v,n,D(m),i>σi。其他副本会进行消息验证和确认,当确认后,会将消息写入日志。

返回(Reply):对客户端C进行反馈。

PBFT能够有效地实现拜占庭容错,且由于其将容错分为明确的三个阶段,工程上更容易实现。但是其有个比较大的缺点,系统中的节点规模不能很大,系统中的每个节点都要频繁地和其他所有节点进行通信,如果系统节点规模太大,系统将无法运行。

3.SBFT

为了优化PBFT在扩展上的不足,业界也在不断地进行探索。2018年GG Gueta提出SBFT(Scalable Byzantine Fault Tolerance),旨在提高BFT的扩展性。SBFT主要从以下四点进行了优化。

降低通信:副本将消息发送给收集器,收集器将消息广播给所有节点,同时通过使用阈值签名,将收集器消息大小从线性减少到常量。

添加快速路径:在所有副本都非故障且同步的时候,SBFT使用一种乐观的快速路径。

将客户端通信从f+1减到1:SBFT通过添加一个使用收集器聚合执行阈值签名的阶段,并给每个客户端发送一个带签名的消息,从而将每个客户端的线性成本降低为一条消息。

通过冗余服务器进行快速路径。

SBFT算法的流程如图2.5所示。

图片关键词 

图2.5 原理图消息流

客户端向主服务器发送操作请求。

主服务器收集客户端请求,创建决策块,并将此块作为预准备消息转发给副本。

副本使用σ(3f+c+1)-阈值签名对决策块进行签名,并将签名共享消息发送给C-收集器。

每个C-收集器收集共享签名,并为决策块创建一个简洁的完全提交证明,并将其发送回副本。这种单消息提交证明具有固定的大小开销,包含单个签名,并且足以作为副本提交。

一旦副本接收到提交证明,它会提交决策区块,并启动执行协议。

当副本在提交决策区块前,它需要完成序列块的执行,并对新的状态进行阈值签名,然后将其发送给E-收集器。

每个E-收集器收集签名,并创建决策块的完整证明,然后,它向副本发送一个证书,表明状态是持久的,向客户机发送一个证书,表明其操作已被执行完毕。

目前SBFT已经实现了最大209个节点的测试网络。相比于PBFT,在扩展性上提高了2倍。

4.全球部署不可信环境

一般的公链系统,如比特币、以太坊节点数都超过了1万个。在这样的系统中PBFT和SBFT都无法很好地工作,这样大规模的不可信环境下的分布式一致性问题近10年来也是区块链系统的一个研究热点。区块链创造性地引入了激励机制和博弈思想来促使大规模不可信环境中的节点达成一致,下面将详细介绍比较著名的共识协议,包括PoW、PoS、DAG、VRF,并简要介绍一下使用该共识的应用。

三、 区块链共识机制及其应用

共识机制是区块链系统各节点达成一致的协议,对交易进行合法性和一致性确认。早期的区块链系统采用PoW(Proof of Work),后来随着区块链的发展,出现了PoS(Proof of Stake)、DAG等一系列的算法。图2.6直观地向大家展示了各个共识协议的应用。下文会详细介绍各个协议,并对其优缺点进行简要介绍。

图片关键词 

图2.6 共识协议应用项目

(一)PoW(Proof of Work)

1993年,PoW思想首次被Cynthia Dwork在论文Pricing via Processing or Combatting Junk Mail中提出。该算法用于解决垃圾邮件的问题,要求邮件发送者需要计算某个数学难题以此来提高邮件发送的成本,从而减少垃圾邮件。

2008年中本聪发表了文章标志着区块链的诞生,次年初,全球第一个区块链系统比特币诞生。比特币采用PoW共识算法来保证分布式网络记账的一致性,这是迄今为止最为安全的公链共识算法。

在比特币网络中所有节点都可以参与挖矿竞争。如果想要生成一个区块并写入账本中,则需要成为网络中最先解出比特币网络中工作量证明谜题的节点。

在比特币中,PoW算法致力于寻找一个值,使得它SHA256的Hash值以若干个0开始。随着0的个数的增加,算出目标Hash值的工作量耗费会呈指数上升,但是可以只通过一次Hash运算就可以验证谜题。求解谜题的公式如下:

Hash(B)<target|nonce,Hash=sha256

通过修改block中的nonce值,直到算出的block的Hash值符合0的个数的要求。一旦CPU努力使其满足工作证明时,在不进行重做的情况下,区块无法被改变。由于后面的区块会连接到前一个区块,如图2.7所示,修改一个块,需要将后面所有块的工作都重做一遍。

图片关键词 

图2.7 区块链式结构示意

PoW解决了群体决策中的确定代表问题。如果绝大多数是基于IP的投票,那么任何能够分配多个IP的人都可能破坏它。PoW强调One-CPU-One-Vote。大多数决策采用最长链的方法,因为这表明投入的工作量最大,如果绝大多数节点都是善良的,那么诚实链会长成最快的链,超过任何竞争的链。攻击者如果想改变一个区块,那么需要修改该块后所有区块,并且能够长成最长的诚实链。比特币网络在设计的时候考虑了博弈的思想,生产一个合法的区块需要付出金钱代价,这使得攻击者需要掌握足够的算力才能发起攻击,掌握足够的算力是非常昂贵的,这使得发起攻击很难获利。

为了避免硬件加速等因素导致区块打包过快,PoW会依据出块的时间调整打包区块的难度。如果生成速度太快,难度就会增加。

PoW算法是唯一一个被成功验证的公链算法,安全性最高。

PoW算法的缺点主要有两点:一是能耗大,需要消耗巨大的电力;二是效率低。比特币平均10分钟才打包一个区块,系统的吞吐低,而且也无法盲目地通过缩短出块时间或者增加区块大小来提高系统吞吐。缩短出块时间会导致生成区块速度太快,而分叉很多会造成系统频繁回滚从而降低性能,目前比特币的区块大小在1M左右,增大区块大小,可能导致区块在网络中传播的效率降低。

(二)PoS(Proof of Stake)

2011年Quantum Mechanic首次提出了PoS算法。在基于PoS的加密货币中,下一个区块的创建者是随机和通过财富或币龄(即股份)的各种组合来选择的。PoS必须有定义任何区块下一个有效区块的方法,不能仅仅按照账户余额,这样会造成富有的人更富有。PoS的发展主要经历了三个阶段,第一阶段是以Peercoin为代表的基于币龄的PoS,第二阶段是以黑币为代表的基于币数的PoS,第三阶段是像EOS、XuperChain这样的DPoS。

1.基于币龄的PoS

Peercoin是Sunny King、Scott Nadal于2012年从中本聪所创造的BTC衍生出来的一种P2P的电子密码货币,以PoS取代PoW来维护网络安全,是基于币龄(coin age)并通过与BTC类似的由每个节点散列运算产生的,只是其搜索空间被限制了。

币龄,定义为货币的持有时间段,假设a收到10币,并持有了5天,那么就说明了a积攒了50币龄。一笔交易所消耗的币龄可被视为PoS的一种形式。

PoS下生成区块如图2.8所示。

图片关键词 

图2.8 PoS coinstake的结构

这种新型区块里PoS是一种特殊的交易,称利息币(coinstake),类似于BTC中的coinbase。在利息币交易中,区块持有人可以消耗他的币龄获得利息,同时获得为网络产生一个区块和用PoS造币的优先权。利息币的第一个输入被称为核心(Kernel),需要符合某一Hash目标的协议。PoS区块的产生具有随机性,这一过程与PoW相似。但有一个重要的区别在于,PoS随机散列运算是在一个有限制的空间里完成的(具体来说为在Hash/未消费钱包的输出*秒),而不是像PoW那样在无限制的空间里寻找,因此无需消耗大量的能源,其生成区块可以用下面这个公式表示:

Hash(B)<target*CoinNum*Time|nonce,Hash=sha256

Peercion对可以参与挖矿的币龄做了限制,大于30天的币才可以参与挖矿,币龄越大、币数越多的节点越容易挖出下一个区块。然而一旦一个币用来挖出一个区块,它的币龄就会归零,需要等30天以上才能再进行挖矿。此外,为了避免币龄太老的节点控制网络,币龄最大不会超过90天。

基于币龄的PoS算法,相比于PoW更加环保,且由于挖矿不完全依赖CPU,使得系统内在的安全系数提升,黑客无法通过系统外的力量进行攻击。

但是Peercoin中仅允许币龄大于30天的币参与挖矿,导致节点的在线率特别低,很多节点会等到币龄将到才开启。

2.基于币数的PoS

前面提到的基于币龄的PoS有几个潜在的安全风险,币龄会被恶意利用以发起双花攻击。而且,由于币龄的存在,诚实节点会通过定期开启节点的方式来积攒币龄。

为了进一步提升PoS系统的安全性,提升节点的在线时长,2014年Pavel Vasin提出了黑币,其PoS算法也被称为PoS2.0。

相比于以往的PoS,黑币的PoS协议变化主要有四点,如下所示。

Hash计算:执行PoS最安全的方式是让尽可能多的节点在线。参与的节点越多,发生51%攻击的可能性越低,实际网络中通过这些节点确认事务的时间越快。因此,黑币取消了Hash计算公式中的币龄参数,新系统计算谜题的公式如下:

proofhash<coins*target

改变权益修正因子:为了减少预计算攻击的可能性,权重修正因子在每一次修正因子间歇时都会改变,以便对将要用来下一个权益累积证明的时间戳的计算结果进行更好的模糊处理。

区块时间戳规则:通过修改区块的时间戳以更好地使用PoS。预期的出块时间从最初的60s增加到粒度匹配的时间。假设节点有一个外部时间,假设节点时间与系统共识时间偏离太多,这个节点将被孤立。区块时间戳的修改规则如表2.1所示。

表2.1 区块时间修正规则

Bitcoin


Past limit:

median time of last 11 blocks

Future limit:

+2 hours

Granularity:

1 second

Expected block time:

10 minutes



Blackcoin

(New rules)

Past limit:

time of last block

Future limit:

+15 seconds

Granularity:

16 second

Expected block time:

64 seconds

Hash函数:黑币采用SHA256d算法,SHA256d将SHA256算两遍,这种算法如下所示:

SHA256d(x)=SHA256(SHA256(x))

通过上述的优化,黑币将可能的攻击降到最小,并能够显著提升节点的在线率,使得PoS在进一步扩大节点范围的同时有效地降低系统风险,提高系统的安全性。

3.DPoS

DPoS是2014年4月由Bitshares的首席开发者Dan Larimer提出的一种基于代理人机制的PoS算法。DPoS算法一般每隔预设时间长度(一个区块周期)选择N个候选区块生成节点,确定各候选区块生成节点的区块生成顺序,并将一个区块生成周期所需的区块生成时间均分为N个时间段,再按照区块生成顺序将各时间段分配给各候选区块生成节点。各个候选区块生成节点会按照预设的顺序协同出块,所以DPoS算法主要包括两个阶段:第一阶段是候选人选举,第二阶段是轮值。

第一阶段是候选人选举,在该阶段,用户可以给候选人进行投票,候选人一般可以通过提名的方式被限制在指定范围内,也可以不限制。每到一定的时间,系统会进行矿工选举,得票高的节点当选为下一轮的矿工。

第二阶段是轮值阶段,在该阶段,第一阶段选出的节点会按照既定的顺序轮流出块、协同出块。

DPoS和上述的共识协议相比,大幅缩短了打包区块的时间,大大提高了系统的处理能力,交易确认时间降低到秒级。

百度的超级链实现了一种改进的DPoS,XuperChain自主研发实现了一套DPoS共识,我们称之为TDPoS。依据这种算法,全网持有通证的人都可以给候选人投票。TDPoS的参数包括每轮的Proposer个数、出块间隔、节点每轮出块个数等,在创建平行链的时候可以指定,也可以通过提案机制升级。例如,如果配置的参数为每轮21个节点、出块间隔为3s、每个节点每轮出块个数为200个,则每轮的时间为3.5h。传统的DPoS依赖相对同步的网络,TDPoS创造性地引入GPS加原子钟的方式来修正节点间的时间同步问题。

(三)DAG(Directed Acyclic Graphs)

DAG第一次被提出并与区块链结合是在Nxt社区,为的是解决区块链的效率问题。DAG是一种图状的区块链,由于其独特的区块结构、内在地支持高可扩展性,DAG得到了广泛的应用。

从根本上说,任何区块链系统都具有线性结构,因为区块是依次添加到链中的。这使得相比于并行向链中添加区块,线性区块链在本质上是非常缓慢的。但是对于DAG而言,每个区块和交易只需数个前期区块得到确认,就可以并行地添加到区块和交易中,所以DAG在扩展性上给人以很大的想象空间。

IOTA和Byteball项目都使用了基于DAG的区块链应用,进一步地,它们提出了Blockless无区块的概念,让每一个事务直接参与维护全网的交易顺序。这样,交易发起后直接跳过了打包的阶段,直接融入全网,达到blockless的目的。同时,由于省去了打包的时间,效率会进一步地提升。

基于DAG的共识主要有以下几个优点。

交易速度快:DAG的并行化结构和blockless的设计会提高系统的效率,交易速度大大提升。

无需挖矿:由于不需要区块打包,故无需挖矿。

无手续费:由于blockless的项目中没有矿工进行区块打包,所以不需要付手续费给矿工。

(四)VRF(Verifiable Random Function)

2016年,图灵奖得主、MIT教授Sivio Micali提出了一种称为Algorand的快速拜占庭容错共识算法。该算法基于VRF,利用密码抽签技术选择共识过程的验证者和领导者,并通过其设计的BA*拜占庭容错协议对新区块达成共识。Algorand只需要极小的计算量且不易分叉,被认为是破解区块链去中心化、可延展性和安全性“不可能三角”的区块链项目。

VRF是可验证的随机数,所谓的可验证的随机数可以被看作一个随机预言机,可以通过任意一个输入获得一个随机数输出,主要有两点:

对于不同的Input,Output的值是随机的,但是均匀地分布在值域范围内;

对于相同的Input,它的Output是一定是相同的。

VRF的过程主要包括四个步骤。

VRFgen:随机生成密钥,生成一对非对称加密密钥(一对公私钥)。

VRFval:生成随机数输出。

VRFproof:随机数输出的零知识证明。

VRFver:其他节点收到输入和零知识证明后,结合生成随机数的节点的公私钥,对随机数进行验证。

通过VRF,Alogrand实现了加密排序,排序需要一个角色参数,这样不同的用户可能选择不同的角色。例如,用户可能被选为区块生产者,也可能被选为委员会成员。Alogrand通过一个阈值τ来确定每个角色选择的用户数,加密排序算法如图2.9所示。

图片关键词 

图2.9 加密排序算法

验证加密排序的伪代码如图2.10所示,通过相同的结构验证用户是否被选中,函数返回选子用户的数量,若没有选出用户,则返回0。

图片关键词 

图2.10 验证加密排序

Alogrand通过VRF实现了矿工选择的不可预测性,实现了区块链的去中心化,并且每个区块随机产生,不需要竞争出块,提升了系统的扩展性。PoW、PoS当恶意节点积攒到一定数量时就可以控制网络,一般是通过博弈的方式来实现网络稳定性和安全性保障,Alogrand随机产生区块生产者,所以即使是恶意节点,也无法随意控制网络。

四、区块链共识机制发展趋势

自从2008年中本聪发布比特币以来,区块链系统已经经历了10年的发展,共识算法的发展也进入了百花齐放的时期。纵观区块链共识协议的发展过程,主要体现以下几大趋势。

(一)从单一共识到可插拔共识

早期的区块链系统,一般采取单一的共识机制,比如BTC的PoW、Peercoin的PoS等、EOS的DPoS等。

在当前的技术背景下,没有哪一种共识机制是完美无缺的,每一种共识机制都有其优点和缺点,不同的应用场景可能需要不同的共识机制。在区块链解决方案中,应该实现兼容多种共识算法,在实际业务落地中有选择性地使用一种最合适的共识机制,甚至整个网络应具备让开发者自定义共识机制的能力。可插拔的共识机制可能是未来发展的主要方向。

百度超级链XuperChain实现了可插拔共识机制,目前已经支持Pow、DPoS、Pool和Raft等共识,同时还允许用户通过该可插拔共识框架定义符合其业务特征的共识机制。

Hyperledger的Fabric也实现了可插拔的共识机制,目前支持的共识有Solo、Kafka、SBFT。

(二)从链式共识到图式共识

一般地,区块链是一种链式结构,区块只能沿着一条链生长,效率较低。随着共识的发展,有人提出使用DAG的方式,所谓DAG就是有向无环图。基于这种思想,可以有很多新的方式,比如可以并发地进行区块打包,从而提高区块链的扩展能力。

除了前面提到的IOTA和Byteball使用的基于DAG的共识协议,图灵奖得主、清华大学交叉信息研究院院长姚期智参与创立的区块链项目Conflux也基于DAG的思想。Conflux的理念设计容许不同区块同时生成,并运用基于有向无环图概念的排序算法来避免分叉的问题,先决定所有区块的整体排序,再决定衍生的交易排序。

(三)从确定性共识到随机共识

前面所述的共识,为了提高区块链系统的吞吐能力,一定程度上降低了其去中心化的程度,一定程度上降低了系统的安全性。Alogrand项目出现,使得共识由确定性向随机性发展。在该共识中,很多节点都具有潜在的控制权,下一个矿工由加密排序函数随机产生,在这种变化下,事实上虽然只有少数节点参与共识,但是由于参与共识的节点在系统中游走,无法提前预测,从而实现系统的安全性。

除了上面提到的Alogrand使用了基于VRF的共识协议,Difinity和TASchain也使用了基于VRF的共识机制,未来,相信会有更多适用于工业级的共识协议诞生。

五、总结与展望

本报告从分布式一致性问题切入,分别讨论了可信环境分布式系统和不可信环境分布式系统的一致性问题。在可信环境分布式系统一致性问题中,介绍了经典的2PC、Paxos和Raft协议;在不可信环境分布式系统一致性问题中,介绍了拜占庭问题及PBFT算法,并介绍了公链环境下新型一致性协议(即区块链共识协议)及应用,主要包括PoW、PoS、DAG和VRF。最后,本报告总结了区块链的发展趋势:从单一共识到可插拔共识、从链式共识到图式共识、从确定性共识到随机共识。

区块链是一个不可信环境分布式系统,区块链共识是不可信环境分布式系统一致性的一个重要的研究方向。近年来,区块链共识也百花齐放,各种改进算法被提出来,本报告讨论的共识算法只是其中的一个子集。

未来,随着区块链技术的进一步发展,尤其是随着底层账本结构的进一步优化,势必涌现出更多的新兴的共识算法,本报告提到的IOTA的基于DAG的共识只是其中一种。同时,随着技术的进一步发展,区块链共识的评估标准也一定会进一步规范。


第三章 区块链智能合约及其应用详解

一、智能合约技术概述

(一)智能合约的定义

“智能合约”概念由计算机科学家、加密大师尼克·萨博(Nick Szabo)于1993年左右提出来。1994年他写成了《智能合约》(Smart contracts)论文,是智能合约的开山之作。

尼克·萨博对于智能合约的定义是:“一个智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。”目前更加完善的定义是:智能合约是一套以数字形式定义的承诺,承诺控制着数字资产并包含了合约参与者约定的权利和义务,由计算机系统自动执行。

从本质上讲,这些自动合约的工作原理类似于其他计算机程序的if-then语句。智能合约只是以这种方式与真实世界的资产进行交互。当一个预先编好的条件被触发时,智能合约便执行相应的合同条款。

从区块链程序设计的角度来看,智能合约可以简单理解为只能被区块链上的交易激活的一段代码、一个小程序。可以把智能合约类比为数据库中的存储过程和触发器,共同点都是一段托管代码,通过外部调用触发一段代码的执行。主要的不同点在于存储过程只在单机完成,但是智能合约需要通过区块链多个节点共识完成。

(二)智能合约与传统合同的对比

我们从合同主体、合同条款、仲裁机构和执法机构、仲裁对象来对比智能合约与传统合同的共同点和不同点。

表3.1 智能合约与传同合同的异同

比较维度

智能合约

传统合同

合同主体:即甲方和乙方

拥有数字身份的甲方和乙方

包括自然人、法人和机构等

合同条款:规定甲乙双方的权利和义务

由代码构建

合同文件

仲裁机构和执法机构

智能合约所在平台负责仲裁,不需要代理

第三方

仲裁对象:合同里定义(或现行法律保护而合同里没提到)的权利和义务

合约约定的数字资产

范围广泛的权利和义务

 

①合同主体。共同点是合同主体都有甲方和乙方;不同点是智能合约是拥有数字身份的甲方和乙方,双方不需要相互接触,存在于虚拟数字世界,而传统合同包括自然人、法人和机构等,存在于现实世界。

②合同条款。共同点是合同条款规定甲乙双方的权利和义务,不同点是智能合约的合同条款由代码构建,而传统合同是合同文件。

③仲裁机构和执法机构。共同点是都需要仲裁机构和执法机构,不同点是智能合约是由智能合约所在平台负责仲裁,不需要代理,而传统合同只能由第三方仲裁。

④仲裁对象。共同点是合同里定义(或现行法律保护而合同里没提到)的权益和义务;不同点是智能合约的仲裁对象只能是合约约定的数字资产,现实世界的实体如果未转换或抵押为数字资产都无法用来交易,而传统合同的仲裁对象是范围广泛的权利和义务,可以是实体也可以虚拟。

从更多维度看,智能合约与传统合同相比也有很多不同点。

表3.2 智能合约与传统合同不同点

比较维度

智能合约

传统合同

自动化维度

自动判断触发条件

人工判断触发条件

主客观维度

适合客观性的请求

适合主观性的请求

成本维度

低成本

高成本

执行时间维度

事前预防

事后执行

违约惩罚维度

依赖于抵押资产

依赖于刑罚

适用范围维度

全球性

受限于具体辖区

 

①自动化维度。智能合约可以自动判断触发条件,从而选择相应的下一步事务,而传统合约需要人工判断触发条件,在条件判断准确性、及时性等方面均不如智能合约。

②主客观维度。智能合约适合客观性请求的场景,传统合约适合主观性请求的场景。智能合约中的约定、抵押及惩罚须提前明确,而主观性判断指标很难纳入合约自动机中进行判断,也就很难指导合约事务的执行。

③成本维度。智能合约的执行成本低于传统合约,合约执行权利、义务条件被写人计算机程序中自动执行,在状态判断、奖惩执行、资产处置等方面均具有低成本优势。

④执行时间维度。智能合约属于事前预定、预防执行模式,而传统合约采用的是事后执行,根据状态决定奖惩的模式。

⑤违约惩罚维度。智能合约依赖于抵押品、保证金、数字财产等具有数字化属性的抵押资产,一旦违约,参与者的资产将遭受损失;而传统合约的违约惩罚主要依赖刑罚,一旦违约,可以采用法律手段维权。

⑥适用范围维度。智能合约技术可全球采用,适用于全球范围;而传统合约受限于具体辖区,不同国际地区的法律、人文等因素均影响着传统合约的执行过程。

通过智能合约和传统合同的对比,我们可以看到智能合约有如下几大优点:

(a)高效的实时更新;

(b)准确执行;

(c)较低的人为干预风险;

(d)去中心化权威;

(e)较低的运行成本。

(三)为什么要使用智能合约

生活中太多美好的约定,很容易发生单方面毁约,但是智能合约可以在条件达成后自动执行,让人无法毁约。

信用卡的自动还款服务,我们就可以把它理解成一种智能合约,这些服务运行在传统的中心化系统之上,原因是我们信任这些机构,但是这种服务无法广泛应用。我们知道,在现实世界中,合约是写在纸上的,签印之后人们才认为它生效。在计算机世界中,合约是记录在代码里的,那数字化的合约,会不会有合约被篡改之类的道德风险,抑或被黑客攻击的技术风险呢?答案是有风险,且风险很高。回到我们前面讲的自动还款的例子,如果是银行的官网提供这项服务,大家也许能够接受,因为很多人是愿意相信银行的。但是同样的服务,搬到淘宝上新开的店铺或者其他网站上,从技术来讲其实也并不是那么难,但是会有人选择这种服务吗?想必选择的人会少得多。人们不会信任提供服务的人,因为他们太容易做坏事,而且一旦出现纠纷,举证也是件非常困难的事情,最重要的证据都保存在对方的计算机系统中,他们想改点什么还不容易吗?

区块链技术给我们带来了一个去中心化的、不可篡改的、高可靠性的系统。首先是不可篡改,这样就不需要担心合约的内容会被更改;其次是高可靠性,我们不用担心系统在条件被满足时不执行合约;最后是去中心化给我们带来的全网备份,完备的记录完全可以支持事后的审计。这样的系统,我们不再需要去相信和我们签订合约的对方,只需要相信区块链系统会把剩下的事完成就可以了。这就是区块链技术带来的革命性变化——去信任。正是在去信任的环境下,智能合约才大有用武之地。

(四)智能合约的工作原理

智能合约的整个生命周期,包括开发、部署、运行、升级和销毁。

智能合约的开发人员会为智能合约撰写代码。有些合约开发不需要编码,比如比特币的转账,通过比特币钱包转账的时候就会自动生成转账脚本。更多的智能合约开发需要一整套可视化的开发环境,比如以太坊solidity语言的remix ide、go语言的goland、Java的eclipse等集成开发环境。智能合约的代码逻辑可用于交易和(或)两方/多方之间的任何交换行为。该代码包含一些会触发合约自动执行的条件。开发完成后也需要一套私有的区块链或者区块链测试网络环境来验证,只有通过严格测试和安全检查的合约代码才会被部署到区块链平台。

智能合约的部署是智能合约上链的过程,一旦编码完成,智能合约就会被上传到区块链正式网络上,即它们被发送到所有连接到网络的设备上。拿比特币来举例,这就好像把关于比特币交易的网络更新上传到区块链上。在这个过程中,发布者需要创建所在区块链的数字身份,并且因为手续费的存在,发布者还需要拥有区块链的数字货币才能够发布智能合约。

智能合约的运行是调用智能合约执行相关函数,一旦将数据上传到所有设备上,用户就可以与执行程序代码的结果达成协议,然后更新数据库以记录合约的执行情况,并监督合约的条款以检查合规性。这样一来,单独一方就无法操纵合约,因为对智能合约执行的控制权不在任何单独一方的手中。合约的运行可以分为链下调用和链上调用,链下调用是针对那些纯函数的调用,这些函数的调用不会更改区块链上内部存储的数据,比如查询某个账号有多少余额,可以同步获取结果;链上调用需要修改链上数据,并且只有通过链上共识,才能异步获取结果。

智能合约的升级比较特殊,因为区块链交易都是不可更改的,也就是说智能合约一旦部署,就无法修改,所以智能合约升级应当遵循如下两点规则:逻辑可升级和存储可继承。逻辑可升级其实就是换了个新的合约,以前的合约实际还存在,由于需要维持以前的调用关系,合约是通过代理合约来间接调用的,可以把代理合约和逻辑合约看成插座和插头的关系,需要升级的时候把老的插头拔下,再插上新的即可。存储可继承,不仅仅是存储结构的继承,而且是在存储内容上实现扩展:旧存储内容不变,新存储内容继续追加。区块链平台也提供了特殊的函数来实现这种功能。

智能合约的销毁是指不再使用智能合约后,把合约中区块链上的代码清除,就不会再有人错误地调用销毁的合约了,但是由于区块链交易具有不可更改的特性,即使清除了存储的合约代码,还是能够通过交易查询到。

(五)典型实现以及发展趋势

经过多年的技术探索和演练,现在有几个智能合约经典的实现方式。

1.比特币脚本

比特币天生就有且只有一种内置代币,所以在比特币系统中所有的交易本质上都是转账行为,而每个比特币交易的输出中都包含比特币脚本,其主要作用是验证交易的合法性。比特币脚本语言是一种基于栈的语言,仅支持顺序执行,不支持递归、循环操作,属于非图灵完备的脚本语言,本质上是众多指令的列表。这些指令记录在每个交易中,若交易的接收者想花掉发送给他的比特币,那么这些指令就是描述接收者是如何获得这些比特币的。

比特币脚本系统是一种简单的、基于堆栈的、从左到右处理的、非图灵完备的脚本系统,类似汇编语言,其执行效率高,但是因为开发难度高,因此相比其他智能合约,其功能比较有限。其本质是包含多个指令的列表,只要这些指令在逐个的运行过程中没有失败,该指令列表中的指令都正常执行,那么表明交易有效,即该用户可以动用这个交易中发给他的比特币。只要在指令列表的指令执行过程中有一个失败或异常,则表明交易无效,该用户无权动用这个交易中发给他的比特币,因为他可能是非法使用者。

脚本系统中常用的指令包括以下七种。

(1)常见关键字

OP_0(空字符串入栈),OP_PUSHDATA1(下一个字节入栈),OP_1(数字1入栈)等。

(2)流程控制指令

OP_IF(如果栈顶不为0,则语句执行),OP_NOTIF(如果栈顶为0,则语句执行),OP_RETURN(标记交易无效),OP_VERIFY(如果栈顶元素为false,标识交易无效;如果为true,则交易有效)等。

(3)堆栈处理指令

OP_DUP(进行复制操作)、OP_DROP(删除栈顶元素)、OP_SWAP(栈顶的两个元素进行交换)等。

(4)位操作指令

OP_EQUAL(判断是否相等)、OP_EQUALVERIFY(判断是否相等后进行脚本流程控制判断,如果栈顶元素为false就标识交易无效)。

(5)算术逻辑操作指令

OP_ADD(加)\OP_SUB(减)\OP_MAX(取最大值)\OP_MIN(取最小值)等。

(6)加密签名指令

OP_HASH256(进行Hash散列计算)、OP_CHECKSIGVERIFY(进行签名验证)等。

(7)比特币脚本执行过程

下面我们以一个例子来形象地说明一下比特币脚本系统的执行过程。

假设有下面一系列的交易执行过程,Alice交易了一些比特币给Bob,Bob又交易了一些比特币给Carol,Carol又交易了一些比特币给Dave。那么在交易b中,系统是如何验证Bob有权将Alice转给他的比特币又转给Carol呢?

一个交易的数据结构包括三部分:Hash、输入交易和输出交易(见图3.2)。

图片关键词 

图3.1 假设的交易执行过程

图片关键词 

图3.2 交易的结构

我们知道在每个交易中,其输入交易包含了前一个交易的txid以及scriptSig,这个scriptSig就用来验证用户是否有权花掉前一个交易中转给自己的比特币。

例如在Bob->Carol的交易b中,Bob为了转账给Carol,必须在交易b的输入交易里提供足够的信息才能证明Bob可以动用交易a中Alice转给Bod的比特币,交易b的输入交易信息是和交易a的输出交易信息进行配对的,两者执行成功才能证明Bob是合法的拥有者并且可以花掉交易a中转给他的比特币。

Bob为了转账给Carol,在交易b中提供输入交易的输入脚本scriptSig信息如下:

3046022100ba1427639c9f67f2ca1088d0140318a98cb1e84f604dc90ae00ed7a5f9c61cab02210094233d018f2f014a5864c9e0795f13735780cafd51b950f503534a6af246aca30103a63ab88e75116b313c6de384496328df2656156b8ac48c75505cd20a4890f5ab

这么一长串其实就是一个签名和一个公钥。与之对应的,是在交易a中的输出交易的输出脚本scriptPubKey信息,其内容如下:

OP_DUP OP_HASH160 be10f0a78f5ac63e8746f7f2e62a5663eed05788

OP_EQUALVERIFY OP_CHECKSIG

这么一长串其实就是一个指令的脚本列表,比特币系统将在脚本系统堆栈中逐个执行这些指令以验证权限。

下面看看系统是如何执行这组脚本来进行权限验证的。

第一步,执行交易b的输入脚本,因为是两个元素,一个签名和一个公钥,所以将这两个元素加入堆栈:

图片关键词 

图3.3 执行交易b的输入脚本

第二步,根据输入脚本引用的txid找到交易a的输出脚本,得到输出脚本的那个指令列表,逐个执行:

OP_DUP OP_HASH160 be10f0a78f5ac63e8746f7f2e62a5663eed05788

OP_EQUALVERIFY OP_CHECKSIG

第三步,第一个指令是OP_DUP,表示复制操作,也就是对当前堆栈中的栈顶元素进行复制,那就复制一份:

图片关键词 

图3.4 复制栈顶元素

第四步,第二个指令是OP_HASH160,表示计算Hash值,也就是计算当前堆栈中的栈顶元素的Hash值,那就将计算出来的Hash值入栈:

图片关键词 

图3.5 植入Hash值

第五步,第三个指令是一组数字,所以将这个元素加入堆栈:

图片关键词 

图3.6 将元素加入堆栈

第六步,第四个指令是OP_EQUALVERIFY,表示检查是否相等,也就是从堆栈中取出最上面的两个元素,判断是否相等,如果相等就正常进行,如果不相等,则中断执行,返回失败:

图片关键词 

图3.7 判断两个元素是否相等

第七步,第五个指令是OP_CHECKSIG,表示检查签名校验,也就是从堆栈中取出最上面的两个元素,判断其签名是否正确,如果相等就正常进行,如果不相等,则中断执行,返回失败:

图片关键词 

图3.8 检查签名校验

这样,交易b的输入脚本和交易a的输出脚本所包含的一串指令列表执行下来,就可以验证Bob是否有权动用交易a中转给他的比特币,即转账给Carol了。

2.以太坊虚拟机EVM

以太坊虚拟机EVM是智能合约的运行环境。它不仅是沙盒封装的,还是完全隔离的,也就是说,在EVM中运行代码是无法访问网络、文件系统和其他进程的,甚至智能合约之间的访问也是受限的。EVM也是基于栈的设计,不仅支持顺序执行,还支持递归、循环操作,可以使用图灵完备的高级语言开发。

(1)EVM架构

EVM也基于栈式计算机模型,但除了Stack外还涉及Memory和Storage。

Stack栈上元素大小为32bytes,这和一般的4bytes、8bytes不同,主要针对以太坊运算对象多为20bytes的地址和32bytes的密码学变量;栈的大小不超过1024;栈的调用深度不超过1024,主要防止出现内存溢出。

Memory虽然运算都在栈上进行,但临时变量可以存在Memory里,Memory大小不做限制。

Storage状态变量都放在Storage里,不像Stack和Memory上的量随着EVM实例销毁而消失,Storage里面的数据修改后都会持久化。

图片关键词 

图3.9 The EVM is a simple stack-based architecture

(2)EVM执行过程

EVM准确来说是一个准图灵机,文法上它能够执行任意操作,但为了防止网络滥用以及避免由于图灵完整性带来的安全问题,以太坊中所有操作都进行了经济学上的限制,也就是gas机制,有以下三种情况:

一般操作消耗费用,比如SLOAD、SSTORE等;

子消息调用或者合约创建而消耗燃料,这是执行CREATE、CALL、CALLCODE费用的一部分;

内存使用消耗费用,与所需要的32bytes的字数量成正比。

图10展示了EVM执行的内部流程,从EVM code中取指令,所有的操作在Stack上进行,Memory作为临时的变量存储,Storage是账户状态,执行受到gas avail限制。

图片关键词 

图3.10 EVM执行的内部流程

(3)EVM开发语言

其使用范围最广影响最大的就是Solidity高级语言。Solidity是一种静态类型的编程语言,用于开发在EVM上运行的智能合约。Solidity被编译为可在EVM上运行的字节码。借由Solidity,开发人员能够编写出可自我运行其欲实现之商业逻辑的应用程序,该程序可被视为一份具权威性且永不可悔改的交易合约。对已具备程序编辑能力的人而言,编写Solidity的难度就如同编写一般的编程语言。

以太坊还提供很多方法来开发Solidity智能合约,比如直接安装Ethereum官网提供的Wallet,使用它内建的编辑器来开发,其缺点是部署的时候会经常失败,也找不到原因,区块同步又非常缓慢。比如,使用“testrpc+truffle”的开发工具组合,需要学习nodejs的相关知识,相比之下最简单的开发就是“remix ide+MetaMask”的开发工具组合,remix提供方便的编码和调试可视化的ide环境,配合MetaMask能够很方便地发布合约到以太坊区块链上。

3.Fabric的chaincode

Fabric是区块链技术的一种实现,它通过模块化的架构允许组件进行“插入-运行”来实现这份协议规范。它具有强大的容器技术,因此可支持任何主流的语言开发智能合约。

Fabric区块链上运行着智能合约的程序也称为链代码(chaincode),这段程序的主要功能是保存状态和账本数据、执行交易。链代码是主要的研究对象,因为交易是在链代码上被调用的业务操作的。交易必须进行背书处理,而且只有背书过的交易才能被提交并对状态产生影响。Fabric1.0架构中存在一个或多个特殊的链代码,这些链代码主要用于管理功能,总体上被称为系统链代码。

链代码在验证节点上的隔离沙盒(目前称为Docker容器)中执行,并通过gRPC协议来被相应的验证节点或客户端调用和查询。

Hyperledger支持多种计算机语言实现的链代码,包括Golang、JavaScript、Java等。

链代码可通过应用提交的交易对账本状态初始化并进行管理。一段链代码通常处理由网络中的成员一致认可的业务逻辑,故我们很可能用智能合约来代指链代码。一段链代码创建的(账本)状态是与其他链代码互相隔离的,故而不能被其他链代码直接访问。不过,如果是在相同的网络中,一段链代码在获取相应许可后则可以调用其他链代码来访问它的账本。

4.Webassembly

由于不同的计算机CPU架构不同,机器码标准也有所差别,常见的CPU架构包括x86、AMD64、ARM,因此在由高级编程语言编译成可执行代码时需要指定目标架构。

WebAssembly字节码是一种抹平了不同CPU架构的机器码,WebAssembly字节码不能直接在任何一种CPU架构上运行,但由于其非常接近机器码,可以非常快地被翻译为对应架构的机器码,所以WebAssembly运行速度和机器码接近,这听上去非常像Java字节码。WebAssembly天然拥有体积小、加载快、兼容性问题少的优点。

每个高级语言都去实现源码到不同平台的机器码的转换工作是重复的,高级语言只需要生成底层虚拟机(LLVM)认识的中间语言(LLVM IR)。LLVM能实现:

(a)LLVM IR到不同CPU架构机器码的生成;

(b)机器码编译时性能和大小优化。

除此之外,LLVM还实现了LLVM IR到WebAssembly字节码的编译功能,也就是说,只要高级语言能转换成LLVM IR,就能被编译成WebAssembly字节码,目前能编译成WebAssembly字节码的高级语言有以下几点。

(a)AssemblyScript:语法和TypeScript一致,对前端来说学习成本低,为前端编写WebAssembly最佳选择。

(b)C\C++:官方推荐的方式。

(c)Rust:语法复杂、学习成本高,对前端来说可能会不适应。

(d)Kotlin:语法和Java、JS相似,语言学习成本低。

(e)Golang:语法简单学习成本低。

通常把负责将高级语言翻译到LLVM IR的部分叫作编译器前端,将LLVM IR编译成各架构CPU对应机器码的部分叫作编译器后端,现在越来越多的高级编程语言选择LLVM作为后端,高级语言只需专注于在提供开发效率更高的语法的同时保持翻译到LLVM IR的程序的执行性能。

(六)智能合约的技术挑战

从行业现状看发展趋势,智能合约发展正在朝以下几个方向加速:

功能:由非图灵完备发展到图灵完备;

性能:性能越来越高,并向并行化方向发展;

开发语言:由单一语言发展到多语言支持。

下面将从安全性、性能、存储等方面描述智能合约能够解决的问题和无法大规模使用的原因。

1.安全性

The DAO攻击事件。智能合约存在漏洞导致大量以太币被盗,因为智能合约的去人为干预特性,漏洞无法线上修复,最终采用的办法是分叉。所以,智能合约需要保证合约代码的逻辑完整性和安全性,否则一旦受到攻击,后果会非常严重。目前已知的安全问题有几种,以下列举部分:

Reentrancy-重入;

Access Control-访问控制;

Arithmetic Issues-算术问题(整数上下溢出);

Unchecked Return Values For Low Level Calls-未严格判断不安全函数调用返回值;

Denial of Service-拒绝服务;

Bad Randomness-可预测的随机处理;

Front Running-提前交易;

Time manipulation-时间依赖漏洞;

Short Address Attack-短地址攻击;

后门漏洞。

由于智能合约犯错的代价是巨大的,也很难像传统软件那样轻易地打上补丁,就像直接给硬件编程或金融服务类软件开发,相比于Web开发和移动开发都有更大的挑战。因此,仅仅防范已知的漏洞是不够的。

2.性能

比特币网络在信息吞吐量上有一个潜在的问题,那就是目前理论上的最大值也只有7 tps,核心开发者坚持说必要时这个限制的交易速度可以提升,让比特币能够处理更大的吞吐量的方法是让每个区块变得更大,然而这会带来一些别的问题,比如容量及区块链臃肿问题,况且速度也不会提升多少。一些其他交易处理网络中可以用于参考的数据有VISA,通常2000 tps,峰值10000 tps;春节红包,支付能力峰值达到25万tps。

在这方面,区块链去中心化的技术特性决定了在吞吐量上很难超越中心化的应用。智能合约的速度受限于区块链的速度,当然也会更加拖慢区块链的速度,因此提高性能是个非常复杂的系统化工程。

3.存储

用了10年时间,比特币区块链目前的大小已经接近200GB(千兆),所以现在已经需要很长的时间去下载了。如果吞吐量增加到VISA标准2000 tps那样的数量级,增长量就将变成1.42 PB/年或者3.9 GB/天。如果达到了150000 tps,则比特币每年将会增长214 PB。随着智能合约应用的广泛增加,存储需要的空间只会更多,因此解决大容量存储也是性能提升过程中急需解决的问题。

安全性、性能、存储这些关键问题如果无法解决,就无法满足智能合约商业开发的需要,其也就也无法大规模使用。

(七)未来趋势

智能合约的发展越来越走向使用门槛低、开发门槛低、速度得到极大提升、支持大量数据存储和安全性高等方向。

1.使用门槛低

智能合约的应用偏向于低频服务类,用户使用智能合约就像使用微信小程序一样用完即走,不需要下载庞大的区块链客户端。用户还可以打开小程序来使用智能合约应用,用完就走,等需要的时候再打开,既快捷又灵活。

2.开发门槛低

智能合约的开发语言已经开始覆盖各种常见的语言,未来智能合约开发平台将提供各种应用的开发模板和框架,普通的企业只需要在合约模版基础上通过可视化开发,使用鼠标拖放添加自己的产品,方便地通过智能合约使用区块链。

3.速度得到极大提升

当智能合约的性能达到VISA标准(通常2000 tps、峰值10000 tps)的时候,已经可以做很多商业应用了。

4.支持大量数据存储

一般采用分布式存储的方式来解决区块链的大量数据存储的问题。

5.安全性更高

智能合约的开发仅仅防范已知的漏洞是不够的,要做到更高的安全性,还需要掌握新的开发理念。

二、智能合约应用介绍

(一)应用现状

1.还处于早期阶段

区块链诞生于比特币,当前智能合约的应用大多数也跟币相关,从ERC-20、ERC-721到博彩和权益类游戏,都是币的产生、兑换和交易的过程。其中典型代币协议ERC-20是在2015年11月推出的,是各个代币的标准接口。任何ERC-20代币都能兼容以太坊钱包(几乎所有支持以太币的钱包,包括Jaxx、MEW、imToken等,也支持ERC-20的代币)。以太坊钱包是交易所比较熟悉的方式,所有基于ERC-20的代币可以很方便地到交易所上去交易。和ERC20一样,ERC-721同样是一个代币标准,ERC-721的官方简要解释是Non-Fungible Tokens,简写为NFTs,多翻译为非同质代币。谜恋猫是第一个实现了ERC-721标准的去中心化应用,非同质代表独一无二。以谜恋猫为例,每只猫都被赋予基因,是独一无二的(一只猫就是一个NFTs),猫之间是不能置换的。

智能合约的应用还处于早期,由于智能合约性能不足、安全性有挑战等技术因素以及社会大众接受过程、法律承认合约有效性等其他条件的限制,智能合约的应用目前普遍不太成熟,相当多的DAPP处于活跃度低的状态,暂时还缺乏能被社会大众广泛接受的智能合约的应用。DAppRader数据统计显示(2019.03.24日数据),以太坊上的DAPP有1418种,24小时内用户量小于10的DAPP超过1350个,排名前十的DAPP 24小时活跃量平均也只有几百,排名第一的DAPP 24小时活跃量也小于2000。

2.集中在虚拟的、链上数据和逻辑的处理上

目前智能合约应用处理数据和逻辑的范围,主要集中在虚拟的、链上数据的防篡改、防抵赖的应用上,解决实际生活中商业问题类的应用比较少。DappRadar数据统计显示,以太坊上智能合约的应用DAPP中,超过50%为游戏类,20%左右为博彩类,其他也大多数跟代币的交易和激励相关。

绝大多数智能合约目前提供了链上数据的读写和存储功能,对链上直接产生和处理的数据和逻辑处理有比较明显的优势,从ERC-20、ERC-721以及各种游戏博彩类应用来看,智能合约应用处理的逻辑大多比较简单,远不及互联网当前成熟应用的系统逻辑那么复杂。从智能合约游戏来看,正处起步阶段。目前的游戏,其实非常粗糙和简单,并不具备真正游戏和娱乐的基础属性,更多是交易属性,所以远不像传统游戏那样竞争白热化。

当前智能合约应用之所以多分布在与虚拟、代币相关的应用上,主要有如下几种原因。

第一,由于之前ICO的“赚钱效应”,前期建设DAPP应用的开发者们只要做了代币激励的设计,就可以吸引足够的用户和资金,一定程度上消减了深挖场景、解决实体问题的动力。

第二,链外可信、可靠数据来源的建设有较大的挑战。假设有个智能合约用来解决飞机延误险,当飞机发生延误的时候,按照规则自动进行保险赔付。飞机是否延误、延误多少时间、延误的原因等客观因素智能合约本身是不能识别的,只有这些因素都准确地数据化了,智能合约才有可能获取到。飞机延误因素如何进行客观、公正的数据化,如何保证获取公正的数据的过程安全等,都需要结合行业本身来构建。智能合约发展早期,这些可信、可靠的数据源要么没有,要么需要一个过程才能安全地对接上,这也一定程度上影响了智能合约在实体商业中的应用。

第三,技术上获取链外可靠数据有挑战。当前大多数的智能合约实现中,合约是不能访问外部数据的,有人提出预言机的机制来解决智能合约访问链外数据的问题。预言机是一种单向的数字代理,可以查找和验证真实世界的数据,并以加密的方式将信息提交给智能合约。目前还没有能够适用多种行业应用的预言机,还需要进一步完善。

3.从虚拟、代币向其他领域扩展

智能合约的应用正在从区块链封闭的、虚拟的、与代币相关的领域向其他领域扩展,目前在国内出现的区块链电子发票、供应链金融等场景的应用,很好地解决了实体经济中的一些痛点和问题。

2018年8月10日,在国家税务总局的指导下,深圳市税务局携手腾讯公司落地区块链电子发票项目,并宣告深圳成为全国区块链电子发票试点城市。

此前发票的流转场景特征是参与方多、流转周期长、各参与方之间信息不互通、存在篡改等。区块链是一种不可篡改、防抵赖、防删除的分布式账本技术,如今作为区块链电子发票的底层核心技术,可以发挥两个核心作用:

第一,确保发票唯一,从领票、开票到流转、入账、报销,全环节流转状态完整可追溯;

第二,发票数据不可篡改,税局、开票方、流转方、报销方多方参与共同记账。

与此前在电子票上简单“叠加”区块链技术的探索不同,此次推出的是基于区块链的原生电子发票,区块链电子发票从支付开始的所有环节都可以在链上完成,是一套整体的税务管控的体系,支持了很多后续能力,比如大数据分析预警等。相较之下,此前市面上流传的区块链电子发票只是尝试将部分交易环节上链,仅是基于增值税发票管理新系统的技术创新,利用区块链增加了存储的作用,只发挥了区块链不可篡改的价值。

目前区块链电子发票系统已经接入税务局、微信支付、微信卡包、财务软件商、商家、消费者这几方,作为一个开放的平台,未来还会接入更多的第三方支付机构和其他不同服务的供应商机构。

安全方面,项目组经过对国内外区块链应用案例的研究,在多次论证的基础上提出“共识节点+交易节点+查询节点”的部署方案,采用“公有云+私有云”的混合云架构,选择在部分可控站点部署共识节点,全量数据只在税务内网落地,其他参与方只有己方数据及经授权查询的数据,从而保证了发票数据可信、可查、可控和可溯源。在其中,无论是数据的上链,还是参与方数据的查询都需要通过智能合约进行权限控制。

(二)应用趋势

1.将更多地解决实体经济中问题

随着智能合约技术的发展,性能、安全以及链外可靠数据安全访问问题会逐步解决,现实中需要中介担保机制才能解决的问题,都有可能被智能合约解决,目前已经应用到数字货币、支付清算、信贷融资、金融交易、证券、保险、租赁等各个领域,未来将会延伸到物联网、智能家居、智能制造、供应链管理等多个领域。未来的区块链应用将脱虚向实,更多传统企业可以使用区块链技术来降成本、提升协作效率。激发实体经济增长,是未来一段时间区块链应用的主战场。

2.为法定数字货币提供可编程能力

央行通过区块链可编程的特性,能够更加精准地进行货币投放。本来这个是用于支持新能源产业,或者是支持环保行业的,加上一定的条件,一定保证它不会进入房地产行业。

现在的货币监管,很多时候是事后监管,监管机构没有办法看到银行某一个网点的底单。如果使用数字货币的形式,整个账本对其是公开透明的,它有能力使用一些新的技术(如大数据、人工智能等技术),及时看到任何一笔最底层最原始性的交易。它也可以通过这样的技术,及时发现可能存在的一些风险。

3.提高政府治理效率

区块链作为一种新兴的互联网技术,将给政府部门及公众带来不可估量的影响,它不仅对政府创新有积极的促进作用,也会给政府治理及公共服务带来一些制约和挑战。一方面,区块链技术能够推动政府角色转换和职能转变,促进政府组织结构扁平化、治理及服务过程透明化,提高政府创新绩效,增强政府数据安全,建设智能化和可信任的政府。另一方面,区块链技术也会给政府传统职能、管理机制、法律制度等带来一系列挑战,促使政府组织结构、管理机制、法律法规与区块链技术发展保持适配性,同时加强对这一新兴技术应用的监管。


第四章 区块链技术与应用安全分析报告


一、区块链安全问题

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,是一种全新的分布式基础架构。人们利用区块链式数据结构来验证与存储数据,利用共识算法来生成和更新数据,利用密码学保证数据传输和访问的安全,利用由自动执行的智能合约来兑现以数字形式定义的承诺。所以,《经济学人》杂志把区块链技术称为“信任的机器”,认为区块链技术可以构建一种全新的基于网络和算法的可信数据处理方式和多方协作机制。

一直以来,安全问题都是信息产业发展要处理的核心问题。随着科学技术的演变和复杂化,对信息安全问题的需求日益迫切,信息安全也被赋予了新的内涵外延。近年来区块链技术被广泛应用到各个行业领域,作为新兴信息技术的集合,它所面临的安全问题也日趋增加。

信息安全工作通常强调所谓CIA三要素,即保密性(Confidentiality)、完整性(Integrity)和可用性(Availability)。区块链安全工作同样存在这三方面的要求。

①机密性(应对泄露):确保在数据处理的每个交叉点上都实施了必要级别的安全保护措施以防止未经授权的访问和信息披露。在数据的内部存储、相互传输、访问授权等场景中,这种级别的保护措施都应该发挥作用。

②完整性(应对篡改和破坏):保证信息和系统的准确性和可靠性,并禁止对数据的非授权更改。软硬件和通信机制必须协同工作,以便正确地维护和处理数据,并确保数据在传输时不被意外更改和蓄意破坏。

③可用性(应对失效):确保授权的用户能够及时、可靠地访问数据和资源。系统应能够在可以接受的性能级别以可预计的方式运行,并以安全且快速的方式从崩溃中恢复。为此,应采取必要的保护措施消除来自内外部的威胁。

本报告结合近年来区块链技术与应用发展过程中出现的主流攻击事件展开分析和探讨,并尝试给出解决方案或建议。

二、区块链安全模型与分析

根据区块链的技术特征,其安全模型可以由七层架构组成,自下而上分别包括基础设施层、密码算法层、节点通信层、共识协议层、运行平台层、智能合约层和系统应用层。各层分别从各自层面应对相应的安全风险,实现区块链系统的整体安全。

图片关键词 

图1 区块链安全模型

其中,基础设施层包含了区块链在其上运行所需的基础软硬件,如操作系统;密码算法层包含了区块链实现中所需要的密码学技术,如非对称加密算法、数据摘要算法等;节点通信层包含了节点之间的通信传输机制;共识协议层主要包含了各类共识协议;运行平台层包含了智能合约运行环境,如EVM虚拟机;智能合约层主要包含各类部署在区块链上的业务合约;系统应用层指基于智能合约,结合传统IT技术构建的可被最终用户访问的各类应用。

各层之间面临着不同的安全风险:

①基础设施层主要面临黑客通过传统安全漏洞进行攻击的风险;

②密码算法层主要面临密码学算法本身在加密强度、前提假设等方面存在的问题,以及其代码实现过程中存在漏洞的风险;

③节点通信层主要面临节点传播与验证机制的风险,以及因为点对点组网(主要在公链中使用)而形成的网络拓扑特征、消息传送时间不确定、网络分裂等因素带来的攻击;

④共识协议层因共识和激励机制的不同而面临不同类型的攻击风险;

⑤运行平台层主要面临区块链运行平台本身实现过程中存在的漏洞带来的风险,比如虚拟机逃逸等;

⑥智能合约层主要面临的多种攻击风险有Solidity语言漏洞、时间戳依赖攻击等;

⑦系统应用层安全风险主要集中在用户节点、数字资产钱包以及交易平台上。

据统计,2011~2018年9月智能合约层和系统应用层安全事件所占整体安全事件的比重一直稳定在90%以上。进入2018年以后,由于智能合约快速应用,其对应的安全事件所占比重呈现出一定的上涨。

2018年区块链安全事件同比增长近400%,安全攻击主要集中在系统应用层和智能合约层,分别占60%与30%左右。

(一)基础设施层

区块链节点服务器仍存在被黑客植入木马、窃听网络通信、DDOS攻击等安全风险。虽然区块链技术本身能够在一定程度上抵御少数节点被恶意控制所造成的破坏,但如果因为底层系统漏洞使得黑客可以轻易控制大部分节点,整个区块链网络仍会面临较大危险。

这方面因为与传统IT系统的安全攻击与防护没有太大的差异,所以本文不展开做详细的阐述。

(二)密码算法层

加密算法是保证区块链安全性和不可篡改性的关键,为区块链的信息完整性、认证性和不可抵赖性提供了关键保障。

根据被破译的难易程度,不同的密码算法具有不同的安全等级。不存在绝对的安全,如果破译密文的代价大于加密数据的价值,那么可以认为是“安全的”;如果破译密文所需的时间比加密数据的时间更长,那也可以认为是“安全的”。

区块链技术大量依赖了密码学的研究成果,如非对称算法和哈希(Hash)算法。这些密码算法目前是相对安全的,但并非绝对安全。

一是存在对密码学算法的攻击方法,如作用于散列函数的穷举攻击、碰撞攻击、长度扩展攻击。

穷举攻击是指是对截获到的密文尝试遍历所有可能的密钥,直到获得了一种从密文到明文的可理解的转换;或使用不变的密钥对所有可能的明文加密直到得到与截获到的密文一致为止。

碰撞攻击是指攻击者找到算法的弱点,瓦解它的强抗碰撞性,使攻击者能在较短的时间寻找到值不同但Hash相同的两个值。

长度扩展攻击是指针对某些允许包含额外信息的加密散列函数的攻击手段。在已知密文Hash和密文长度的情况下,推导出密文与另一消息拼接后计算出来的Hash。

二是算法实现过程中可能存在后门和漏洞,威胁到区块链系统的安全性。比如,所采用的密码算法本身虽然没有安全漏洞,但算法库的实现存在错误,这类代码编程过程中形成的漏洞,有可能成为区块链实践中黑天鹅安全事件爆发的诱因,例如:OpenSSL就曾因代码编写错误出现密钥安全漏洞。

三是未来可能作用于多种密码学算法的量子攻击。随着量子计算机算力提升,使得穷举复杂度大大降低,目前多种加密算法面临被瓦解的风险。

因此,为在密码算法层防范安全风险,应当注意以下几点。

第一,尽量采用经过安全认证的硬件密码机或算法库来保证密码算法和密钥管理方面的安全性。

第二,应充分考量随着时间的推移支持迁移到新算法的可行性。计算机计算能力变得更快,这变相降低了现有算法的强度,当前一般通过增加密钥长度的方式抵消其带来的风险。不排除未来出现安全性更高、速度更快、计算和存储资源要求更少的优异特性的新算法的可能。

第三,充分考量密钥管理的重要性。区块链系统包含的各种密钥和Hash值等数据需要得到有效保护和管理,以保证区块链系统自身不受损害。密钥的安全至关重要,其管理系统应包括密钥创建、密钥派生、密钥分发、密钥存储和安全审计等安全性管理功能。

第四,充分考量在用户丢失密钥、密钥过期或受到其他危害时使用区块链的例外程序。密钥或私钥的盗窃风险可以通过限制密钥的有效期和使用量来缓解。实践中,某些区块链系统因没有设计任何方法来替换被盗用的密钥,导致用户损失。

第五,加密算法应当在安全性和计算成本之间有所折中。在应用环境中,应根据特定行业所需的保护级别,选择合适的密码算法和密钥长度。要特别注意的是,虽然依赖现有密码算法的加密算法和密钥长度可以满足当前的安全需求,但需要充分考虑量子计算的发展在未来可能带来的影响。

(三)节点通信层

大部分公有区块链系统以P2P网络为基础,P2P网络技术重要的特点就是开放性,它在带来方便的同时,也带来各种安全问题。P2P网络依赖附近的节点进行信息传输,会暴露对方的IP,攻击者可以利用这个漏洞给其他节点带来安全威胁,区块链节点可能是普通家庭PC,也可能是云服务器等,其安全性参差不齐,其中安全性较差的节点更易遭受攻击,进而影响P2P网络的整体安全。

针对P2P网络,攻击者可以发动日蚀攻击、窃听攻击、分割攻击、延迟攻击、拒绝服务(DDoS)攻击等攻击。

日蚀攻击是其他节点实施的网络层面攻击,其攻击手段是囤积和霸占受害者的点对点连接的对等节点,将该节点从主网中隔离,这样的节点被称为日蚀节点。这种类型的攻击旨在阻止最新的区块链信息进入日蚀节点,使其成为“信息孤岛”,甚至控制其信息输入。

窃听攻击可以使攻击者将区块链中的用户标识与IP关联起来。

分割攻击的攻击者可以利用边界网关协议(BGP)劫持来将区块链网络划分成两个或多个不相交的网络,此时的区块链会分叉为两条或多条并行链。攻击停止后,区块链会重新统一为一条链,以最长的链为主链。其他的链将被废弃,其上的交易、奖励等全部无效。

延迟攻击是攻击者利用边界网关协议劫持来延迟目标的区块更新,而且不被发现。它是基于中间人修改目标请求区块的数据来做到的,在目标请求获取最新区块的时候,将它的这一请求修改为获取旧区块的请求,使得目标获得较旧的块。

DDos攻击是通过大流量或漏洞的方式攻击P2P网络中的节点,使网络中部分节点网络瘫痪。

2018年3月闪电网络遭受DDoS攻击,导致大约200个节点离线,节点从大约1050个降到了870个。只要闪电网络骨干节点被攻击,整体网络就会面临巨大危险。理论上,节点分布更均衡可以解决该问题,但是闪电网络很难做到分布均衡,就像其开发者所说的:“我部署的闪电网络服务从一开始就遭受僵尸网络的攻击,在对抗条件下部署去中心化很难。”尤其不少许可链的项目,其共识节点大量集中部署在单一云计算服务供应商的网络内,更容易受到这方面的影响。

公有链对加入其中的用户不设任何访问授权机制,恶意节点可在加入后刻意扰乱运行秩序,破坏正常业务;而许可链尽管设置了不同等级的访问控制机制,也可能存在恶意节点利用漏洞混入进而展开攻击,或发生节点联合等情况。

鉴于以上这些情况可能带来的安全威胁,应在对等节点进行信息传输时进行加密,包括传输过程的加密和信息本身的加密;应通过安全散列计算及数字签名等技术保证传输过程中数据的完整性;应通过节点身份认证防止信息传递过程中受到攻击。对许可链而言,具体做法如下:一是采取节点授权准入原则,二是在终端接入时进行身份认证,三是在交易前对节点通信双方进行身份认证。

(四)共识协议层

区块链有不同的类型,如根据准入机制不同,区块链分为公有链和许可链。这就需要相适应的共识机制来保证链上最后的区块能够在任何时候都反映出全网的状态。共识机制是维持区块链系统有序运行的基础,相互间未建立信任关系的区块链节点通过共识机制,共同对写入新区块的信息达成一致。

以Fabric为代表的许可链系统使用PBFT共识机制。PBFT是一种状态机副本复制算法,即作为状态机进行建模,使得状态机可以在分布式系统的不同节点进行安全可靠的副本复制。对于许可链来说,由多信任方共同管理维护、节点信任度高,使得PBFT成为首选共识机制。只要大于2/3的节点是诚实的,PBFT就能在理论上保证系统的安全性,所以目前没有针对PBFT的有效攻击方法。

公有链与许可链在共识协议安全上考虑的因素不尽相同。以PBFT为代表的传统BFT算法的安全前提通常只假设整个网络中恶意节点不超过一定比例(比如不超过33%),但不去追究或考虑恶意节点的比例为何可以满足实际要求,也不考虑如何通过制度设计引导节点控制者的行为以促成恶意节点的比例不超阈值。但对于大部分公有链而言,由于节点可以匿名地动态加入及退出,如果没有良好的基于经济人假设的奖惩制度设计,合作不会自动产生,类似于“恶意节点比例不超阈值”这样的安全前提也不会神秘地自动满足。所以本文所说的共识机制,也包括区块链的激励机制。

以比特币为代表的公有链多使用POW共识机制。POW共识机制本质上就是在所有提供算力资源的集群中通过一种算法机制选择出一个幸运节点,因POW算法不存在终局性(即可被后期追赶的最长链推翻)状态,一旦总算力过小,则非常容易被攻击者劫持整个区块链,严重影响区块链系统的安全性。尤其是随着通用矿机(可以挖多种币的矿机)和算力云化租赁服务的出现,算力分布更容易随着租赁方的变化在不同链之间快速切换,这是因为此时某条链上的加密货币受到攻击而贬值不会影响矿机拥有者的利益,所以矿机拥有者有动力出租矿机给黑客而不顾及用途,从而降低了51%的攻击门槛。如果矿机拥有者拥有的矿机只能用于挖掘某一种特定的加密货币,则其利益在相当程度上和特定加密货币的安全性是一致的,此时矿机拥有者随意出借矿机给攻击者允许其造成这种加密货币价格的大幅下跌,就变得非常不理性,因此攻击者就较难通过短期租赁算力的方式开展这种攻击。这正是一个典型的激励不相容降低公有链安全性的案例。

以Peercoin为代表的加密货币使用POS共识机制,采用工作量证明机制发行新币,采用权益证明机制维护网络安全。POS机制根据每个节点拥有代币的比例和时间,依据算法等比例地降低节点的挖矿难度,从而加快了寻找随机数的速度。这种共识机制可以缩短达成共识所需的时间,但本质上仍然需要网络中的节点进行挖矿运算。

常见的针对公链共识机制的攻击有51%攻击、长距离攻击、币龄累计攻击、预计算攻击等。其中长距离攻击、币龄累计攻击、预计算攻击是针对POS共识机制的;51%攻击是针对POW共识机制的。

在区块链的实施中如何选择共识机制,取决于实际场景对共识机制安全性与效率的要求,共识机制发展最终是资源消耗、节点扩展、安全性、效率和开放性这五个因素的均衡。

(五)运行平台层

区块链的运行平台层,在密码算法层、节点通信层、共识协议层的基础上构建了面向智能合约和区块链应用的运行环境,是构成区块链PAAS服务的核心部分,其攻击与安全风险主要来自智能合约虚拟机的设计与实现。智能合约虚拟机是区块链智能合约的运行环境。安全的智能合约虚拟机是沙盒封装的,以确保其运行环境是完全隔离的,即在智能合约虚拟机中运行代码是无法访问网络、文件系统和其他进程的,甚至智能合约之间的访问和调用也需要接受必要的管理和限制。

智能合约虚拟机运行在区块链的各个节点上,接收并部署来自节点的智能合约代码,若虚拟机存在漏洞或相关限制机制不完善,很可能运行来自攻击者的恶意的智能合约。目前针对合约虚拟机的主要攻击方式有逃逸漏洞攻击、逻辑漏洞攻击、堆栈溢出漏洞攻击、资源滥用漏洞攻击。

逃逸漏洞攻击是指在虚拟机运行字节码时提供沙盒环境,当一般用户只能在沙盒的限制中执行相应的代码时,此类型漏洞会使得攻击者退出沙盒环境,执行其他本不能执行的代码。

逻辑漏洞攻击是指利用编码不合规范,未对特定数据或代码做容错处理,进而构建特定场景,导致系统出现逻辑问题。

堆栈溢出漏洞攻击是指攻击者通过编写恶意代码让虚拟机去解析执行,最终导致栈的深度超过虚拟机允许的最大深度,或不断占用系统内存导致内存溢出。

资源滥用攻击是指攻击者在虚拟机上部署一份恶意代码,消耗系统的网络资源、存储资源、计算资源、内存资源。

2018年5月29日,国内安全软件360安全卫士在其官方微博上发布长文《360发现区块链史诗级漏洞,可完全控制虚拟货币交易》,指出在EOS平台的智能合约虚拟机中发现一系列新型安全漏洞,如果这一系列安全漏洞受到攻击,攻击者会构造并发布包含恶意代码的智能合约,EOS超级节点将会执行这个恶意合约,并触发其中的安全漏洞。攻击者再利用超级节点将恶意合约打包进新的区块,就会导致网络中所有安全节点(备选超级节点、交易所充值提现节点、加密货币钱包服务器节点等)被远程控制。之后,攻击者可以窃取EOS超级节点的密钥,控制EOS网络的虚拟货币交易,获取EOS网络参与节点系统中的其他金融和隐私数据,例如交易所中的加密货币、保存在钱包中的用户密钥、关键的用户资料和隐私数据等。

虽然因为EOS当时处于早期阶段并未正式上线,没有形成很严重的后果,但因为运行平台层技术实现上的复杂性,以及其自身新的功能也在不断迭代开发,所以新的bug和安全漏洞可能会不断被发现,其面临的安全威胁也将不断变化。因此,仅仅防范已知的漏洞是不够的,还需要具有新的开发理念:一是有出现错误能即时终止的手段以及及时修复bug的途径;二是谨慎发布和校验智能合约;三是通过公开资源来确保获取到最新的安全进展;四是对区块链的特性加深理解。

(六)智能合约层

智能合约本质上是一段运行在区块链网络中的代码,它完成用户所赋予的业务逻辑。一方面,区块链为智能合约的运用提供可信的计算运行平台;另一方面,智能合约大大扩展了区块链的应用范围。合约条款由计算机代码评估并执行不受人为干预,所以合约代码一旦上链,执行过程和结果都完全公开而且不可篡改。随着智能合约的广泛应用,出现了各种漏洞攻击事件,安全风险问题日益严重。智能合约漏洞一旦被黑客利用就可能导致很多严重的安全问题,特别是资产安全问题。

一旦智能合约的编程代码设计不完善,就可能出现安全风险。其安全风险包含三个方面。第一,漏洞风险,包括合约代码中是否有常见的安全漏洞。第二,可信风险。没有漏洞的智能合约,未必就安全,合约本身要保证公平可信。第三,不合规范风险。由于合约的创建要求以数字形式来定义承诺,所以如果合约的创建过程不够规范,就容易留下巨大的隐患。

目前针对智能合约的主要攻击方式有可重入攻击、调用深度攻击、交易顺序依赖攻击、时间戳依赖攻击、误操作异常攻击、整数溢出攻击和接口权限攻击等。

可重入攻击是指当一个合约调用另一个合约的时候,当前的操作就要等到调用结束之后才会继续。这时,如果被调用者需要使用调用者当前所处的状态,就可能发生问题。2017年7月,以太坊钱包Parity爆出极其严重的漏洞,使得攻击者从三个高安全的多重签名合约中窃取超过15万ETH(约3000万美元)。攻击者通过调用initWallet智能合约(理论上这个智能合约只允许被调用成功一次),而initWallet智能合约未设置重入检查,以防止攻击者多次初始化智能合约将这个钱包合约的所有者进行覆盖从而将钱包所有者修改为攻击者,这相当于从unix中获得了root权限。

调用深度攻击针对的是虚拟机中智能合约的调用深度限制,这个限制可以防止调用栈资源被滥用。调用深度攻击可以让合约调用失败,即使这个调用在逻辑上不存在任何问题,在虚拟机层面也不被允许了,因为调用深度达到了虚拟机中的阈值,不再往下执行。攻击者可以通过控制调用深度来使某些关键操作无法执行,如转账、余额清零等。

交易顺序依赖攻击是指交易进入未确认的交易池,并可能被矿工无序地包含在区块中,因此打包在区块中的交易顺序与交易生成的顺序完全不同。如果攻击者可监听到网络中对应合约的交易,然后发出他自己的交易来改变当前的合约状态,例如对于悬赏合约减少合约回报,则有一定概率使这两笔交易包含在同一个区块下面,并且排在另一个交易之前,完成攻击。

时间戳依赖攻击是指攻击者可以通过设置区块的时间戳来尽可能满足有利于他的条件,从中获利。

误操作异常攻击是指当一个合约调用另外一个合约时,后者操作可能执行失败,从而退回到未执行的状态,此时前者若不检查后者执行的结果继续往下执行,会导致很多问题。

整数溢出攻击是指如果攻击者向智能合约提供了一个超出代码处理范围的参数,就会产生崩溃结果,这样的崩溃助长了多重攻击。崩溃可能触发拒绝服务攻击,更严重地,关于系统内部的重要信息可能会在错误消息中泄露。2018年初,区块链形式化验证平台VaaS(Verification as a Service)检测发现,基于EOS区块链的代币合约同样可能存在BEC代币合约类似的整数溢出漏洞。

接口权限攻击是指智能合约错误地将高权限的接口暴露给普通用户调用,导致系统状态出现异常。常见的接口权限攻击多出现在ERC20代币合约的铸币权限上,一些开发者没有在初始化后关闭铸币权限,导致任何人可以调用生成新的代币。2017年11月,著名的Parity多签钱包被一个用户误触发了共享库销毁函数,导致价值2.85亿美元的以太币被永久锁定。

从以上的安全事件可以看出,现阶段智能合约并不完善,存在的各种漏洞一旦被黑客利用,就会造成资产损失。解决这些问题仍具有挑战性。以整数溢出为例,智能合约中有存在针对数值的计算和存储都是在无符号整数的范围中计算和存储的情况。一旦提供的数字输入或计算结果超过定义的字节数(即其数值范围超过了正常能够表示的数值范围),则会发生数值溢出情况。此种情况一旦在合约中出现,极易影响其合约中的处理逻辑和数值状态,导致验证的安全问题。如2018年4月,黑客利用美链BEC代币智能合约中的数据溢出漏洞进行攻击,成功地向两个地址转出了天量级别的BEC代币,导致市场上海量BEC被抛售,BEC价格几小时内几近归零。

智能合约的本质是代码,它界定了各方使用合约的条件,在满足合约条件下机器指令被执行,其开发本身对程序员就是一项挑战。受限于自身的安全意识和代码编写能力,开发人员一旦没有全面考虑可能应对的风险,智能合约的可靠性就难以保证。

为防范智能合约层的安全风险,首先,在开发与数值计算相关的智能合约时应该使用安全数值计算库,并做完整的生命周期式安全合规检查,防止整数溢出漏洞;应充分考量智能合约执行的功能,不能对数据完整性、安全性和平台稳定性产生负面影响。

其次,智能合约不可避免地与区块链之外的应用程序相互作用,目前没有方法和标准可以将与外部应用程序连接时引入安全漏洞的风险降至最低。所以,一方面需要先进行智能合约协议安全性分析,防止业务逻辑漏洞的出现;另一方面应对与外部应用程序进行智能合约交互进行标准化,为保护完整性、安全性和稳定性提供指导。

最后,在系统安装智能合约代码时,应确保代码来自正确的可信提供商并且未被修改,如果攻击者有能力安装恶意智能合约代码则可以改变智能合约的行为。必须有控制措施确保智能合约只能由已被授权人员安装,或能将部署在链上的代码与公布的合约源码自行编译后的结果进行比对以确认其一致。

(七)系统应用层

系统应用层涉及不同行业领域的场景和用户交互,导致各类传统安全隐患较为集中,成为攻击者实施攻击的首选。2018年7月至12月,EOS链上的DAPP共发生49起安全事件,波及37个DAPP,导致项目方共损失近75万枚EOS,按照攻击发生时的币价折算,总损失约合319万美元。

加密货币交易平台是为用户提供在线交易服务的重要渠道。不论是内部泄露数据还是外部黑客入侵,都会造成关键信息泄露。目前针对交易平台的攻击主要包括账户泄露攻击、DDoS攻击、Web注入攻击、钓鱼网页攻击。

账户泄露攻击(撞库、穷举)是指攻击者通过手机互联网上已公开或还未公开的用户名、邮箱、密码等信息在要攻击的网站上通过程序批量尝试,若网站不对登录接口做请求限制或者风控,则会导致攻击者可以无限发送请求逐个测试可能的值来暴力破解某些关键信息。

2017年10月2日,OKCoin旗下交易所出现大量账户被盗情况,不完全统计损失金额在1000万元人民币左右,用户怀疑平台已被攻击,或有已被关闭平台的交易所员工向黑客泄露了平台用户的账户信息,黑客通过用户信息破解账户密码登录平台,然后在平台上完成数字资产转移。

DDoS攻击是攻击者想办法让目标机器停止提供服务,若交易平台被DDoS攻击,不但交易平台会蒙受损失,加密货币的交易量也将大大减少,间接影响价格涨跌。

Web注入攻击是指通过对Web连接的数据库发送恶意的SQL语句,从而产生安全隐患和对网站的威胁,可以造成逃过验证或者私密信息泄露等危害。

钓鱼网页攻击是指是一种企图从电子通信中,通过伪装成用户信任的网页以获得如用户名、密码和信用卡明细等个人敏感信息的犯罪诈骗过程。常用手段是导引用户到URL或界面外观与真正网站几无二致的假冒网站输入个人数据。就算使用强式加密的SSL服务器认证,要侦测网站是否仿冒实际上仍很困难。

区块链的钱包是密钥管理的工具,钱包中包含公私钥对,私钥与用户的资产直接相关。用户用私钥进行签名交易,从而证明用户交易的输出权。获取了私钥,就获得了资产的使用权和交易权。目前主流的钱包分为软钱包和硬件钱包。

软钱包一般运行在有互联网连接的设备上,因此也被称为热钱包,例如电脑客户端钱包、手机APP钱包、网页钱包等。用软钱包交易是很方便的,但是安全性相对于硬钱包来说要低很多,主要攻击手段包括私钥窃取、破解攻击、APP内存篡改攻击。

私钥窃取是指由于钱包私钥文件多点备份不安全导致钱包私钥泄露。经调查,在互联网可接入的地方,都能看到密钥的存储。攻击者可以针对密钥文件进行专门扫描,以及开发相关的木马病毒进窃取。2019年1月14日,加密货币交易所Cryptopia被盗,成为2019年第一起黑客盗窃事件,共有价值1600万美元的以太坊ETH被盗窃。此次攻击涉及大量钱包,超过7.6万个,而且这部分钱包都没有基于智能合约,这意味着黑客获得的私钥数量不是一个两个而是成千上万个。

APP内存篡改攻击是指攻击者通过控制内存中的应用代码,解析出APP内逻辑、功能、流程、漏洞等各类关键内容,针对发现的漏洞植入相应后门代码并针对APP进一步攻击。

硬钱包的私钥存储和运算,往往运行在封闭的硬件(如安全芯片)内部,没有直接暴露在互联网或开放的软件运行环境中,有时候也被叫作冷钱包,其安全性要远高于软钱包,但往往不方便交易。但硬钱包也非绝对安全,比如2018年初硬钱包制造商Ledger公司的产品发生过的中间人攻击,以及第35届混沌通信大会(35C3)上Wallet Fail团队所展示的侧通道攻击(side channel assault)等,都说明硬钱包的安全仍需要不断完善。

还有一种针对钱包私钥的攻击叫作“彩虹攻击”,即事先遍历常见的助记词组合并预先生成对应的公私钥,然后在网络中寻找已经被彩虹表记录碰撞出来的账户,一旦被彩虹表碰撞,则意味着攻击者拥有了对应账户的控制私钥,验证威胁账号安全。该安全攻击手段使得热钱包和冷钱包都面临较大的风险。2018年7月11日上午,在发布EOS账户存在“彩虹攻击”风险的高危预警后,区块链安全公司PeckShield紧急启动部署了一系列应急处理方案,其中启用的EOS Rescuer公共查询服务已累计提供数万次查询,监测到的受影响的高危账户资产也已做妥善管理。

为应对系统应用层的安全风险,平台端上线前应进行渗透测试,在运行中进行全方位安全防护,同时制定遭受攻击后的应对措施。钱包端因为涉及加密资产的安全,更容易被攻击者攻击,这其中以私钥的保护最为重要,用户私钥最好使用随机字符串进行生成,若允许用户自定义输入则必须输入足够复杂的助记词。应该加密保存私钥,恪守按需使用、离线使用的原则,尤其不应该通过网络传输私钥。另外,结合门限签名等密码算法的私钥管理方案,对于钱包端私钥的安全保护,也具有重要的实践意义。

事实上在实践中,大部分的区块链系统应用层的安全问题,都不是区块链自身的安全风险带来的,甚至与区块链本身没有丝毫关系。比如大量加密货币交易平台爆出的安全问题,本质上都是其自身上层应用中存在的安全管理漏洞所致,不涉及底层的区块链技术。但是很多舆论宣传倾向于把这类安全事件归类到与区块链相关的安全案例中,所以还是需要人们提高风险辨别能力,对风险能够有清晰的认识从而加以正确区分。

三、区块链隐私泄露问题

在CIA三要素中,区块链在确保完整性和可用性方面天然具有某种优势,但在确保机密性方面尚存在较大挑战。

隐私是一种与公共利益、群体利益无关,当事人不愿他人知道或他人不便知道的个人信息(只能公开于有保密义务的人)、当事人不愿他人干涉或他人不便干涉的个人私事,以及当事人不愿他人侵入或他人不便侵入的个人领域。

在区块链上,实体的标识信息及其在区块链上的交易活动信息都可能被用户认为有隐私保护的必要。区块链上个人信息保护可参考的法规有我国的《GB/T35273-2017信息安全技术个人信息安全规范》中关于开展收集、保存、使用、共享、转让、公开披露等个人信息处理活动应遵循的原则和安全相关要求,以及国际上的《通用数据保护条例》(General Data Protection Regulation)。

区块链技术的逻辑要求相关上链数据必须得到不同节点的共识验证,因此,区块链上的数据隐私保护与传统的数据隐私保护相比,具有不同的特点与要求,往往需要设计专门的隐私保护策略。一是设计隐私保护技术方案,区块链在设计和实现时,宜考虑提供适当的隐私保护方案来加强对其上运行的隐私数据的保护。二是链上(on-chain)链下(off-chain)分割,区块链上的隐私保护,需根据实现方案考虑链上和链下隐私数据的保护策略。三是访问控制,区块链在设计和实现时,应采取技术措施控制隐私相关数据的访问权限,对隐私数据访问者进行身份验证并检查其授权。四是需要重点研究同态加密、零知识证明、安全多方计算、TEE(如SGX)等技术领域,最大限度地为区块链体系提供隐私保护能力。同态加密在保证信息不解密的情况下运行。零知识证明即证明者能够在不向验证者提供信息本身内容的情况下,使验证者相信某个论断真实可信,保证身份的匿名性。安全多方计算是解决一组互不信任的参与方之间隐私保护的协同计算问题,安全两方计算作为其特例,一般基于混淆电路和不经意传输等技术实现。TEE技术则是在信任特定硬件设备(如Intel芯片的SGX功能)难以攻破的前提下选择在受硬件保护的Enclave环境中解密外部输入数据、执行智能合约代码、加密输出数据,此过程中明文信息只出现在Enclave中但不能被外部看到。当然,在实现匿名的过程中,所需的代价可能较高,也可能给追踪与监管带来非常大的挑战。

四、结束语

区块链是信息互联网向价值互联网转变的重要基石,是现代数字货币体系的可选技术之一。它以密码学技术为基础,通过分布式多节点“共识”机制,可以“完整、不可篡改”地记录价值转移(交易)的全过程。

区块链作为密码学、网络技术、数据库等多种技术组合的新型技术,复杂程度更高,更容易出现安全问题,因此区块链安全除考虑传统技术范畴内的基础设施安全外,更需要围绕密码算法安全、节点通信安全、共识协议安全、运行平台安全、智能合约安全和系统应用安全等不同的层级进行全面的安全体系建设。安全是个系统性工程,风险的发生也遵循木桶原理,容易从最薄弱的一块板上突破。

区块链技术仍然处在初期阶段,其安全问题处于动态发展过程中,本报告积极探索区块链安全的本质,希望为区块链安全的应用实践给出指导性建议。


第五章 区块链技术与新一代信息技术创新融合的价值、方法与挑战


一、区块链概述

区块链(Blockchain)技术本质上是一种由密码学、点对点网络通信、共识算法、智能合约等多种技术集成创新的新型分布式数据库系统(也称为分布式账本技术)。典型的区块链以块-链结构存储数据。各参与方按照事先约定的规则,共同存储信息并达成共识。为了确保数据的一致性和防篡改,系统以区块(block)为单位存储数据,区块之间按照时间顺序结合密码学算法构成链式(chain)数据结构,通过共识机制选出记录节点,由该节点决定最新区块的数据,其他节点共同参与最新区块数据的验证、存储和维护,数据一经确认,就难以删除和更改,只能进行授权查询操作。

作为一项新兴技术,区块链具有在诸多领域开展应用的潜力。然而,区块链不是万能的,技术上去中心化、难以篡改的鲜明特点,使其在限定场景中具有较高的应用价值,可以总结为“新型数据库、多业务主体、彼此不互信、业务强相关”。本质上,区块链是一种带时间戳的新型数据库,从对数据真实、有效、不可伪造、难以篡改的组织需求角度出发,相对于传统的数据库来说,可谓一个新的起点和新的要求。区块链需要一个跨主体、多方写入的应用场景。多个主体各自维护账本,往往会因为数据信息不共享、业务逻辑不统一等原因,导致账对不齐的现象。与之相反,区块链中每个主体都可以拥有一个完整的账本副本,通过即时清结算的模式,保证多个主体之间数据的一致性,规避了复杂的对账过程。此外,区块链适合在不可信的环境中建立基于数学的信任。区块链在技术层面保证了系统的数据可信(密码学算法、数字签名、时间戳)、结果可信(智能合约、公式算法)和历史可信(链式结构、时间戳),因此区块链提供了一种“机器中介”,尤其适合在协作方不可信、利益不一致或缺乏权威第三方介入的行业应用。

相对于传统的分布式数据库,区块链主要的技术优势包括四点。一是从集中式存储账本演进到分布式共享账本。区块链改变了原有的集中式记账,变成“全网共享”的分布式账本,参与记账的各方通过同步协调机制,保证数据的一致性,提升了支付清结算效率。二是解决了传统中心化的信任机制问题。网络中没有中心节点,所有节点都是平等的,通过点对点传输协议达成整体共识。三是数据安全且难以篡改。每个区块的数据都会通过非对称密码算法加密,并分布式同步到所有节点,确保任一节点停止工作都不影响系统的整体运作。四是以智能合约方式驱动业务应用。系统由代码组成的智能合约自动运行,无需人工干预。

二、 区块链与新一代信息技术的融合创新

(一)“区块链+云计算”迸发突破,为新一代信任基础设施奠定基础

区块链的行业应用正在加速推进,正在由数字货币等金融应用向非金融领域渗透扩散。企业应用是区块链的主战场,具有安全准入控制机制的联盟链和私有链将成为主趋势。云的开放性和云资源的易获得性,决定了公有云平台是当前区块链创新的最佳载体,区块链与云计算的结合越发紧密,有望成为公共信用的基础设施。在区块链应用安全方面,区块链安全问题日益凸显,安全防卫需要从技术和管理全局考虑,安全可信是区块链的核心要求,标准规范性日趋重要。此外,区块链技术与监管要求存在一定差距,但距离有望进一步缩小。

BaaS是Blockchain as a Service的缩写,中文译为“区块链即服务”,是一种帮助用户创建、管理和维护企业级区块链网络及应用的服务平台。它具有降低开发及使用成本,兼顾快速部署、方便易用、高安全可靠等特性,是为区块链应用开发者提供区块链服务能力的平台。BaaS通过把计算资源、通信资源、存储资源,以及上层的区块链记账能力、区块链应用开发能力、区块链配套设施能力转化为可编程接口,让应用开发过程和应用部署过程简单而高效。同时,通过标准化的能力建设,保障区块链应用的安全可靠,为区块链业务的运营提供支撑,解决弹性、安全性、性能等运营难题,让开发者专注开发。

区块链开放平台BaaS具备如下特点。

一是提供简单易用的部署环境。在开源组件基础上部署企业级分布式区块链系统并非易事,不仅需要专业的区块链知识,同时需要各种复杂的设计和配置,且极易出错。区块链服务需要帮助企业实现自动化配置、部署区块链应用,并提供区块链全生命周期管理,让客户能够容易地使用区块链系统,专注于上层应用的创新和开发。

二是具备灵活扩展的功能属性。区块链服务设计应采用抽象架构和可插拔模块,面向接口设计软件,将网络构建、加密、共识、资源管理、用户管理、运维管理等功能模块分开设计实现,并可将网络构建、共识等区块链底层技术打包,作为一个插件来进行实现。系统应提供计算资源、存储资源、网络资源的无缝扩展。区块链服务也可遵循秉承源于开源、优于开源、回馈开源的原则,积极投入和引领开源社区,为用户提供成熟先进的区块链系统。

三是借力安全可靠的保障能力。区块链服务应具有有效的防篡改机制、清晰的崩溃容错安全边界、安全的数据管理和隔离机制,支持核心技术如共识算法、同态加密、零知识证明、电信级云安全、高速网络连接、海量存储等,提供完善的用户秘钥、权限管理、隔离处理、可靠的网络安全基础能力、分类分级故障恢复能力和运营安全保障措施。

四是构建透明可视的运维体系。区块链服务应提供故障分类分级报警体系和运维方法,提供必要的运维接口和运维授权的能力,为链代码和链上应用提供全天候的可视化资源监控能力,为基于权限的分权分域提供完善的用户管理体系。

“区块链+云计算”的融合创新,发挥了区块链多方参与、多中心、可追溯、防篡改的特点,与具体的企业应用、行业场景相结合,可真正优化业务流程,重构现有的商业模式和应用生态。结合云平台提供的弹性可扩展资源、丰富多样的云计算产品,并和各行业合作伙伴携手合作,能共同打造可信的行业区块链解决方案和区块链生态,共同推进区块链场景落地,给企业带来更大的便利、价值和想象空间。

目前,根据市场咨询公司ABI Research发布的BaaS(区块链服务平台)排名,微软、IBM、甲骨文、亚马逊、思科、SAP等都已经超前布局BaaS领域,国内的阿里巴巴、百度、华为和腾讯紧随其后,将在未来打造一个70亿美元的BaaS市场。

(二)“区块链+大数据”助力数据共享流通,构建大数据时代的信任体系

大数据是信息化发展的新阶段。随着信息技术和人类生产生活交汇融合,互联网快速普及,全球数据呈现爆发增长、海量集聚的特点,对经济发展、社会治理、国家管理、人民生活都产生了重大影响。世界各国都把推进经济数字化作为实现创新发展的重要动能,在前沿技术研发、数据开放共享、隐私安全保护、人才培养等方面做了前瞻性布局。可以看到,大数据正在成为数字社会治理的基础性战略性资源,但现阶段大数据发展正面临数据开放共享流通难、数据安全与隐私保护难等挑战。

区块链共享账本、可证可溯、权责明晰和多方计算的技术特性将在大数据时代发挥更重要的作用。

其一,区块链可以解决数据的完整性和真实性问题。利用区块链去中心化的特性,所有的区块链机器在整个互联网中都是一套“巨系统”,在这个“巨系统”中,数据在每台机器上都有备份副本,所有节点都在计算同一个任务,规避了传统中心化系统因单点故障而丢失数据的难题。区块链基于非对称加密技术,让所有人都有自己的数据所有权,规避了传统信息系统因黑客攻击而产生的数据泄露困境。依托数字化原生芯片和设备产生数据的直接上链,依托块链式数据结构环环相扣的能力,确保了每一笔数据都能够追溯,每一笔数据都能证明其真实性。

其二,区块链可以有效促进数据流通共享。数据资源是大数据时代重要的生产要素和战略资产,其价值体现以数据开放和流通为前提。区块链具有共享账本、公开透明等技术特性,有望成为打破“数据孤岛”,实现信息有序流通与共享的利器。一方面,区块链的引入,有助于推进数据的权责厘清工作,依托区块链的公私钥对,每个数据流通方都有对数据的加密权、知情权和管控权,能够加速数据资产的确权和流通。另一方面,通过智能合约的衔接,多方的数据共享和数据查询,能够运行在智能合约的沙盒中,规避了以往数据脱敏的烦琐工作,提升了跨区域跨部门的业务协作效率。

区块链有助于打破政务数据中的“数据孤岛”。在大数据领域里,数据的流通是释放数据价值的关键环节。从概念上讲,基础的数据流通只存在数据供方和数据需方这两类角色,数据从供方通过一定手段传递给需方。然而,由于数据权属和安全的需要,不能简单地将数据直接进行传送。数据流通的过程中需要完成数据确权、控制信息计算、个性化安全加密等一系列信息生产和再造,形成闭合环路。数据流通也产生权属、质量、合规性、安全性等诸多问题,这些问题成为制约数据流通的瓶颈。区块链作为一种难以篡改的、可追溯的数据库,特别强调透明性、安全性,通过多个计算节点共同参与见证和记录、相互验证信息有效性,既进行了数据信息防伪,又提供了数据流通的可追溯路径。业务平台中授权和业务流程的解耦对数据流通中的溯源、数据交易、智能合约的引入有了实质性的进展,可有效解决当前大数据遇到的问题,形成关键信息完整、可追溯、不可篡改、多方可信任的数据历史。

区块链有助于构建可证可溯的数据交易平台。在区块链搭建的数据交易平台上,数据提供者在完成数据确权后,交由系统完成真实性、完整性与有效性的验证,并形成去中心化的数据列表,供所有节点查阅、下载与应用。当数据交易双方达成合作时,交易信息将被上传至区块链,被系统记载并告知所有节点,交易信息将被所有节点记录与保存,以保证交易的安全与可靠。在此基础上,区块链上所部署的智能合约也将使数据交易更加智能。根据交易双方的合作意愿,以代码形式存在的合约将在条件满足时自动执行,以实现数据的买卖、租赁、借用、交换等。

区块链有助于建立大数据时代的信任体系。在大数据时代,数据资产化与资产数据化的趋势同时存在。而数据在流通的过程中,由于其可复制、易修改、难溯源的特性,在成为资产的过程中面临严重的“信任危机”。回顾历史,人类在信任和共识的基础上搭建起合作网络,从个人信任进化到制度信任是人类文明的一大进步,但制度和国家机器等中心节点需要大量人力维系,成本非常高。然而,区块链技术从根本上改变了中心化的信用创建方式,通过数学原理而非中心化信用机构来低成本地建立互信,而这种信任使得参与方不需要承担机构和个人背书的成本,可以高效简约地构建大型合作网络。

大数据技术有效提升区块链数据建模和分析能力。区块链上存储的数据将随着区块链应用的迅速发展而越发庞大,通过中继、侧链、见证人等跨链技术,不同业务场景下的数据融合流通,进一步提升了数据规模和丰富性。但是,区块链本身所具有的区块数据集合,涵盖了各项交易的全部历史记录。随着区块链的应用迅速发展,一个完备的账本必然会累积海量数据,数据规模会越来越大。然而,区块链不等于海量数据。区块链虽然保证了数据的完备性,支持了信息流和资金流合并,但其本身数据统计分析的能力较弱。大数据具备海量数据存储技术和灵活高效的分析技术,极大扩大了区块链数据的价值和使用空间,通过将区块链上的数据导出,在链外进行数据的清洗、存储、转换和分析,挖掘利用块数据的潜在价值,加速“区块链+大数据”的创新融合,做大做强数字经济,助力打造国家高效治理、提升人民福祉的智慧城市。

(三)“区块链+物联网”为万物互联和新型共享经济奠定基石

目前,全球物联网应用发展主要有三大主线。一是面向需求侧的消费性物联网,即物联网与移动互联网相融合的移动物联网,创新高度活跃,典型的应用是可穿戴设备、智能硬件、智能家居、车联网、健康养老等。二是面向供给侧的生产性物联网,即物联网与工业、农业、能源等传统行业深度融合形成行业物联网,成为行业转型升级所需的基础设施和关键要素。三是智慧城市发展进入新阶段,基于物联网的城市立体化信息采集系统正加快构建,智慧城市成为物联网应用集成创新的综合平台。

物联网在长期发展演进过程中,也遇到了设备安全、个人隐私、架构僵化、通信兼容和多主体协同五大痛点。在设备安全方面,Mirai创造的僵尸物联网(Botnets of Things)被《麻省理工科技评论》评为2017年的十大突破性技术。据统计,Mirai僵尸网络已累计感染超过200万台摄像机等IoT设备,由其发起的DDoS攻击,让美国域名解析服务提供商Dyn瘫痪,Twitter、Paypal等多个人气网站无法访问。在个人隐私方面,主要是中心化的管理架构无法自证清白,个人隐私数据被泄露的相关事件时有发生。人民网报道的成都266个摄像头被网络直播就是一个案例。在架构僵化方面,目前的物联网数据流都汇总到单一的中心控制系统,随着低功耗广域技术(LPWA)的持续演进,可以预见的是,未来物联网设备将呈几何级数增长,中心化服务成本难以负担。据IBM预测,2020年万物互联的设备将超过250亿个。在通信兼容方面,全球物联网平台缺少统一的语言,这很容易造成多个物联网设备彼此之间通信受到阻碍,并产生多个竞争性的标准和平台。在多主体协同方面,目前,很多物联网都是运营商、企业内部的自组织网络。涉及跨多个运营商、多个对等主体之间的协作时,建立信用的成本很高。

“区块链+物联网”是区块链与物联网技术的有机融合,可以有效解决上述痛点。一是降低成本。目前的物联网应用基本上都采用中心化的体系结构,所有的数据流都汇总到单一的中心控制系统中,而数量庞大的物联网设备的管理与维护将会给运营商、企业和最终用户带来巨大的成本压力。区块链技术为物联网提供了点对点直接互联的方式进行数据传输,物联网不需要引入大型数据中心进行数据同步和管理控制,包括数据采集、指令发送和软件更新等操作都可以通过区块链的网络进行传输。二是解决物联网的隐私保护问题。随着物联网产业的发展,数据安全和隐私保护的问题也越来越受到业界关注。区块链技术为物联网提供了去中心化的技术服务,只要数据不被单一的云服务提供商控制,且所有传输的数据都经过严格的加密处理,那么用户的数据和隐私将会更加安全。三是跨主体协作。区块链的分布式对等结构和公开透明的算法,能够以低成本建立互信,打破“信息孤岛”,促进信息横向流动和多方协作。区块链与物联网的结合,为“边缘计算”的实现提供了基础和前提。

区块链有助于构建去中心化的物联网体系,实现万物互联下的设备自主治理。物联网的深度应用,受到目前其体系架构中心化模式的困扰。中心化的信息交换和控制,会衍生出单点故障问题,成为物联网真正发挥效用的瓶颈。根据Garner统计,2015年全球的物联网设备数量达到49亿台,2020年将达到250亿台左右。随着物联网中设备数量的增长,如果以传统的中心化网络模式进行管理,将带来巨大的数据中心基础设施建设投入及维护投入。此外,基于中心化的网络模式也会存在安全隐患。区块链的去中心化特性为物联网的自我治理提供了方法,可以帮助物联网中的设备理解彼此,并让其中的设备知道不同设备之间的关系,实现对分布式物联网的去中心化控制。物联网设备不需要依靠任何中心控制,进一步保障了用户安全及隐私。

区块链有助于构建透明可视化的物流体系,加速实现普惠金融。区块链和物流平台的有机融合,将平台方、物流企业、资金方、金融机构等多方的物流、资金流、信息流“三流合一”,形成自循环体系,实现数据业务的透明可视化。买卖双方可以更好地掌握跟踪物流信息,并利用区块链的不可篡改性和智能合约技术,保证链上数据的安全性和真实性,加强资金流向管控和回款控制,降低交易双方的风险。同时,衍生出基于区块链的供应链金融,在多主体、多协作的业务模式下,通过高度冗余的确权数据存储,实现数据的横向共享,进而实现核心企业的信任传递。基于《物权法》和《电子签名法》的约束,借助核心企业信用额度,提升中小企业的融资效率,降低小微企业的融资成本,加速实现普惠金融,有效缓解中小微企业“融资难、融资贵”的问题。

物联网技术有助于区块链上链数据的真实可靠,构建可信孪生数字世界。区块链能够保证链上数据的真实可靠、难以篡改和不可抵赖,但是很难确保数据上链过程的真实性和权威性。目前,普遍采用闭环生态构建、依托透明算法的公有链技术和依托第三方权威机构认证背书的联盟链技术来为链上数据“增信保真”。随着eMTC、NB-IoT、LoRA等低功耗广域网(LPWA)技术的发展,物联网设备的传输质量、传输距离、功耗、蓄电量等问题将得以逐步解决,会引入基于区块链的数字身份,在设备注册、访问控制、状态管理等一系列设备安全管控方法的加持下,物联网设备基于芯片ID对应的数字身份将如实记录该设备产生的所有数据,并直接写入链上,规避“真实数据上链难”的问题。

(四)“区块链+人工智能”为未来的数字经济蓬勃发展积蓄力量

人工智能一般分为训练(Training)和推断(Inference)两个阶段。在训练阶段,机器需要读取大量的训练数据(类似人类的经验),经过大规模的训练(计算)生成一个模型(类似人类学习得到的技能)。在推断阶段,机器利用训练得到的模型,可以预测新数据的结果。可以看到,在模型的生产过程中,算法、算力和数据是最为重要的三个因素,因此也被誉为人工智能发展的“三驾马车”。

区块链依托物联网设备的数字身份、难以篡改的共识算法和可证可溯的块链式结构,能够提升人工智能使用数据的真实性、关联性和有效性,从算力、算法和数据三个层面,提升人工智能的分析精准度,并借助区块链衍生出的新型协作模式和计算范式,构建“大众创业、万众创新”的人工智能新生态。

在数据层面,人工智能产业仍存在流通不畅、数据质量良莠不齐和关键数据集缺失等问题。人工智能所需数据主要集中在政府和大公司手里,受制于监管、商业门槛等问题,数据无法有效流动;部分有价值的数据,如监控、电话客服等数据目前没有合法渠道获得;区块链技术则能够帮助各机构打破“数据孤岛”格局,促进跨机构间数据的流动、共享及定价,形成一个自由开放的数据市场,让人工智能可以根据不同用途、需求获取更加全面的数据。

在算力层面,由于模型的训练需要大量的图片、视频输入,需要极大的运算量,普通人工智能科技公司需要百万元以上的资金购置GPU、FPGA等硬件资源,对于大部分中小型企业来说,成本极高。利用区块链分布式计算的特性,可以将大型GPU或者FPGA服务器集群、中小型企业闲散的空余GPU以及个人闲置GPU作为计算节点,利用区块链技术通过共享算力,为人工智能提供算力供给。

在算法层面,由于人工智能产业算法门槛极高,而实际市场需求又很大,因此当下的算法仅能满足少数企业的需求,而开发个性化的产品又有很高的技术壁垒和资金壁垒,小企业独立开发难度极大。利用区块链分布式协作的特性,搭建发布机器学习任务的平台,利用群体智慧优化人工智能算法,算法可由多个人工智能专家更新维护。此外,基于区块链技术可构建算法交易市场,将允许用户在平台上发布任务、购买算法模型,在保证知识产权和隐私的条件下,激励开发者并大大降低AI使用门槛。

三、区块链与新一代信息技术融合面临的挑战

(一)政策性风险

区块链目前部分的衍生应用在世界各地存在着一定的政策风险。例如,Token代币的合法化应用、虚拟货币衍生的金融风险等,尽管与区块链技术没有直接关系,但在经济和政策层面,都给区块链技术带来了不小的政策压力。区块链与新一代信息技术创新融合,不仅需要在技术、法律、监管等多方面进行配套,同时需要包括政府、区块链产业各环节(含技术提供方)等在内的多方参与,推动平台建设和区块链标准设立,制定相关法律和政策,使新一代信息技术的创新应用既风险可控,又达到支持实体经济和服务企业的目的,发挥良好的社会效益和经济效益。

(二)技术融合的不确定性

无论是从当前区块链的技术指标,还是从大数据、物联网、人工智能的实际落地性来讲,距离真正的结合并实现落地,需要面对的不确定性因素仍然存在。目前区块链在和新一代信息技术的融合过程中,主要遇到扩展、隐私和计算能力等方面的问题:主流的公有链难以支撑人工智能的链上实现;区块链项目涉及交易信息、信用信息等敏感性商业信息,由于授信平台对数据隐私保护要求很高,数据存储必须有很强的防截获、防破解能力,隐私保护和数据共享的边界需要比较和权衡;物联网设备在和区块链的集成过程中,也会遇到存储空间小、续航能力弱、计算和通信能力受限、查询速度慢等一系列问题。

(三)大规模社会应用难推广

区块链、大数据、物联网、人工智能等新一代信息技术的应用,虽然目前市场有初步测试,但真正落地有一定难度。一方面,加入区块链系统,需要对原有业务系统进行改造,初期需要较大的替代成本;另一方面,客户对于新的技术应用需要一段适应期,短期内市场规模有限,市场潜力还需进一步挖掘。此外,数据共享、机理共享、资源共享的关键,除了技术以外,关键是要有一个合理的组织形态,使得相关利益方愿意共享。弱化数据的中心化,降低了大型企业相对小公司的竞争优势。从技术领域中去除这些障碍将会改善社会,但共享市场的尝试可能会让大公司感到不安,从而反对利用区块链技术对数据去中心化。

四、发展建议

加强技术模式创新。开展工业应用特点相关的区块链等新一代信息技术核心技术研究、产品开发和集成测试,突破性能、安全、兼容性等制约应用发展的技术瓶颈;培养和强化企业知识产权意识,鼓励产业积极开展技术创新;依托高校、研究机构和企业自主创新平台,形成产、学、研用相结合的开发联合体,加大核心信息技术的投入,加强复合型交叉能力人才培育,严格管理研究资金,推动科研成果转化;提升新一代信息技术评估测试水平,客观准确评估新一代信息技术平台和应用。

规范服务实体经济。创建政、产、学、研合作交流平台,实现行业供需对接,助力行业应用发展;加快推进区块链与其他与新一代信息技术创新融合的试点,组织开展相关应用的概念验证、试验平台、先导应用示范和评估,培育行业龙头、领军企业和产业生态,加速形成以点带面、点面结合的示范推广效应;结合试点示范的实践经验,面向新一代信息技术企业开展技术与应用培训;构建“双创”良好格局,鼓励区块链和大数据、工业互联网、信息安全等的深度融合,打造新的经济增长极,助推共享经济。

完善发展政策环境。政府应发挥统筹协调作用,组织专家研判区块链与新一代信息技术融合的发展趋势,把握各个新兴技术本质、潜在用途和成本收益,研究制定促进区块链等新一代信息技术应用的发展政策,通过设立专项基金和出台政策等方式,引导产业健康发展;加快制定相关法律法规,将区块链等新一代信息技术纳入合适的监管框架之内,防范系统性风险;尽可能在维护系统参与者利益与维护更广泛的社会利益间达成平衡,避免固化的架构阻碍技术创新。

  

行 业 篇

第六章 “区块链+医疗”技术应用研究报告


医疗信息化起源于HIS系统进入医院信息化管理流程,以此改变手工计费模式,实现部门内部的信息化管理,而后建立以互联网为基础的信息系统,协调部门之间的日常活动。为加强疫情管理、提升应急处理能力,在政府的推动下开始建立区域卫生信息系统和公共卫生平台,加强公共健康管理。

近年来医疗信息化硬件市场规模和软件市场规模均呈现出稳定的增长,在社会老龄化加快和新技术快速发展的形势下,医疗信息化市场需求也在快速增长。从个人到家庭的治疗需求和健康管理需求,从医院到区域的信息共享和平衡发展,这些需求的满足均需要新技术的应用。

为平衡医疗资源的分布、降低医疗成本,在政策的推动作用下,互联网医院、医联体等组织也逐渐推广开来。同时,政策利好、积极的市场反应推动了企业在智能影像、在线诊疗、医药电商等领域的涉足,但相对来说进展缓慢,覆盖能力偏局部化。未来医疗行业信息化发展将以医疗服务过程为重点,实现医疗服务智能化,同时推动药店、保险机构等相关组织的高效化,平衡区域医疗资源,在可控范围内打破“信息孤岛”,形成基于互联网应用的医疗行业生态链。

互联网、物联网、大数据、云计算、人工智能等信息技术快速崛起,与医疗融合程度不断加深,助推了智慧医疗的发展。2009年以来,国务院、国家卫健委、国家食品药品监督管理总局、工信部等多个国家机关发布了一系列政策(见表6.1),推动医疗行业健康发展。

表6.1 2009年以来国务院及部委发布的医疗政策

序号

时间

发文机关

政策文件名称

相关摘要

1

2009年

国务院

《中共中央国务院关于深化医药卫生体制改革的意见》

建立实用共享的医药卫生信息系统,利用网络信息技术,促进城市医院与社区卫生服务机构合作

2

2013年8月

国家发改委

《关于促进智慧城市健康发展的指导意见》

推进智慧医疗、远程医疗建设,普及应用电子病历和健康档案,促进优质医疗资源纵向流动

3

2015年7月

国务院

《国务院关于积极推进“互联网+”行动的指导意见》

支持第三方机构构建医学影像、健康档案、检验报告、电子病历等医疗信息共享服务平台,逐步建立跨医院的医疗数据共享交换标准体系

4

2015年9月

国务院

《关于推进分级诊疗制度建设的指导意见》

加快建立区域性医疗卫生信息平台,实现电子健康档案和电子病历的共享

5

2016年11月

工信部

《医药工业发展规划指南》

开发应用健康医疗大数据,重点发展远程医疗系统,可穿戴生理信息监测设备,具备云服务和人工智能功能的家用、养老、康复设备,可提供健康咨询、网上预约分诊、病例随访、检验结果查询等应用的健康管理信息系统

6

2017年1月

国务院

《国务院关于印发“十三五”卫生与健康规划的通知》

全面实施“互联网+”健康医疗益民服务,发展面向中西部和基层的远程医疗和线上线下相结合的智慧医疗

7

2017年4月

国务院

《国务院办公厅关于推进医疗联合体建设和发展的指导意见》

建立省、市、县三级人口健康信息平台,统筹推进医联体相关医院管理、医疗服务等信息平台建设,实现电子健康档案和电子病历的连续记录和信息共享,实现医联体内诊疗信息互联互通

8

2018年4月

国务院

《关于促进“互联网+医疗健康”发展的意见》

鼓励医疗机构应用互联网等信息技术拓展医疗服务空间和内容,构建覆盖诊前、诊中、诊后的线上线下一体化医疗服务模式;医疗联合体要积极运用互联网技术,加快实现医疗资源上下贯通、信息互通共享、业务高效协同

9

2018年7月

原卫计委

《关于深入开展“互联网+医疗健康”便民惠民活动的通知》

加快推进智慧医院建设,运用互联网信息技术,改造优化诊疗流程,贯通诊前、诊中、诊后各环节,改善患者就医体验;实现现有公共卫生信息系统与居民电子健康档案的联通整合

10

2018年9月

国家卫生健康委

《互联网诊疗管理办法(试行)》、《互联网医院管理办法(试行)》、《远程医疗服务管理规范(试行)》

明确互联网医院和互联网诊疗活动的准入程序,明确互联网医院的法律责任关系

2018年,国务院办公厅发布《关于促进“互联网+医疗健康”发展的意见》,标志着国家开始明确支持“互联网+医疗健康”发展。同年,国家卫生健康委印发互联网医院、诊疗、远程医疗服务管理办法,有利于加强互联网医疗服务新业态的准入和监管,规范新业态的发展。

区块链技术诞生于2009年,被称为“下一代互联网技术”。早在2016年,国务院发布《“十三五”国家信息化规划》,首次将区块链定为战略发展方向。区块链技术与医疗的探索和融合正在逐步深入。

一、目前医疗行业存在的问题以及区块链与医疗行业的结合点

近几年政府持续推出支持医疗改革和医疗信息化发展的政策,为医疗行业信息化发展扬帆助力,然而在大环境利好的前提下,医疗行业信息化的发展仍然存在以下问题亟待解决。

一是医疗信息化产品准入标准缺失,信息化产品监管制度模糊。经过多年的发展和改革,医疗信息化部分产品已经发展到成熟阶段,从医院内部管理来看,HIS系统、药品库存与管理、输液机制等信息化产品已经较为成熟,其运作模式也较为简单,能满足日常需求。对于涉及医疗服务核心环节的产品,如区域电子病历系统、辅助诊断系统还处于发展初级阶段,这些产品缺乏完善严谨的准入标准,大多数智能辅助诊断系统仍然未通过药监局审批,这成为产品市场化推广的障碍。尤其在以人工智能、区块链为核心技术的信息化产品上体现得更加明显,当技术本身还未达到成熟阶段时,其在医疗行业的应用则举步维艰,难以形成清晰的监管制度。

二是人工智能、云计算、智慧医疗概念火热,但行业同质化现象严重。2016年前后,“互联网+医疗”企业逐渐开始发展。2018年4月国务院出台《关于促进“互联网+医疗健康”发展的意见》,文件对“互联网+医疗”的鼓励推动了智慧医疗的推广和试点,智慧医疗概念迅速升温。从目前已有成果来看,市场上关于智慧医疗的产品同质化严重。在线医疗企业如春雨医生、平安好医生、好大夫在线等,以预约挂号和在线咨询业务为主。AI医学影像企业如汇医汇影、Airdoc,运用人工智能技术进行影像辅助分析和诊断,其所覆盖的疾病范围也以肺结节、糖网筛查为主,而AI医药研发还处于实验阶段,其智慧化进程仍需更长的时间和考验。

三是行业壁垒较高,医院之间“信息孤岛”现象严重。医疗行业具有高技术附加的属性,从事智慧医疗生产和研发的企业或组织需对医疗行业有基本的认知,越接近核心医疗服务对从业者能力和素质的要求越高,这也是智慧医疗行业发展缓慢的重要原因之一。此外,医疗数据涉及病人隐私和安全,医院出于遵循法律和伦理原则的角度,对数据内容有较高的保密要求。基于此,医院之间数据难以实现互通互联,导致患者就医程序烦琐、重复检查,同时,企业也很难从医院获取临床数据用以实验和训练。这也是医疗信息产品同质化严重的原因,企业与医院合作沟通需要花费大量的时间和人力成本,大多数企业的实验数据来自单个医院或相对市场化的机构,覆盖了数据存储量级较高的领域。

近年来,区块链技术在全球范围内受到了极大的关注。各国政府在区块链领域积极发力,企图抢占下一个产业创新的制高点。我国鼓励探索研究区块链技术与实际应用场景结合,服务实体经济。其中,“区块链+医疗”是重要的应用场景之一。

医疗健康生态涵盖的领域广泛,涉及患者、医生、医院、体检中心、药企、保险和政府,相互之间关系错综复杂。从核心痛点出发,即围绕患者的医疗需求,国内医疗健康体系有三大环节——医疗服务的提供方、医疗产品的提供方、医疗服务的支付方(医疗保障体系)。其中,医疗服务的提供方主要包括各级各类医疗服务机构;医疗产品的提供方包括药企、医疗器械企业等;医疗保障体系包括政府主管部门、政府的医疗保险业务和商业保险机构的医疗保险业务等。

区块链技术是底层技术,具有去中心化、分布式记账、不可篡改等显著特性,和医疗生态中的每个环节都可能结合,具有广泛的应用场景,主要结合点如表6.2所示。

表6.2 区块链技术与医疗健康领域的主要结合点

医疗健康领域

主要内容

和区块链技术的结合点

医疗健康服务的机构

个人电子病历

目前个人对于自身医疗数据缺乏知情权及访问控制权,并且追溯困难。基于区块链的电子病历通过私钥,保证病历的所有者是患者本人,而非医院或者第三方机构。医疗机构使用患者个人数据,需通过患者同意

医疗健康数据共享

目前,每个医院或卫生系统都利用自己的中心机构记录、保存和传输健康数据,但是这些数据是分割的,以“信息孤岛”的形式存在。利用区块链技术是去中心化的架构,可以将这些“信息孤岛”打通

病人用药反馈、处方反馈

定期、持续跟踪患者,反馈结果由医生审阅,其结果可以作为科研的数据支撑,也可以用于药品研发和商业保险精算等领域

医疗健康产品(医疗健康服务支撑)

电子处方、药品、医疗器械和废弃医疗药品的追溯,物流配送与管理体系

利用区块链技术可以记录药品的所有物流相关信息、渠道流通情况,堵住供应链的漏洞,解决长期以来备受困扰的假药问题。另外,如果货物运输中断或丢失,存储在账本中的数据也为各方提供了一种快速的方式进行追踪,并确定谁最后处理了货物

保险理赔

索赔支付和裁决过程复杂,涉及大量的管理费用和人工流程,以验证所有利益相关者是否符合和遵守合同中的商定条件。利用区块链的智能合约技术,可以实现保险索赔的自动化,减少流程、降低成本

医疗供应链金融

供应链金融主要是围绕药品流通环节产生的,区块链技术可在应收账款可信交易与管理、交易的全程追溯、跨机构的互通互利方面进行监管。数据可用在设备融资租赁、供应链保理等方面

医务工作者的身份认定与查询

医疗工作者的医学教育背景、国家认证的医疗人员从业证书、接受的培训等多个信息,可通过区块链技术的方式进行登记和可授权的查询

医疗健康监控体系

事件监管

通过联盟链的形式,政府可主导并要求各相关组织、机构、企业都加入该系统,对数据进行实时监控,提高监管部门的管理水平、提高疾病预防能力。一旦发生非常规/合规事件,可以启动智能合约,进行追踪和进一步管理。该联盟系统的有效运行可实时向相关方发送通知,有效去除检查环节,简化执行流程,降低监管成本

互联网医疗,包括以互联网为载体和技术手段的健康教育、医疗信息查询、电子健康档案、疾病风险评估、在线疾病咨询、电子处方、远程会诊、远程治疗和康复等多种形式的健康医疗服务。如果说“互联网+医疗”能够让患者与医生跨越空间的限制进行接触,改善了医疗不足的局面,那么“区块链+医疗”,则能让医疗健康生态的发展更加良性,缓和医患关系。或许它不能带来短时间的盈利,但能让医疗健康的各方各归其位,重塑医疗健康价值链。

二、医疗区块链市场布局

据统计,截至2018年7月份,国内外共有60个“区块链+医疗”相关项目。众多国家都尝试开始应用区块链技术解决医疗领域的问题,中国在医疗区块链项目的应用实践上非常积极。尽管企业是医疗区块链项目的实践者,但是医疗数据是重要的国家资源,因此,政府也在当中起着举足轻重的作用。

据IBM推测,全球56%的医疗机构将在2020年前投资区块链技术。目前不少全球互联网大佬都顺应潮流,积极推进区块链医疗应用。飞利浦医疗、Gem医疗和Google、IBM等科技巨头都积极探索区块链技术的医疗应用。

不少创业公司也积极布局,如美国Chang Healthcare推出首个企业级医疗区块链解决方案,针对透明化理赔场景;美国SimplyVital Health公司,搭建与现有医疗保健系统集合的区块链系统,能帮患者协调就诊全环节,并提供准确数据证据;韩国MediBloc构建了以区块链为基础的个人医疗信息平台,为医患人员提供新的医疗信息管理方式。其他创业公司还有管理药物供应链的Chronicled、创建智能合同减少医疗费用的Robomed Network、推出医疗智能合同和代币支付的Patientory、医疗保健领域开发API的PokitDok、与美国州政府合作开展区块链医疗试点的Hashed Healthcare以及数字健康初创公司doc.ai等。

在国内,大型互联网企业对比均有布局。腾讯在2018年提出了“处方链”。腾讯与广西柳州在微信挂号、支付等功能基础上,实现了全国首例“院外处方流转”服务,院内开处方,院外购药甚至送药上门。因为处方流转涉及卫健委、医院、药企等多个环节,用区块链技术可实现处方不被篡改。阿里健康与常州市合作的“医联体+区块链”试点项目也颇引人关注。2017年8月,阿里健康携手常州医联体,以帮助医疗业务数据实现互联互通。据悉该技术首先在常州武进医院和郑陆镇卫生院落地,后续将逐步推进到常州天宁区医联体内所有三级医院和基层医院,形成快速部署的信息网络。国内的区块链企业也纷纷发力,布局医疗区块链。

三、“区块链+医疗”案例

清华大学联合人民创投、中关村区块链联盟针对医疗区块链项目,调研了天河国云、珠海医联盟、重庆医盟健康以及投肯科技等企业,总结出以下几种探索模式。

案例一:区块链电子病历

医链盟信息技术有限公司(以下简称“医链盟”)成立于2015年,是国内最早一批致力于将区块链技术引入医疗服务产业,为行业解决发展瓶颈,为医改目标的实现探索可行路径的企业之一。医链盟聚集了国内顶尖的区块链领域人才和医疗服务领域资深从业人员,以先进的核心技术、完备的经营资质,为医疗事业发展提供新的动力。

在医疗健康生态中,既有卫健委、社保机构这样的监管机构,也有医院、患者、药店这样的主要参与者,还有物流、保险等服务机构。其中,电子医疗病历是共享的核心和最基础的数据。区块链电子病历系统是一个平台,在不触动现有利益格局的情况下,相关者只需要承担接入系统的成本,就可以获得更多的利益。

该平台通过自上而下的方式进行推动。对于社保机构来说,核实患者身份,可以有效避免患者通过医院骗保。对于卫健委来说,让医院接入系统,可以获取更多的医疗病历,对于监控当地人口的身体健康状况和进行疾病预防有很大帮助。对于医院来说,通过该系统,可以快速审核保单,缓解医院的资金压力。对于保险机构来说,在个人授权的情况下,可以快速查询过往真实病历,能够快算精算保费。对于患者来说,使用该体系的医院可以互信,因此可以减少重复检查的费用。其他机构使用患者病历时,需要提前通知并获得患者授权,通过区块链系统对调用情况进行跟踪,也保障了患者信息的所有权。

平台的盈利不依赖医院和患者,而是通过给生态相关者提供增值服务来实现的。该项目正在尝试在珠海等地落地,但是由于整合的机构相对复杂,医院把自己记录和储存的电子病历接入其他系统的意愿并不强烈,且要承担很大的信息泄露的风险,因此该系统的推动面临一定的困难。

案例二:“区块链+健康证”

湖南天河国云科技有限公司(以下简称天河国云)成立于2015年,致力于建立一个开放、平等、尊重、创造的区块链生态体系。天河国云打造了基于区块链的存证服务、区块链安全服务、分布式计算和存储服务、DAPP服务等四个区块链基础服务平台。其在医疗领域的应用主要为“区块链+健康证”。

“区块链+健康证”是健康证一体化流程解决方案,对象包括医院、体检机构、检查人员、相关监管部门、企业和商户等。目前健康证的发证机构是体检机构,而使用健康证进行工商登记注册的是工商管理部门,平时负责核查健康证是否合法有效的是食药监部门,负责员工证件管理的是食品卫生生产、流通和经营企业。这些部门或者人员之间利用区块链技术,根据不同主体的业务性质和权限范围进行内容分发,确保电子证照的有效性,降低社会成本,并在以下方面取得优势:

(1)解决医疗信息与其他使用者之间的信息壁垒问题和互信问题;

(2)为医院简化领证环节,节约人力成本,提高运营效率;

(3)帮助企业或商户实现对员工健康证的集中化管理;

(4)简化健康证办理和使用程序,实现“只让群众跑一次”的政策目标;

(5)线上确权,利于监管部门随时核查检验。

案例三:医时间(基于特定疾病的用药反馈社群)

重庆医盟健康管理有限公司创立于2015年10月,由重庆18位三甲医院专家共同组建,是一家引领“被动就医”向“主动健康管理”发展的新型健康管理有限公司。

该项目主要服务对象为医生和患者,依托原有的特定社区。患有相同疾病的人往往会在网络社区聚集,讨论病情。患者之间建立了较强的黏性关系,互相帮助并且分享用药反馈。但是由于时间的限制,医生只能通过面诊了解患者的反馈,效率低、样本小、数据追踪效果差,难以用来做科研支撑。

在原有社群的基础上,通过区块链技术的介入,可以让医生和患者产生更多的关联。患者可以定时上传用药反馈,医生对患者的病历进行审阅,一方面,患者的用药情况可以获得医生的关注和审阅;另一方面,该数据可记录、质量高、样本量大,医生可以用于科研成果。同时,医生和患者相互反馈的数据,经过加密和时间戳,保证了该数据的可靠性和真实性。整理后形成的数据报告,对于保险机构和药品研发机构而言,具有巨大的参考价值,也可以商用,而数据的贡献者(医生和患者),也可以得到相应的奖励。

目前该平台已经面向特定患者开放,在20多家医院进行试点,项目的数据正在持续增长中。该项目从原有单一疾病的社群切入,强化和记录了原患者和医生的互动关系,不需要监管机构的介入,对双方和对第三方机构都有很大的价值,是一种比较轻量级的实践模式。该项目的运营模式和商用价值值得期待。

案例四:废弃医疗器械追溯

投肯科技依托互联网产品技术经验,结合区块链的特性挖掘场景应用。其在医疗领域的场景应用主要为对废弃医疗器械的追溯,该案例的主要业务也是目前医疗行业的热点问题——央视3·15晚会曝光医疗废物被制成各种生活用品和玩具,其来源和流向被要求严肃追查和处理。

溯源范围包括使用医疗器械的医院、运输废弃医疗器械的物流公司、焚烧废弃医疗器械的环保处理公司等。区别于以往传统的纸质记录方式,该模式在区块链平台对各个环节的主体进行身份认证和有限授权,在每个环节记录医疗器械交易所产生的具体行为,如交易主体身份信息确认、核实处理的医疗器械种类和重量、追溯交易流程等,保证废弃医疗器械的信息可追溯。在使用区块链技术的基础上,公司联合物联网、人工智能等技术共同打造系统,未来将引入5G技术,该模式已经在福州三级医院试点。由于涉及道德、经济、监管等方面的问题,牵扯的利益方较多,模式的正常运行需要由当地政府牵头,协调当地卫健委、环保部门等协同合作,自上而下地推广。相对来说,这种方式具有一定的优势。

(1)该项目维护成本较低,只需要存证、日常运营即可获取废弃医疗器械的数量、种类等信息,不涉及医院核心数据,对医院来说无数据泄露风险。

(2)依法、合理处理废弃医疗器械,避免医院出现因非法处理废弃医疗垃圾而出现纠纷和不良影响。

(3)优化医疗废弃处理行业环境,避免废弃物被不良厂商非法利用以致对公共健康产生威胁。

案例五:互联网的互助计划

相互保险的概念并不新鲜,相互保险强调大病保障“互助分摊”模式,轻松筹、水滴互助、曙光筹、磐石互助等项目都引入了区块链技术,以保证发起人更加可信和捐赠资金的流向更加透明。

相互保是蚂蚁金服联合信美人寿合作开发的创新型保险产品,在2018年10月16日上线。2018年11月27日,相互保更名为相互宝,信美人寿退出,相互宝成为一款基于互联网的互助计划。截至2019年4月份,已经有超过4000万的用户注册。

相互宝产品只需要0元就能加入,众人互助,每人分摊很少的资金就能获得10万元到30万元(40~50岁保障金额为10万元)的保险保障。需要注意的是,相互宝不具有商业重疾保险的属性。用户每月缴纳几块到十几块钱,人均分摊费用上限是188元,超出的费用由蚂蚁金服公司自己承担。从保险年龄上来说,相互宝只能保到59周岁,并面临项目随时结束的风险,如少于330万成员就会终止。通过区块链技术实现高透明,保证不会有骗保和赖账的情况发生。目前该项目仍处于试验阶段,为相互保险市场带来新风,但是这种绕过保险法、不做任何承诺、风险完全由参保成员承担的做法是否行得通,还有待时间的考验。

在实践上,“区块链+医疗”项目处于刚刚起步的探索阶段,真正落地的目前还不多,尽管已经有企业布局了“区块链+医疗”领域,但是范围小、覆盖人群不多,商业模式有理念创新但落地难。项目的大规模应用需要体制创新、企业创新、生态服务体系的相互磨合和一定程度的妥协。

不同于美国每个州的医疗数据可以共享,我国医疗大数据的“信息孤岛”问题在近期较难解决。首先,各个医院的软硬件系统由不同的系统提供商提供,即便不考虑医院自身利益,要实现多家医院的信息互通也是巨大的工程。其次,国家卫健委、医政局规定电子病历信息所有权归患者,任何人和机构无权擅用,医院不愿意承担相应的责任。若要把医疗健康数据交由商业化机构来进行管理运作,难度较大。

医疗健康行业系关国计民生,因此,医疗区块链项目的展开离不开政府主导部门的推动。项目的展开有助于推动医疗健康行业良性发展,让主管部门实现辖区内的疾病管理和疾病预防等行政职能,减少医疗资源的浪费。但是目前来看,主要的“区块链+医疗”的主体为企业,这些企业的创新能力和执行能力值得称道,但是在项目长期不能盈利的情况下,企业能否坚守是一个问题。另外,由于企业缺少对医疗机构的深入了解或者与医疗机构接触的时间还不够长,它们的融合程度还有待加强。与此同时,主管机构的推动作用也不可或缺,政策与市场形成合力才能保证技术落地。

区块链技术和产业的融合正在进行之中,尽管潜力巨大但是未能大规模商用,尤其是在医疗健康领域,其对于安全性、可靠性、扩展性和隐私性具有较高的要求。区块链技术的效率、高耗能、监管等问题也在进一步解决当中。

四、医疗区块链发展趋势及建议

第一,政府应当在个人电子病历、药品监管系统等细分领域内起主导和推动作用,通过监管牵头、行业协会推动、设定标准,以联盟链或者私有链的形式,推动企业以开源开放的方式推进医疗机构的信息化建设,为实现医疗数据的可信可换提供基础,推动区块链电子病历的实现。

第二,区块链技术在医疗领域的探索目前还处于初期阶段,要做好医疗区块链项目,一要深入了解医疗行业,找到医疗行业的痛点;二要与多方建立起合作关系,实现共赢;三要从非主流业务切入。这些非主流业务非医疗机构的工作重点,可以帮助医疗机构减少人员成本、提高效率。

第三,5G、物联网、区块链和人工智能等技术的结合和综合应用,能在智慧医疗方面取得效果。人工智能和大数据提供了数据整合的可能性,而区块链保证了整个流程身份可信性的传递和信用机制的建立,多部门协作和跨部门数据传递有了更安全、有效、低成本的运营机制。5G是数字经济新引擎,具备高速率、高可靠性、低时延等特点,因此能够保证医疗对信息确定性、持续性和安全性的要求。而区块链技术能够建立多个联网节点,实现信号的实时稳定多点传输。以上几种技术综合应用,能够放大技术性能产生的效果,从而对医疗健康领域产生重大的影响。


第七章 “区块链+溯源”打造溯源产业新生态


溯源是指对农产品、工业品等商品的生产、加工、运输、流通、零售等环节的追踪记录,通过产业链上下游的各方广泛参与来实现。近年来,随着我国经济社会的发展,人们对产品质量安全问题的关注度越来越高,党中央、国务院高度重视重要产品追溯体系建设。2015年,《国务院办公厅关于加快推进重要产品追溯体系建设的意见》鼓励在食用农产品、食品、药品、农业生产资料、特种设备、危险品、稀土产品等七个领域发展追溯服务产业。有关数据显示,我国97%的消费者认为建设重要产品的全流程追溯体系势在必行。但是,中国溯源产业仍处于早期发展阶段,行业内信任缺失和滥用的情况十分普遍。区块链不可篡改、分布式存储等技术为溯源行业的信任缺失提供了解决方案,从算法层面为商品的信息流、物流和资金流提供透明机制。

一、传统溯源的痛点

(一)传统溯源缺乏公信力,消费者信任度低

传统溯源采用中心记账的模式,所有数据都存储于中心服务器,拥有中央服务器的机构或个人可以因一己之私低成本篡改或集中事后编造数据,这会使得溯源流程失效。传统的溯源模式是“信息孤岛”模式,溯源链条上下游的参与者各自维护一份账本,各种信息系统、数据之间很难交互,而且防伪标识物没有一个真假的规范,当消费者购买了某个产品要根据防伪标识物判断真假时,没有规范的样本进行比对,很难对产品产生真正的信任。

(二)传统溯源操作流程复杂,防伪功能单一化

传统溯源为了防止假冒防伪码的出现,采用防伪标识物时选用不同的技术,例如二维码防伪、核径迹防伪、3D激光防伪、丝印防伪、条形码防伪、MR防伪、RFID无线射频技术防伪等,不断增加物理制作难度。但是,这些防伪技术存在成本过高、具有可复制性、信息容量较小等一系列问题。对消费者而言,复杂的制作工艺要求消费者辨伪要掌握大量的专业知识,同时查询是否为假货的操作流程也十分复杂,无形中增加了消费者的压力。另外,传统溯源的防伪形式以简单设计的喷有防伪码的标签为载体,只有单一的防伪功能,不能满足企业的多元化需求。

二、“区块链+溯源”应用的特点

(一)区块链应用于溯源可实现技术领域革新

由于传统溯源具有一系列的痛点和不足之处,将区块链引入溯源行业将有效实现技术领域的革新。首先,区块链自身的去中心化特征,使加密数据用链式结构完整分布、存储在链上的节点中,可以避免中心化账本的一系列问题。同时,多方共同维护,更能增强终端用户的信任。其次,由于加密信息在区块链上只能增加记录不能删除记录的特点,利用时间戳技术实现了数据的不可篡改,并能有效实现完整追溯。利用区块链时间戳、去中心化、共识机制等技术优势,实现商品信息一经上链不可篡改以及商品上下游产业链的可追溯性,同时可解决“信息孤岛”问题。

(二)区块链技术塑造食品行业可信的“数字身份证”

在传统食品体系中,食品从生产者到加工企业,再到仓库或配送,最后送达零售商的整个过程存在诸多漏洞。每个环节信息由纸张记录,如果有消费者想要追溯购买食品的生产地等情况,需要耗费几天时间。一旦食品出现问题,想要查明问题来源并做出决策都需要长时间的调查取证。而通过区块链技术,每个商品对应唯一的溯源码,商品上链后,消费者扫描防伪码即可查到产品全流程动态信息,建立食品行业可信的“数字身份证”,消费者及监管机构几秒钟就可以得到答案,极大地提高了效率。区块链技术不仅可以获取用于溯源的信息,还可以包括生产时间、当地气温、水源和土壤的参数、是否有食品安全认证、有无有机生产等信息透明度的情况。区块链技术对促进建立更安全、更经济、更可持续的食品体系发挥了积极的意义。

(三)互联网巨头涌入加速构建行业生态

随着区块链技术逐渐成为互联网的新风口,互联网巨头企业纷纷拓展区块链溯源业务,快速推动我国区块链在溯源领域的应用。目前,阿里巴巴、百度、京东等互联网行业巨头纷纷加入区块链技术在溯源领域的场景应用。阿里巴巴在区块链溯源应用方面主要侧重于电子商务领域。借助阿里云的区块链技术,天猫奢侈品平台Luxury Pavilion将商品的原材料生产、流通、营销过程信息整合写入区块链,同时附上各主体的数字签名和时间戳,使品牌商品的每条信息都拥有区块链“身份证”,消费者可通过“一键溯源”功能清晰地了解产品产地、入境报关单号和入境报关时间等详细信息。百度重点关注的是区块链在信息溯源方面的运用。百度通过超级链技术支撑百度百科上链,从而保证编辑提交词条、内容审核和发布的记载可追溯。通过AI技术将区块链中的可信数据直接转换为相关词条,确保百科信息的权威性和真实性。京东运用区块链技术搭建京东区块链防伪追溯平台,从解决商品的信任痛点出发,精准追溯到商品的存在性证明特质,让所有生产、物流、销售和售后信息分享进来,共同形成完整且流畅的信息流。并且,京东也采用区块链技术来解决ABS参与各方的信任问题,在区块链的系统架构上完成交易,确认资产的权属和资产的真实性。据统计,目前已实现11000多种重点商品全程可追溯。

除了以上互联网科技巨头以外,目前蚂蚁金服、华为、苏宁、小米等企业都在积极布局区块链溯源防伪行业,以助力传统产业升级发展,加速建构行业生态。

(四)区块链引领消费和产业“双升级”

区块链技术应用于溯源,对于政府来说,有利于推动产业整体数字化转型、穿透式监管,事中监督更加清晰,精准处置问题,从而加强区域品牌建设。对于消费者来说,产品追溯可以让消费者对产品的生命周期信息做到全面了解,消费者的知情权和公平交易权得到了有效的保护,实现的是可追溯的正品消费,能够吃得放心、用得放心,真正实现消费升级。对于企业来说,产品溯源会导致原产地溢价现象,使企业获得额外收益,同时,也有利于企业实现数字化转型和对产业链的管控。产品质量追溯体系可以帮助企业建立品牌形象,提升社会效益和经济效益。比如在制造企业(汽车、电子产品等),当出现质量问题,通过追溯系统可以迅速查清楚相关批次和存在的关键质量问题,打破厂商和消费者间的信息壁垒,快速处理消费者的问题,从而实现产业结构的优化升级。

(五)溯源领域的政策体系逐步完善

2012年6月,国务院印发了《国务院关于加强食品安全工作的决定》,其中明确提出计划用三年时间使我国食品安全治理整顿工作取得明显成效。商务部提出到“十三五”(2020年)末,争取让肉类蔬菜流通追溯系统覆盖到所有百万人口以上城市,并涵盖肉菜、禽畜、水果、水产品、食用菌、豆制品等各类食药品。党的十九大报告曾强调“实施食品安全战略,让人民吃得放心”,将为人民群众提供全方位全周期健康服务上升到国家战略高度。同时,区块链溯源技术的落地应用成为2019年两会委员关注的焦点。全国人大代表、浪潮集团董事长孙丕恕表示可以运用区块链技术,从生产到流通到消费形成闭环,解决企业打假问题,进而从源头上防止假冒伪劣商品的流通,促进我国规范的食品安全溯源体系的建设。

三、典型案例分析

(一)蚂蚁金服溯源平台

在商品溯源领域,蚂蚁金服通过区块链技术打通了供应链各环节“信息孤岛”。信息实时同步、不可篡改,既提高了协同的效率,也防止了中间环节出现调包或假冒的情况。蚂蚁区块链自主研发的金融级联盟区块链技术与阿里巴巴的云服务相结合,使溯源平台能够支持天猫全球电子商务平台的大规模部署、高性能要求(>25000 TPS)和复杂的供应链流程。溯源平台在支付宝上的小程序还使得数以亿计的消费者能在数秒内通过智能手机直接查询区块链信息。自2017年11月起,蚂蚁金服自研的区块链技术就落地应用在食品安全和正品溯源上,产自澳大利亚、新西兰的26个品牌的每罐奶粉都有了自己的“身份证”,即溯源二维码,用户在天猫国际上购买并收到奶粉后,打开支付宝APP扫一扫二维码,就能知道产地、出厂日期、物流、检验等所有信息。在2018年“双十一”大促活动期间,蚂蚁金服与天猫商城以及菜鸟物流合作,对1.5亿件商品进行溯源,其中包括比利时钻石、澳大利亚进口奶粉、五常大米、白酒、红酒、进口保健品、化妆品、平武蜂蜜。

图片关键词 

图7.1 蚂蚁区块链五常大米溯源流程

(二)纸贵科技“天水链苹”

纸贵科技与天水市林业局合作,提供了基于区块链的果品溯源产品与技术,打造高附加值的区块链苹果品牌——“天水链苹”。纸贵科技应用一物一码、纸贵许可链Z-Ledger、分布式身份标识(DID)等诸多先进的区块链技术,将苹果的种植、生长、成熟、采摘、存储、安全检测等每个环节信息都记录上链,存储在区块链的共享账本中,并提供专业的电子存证证据,让每一颗天水苹果都有身份认证。同时,在苹果生长过程中,利用光合作用将溯源码晒在苹果上,一园一码,做到溯源信息双重保险、安全可信,让生产者、供销商及消费者可以看到每一个果品的生产销售过程,让果品的生产物流过程做到简单透明、不可篡改。

纸贵科技“一物一码”技术独具创新意识,在苹果上通过日晒形成了独一无二的二维码标识,实现了果品与数字身份的一一对应。用户通过手机扫码,可以查看苹果的区块链证书,获取苹果的生产和物流相关信息。“天水链苹”的物证合一很大程度上杜绝了在溯源过程中的造假和信息篡改。通过区块链技术,打破了传统生产、销售、消费等环节信息不对等的现象,减少了批发商、渠道商、零售商等不透明利润分成,最大限度让利给农民,提高了农民收入,也为顾客提供了果品信息溯源、商品真伪查询的平台,保证了信息透明,保障了消费安全,让消费者购买和食用更加放心。同时,“天水链苹”创新政府监管服务机制,帮助政府提升质量监督管理效率、提升公信力。

(三)迅雷绿松石溯源系统

汉江网络与迅雷链合作开发了绿松石产品溯源认证技术平台,为行业和用户提供基于区块链技术的绿松石产品溯源服务。区块链技术所具有的公开透明、不可篡改的特性,可以为每一块绿松石产品进行溯源验证,能够解决目前绿松石行业的种种痛点、乱象,有利于实现产业规范化。通过绿松石溯源系统,可将绿松石产品从开采到终端销售全程的所有信息一一上链保存,这些信息数据全都存储在迅雷链上,因此无法被人为篡改,确保了溯源信息的客观性,使产品验证的可信度大大提高。迅雷链作为绿松石溯源系统的底层主链,拥有全球领先的百万级TPS处理能力,每秒可处理百万次交易,很好地满足了实际商业交易中的秒级确认需求。同时,结合区块链的开放性,绿松石溯源系统可以做到人人可查、人人可记,降低了普通消费者的溯源成本,并让任何人可以审计和校验这些信息的真伪,保证了系统的可信度和权威性。另外,绿松石溯源链还能通过区块链,对产品附加信息进行永久存储,比如经手的收藏家名录或者产品经历过的某些历史事件,由此增加了产品的文化沉淀,提高了附加值。

(四)众享比特溯源平台

众享区块链溯源平台结合物联网、大数据、人工智能等先进技术,针对不同标的特性提供闭环溯源解决方案。平台采用物联网技术保证信息的自动生成和上链,降低人力成本。消费者在平台中将由被动受益者变为溯源生态参与者。该平台可汇聚营销大数据,帮助企业优化生产,提升政府监管效率。略阳乌鸡精准扶贫作为国家扶贫攻坚重点项目,利用信息化技术改造传统管理方式,将乌鸡的养殖、管理、加工等关键节点由干部见证并拍照传至溯源平台,真正实现乌鸡品牌的政府信用担保、信息可信追溯,从而提升品牌附加值。乌鸡溯源平台采用统一区块链标识,实时更新链上数据,养殖户、驻村干部阶段性审核乌鸡生长、饲料使用情况,通过上传照片等记录并签名背书。屠宰、检疫后,脚牌与乌鸡一同包装,完成由生产环节向销售环节转换。包装信息和脚牌作为乌鸡在溯源平台中的查询标识,从中可获得乌鸡养殖照片、经手人签名信息,实现从乌鸡生长到销售等环节数据的闭环处理,保障发放乌鸡苗、村干部督察、乌鸡回收或回购、屠宰包装和发货等信息上链的真实性。该业务深度融合区块链积分体系,精准量化乌鸡生产、管理和销售过程的工作证明,有效实现了乌鸡的以销定产管理。

(五)北大荒集团大米溯源项目

“善粮味道”品牌优质大米溯源项目是由智链万源与北大荒集团共同探索的区块链技术在农产品溯源应用场景的落地。该项目实现了端到端全生命周期数据上链、产品信息可追查、提高数据造假成本,保证了原产地真实性,提高了单品价值,解决了企业的实际问题。

在大米溯源项目中,智链设计了区块链大农场平台基础架构,同时,还嵌入了实时计算、大数据处理、人工智能等模块。此外,由于大农场会产生巨大的数据量以及并发数据,项目建立了高效的实时计算和大数据平台来承载对接IoT;而为了让用户更好地认知整个溯源历史,项目在大数据的基础上做了数据可视化等。通过区块链溯源技术的应用,可以实现全流程的关键业务数据上链,做到信息公开透明、链上链下结合,在信息真实的情况下保证品质。此外,区块链整合了不可篡改的种植和销售的各种数据,基于这些数据实现的智能合约能够反馈销售结果到种植环节整个流程,以促进种植生产流程良性循环。形成的共识机制能够确保数据的一致性并且不可篡改,让数据更加透明,大大提高消费者的信任度。智链万源通过在溯源领域中与北大荒等企业的合作,已经逐步形成基于区块链的产品溯源SaaS平台。

四、发展趋势

(一)技术融合扣紧区块链技术关键一环

区块链技术可以保证链上信息的真实性,但是上链的过程仍存在人为因素。因此,区块链技术与人工智能、云计算、数字化转型、物联网等融合是大趋势,也是扣紧区块链溯源全产业链的关键一环。区块链与其他技术的融合,能够有效地克服本身技术不够成熟、监管困难、安全问题、存储问题、数据上链的真实性等一些亟待解决的困境。区块链和人工智能的融合中,AI可以帮助区块链在现实世界的应用程序中变得更加智能化。结合了区块链技术后,共识机制保证了AI运算结果可验证。区块链的不可篡改性、可靠性可以提高云计算的服务性能。比如去中心化存储IPFS协议,将云计算所需要的数据分片存储在物理层面的邻近节点,可以提高数据的可靠性和网络带宽利用率。物联网可以利用区块链来管理机器到机器的通信和支付,同时,物联网部署中使用的边缘计算可以帮助区块链构建大量的共识节点和提高处理能力。

(二)区块链溯源技术呈现平台化发展

区块链技术解决商品溯源问题时,不仅局限在某一种商品或行业,而是着眼于整个社会的商品流转。溯源企业技术架构在向平台化发展,它们计划建立一个商品追溯平台,所有模块可拆装,提供统一的接口,吸引企业入驻,通过对应的DAPP满足企业在整个生产流程的信息溯源、防伪验真等需求,也为技术开发者提供一个快捷高效的开发平台。DAPP通过区块链特有的数据确权、价值传递功能等方面的优势,可以有效实现在用户认证流程变更、交易安全、行业生产关系变更、减少运维成本、降低技术开发成本等方面的优势,从而可以大幅度地提升用户体验。

(三)联盟链“弱中心化”具有广阔的应用前景

联盟链在各个节点诉求上能够满足多样化需求,既确保了各个节点数据分层的需求,又保证了加密处理、资源调动和监测的灵活空间。联盟链弱中心化技术不仅增强了资产和信息透明度,也提高了监管的质量。近年来,联盟链技术创新发展逐步成熟,目前各地政府不断加强对区块链产业的重视,积极推进区块链应用到金融以及实体经济领域,例如政务、智慧城市、物联网等。同时,联盟链弱中心化的特点更符合企业级需求,应用更有针对性、效率也更高,可以在企业级应用市场最大限度发挥区块链技术去中心化过程数据管理的特性。


025-8320 9516
电话咨询
邮件咨询
在线地图