飞行链 区块链技术在航空运输业中的适用性和实用性研究 白皮书 CONTENTS INTRODUCTION项目背景3 为什么是飞行数据?4为什么是以太坊和Hyperledger?4为什么是区块链?4FlightChain概念概述5白皮书贡献者6词汇表6 航班-关键课程Governance7 技术成熟度8智能合约9系统安全10私人vs公共11数据隐私11系统性能、可扩展性和弹性12 结论Conclusions13附录A-以太坊VM系统要求14 网络要求14节点体系结构15智能合约16 附录B-Hyperledger-面料VM系统要求18 智能合约18 附录C-航线智能合同逻辑流程192飞行链白皮书|©SITA2017 INTRODUCTION 在该项目的过程中,寻求以下问题的答案: •您如何设置,保护和管理许可的区块链? •谁管理和控制权限和访问? •您如何编写智能合约以及谁签署智能合约逻辑-它类似于国际机场理事会(ACI)或国际航空运输协会(IATA)标准吗 ? •如何更新智能合约? •我们如何保持一些数据的私密性和一些公开? •是否需要航空运输业垂直区块链-一个区块链运行许多应用程序,或每个应用程序一个区块链? •如果有一个可信赖的透明可验证的飞行数据分类账,它会改变什么吗? •HyperledgerFabric和以太坊区块链产品之间有什么比较和对比? 项目背景 Blockchain已被宣布为一种转型技术。虽然航空公司和机场已经确定了几个用例,但需要研究来建立SITA认识到,该行业确实需要 采取正确的方法,确保治理、标准、合规、安全等。 因此,SITA的技术研究团队SITALab启动了一个项目,以调查提供飞行状态数据真相的单一版本。称为FlightChai,这是由SITA实验室建立的航空运输业区块链研究项目,并与希思罗机场控股有限公司(HAL)和国际航空集团(IAG)共同定义。此外,日内瓦机场和迈阿密国际机场部分加入了该项目,证明了该平台的可扩展性。 在这项研究中,FlightChain是一个私有许可的区块链(在以太坊和Hyperledger-Fabric上实现),它使用智能合约来仲裁潜在冲突的数据,将来自LHR,BA,GVA和MIA的数据合并并存储在区块链上。 飞行链白皮书|©SITA20173 飞行数据为何? 如上所述,本项目的重点是区块链技术。我们选择飞行数据作为用例,以测试区块链的功能,探索实施复杂性,并确定区块链的性能。除了学习目标,我们选择飞行数据的原因如下: •飞行数据不包含个人可识别信息(PII)或商业敏感数据,这意味着合作伙伴航空公司和机场愿意为项目共享这些数据。 •“飞行数据问题”是业内众所周知的问题-即,存在多个飞行状态数据子集的副本,并且存在的数据不容易被所有各方访问。 这有助于使用区块链-有多个数据写入者,并且需要分布式数据集。 为什么是以太坊和Hyperledger? 这个项目是在以太坊和HyperledgerFabric上实现的。在多个区块链上的实施使团队能够识别区块链的各个方面(好的和坏的),这些方面可能适用于所有实现,并且特定于供应商。 选择这些区块链实现是因为它们支持智能合约和私有许可的区块链。此外 ,以太坊是区块链的成熟实现,Fabric得到了Hyperledger联盟的大力支持,特别是IBM。 为什么封锁? 有几种已建立的技术可用于解决“飞行数据问题”;具有CRUDAPI 的集中式数据库(例如SQL);分散数据库(例如Cassandra ,Hazelcast)。 区块链也是一种合适的技术选择,原因如下: •分布式不可变分类帐-区块链实现提供了一个加密的不可变交易账本,该账本分发给网络中的所有参与者。因此,所有参与者都将拥有所有参与者的完整副本 账本上的交易,并相信所有参与者的交易记录是真实和一致的 。 •多个作家区块链提供了一种机制,让多个作者更新一个共同的数据集,其中数据集对区块链中的所有参与者都是可见的。 •缺乏信任-在数据库的编写者之间缺乏信任的情况下,区块链比集中式/分布式数据库具有优势。这是因为所有转换 在账本上一成不变地记录和共享,以便读者和其他作者可以决定是否接受或忽略任何参与者的交易。 •共享控件-智能合约的使用允许不同的组织通过由智能合约编码的经批准和共享的一组业务规则来共享对数据的控制。 这种非中介化方法实现了对数据的共享控制,并与集中式或分散式数据库所表现出的可信中介模型相比,提供了关键的区别 。 4 飞行链概念概述 FlightChain项目包括: •私人许可的区块链 •在区块链上运行的智能合约,用于合并飞行数据 •来自多家航空公司和机场的运营实时飞行数据来源。 这如下所示。当每个运营数据源将飞行数据推送到区块链时,在每个节点上运行的智能合约会验证数据并将这些数据写入区块链分类账。生成的航班数据集包含来自运营航空公司、出发机场和到达机场的数据。这个完整的数据集可以从区块链查询。 在这个项目中,超过200万次航班变更由智能合约处理并存储在 FlightChain上。 机场AODB IAG/BA ACRIS数据 ACRIS数据 航空公司航班 对等 SITA LHR 对等 MIA 对等 ACRIS数据 机场AODB 对等 ACRIS数据 类ACRIS数据 机场AODB 机场AODB 对等 GVA 飞行链白皮书|©SITA20175 WHITEPAPERCONTRIBUTORS 名称 Title 凯文·奥沙利文 SITA实验室首席工程师 SholehBehzadpour 创新技术专家,IT期货,HAL 斯图尔特·哈伍德 HeathrowAutomation&Innovation,HAL 哈维·泰特 IAG创新,IAG 词汇表 Term 说明 AODB 机场或航空公司运营数据库。这是航空公司或机场的飞行数据来源。 ACRIS 这是一个ACI标准组。飞行数据以ACRIS数据格式存储在区块链中。参见http://www.aci.aero/About-ACI/Priorities/Airport-IT/ACRIS 比特币区块链 这是最初的区块链网络,支持比特币加密货币。这是一个公共网络。它不支持智能合约。 共识 这是描述区块链网络中的分布式节点如何就提交给网络的交易达成一致的术语。有几种不同的共识算法。请参阅词汇表术语“Proofof...” DApp 分布式应用程序。使用智能合约的应用程序称为分布式应用程序。DApp还可能包括用户界面(UI)和某种分布式存储。 DLT 分布式分类帐技术-区块链的另一个术语 面料 Fabric是Hyperledger联盟下的区块链实现之一。它由IBM开发并通过Hyperledger开源。 以太坊 以太坊是一个开源区块链。有一个公共以太坊网络。它也可以作为私有许可网络运行(在这个FlightChain项目中它作为私有网络运行)。以太坊支持智能合约。https://www.ethereum.org/ Hyperledger Hyperledger是一个由跨行业公司组成的联盟,致力于推进区块链技术在企业空间中的应用。IBM,埃森哲,英特尔,美国运通等公司正在开源自己的开发项目,以加快区块链技术的采用并解决常见问题。 奇偶校验 Parity是一个以太坊客户端。一个以太坊网络由一系列客户端组成,以对等方式连接。没有以太坊服务器。https://parity.io. 权力证明 这是在FlightChain的以太坊实现中使用的共识算法。它依赖于至少两个具有创建新区块的权限的节点。https://github.com/paritytech/parity/wiki/Proof-Authority-Chains 股权证明 这是一种共识算法,它依赖于比特币(或其他加密货币)的所有者来批准交易。 工作证明 这是在比特币区块链上使用的共识算法。它依赖于矿工解决数学问题(做工作)。这对矿工来说可能是计算昂贵的,但对其他人来说是简单的验证。这是一种防御机制,防止不良行为者操纵区块链数据。 智能合约 智能合约是一个运行在区块链上的软件程序,它驻留在所有节点上,当数据写入区块链时,它会处理一组业务规则。智能合约的结果写在区块链上。 6飞行链白皮书|©SITA2017 航班-关键课程 该团队从航空公司,机场和技术供应商的角度汇总了 FlightChain的关键经验教训。 它们在这里共享给航空运输业考虑,因为它检查了航空公司和机场的区块链的用例和好处。重要的是要注意,这些关键发现与使用私人许可的区块链有关,不一定适用于公共区块链。 治理 在公共网络中,没有对网络方向的中央领导或控制-它是真正的分布式和分散式。这可能导致关于区块链未来方向的决策缓慢,激烈的辩论和群体分裂。这方面的一个例子是比特币开发团队(也称为比特币核心)与主要采矿财团之间的争执。 在August2017的比特币分叉中。因此,出现了两个比特币区块链。在以太坊中发生了类似的分叉(但在这种情况下,分叉是为了扭转网络的黑客攻击)。 飞行链白皮书|©SITA2017 在专用网络中,情况非常不同。参与者仅通过邀请加入,不同的参与者可能具有不同的访问级别。这意味着某些实体 负责治理-发出参与邀请,管理身份,访问和权限。典型的治理职责包括: •将帐户或组织添加到网络,以便组织可以在网络上执行交易 •定义和管理权限级别 •在网络上部署和升级智能合约 •向网络添加节点 •管理系统升级 •撤消访问权限 Therequirementtohavegovernanceoversightisasignificantdifferencefromareallydistributeddentrationblockchain.Itisobviouslyimportantthatparticipantstrustthegoverningentity,andhavevisibleofandastakein,therulesgoveringthenetworkdoesnot 控制,因为一些行动仍然需要其他参与者的共识-因此,它应该更多地被看作是一个看守的角色(尽管是一个有很多特权的看守)。 像ACI,IATA或SITA这样的行业组织可以充当受信任的组织,为航空运输社区设置和管理私有区块链。 7 技术成熟度 关键词:区块链的技术生命周期仍处于早期阶段。 区块链的设置和设置可能很复杂 管理,尤其是与指向并单击AWS或Azure等云服务相比。查找“区块链即服务”产品,并提防供应商对成熟度的要求。 要么确保您拥有正确的技能,要么使用“区块链即服务” 产品,要么只是等待技术成熟。 我们在区块链技术的生命周期中还处于相对较早的阶段,当然在将其重新用于比特币以外的用途方面也非常早。以太坊于2015年推出,HyperledgerFabricv1.0于2017年推出。这反映在区块链设置、管理和监控时缺乏工具。 FlightChai是使用“滚动自己的”方法开发的,用于将Parity和Fabric部署到AWSUbtVM上,以便获得一些直接经验并了解实施区块链的复杂性。FlightChai的主要教训之一是,将网络扩展到许多参与者将很复杂,尤其是在初始设置后加入新的航空公司和机场时。设置节点包括多个手动步骤,用于安装软件,创建帐户,将此信息分发到现有节点,重新启动这些节点等。这是一个容易出错和抵制自动化的过程。 然而,还有一些区块链即服务(BAAS)产品,这应该简化这种操作开销。 •MicrosoftAzure-微软与以太坊有关系,并在Azure上提供以太坊(以及其他一些区块链实现)。 •IBMBluemix-IBM有一个Fabric实现。当然,即使区块链作为一个 服务,仍然需要根据使用区块链的社区的要求对服务进行适当的管理、维护和治理。 总体而言,任何希望部署区块链解决方案的组织都需要确保内部有正确的技