技术与标准丨基于预言机的可信数据上链技术
作者简介
毕丹阳
中国信息通信研究院工业互联网与物联网研究所硕士研究生,主要从事区块链、工业互联网标识解析技术研究。
张钰雯
中国信息通信研究院工业互联网与物联网研究所区块链研究员,主要从事区块链、新型工业互联网标识解析技术研究。
毕雅晴
河北工业大学电子信息工程学院在读本科生,主要从事通信、区块链等相关技术研究。
论文引用格式:
毕丹阳, 张钰雯, 毕雅晴. 基于预言机的可信数据上链技术[J]. 信息通信技术与政策, 2021,47(9):79-84.
∗基金项目:工业和信息化部“2018年工业互联网创新发展工程”专项项目“工业互联网标识解析国家顶级节点(一期)建设”资助
基于预言机的可信数据上链技术*
毕丹阳1 张钰雯1 毕雅晴2
(1. 中国信息通信研究院工业互联网与物联网研究所,北京 100191;2. 河北工业大学电子信息工程学院,天津 300401)
摘要:作为构建信任的新型基础设施,区块链在保障可信数据上链方面尚不完善。分析了可信数据上链的必要性,并对其技术实现路径中基于预言机的可信数据上链技术展开研究。在此基础上,明确预言机概念、整体架构等内容,并从可信机制和应用实践两个层面分析预言机的可信数据上链。
关键词:区块链;预言机;隐私保护技术;可信数据上链
中图分类号:TP311.13 文献标识码:A
引用格式:毕丹阳, 张钰雯, 毕雅晴. 基于预言机的可信数据上链技术[J]. 信息通信技术与政策, 2021,47(9):79-84.
doi:10.12267/j.issn.2096-5931.2021.09.013
0 引言
2021年3月13日,《中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要》发布,正式将区块链纳入七大数字经济重点产业[1],国家高度重视区块链技术创新及产业落地应用。作为一门核心技术,区块链的关键价值在于为多方参与者构建一种信任机制,但从技术角度出发,区块链仅能保证链上数据的难以篡改,并未对链下数据上链提供可信保障。随着区块链产业应用的不断扩展,链上数据已经不能满足大多数有价值的智能合约应用,亟需获取真实可信的链下数据作为触发执行条件,可信数据上链技术成为影响区块链发展的关键因素之一。通过研究可信数据上链机制并总结基于预言机的上链应用实践将为促进数据链上链下全流程交互可信提供思路,推动区块链的持续发展和广泛应用。
1 可信数据上链需求分析
数据上链是指链下数据以交易的形式上传到区块链,并经过节点共识计算后,被区块链永久存储的过程,其中链下数据即物理世界中未被区块链存储的数据。区块链作为一种由多方共同维护,使用密码学保证传输和访问安全进而实现数据一致存储的记账技术,其多方共识、难以篡改等特性规定了数据一旦上链即完成资产在链上的锁定,要求智能合约的执行以及数据的验证、存储、维护均在上链数据的基础上进行操作。因此,区块链对上链数据的真实性、可靠性要求极高。然而在实际应用中,区块链自身的密码学技术仅能保障链上数据交易过程中的安全可信,并未对上链数据的可信性、上链过程的安全性进行验证,不可信的数据上链意味着从源头污染交易数据,其造成的影响远大于传统中心化系统,违背了区块链安全可信的特性。因此,亟需深入研究链下数据和上链过程的可信机制,保障区块链的可信性。
与此同时,区块链领域内专家学者及研究机构也纷纷将可信数据上链、链上链下数据交互纳入区块链的重点发展方向。2019年10月,中国工程院陈纯院士在“CCF区块链技术大会”中指出,链上链下数据协同技术是联盟链发展的重要方向,强调重视现有链下系统与区块链系统有效对接方面的研究,致力于解决信息孤岛、防篡改等问题。此外,世界经济论坛于2020年4月发布《供应链中的区块链互操作白皮书》[2],文件中指出了链上链下可信交互作为区块链互操作内容之一的重要性。2020年12月,中国通信学会发布《区块链技术前沿报告(2020年)》[3],将区块链底层技术、跨链技术、链上链下数据交互技术列为区块链技术的三大突破方向。
可信数据上链是区块链构建信任机制、提供信息与价值传递可信通道的基础,随着近年来区块链在金融科技、政务民生、供应链协同等领域应用深度和广度的不断扩展,如何通过技术和机制的设计实现链下数据上传至智能合约,同时满足用户对信任的需求是当前区块链发展亟待解决的问题。
2 可信数据上链实现方式
根据数据上链途径以及数据可信保障机制的不同,目前可信数据上链主要分为两种实现路径:基于应用程序编程接口的可信数据上链、基于预言机的可信数据上链。
2.1 基于应用程序编程接口的可信数据上链
应用程序编程接口(Application Programming Interface,API)是一段控制服务器访问点的代码,开发人员通过该接口将链下数据库、应用软件等工具的内部数据与区块链进行交互,实现链下数据上链,该路径的实现流程如图1所示。
在基于应用程序编程接口实现数据上链的过程中,还需要结合多种隐私保护技术保障数据上链安全可信,主要包括同态加密、多方安全计算、联邦学习等方式。
(1)同态加密(Homomorphic Encryption,HE):一种满足密文同态运算性质的加密算法,即数据先后经过同态加密、计算处理、同态解密之后,得到的计算结果与对原始数据直接进行计算处理得到的结果一致,无需访问原始数据就能实现对数据的处理加工。在数据上链的过程中,对原始数据进行同态加密运算,可实现数据的安全处理,同时有效避免数据泄露,保障传输过程中数据的安全可信。
(2)多方安全计算(Secure Multi-Party Computation,MPC):一类解决安全计算问题的密码协议集合,能够同时确保输入的隐私性和计算的正确性,在无可信第三方的前提下通过数学理论保证参与计算的各方成员输入信息不暴露,且同时获得准确的运算结果[4]。在数据上链的过程中,允许机构或个人掌握自身数据,同时数据的流转过程不会受到任何成员控制,将在没有第三方参与的情况下按程序执行。
(3)联邦学习(Federated Learning,FL):一种分布式的机器学习技术[5],通过增加本地数据训练模型有效转移中心服务器的数据存储和模型训练能力,中心服务器仅负责模型更新数据的聚合加权,多个参与方可以在保证各自数据隐私的同时利用对方数据提升自身模型效果,同时在整个模型训练过程中不涉及原始数据的传输,有效降低集中训练带来的数据隐私泄露风险。
2.2 基于预言机的可信数据上链区块链是基于共识的网络,其共识机制及其确定性虚拟机的固有局限规定了智能合约只能被动接收数据,既不能主动获取互联网数据,也不能自发调用外部网络API,但诸如保险、借贷等大多数区块链场景都需要主动实时获取现实世界特别是互联网中的数据。因此,为实现链下可信数据的实时安全上链,借助预言机获取数据完成数据真实性验证,同时将最后的确定性可信数据反馈到区块链智能合约中。预言机可信数据上链的工作流程如图2所示。预言机工作角色主要由三部分组成:链上用户智能合约即区块链智能合约、链上预言机智能合约及链下的外部数据源,可信数据上链工作流程包括以下3步。
(1)用户智能合约向预言机智能合约发起数据请求。(2)外部数据源将数据发送给预言机智能合约。(3)预言机智能合约将数据反馈给用户智能合约。
2.3 两种实现路径比较基于API的可信数据上链方式与基于预言机的可信数据上链方式主要在链下数据来源、数据上链效率、上链可信程度等方面存在差异。
(1)链下数据来源:基于API的方式仅由单一用户从固定数据源获取数据,来源单一且数据可信性不高。相反,预言机拥有中心化、去中心化多种部署方式,能够在最大程度上防止单点故障和源头数据造假问题。
(2)数据上链效率:基于API方式用户上传的链下数据无法直接写到智能合约中,尤其针对实时数据的上链应用,时效性和执行速度较差。相反,预言机作为链下数据与区块链智能合约的中间件可以主动采集随机数等链下数据并直接反馈到区块链智能合约执行程序。
(3)上链可信程度:基于API方式仅利用部分隐私保护技术实现数据传输过程中的安全性,未对链下数据源头采集阶段进行可信性保障。相反,预言机在数据采集阶段利用多种部署方式实现数据源的可信性,同时采用多种安全可信机制,保证数据传输和处理过程的安全可信,实现数据源头、传输、处理全流程的数据可信性。考虑到预言机在实现可信数据上链的以上优势,本文主要介绍基于预言机的可信数据上链技术。
3 预言机分析
3.1 预言机概述3.1.1 预言机定义预言机翻译自英文“Oracle”,该词最早起源于古希腊宗教,意为“神谕、先知、预言”。计算机领域的预言机概念最早由图灵提出,他在图灵机的基础上加入名为“Oracle”的黑盒,为图灵机系统内部输入信息并帮助图灵机完成运算。区块链借鉴图灵提出的概念,把向“图灵完备的智能合约”提供信息的人、硬件或软件称为“Oracle”,中文名称为预言机。Vocabulary网站中将任何好的数据来源都称为预言机,2018年11月,中国人民银行将预言机定义为区块链外信息写入区块链内的机制[6]。综合预言机概念的来源以及上述专业机构的定义,区块链领域内的预言机本质上是区块链与链下数据调用和访问的可信中间件,是一种为区块链智能合约提供可信链下数据的工具。
3.1.2 预言机分类一是根据预言机获取数据来源的不同,分为软件预言机、硬件预言机和人工预言机。其中,软件预言机主要从第三方服务商应用或网站中获取货币汇率、航班信息等数据;硬件预言机主要是从物联网传感器、RFID数据采集器等硬件设施获取环境温湿度、位置信息等数据;人工预言机主要指人为输入线下投票结果等数据。
二是根据预言机节点个数的不同,分为中心化预言机、去中心化预言机和联盟预言机。其中,中心化预言机依赖权威中心机构作为节点提供数据,存在单点故障问题;去中心化预言机由多个节点共同获取数据提供服务,并通过分布式共识机制创建数据提供者网络保证数据可信性;联盟预言机由指定的分布式可信个体或机构提供数据,是去中心化预言机的特殊形式。本文主要按照此分类,对中心化预言机与去中心化预言机进行分析研究。
三是根据数据交互方向的不同,分为入栈预言机和出栈预言机。其中,入栈预言机从链下获取数据并上传至区块链,目前广泛应用的预言机项目大部分是入栈预言机;出栈预言机是指由智能合约向外部世界传递数据,典型的应用是区块链智能锁[7]。
3.2 预言机研究现状随着区块链应用对链下可信数据需求的不断增加,为区块链提供安全可信数据的预言机也受到了一定关注,国内外研究人员和企业逐步开始探索预言机可信数据上链实现方案。
国外对预言机的研究起步较早且技术较为成熟。2015年,中心化预言机Oraclize(现更名为Provable)被首次提出[8],依托Amazon云主机和Google软件远程证明技术提供数据真实性验证服务,同时联合Ledger公司确保设备在可信执行环境中运行,保证数据传输过程中的安全可信性,但存在源头数据不可信、可扩展性差等问题。2017年,基于以太坊的第一个去中心化预言机ChainLink被提出[9],通过在链下采用多数据源及多预言机节点的方式获取源头数据,提高源头数据采集的可信性。同时,在链上预言机智能合约中设置声誉合约确保预言机节点服务质量,利用门限签名技术聚合数据,对节点实行奖惩评定机制,保障上链数据的准确可信同时降低数据上链成本。2019年,由斯坦福大学、麻省理工等高校联合提出的去中心化预言机Band Protocol正式上线,该预言机从经济博弈机制角度进行创新,设计独特的双币经济模型,即官方发布的原生代币BAND和各数据集各自发行的代币,通过绑定链下数据提供者与数据集持币人的经济利益,确保上链数据的可信性。
与此同时,国内也在加强对预言机可信数据上链方式的研究。2019年,去中心化预言机Dos Network白皮书发布[10],从预言机节点选择的角度出发,基于可验证随机函数实现去中心化网络中工作节点的随机选取,并通过阈值签名技术实现数据验证。2021年,微众银行设计Truora预言机,从实际应用的角度出发,创新性地融合多数据源与权威中心数据源共存,根据用户需要的不同业务场景以及对信任的要求度,提供集群部署和去中心化部署两种服务方案及可信执行环境、链上链下数据聚合等安全保障机制。
目前,国内外对预言机数据可信上链的研究已经呈现出源头采集逐渐分散、层次架构日益饱满、上链性能逐步增强、技术保障不断丰富的趋势。将预言机多种部署方式与软、硬件可信技术保障机制、经济激励模型相融合,同时从区块链的实际业务需求出发,极大地保障了数据上链的可信性。
3.3 预言机整体架构及可信机制3.3.1 预言机整体架构本文对中心化预言机和去中心化预言机的基本组件与可信机制进行分析得出整体架构。中心化预言机与去中心化预言机结构层次相同,均分为网络层、操作层、合约层以及应用层,分别对各层的基本组件和可信机制进行介绍。
(1)底层网络层均采用TCP/IP协议。
(2)操作层是指预言机的链下部分。基本组件包括格式配置器用于统一数据格式、加密基础设施用于数据传输安全以及去中心化预言机特有的外部适配器和核心软件,用于接收并执行数据请求任务。操作层的数据可信机制主要包括可信执行环境、中心化预言机采用的权威中心节点部署和可信第三方验证以及去中心化预言机采用的多节点部署和门限签名技术。
(3)合约层是指预言机的链上部分。基本组件包括服务请求合约用于对获取特定数据发出请求、服务标准协议用于规定请求内容、订单匹配合约用于生成服务订单以及外部数据调用接口用于获取链下数据。合约层的数据可信机制主要包括聚合合约、声誉合约以及可验证随机函数。
(4)应用层即预言机客户端应用程序,为用户执行数据请求、查询等操作提供方便快捷的使用界面。
3.3.2 预言机可信机制中心化预言机与去中心化预言机分别采用多种可信机制保证数据上链的可信性。其中,中心化预言机利用中心化部署和可信第三方验证机制;去中心化预言机利用多节点部署、门限签名技术、可验证随机函数、聚合合约以及声誉合约等方式。两种预言机均在可信执行环境下运行。可信执行环境:基于Intel的SGX和ARM Trustzone等硬件安全隔离区,通过建立多个安全层,将预言机与外部环境完全隔离,为预言机提供一个可信的运行环境,降低数据被攻击篡改的可能性。
(1)中心化预言机可信机制• 中心化部署:依赖权威的中心化机构为区块链提供数据,利用机构的链下信誉为上链数据做信任背书确保上链数据真实可信,权威机构主要包括国家权威部门(中国银行)、大型企业(Facebook、Amazon)等组织。
• 可信第三方验证:将数据传输的可信问题从预言机转移到第三方权威机构,利用亚马逊网络服务器虚拟机等可信机构作为数据审核方,在数据上链之前对预言机和审核方存储的数据用相同的算法和验证密钥进行计算,若结果一致则完成真实性验证,从而保证数据上链的完整性和可信性。
(2)去中心化预言机可信机制在去中心化预言机可信机制中,合约层依托聚合合约中的数据聚合方式及声誉合约中的经济模型提高上链数据的可信性,设计方式多样,重点介绍多节点部署、门限签名技术和可验证随机函数。
• 多节点部署:通过设置多数据源和多预言机节点机制,寻找数据的多种信息源保证数据可得性,同时在预言机节点之间创建数据提供者网络,进而保障上链数据的可信性。
• 门限签名技术:划分私钥并分配给预言机网络中所有的参与节点,规定只有在节点数量达到事先约定的“门限”时才能将私钥碎片重新组成完整的私钥。在预言机的各节点将获取的数据上传至区块链之前,通过在链下对多节点数据达成共识,选取其中真实有效的数据聚合为单一数据并拼装私钥完成签名上传,保证上链数据的可信性。
• 可验证随机函数:在选择预言机数据验证节点时,输入前一个随机数和区块高度等信息的组合,再利用私钥对其进行签名并取哈希生成一个真正随机且无法被预测的值。同时,其内部的非交互零知识证明,可以验证随机数输出的正确性。通过随机选取预言机节点,降低恶意节点联合篡改数据的风险,提高数据上链的可信性。
4 预言机应用实践
4.1 数据交互服务星火·链网是我国自主研发的基于公有许可链的国家级区块链新型基础设施,致力于实现工业互联网全要素、全产业链、全价值链互联,将区块链与物理经济体融合,从而加速培养数字经济的新生态体系,但受限于区块链智能合约虚拟机在数据传输的固有局限,无法与链下进行安全可信的数据交互。2021年,星火•链网在其底层链中提供基于可信执行环境实现的中心化预言机,支持上层应用获取网页数据、物联网采集数据等多种数据,将程序部署在安全环境,确保预言机安全可信同时为区块链应用获取链下可信数据提供技术保障。
4.2 喂价服务喂价服务即预言机获取链下货币价格、外汇汇率等价值数据上传到区块链智能合约中。现有的去中心金融贸易应用在参与角色、地域范围、数据需求等方面日益扩大,需要大量有效可信的链下价值数据支撑应用,但区块链仅能利用链上已存储的交易数据,去中心金融发展受限。基于此,区块链技术公司XinFin Network与ChainLink集成,使用ChainLink的价值参考数据框架,获取链下资源接入其贸易金融平台,为HKD/USD、SGD/USD和AED/USD等货币提供去中心化的外汇汇率,实现了XinFin智能合约跨境贸易和融资场景的自动执行。此外,ChainLink还与Kyber Swap、Nexo Finance、火币等多个资产交易平台建立合作关系,已为超过25 个加密货币市场提供可信、透明的价格数据。
4.3 随机数生成去中心化游戏平台凭借其全自动和完全民主等新型游戏体验逐渐被公众使用,但如何向用户证明平台的诚实可信,即证明平台生成的随机数具有防篡改和可验证的随机性来源是当前平台开发者面临的主要问题。去中心化游戏平台JustBet通过与ChainLink预言机合作,利用预言机的可验证随机功能,为区块链智能合约提供安全且可验证的随机数。同时,基于以太坊扩展方案Polygon网络运行,创建高可靠和低成本应用的良好游戏体验。
4.4 保险服务目前,航班延误情况频发,同时人工理赔方式存在透明度不足、效率低下等问题。基于此,去中心化保险公司Etherisc针对航班保险业务,将去中心化航班保险智能合约接入ChainLink节点,依托预言机从优质航班数据源(如flightstats.com等网站)获取航班状态数据,之后保险智能合约根据收到的数据执行代码,实现理赔付款操作的自动完成。
5 结束语
区块链的持续发展促使其对链下数据的需求不断增强,作为实现可信数据上链的关键方式,预言机项目现阶段正处于初创时期,存在可信保障机制相对单一、交易花费高、应用场景集中等问题,未来预言机会更多专注于功能性工作,提升链下数据上链的安全可信性和实用性,为区块链应用服务。
参考文献
[1] 中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要[Z], 2021.[2] World Economic Forum. Inclusive deployment of blockchain for supply chains part6-a framework for blockchain interoperability[R], 2020.[3] 中国通信学会. 区块链技术前沿报告(2020)[R],2020.[4] 苏冠通, 徐茂桐. 安全多方计算技术与应用综述[J]. 信息通信技术与政策, 2019(5):19-22.[5] 周传鑫, 孙奕, 汪德刚, 等. 联邦学习研究综述[J]. 网络与信息安全学报, 2021,7(2):1-16.[6] 徐忠, 邹传伟. 区块链能做什么、不能做什么?[J]. 金融研究, 2018(11):1-16.[7] Albreiki H, Rehman M, Salah K, et al. Trustworthy blockchain oracles: review, comparison, and open research challenges[J]. IEEE Access, 2020, 8:85675-85685.[8] Provable documentation[EB/OL]. (2019-08-28)[2021-05-10]. https://docs.provable.xyz.[9] ChainLink white paper[EB/OL]. (2017-03)[2021-05-10]. https://link.smartcontract.com/whitepaper.[10] Dos network white paper[EB/OL]. (2019-04)[2021-05-10]. https://www.dos.network.
Trusted data feed technology based on Oracle
BI Danyang1, ZHANG Yuwen1, BI Yaqing2
(1. Industrial Internet and IoT Research Institute, China Academy of Information and Communications Technology,Beijing 100191, China; 2. Institute of Electronics and Information Engineering, Hebei University of Technology, Tianjin 300401, China )
Abstract:As a new infrastructure to build trust, blockchain is not perfect in the protection of trusted data feed to smart contracts. Firstly, this paper analyzes the necessity of trusted data feed, and studies the Oracle based trusted data feed technology. On this basis, the concept and overall architecture of Oracle are clarified, and the trusted data feed of Oracle is analyzed from two aspects of trusted mechanism and application practice.Keywords: blockchain; Oracle; privacy protection technology; trusted data feed
本文刊于《信息通信技术与政策》2021年 第9期
主办:中国信息通信研究院
《信息通信技术与政策》是工业和信息化部主管、中国信息通信研究院主办的专业学术期刊。本刊定位于“信息通信技术前沿的风向标,信息社会政策探究的思想库”,聚焦信息通信领域技术趋势、公共政策、国家/产业/企业战略,发布前沿研究成果、焦点问题分析、热点政策解读等,推动5G、工业互联网、数字经济、人工智能、区块链、大数据、云计算等技术产业的创新与发展,引导国家技术战略选择与产业政策制定,搭建产、学、研、用的高端学术交流平台。
《信息通信技术与政策》官网开通啦!
为进一步提高期刊信息化建设水平,为广大学者提供更优质的服务,我刊于2020年11月18日起正式推出官方网站,现已进入网站试运行阶段。我们将以更专业的态度、更丰富的内容、更权威的报道,继续提供有前瞻性、指导性、实用性的优秀文稿,为建设网络强国和制造强国作出更大贡献!
推荐阅读
你“在看”我吗?