CONTENTS 结论 INTRODUCTION 项目背景 在该项目的过程中,寻求以下问题的答案: Blockchain已被宣布为一种转型技术。虽然航空公司和机场已经确定了几个用例,但需要研究来建立SITA认识到,该行业确实需要采取正确的方法,确保治理、标准、合规、安全等。 •您如何设置,保护和管理许可的区块链?•谁管理和控制权限和访问?•您如何编写智能合约以及谁签署智能合约逻辑-它类似于国际机场理事会(ACI)或国际航空运输协会(IATA)标准吗?•如何更新智能合约?•我们如何保持一些数据的私密性和一些公开?•是否需要航空运输业垂直区块链-一个区块链运行许多应用程序,或每个应用程序一个区块链?•如果有一个可信赖的透明可验证的飞行数据分类账,它会改变什么吗?•Hyperledger Fabric和以太坊区块链产品之间有什么比较和对比? 因此,SITA的技术研究团队SITA Lab启动了一个项目,以调查提供飞行状态数据真相的单一版本。称为FlightChai,这是由SITA实验室建立的航空运输业区块链研究项目,并与希思罗机场控股有限公司(HAL)和国际航空集团(IAG)共同定义。此外,日内瓦机场和迈阿密国际机场部分加入了该项目,证明了该平台的可扩展性。 在这项研究中,FlightChain是一个私有许可的区块链(在以太坊和Hyperledger - Fabric上实现),它使用智能合约来仲裁潜在冲突的数据,将来自LHR,BA,GVA和MIA的数据合并并存储在区块链上。 飞行数据为何? 为什么封锁? 如上所述,本项目的重点是区块链技术。我们选择飞行数据作为用例,以测试区块链的功能,探索实施复杂性,并确定区块链的性能。除了学习目标,我们选择飞行数据的原因如下: 有几种已建立的技术可用于解决“飞行数据问题”;具有CRUD API的集中式数据库(例如SQL);分散数据库(例如Cassandra,Hazelcast)。 •飞行数据不包含个人可识别信息(PII)或商业敏感数据,这意味着合作伙伴航空公司和机场愿意为项目共享这些数据。 •“飞行数据问题”是业内众所周知的问题-即,存在多个飞行状态数据子集的副本,并且存在的数据不容易被所有各方访问。 区块链也是一种合适的技术选择,原因如下: •分布式不可变分类帐-区块链实现提供了一个加密的不可变交易账本,该账本分发给网络中的所有参与者。因此,所有参与者都将拥有所有参与者的完整副本账本上的交易,并相信所有参与者的交易记录是真实和一致的。•多个作家区块链提供了一种机制,让多个作者更新一个共同的数据集,其中数据集对区块链中的所有参与者都是可见的。•缺乏信任-在数据库的编写者之间缺乏信任的情况下,区块链比集中式/分布式数据库具有优势。这是因为所有转换在账本上一成不变地记录和共享,以便读者和其他作者可以决定是否接受或忽略任何参与者的交易。•共享控件-智能合约的使用允许不同的组织通过由智能合约编码的经批准和共享的一组业务规则来共享对数据的控制。这种非中介化方法实现了对数据的共享控制,并与集中式或分散式数据库所表现出的可信中介模型相比,提供了关键的区别。 这有助于使用区块链-有多个数据写入者,并且需要分布式数据集。 为什么是以太坊和Hyperledger? 这个项目是在以太坊和Hyperledger Fabric上实现的。在多个区块链上的实施使团队能够识别区块链的各个方面(好的和坏的),这些方面可能适用于所有实现,并且特定于供应商。 选择这些区块链实现是因为它们支持智能合约和私有许可的区块链。此外,以太坊是区块链的成熟实现,Fabric得到了Hyperledger联盟的大力支持,特别是IBM。 飞行链概念概述 这如下所示。当每个运营数据源将飞行数据推送到区块链时,在每个节点上运行的智能合约会验证数据并将这些数据写入区块链分类账。生成的航班数据集包含来自运营航空公司、出发机场和到达机场的数据。这个完整的数据集可以从区块链查询。 FlightChain项目包括: •私人许可的区块链•在区块链上运行的智能合约,用于合并飞行数据•来自多家航空公司和机场的运营实时飞行数据来源。 在这个项目中,超过200万次航班变更由智能合约处理并存储在FlightChain上。 航班-关键课程 该团队从航空公司,机场和技术供应商的角度汇总了FlightChain的关键经验教训。 在专用网络中,情况非常不同。参与者仅通过邀请加入,不同的参与者可能具有不同的访问级别。这意味着某些实体负责治理-发出参与邀请,管理身份,访问和权限。 它们在这里共享给航空运输业考虑,因为它检查了航空公司和机场的区块链的用例和好处。重要的是要注意,这些关键发现与使用私人许可的区块链有关,不一定适用于公共区块链。 典型的治理职责包括: •将帐户或组织添加到网络,以便组织可以在网络上执行交易•定义和管理权限级别•在网络上部署和升级智能合约•向网络添加节点•管理系统升级•撤消访问权限 治理 The requirement to have governance oversight is a significant differencefrom a really distributed dentration blockchain. It is obviously importantthat participants trust the governing entity, and have visible of and astake in, the rules govering the network does not控制,因为一些行动仍然需要其他参与者的共识-因此,它应该更多地被看作是一个看守的角色(尽管是一个有很多特权的看守)。 在公共网络中,没有对网络方向的中央领导或控制-它是真正的分布式和分散式。这可能导致关于区块链未来方向的决策缓慢,激烈的辩论和群体分裂。这方面的一个例子是比特币开发团队(也称为比特币核心)与主要采矿财团之间的争执。 像ACI,IATA或SITA这样的行业组织可以充当受信任的组织,为航空运输社区设置和管理私有区块链。 在August 2017的比特币分叉中。因此,出现了两个比特币区块链。在以太坊中发生了类似的分叉(但在这种情况下,分叉是为了扭转网络的黑客攻击)。 技术成熟度 然而,还有一些区块链即服务(BAAS)产品,这应该简化这种操作开销。 •MicrosoftAzure-微软与以太坊有关系,并在Azure上提供以太坊(以及其他一些区块链实现)。 关键词:区块链的技术生命周期仍处于早期阶段。区块链的设置和设置可能很复杂管理,尤其是与指向并单击AWS或Azure等云服务相比。查找“区块链即服务”产品,并提防供应商对成熟度的要求。 •IBMBluemix-IBM有一个Fabric实现。 当然,即使区块链作为一个服务,仍然需要根据使用区块链的社区的要求对服务进行适当的管理、维护和治理。 要么确保您拥有正确的技能,要么使用“区块链即服务”产品,要么只是等待技术成熟。 总体而言,任何希望部署区块链解决方案的组织都需要确保内部有正确的技能组合,或者考虑BAAS产品,否则等待技术成熟。 还应该指出的是,围绕使区块链更加企业友好的活动有很多,并且通过多个竞争的供应商方法,它正在迅速发展。 我们在区块链技术的生命周期中还处于相对较早的阶段,当然在将其重新用于比特币以外的用途方面也非常早。以太坊于2015年推出,Hyperledger Fabric v1.0于2017年推出。这反映在区块链设置、管理和监控时缺乏工具。 FlightChai是使用“滚动自己的”方法开发的,用于将Parity和Fabric部署到AWS Ubt VM上,以便获得一些直接经验并了解实施区块链的复杂性。FlightChai的主要教训之一是,将网络扩展到许多参与者将很复杂,尤其是在初始设置后加入新的航空公司和机场时。设置节点包括多个手动步骤,用于安装软件,创建帐户,将此信息分发到现有节点,重新启动这些节点等。这是一个容易出错和抵制自动化的过程。 无法更新英国航空公司航班的飞行数据或慕尼黑机场将无法更新从希思罗机场到马德里航班的飞行数据。有关FlightChain智能合约的完整逻辑,请参阅附录C。 智能合同 关键词:智能合约是可以更新区块链上数据状态的程序,是大多数企业区块链用例的关键要素。 作为智能合约的行业标准? 虽然当前的FlightChain智能合约逻辑非常简单,但很容易看到这种演变,并且在管理冲突信息方面变得越来越复杂。随着新规则的定义,在区块链上创建和部署新的智能合约之前,参与者之间必须达成共识。 关键词:智能合约的定义、更新、重新部署和让所有参与者再次同步可能很复杂。需要强大的生命周期管理。 达成这种共识的建议方法是通过ACI和IATA等行业机构。但是,与目前制定行业标准的方法不同,该方法是讨论和创建文档(建议或决议)的工作组,这些工作组可以创建更具确定性的东西-智能合约本身。所有各方都可以审查智能合约的实际代码实现,一旦签署,它将被部署。这个过程是一个重大的改进,因为它避免了对文档标准的解释变化,这种变化经常发生在许多不同的航空公司、机场和IT供应商对书面文件的误解中。 关键词:智能合约没有法律地位,但是行业标准可以编码在智能合约中。 智能合约可以简单地视为一组业务规则,作为区块链上的交易执行。区块链被部署到网络上,在以太坊的情况下,在所有节点上运行(Fabric有轻微的变化)。这意味着所有参与者都可以相信,不仅网络中所有节点上的数据是一致的,而且用户的交易和交互方式也是一样的— —没有人得到优惠待遇。 智能合约的法律地位 术语“智能合约”是一个误称,它不一定意味着任何特殊的法律地位。(智能合约也与“可编程经济”和“代码作为合约”等术语结合使用)。智能合约具有 执行智能合约时,参与者可以提供输入参数。智能合约必须是确定性的,并且在多个节点(验证器节点)上执行。 没有特殊的法律地位,当然,在短期内,使用区块链上的数据的各方之间的任何业务关系都需要得到标准的尽职调查和条款和条件谈判的支持。也就是说,区块链的一个期望是,智能合约将通过消除与建立各方之间的信任相关的摩擦来简化B2B互动。 假设所有节点都同意交易的输出(达成共识),则交易输出将提交给区块链。执行智能合约通常会通过转移资产或在FlightChain的情况下更新飞行数据来更新区块链的“世界状态”。 在FlightChain中,智能合约负责应用业务规则,实体可以更新数据的特定元素。例如,Ryanair将 系统安全性 交易权限 上述攻击将允许不良行为者对数据具有只读访问权限。为了通过执行交易来进行交易和参与网络,不良行为者需要拥有帐户并具有足够的特权,并且(取决于网络的性质)需要足够的加密货币。 ,而管理分布在多个企业中的系统的复杂性又增加了。它仅与最薄弱的环节一样安全。 这可以通过获取管理员访问权限并创建这样的帐户,或者简单地获取对现有参与者帐户的访问权限来完成。 重要的是要注意,攻击载体与传统企业系统上的攻击载体相似,并且需要进行类似的防御和监视。像区块链网络这样的分布式系统的额外复杂性是,你依赖所有参与者来做好这些防御。没有必要破坏网络上的所有节点,只有一个。与所有安全性一样,链条的强度仅与最薄弱的环节相同。 在私有许可的区块链中,未能适当保护网络将导致数据泄漏,并可能失去对存储在区块链上的资产的控制。因此,安全性对于私有区块链和任何其他公司IT系统一样重要。 保护对区块链的访问 参与区块链的基本访问是通过软件配置和网络配置来管理的。每个节点都有自己的区块链节点地址(在奇偶校验中称为enode),并且每个节点通常在自己的服务器上运行,因此具有自己的IP。 网络配置列出了有效的节点,因此,要破坏此安全级别,不良行为者需要修改一个节点(注意-不是所有节点,只有一个节点)上的