朱颖婷,杨立鹏,单杏花
(1.北京航空航天大学 电子信息工程学院,北京 100191;2.中国铁道科学研究院集团有限公司电子计算技术研究所,北京 100081)
区块链技术具有去中心化、可追溯、不可篡改等特点,从数字货币延伸到供应链、版权保护、物联网等多个领域,被广泛应用。区块链一般分为公有链、私有链和联盟链3类。公有链访问门槛低,链上各个节点均可自由加入和退出区块链网络,所有信息对各节点成员公开透明,并具有链上数据的读写权限,如比特币、以太坊等;私有链要求被授权后才可加入节点,链上各节点权限受到严格控制,一般在企业内部应用;联盟链是由多个机构共同参与管理的区块链,链上并非所有信息都公开透明,可以适度保护各节点的隐私信息,适用于企业组织机构之间的交易结算,在联程运输中具有得天独厚的优势。
黄敏珍、刘昱刚、尹传忠、廖正文等[1-4]研究了面向货运联运领域的区块链技术方案和关键流程处理方法,为实现高效率的联运信息交互,提升铁路货运运输效率提供了决策依据。王洪业[5]研究了基于区块链技术的空铁联运模式和业务流程;周亮瑾等[6]研究了私有链机制在铁路客运行业应用的关键技术。上述文献重点阐述了基于区块链技术的联运实现方案和流程,为研究客运联运领域的数据共享方案提供了思路,但缺少对隐私信息保护的研究。
因此,提出基于区块链技术的联程运输数据共享和售票方案,包括兼顾数据共享与隐私保护的联程运输数据共享架构、联运数据区块链网络架构、以铁路12306网站或APP为联运需求提交入口的联运交易流程,为开展旅客联程运输业务提供新的思路。
近3年来,《交通强国建设纲要》《国家综合立体交通网规划纲要》《推进综合交通运输大数据发展行动纲要(2020—2025年)》等明确要求建设城市群一体化交通网,推进干线铁路、城际铁路、市域(郊)铁路、城市轨道交通融合发展[7],推进综合交通高质量发展,构建综合交通大数据中心体系,完善综合交通运输信息平台[8];提出按照统筹协调、应用驱动、安全可控、多方参与的原则,推动大数据与综合交通运输深度融合,有效构建综合交通大数据中心体系,实现综合交通数据共享,为加快建设交通强国提供有力支撑[9]。
在国家政策、各交通方式业务需求、用户便捷出行要求的推动下,联程运输(以下简称“联运”)呈现全国稳妥推进、局部区域初步合作的发展态势。2020年8月25日,中国东方航空公司与中国国家铁路集团有限公司宣布国内首个空铁联运项目正式启动,通过接口形式实现铁路车次和航班信息的数据交换,旅客可在任一方的APP一站式购买东航航班与高速铁路车次的联运车票。2020年12月1日起,北京和上海地铁乘车码实现互联互通,用户可使用亿通行APP乘坐上海地铁,也可使用Metro大都会APP乘坐北京地铁,方便经常往返于京沪两地的人群出行,为促进京沪两地绿色出行起到了示范作用。2021年初,成都天府通卡开通成灌线高速铁路乘车服务,旅客经过实名认证后,持天府通卡或刷天府通二维码可进站乘车,标志着成都市域铁路公交化运营迈出了重要一步。
但是,由于各交通方式在一定范围内存在竞争关系,且考虑到各自数据隐私保护、业务流程再造成本大等因素,跨交通方式的信息共享、互联互通机制没有完全建立,各种交通运输方式中信息共享存在瓶颈,联程运输服务水平还有较大提升空间。
(1)市场竞争。在商业竞争方面,根据2021年中国统计年鉴数据[10],2000—2020年铁路、公路和民航客运量统计如图1所示。从2013年起,公路和民航客运量以年均5%的幅度持续下降,而铁路客运量则以年均5%的幅度持续上升。受疫情影响,2020年铁路、公路和民航的客运总量整体下降,但铁路客运量受影响显著小于公路和民航。近年来我国高速铁路列车速度不断提升、高速铁路路网规模从“四纵四横”延伸到“八纵八横”,在中长途距离上,通过提高服务水平、以相对较低的票价提升和民航的竞争力[11-12],抢占高端旅客市场。在短途距离上,城际铁路凭借安全、准时、快速、舒适的优势不断侵蚀长途公路大巴车的市场份额[13-14]。
图1 2000-2020年铁路、公路和民航客运量统计Fig.1 Statistics of passenger traffic volume in railway, highway, and civil aviation from 2000 to 2020
(2)隐私安全。在隐私安全方面,民航、铁路等交通方式均要求旅客实名制出行,公交、地铁等交通方式也在逐步推行实名制购票。在各交通方式的智能化建设过程中,用户个人身份、联系方式、人脸特征、设备环境、网络环境、GPS定位等隐私信息,各交通方式的营运情况、用户点击等信息呈爆炸式增长。根据业务需求,不可避免地需要对数据进行适当期限的保存,给各交通方式在存储成本上带来了较大压力和安全隐患。网络安全相关政策法规、标准规范等还有待完善,不同类型数据的安全防护等级规定还不明确。以12306空铁联运项目为例,当有空铁联运需求时,航空公司和铁路部门以接口形式向对方提供适当数据服务,要求保障数据不被泄露。随着联运出行需求的增长和业务扩展,数据交换需求不断扩大,各类明细数据、汇总数据错综复杂,汇总后的数据版权问题不明确,传统的数据交换方式可能导致数据安全问题不可把控。
(3)共享成本。联程运输场景下,交通数据来源于不同的部门、仪器设备和存储环境,各交通方式的数据仓库、数据库、数据存储格式、命名规范等存在较大差别,导致大量交通数据在整合时存在较大困难。同时,各交通方式数据不仅包括传统数字、文本信息等结构化数据,还包含图像、图形、视频、音频、空间定位、日志等非结构化信息。在传统方式下,各交通方式间交换数据时,必须建设配套的数据传输监控系统,以便保持数据同步,保证数据可信、可靠、可用。对这些命名规范不统一、数据类型复杂、具有特定业务含义的海量数据进行统一管理、开发和挖掘需要耗费较大成本进行改造,是交通数据管理中的一大难题。
以当前主流的Fabric联盟链系统作为区块链管理平台,基于区块链技术的旅客联程运输数据共享和售票系统总体架构自底向上分为6层。基于区块链技术的旅客联程运输数据共享和售票方案总体架构如图2所示。
图2 基于区块链技术的旅客联程运输数据共享和售票方案总体架构Fig.2 Overall architecture of data sharing and ticket selling scheme based on blockchain technology for intermodal passenger transport
(1)资源层和服务层。根据业务需求,需要配置相应的计算、存储、网络和运维资源,支撑区块链、数据集成与共享、接口调用和应用服务。在服务层部署Fabric区块链管理平台,提供安全服务、区块链服务和智能合约服务。安全服务包括成员管理、通道管理、通信管理和密码服务。成员管理服务主要对各交通方式运营节点提供身份管理功能,新的区块链节点经过认证后才可加入Fabric网络。通道是Fabric的一种保护机制,通过通道配置文件可以确保Fabric网络中各交通方式间进行通信时不被其他非参与方可见。密码服务则提供一组密码学的工具,保护应用层中用户和系统的数据安全。区块链服务主要包括交易管理和账本管理,用户或旅客通过客户端提交交易请求后,背书节点进行背书,通过共识管理模块将交易排序打包成区块;主区块节点获取到区块之后,通过P2P协议广播区块到不同的记账节点中;各区块节点通过账本存储管理模块写入到本地账本中。各交通方式通过智能合约服务约定上链的数据范围,并使用容器作为链码的安全执行环境,从而确保执行链码时和本地数据保持隔离状态,保障区块链和本地数据安全。此外,通过监听服务监控区块链平台的运行状态,保障成员管理服务、区块链服务和智能合约服务平稳运行。Fabric平台通常将记账能力、运维能力和配套设施能力转化为可编程接口,链上的企业节点只需要根据业务需要、关注应用层和合约层的开发,从而提升开发效率。
(2)数据层和接口层。数据层包括数据集成和共享功能。基于大数据平台,采集、清洗并存储旅客出行需求、运力、突发事件等数据,当有联运需求时,在可信计算环境下,通过数据共享模块中的安全多方计算策略,根据各交通方式的运力明细数据计算最优联程出行路径方案。安全多方计算的实现方法一般有4种:同态加密密码机制、线性密钥共享机制、不经意传输协议或混淆电路框架。数据共享服务承担各交通方式数据共享与隐私保护的任务。用户的出行路径规划、联程售票方案在数据共享服务集群中完成,并通过应用程序设计接口(Application Programming Interface,API)、软件开发工具包(Software Development Kit,SDK)等接口形式,实现应用层和数据层、服务层的数据进行交互,但各交通方式无法掌握其他交通方式的运力明细数据。
(3)应用层和呈现层。应用层包含各交通方式的票务系统。用户通过某种交通方式的票务系统终端提交出行需求,通过接口层和数据层、服务层的联程出行路径规划方案计算、交易服务等,实现本地数据和区块链数据的流转、存储。呈现层指的是用户操作界面,主要包括提交需求、联程出行路径选择、交易下单等页面,用户在呈现层和联运票务系统进行交互。
各交通方式间的区块链业务被分配在不同通道,如铁路和民航的联运业务在通道1,铁路和地铁的联运业务在通道2,通道1和通道2的联程运输业务相互隔离。每个交通方式都有自己的客户端节点、数字证书认证(Certification Authority,CA)节点、共识服务节点、主节点、背书节点和记账节点。以铁路售票系统作为用户购买联程票的终端,绘制多种交通方式联程运输下基于Fabric的区块链网络架构。联运中区块链网络结构如图3所示。
图3 联运中的区块链网络架构Fig.3 Network architecture of blockchain in intermodal transport
(1)CA:各交通方式都有一个CA节点,负责对区块链上所有成员和参与方的身份进行验证,并颁发身份证书。
(2)客户端:用户或旅客通过客户端上的用户操作界面发起交易请求时,首先需要基于用户或旅客的出行需求构造交易提案,并发送给向背书节点;收到足够多的背书后,再组装背书结果从而构造一个合法的交易请求,再发送给排序节点进行排序打包处理。
(3)背书节点:背书节点需要完成对接收到的交易提案的背书处理,即检查交易提案的合法性和权限,对通过检查的交易所调用的链码进行模拟运行,并对更新状态后的交易进行背书并返回给客户端。
(4)排序节点:共识服务模块中的排序节点收到用户或旅客提交的交易信息后,对数据进行打包排序生成区块,并发送区块给联程运输中相关交通方式的主节点和记账节点。
(5)主节点和记账节点:主节点通常负责和排序节点通信,以一定频率从排序节点获取排序后的交易区块结构,在数据写入状态数据库前进行检查。记账节点负责维护区块链账本结构,将合法交易提交至区块链状态数据库。
根据区块链网络结构,以12306网站或APP为联运购票入口平台,分析售票交易流程。基于区块链技术的联运售票交易流程如图4所示。
图4 基于区块链技术的联运售票交易流程Fig.4 Ticketing process of intermodal transport based on blockchain technology
用户提交出行需求信息后,铁路可以根据用户出行需求,发起联程售票数据共享请求。其他交通方式将相关运力信息反馈至安全多方计算集群,并计算最少换乘次数、最短历时、最少费用等不同目标的联程出行方案。用户选择合适的联程出行方案后,生成联运售票统一订单编号和相关联的各交通方式子订单。统一订单中包含用户身份、出行需求、相关联的交通方式、子订单编号和支付情况等信息,要求实名制的交通方式子订单中包含用户身份、统一订单编号、支付情况、对应交通方式的班次等信息,无实名制要求的交通方式子订单则不包含用户身份信息。通过安全多方计算协议,各交通方式将收到最终的联程售票方案中各自的订单信息,但无法获得其他交通方式的运力明细信息。
区块链客户端收到用户身份、出行需求、订单等信息后,按照以下流程完成联程运输交易:①客户端根据用户身份、出行需求和订单等信息,构造交易提案,发送给各交通方式的背书节点;②背书节点完成对数据的检查,并反馈回客户端;③客户端收到足够多的背书后,再构造一个合法的交易请求,发送至排序节点;④排序节点对用户身份信息、订单摘要等打包成区块,广播给其他交通方式的排序节点,并发送给相关交通方式的主节点和记账节点;⑤主节点和记账节点收到区块后,逐笔检查区块中的交易。若该笔交易及其签名合法,且从未出现过,则该交易数据通过校验,可写入区块链状态数据库。
当旅客对联程订单中的某段或全部行程发起退票请求时,客户端根据用户身份、退票需求、退票单等信息,被退票行程执行退费,构造交易提案,发送给联程订单相关交通方式的背书节点;和售票流程中的②至⑤一样,退票交易数据通过校验后,可写入区块链状态数据库。当旅客对联程订单中的某段或全部行程发起改签请求时,客户端根据用户身份、改签需求,先后执行退票和重新购票流程。
每一笔购票、退票和改签交易明细数据都发送到区块链上,联运的相关交通方式可以实时掌握多方认可的账单,从而实现交易即对账的功能,避免传统联程运输方式下延迟1天甚至更长时间的对账、清分结算等繁琐流程,可显著提升对账准确度和效率。由于区块链具有不可篡改的特点,数据上链后将永久保存。对于交易频繁的业务,需要尽可能减少上链信息,降低区块链数据块的存储和维护成本,并有助于提高区块链计算性能。因此,上链的基本信息包括:旅客id、订单id、支付id、订单哈希、支付哈希、运输企业、出发日期、出发时间、出发城市、到达城市、订单状态等主要信息。
在联运数据共享和售票方案中,综合运用区块链和安全多方计算相关技术,可同时实现数据共享和隐私保护。和目前采用的数据共享方式相比,基于安全多方计算的数据共享方式根据需求实时计算联程出行路径方案,各交通方式能够实时协同处理用户出行需求,可显著提升数据共享范围和效率,降低数据共享成本。此外,区块链技术的不可篡改性避免了数据被滥用或篡改,可简化传统联运模式的交易流程,提升交易效率和准确度。在联运业务中应用区块链技术还需研究差异化的联运合作模式和相应的智能合约,并逐步开展研究制订基于区块链技术的互认鉴权、数据交换和清分结算标准。