Civil aviation is a global industry in which huge amounts of data are synchronized and processed continuously. In the mid-20th century, airline reservation systems were one of the first examples of the use of computer systems and data transfer networks. Let's see how today blockchain technology can help faster and more efficiently solve a simple, at first glance, task: to transfer a passenger from point โAโ to point โBโ?
Given
A large number of organizations participating in the process
- At least one airline;
- Point of sale through which the ticket was purchased (this may be the website of the airline or the office of a travel agency);
- Inventory system provider (passenger service system);
- At least two airports
- Air Control Service;
- Border and customs control services (for international flights);
- Supplier and refueler;
- Aircraft Maintenance Organization;
- Providers of food and other services;
- The operator of the loyalty program, if the passenger is a member of such a program;
- Insurance company, if the passenger has acquired additional insurance.
Let's complicate the task
All participants in the process must have relevant data related to their part of the organization of transportation. Namely:
- Information about the time of arrival of the aircraft, the designated parking place of the aircraft;
- Information about the ticket sold;
- Register of passengers registered for the flight;
- Data on the availability of necessary visas and passport and customs control;
- Data on the services provided at the airport, including food and fuel services - the volume of services and the exact time of the provision of services;
- Information on technical control and repair measures;
- Information about the passage of pre-flight control of the crew and much more.
At the same time, additional requirements may be imposed on some information flows. For example, exchanging data with several independent sources / consumers from authentications of information sources or maintaining the invariance of the history of data changes with the possibility of audit.
Data exchange
Printed documents vs Excel vs API vs ...?
All organizations have information systems related to the management of operating activities, accounting for income and expenses, while the degree of automation of information interaction with contractors varies from the transfer of printed documents, followed by transfer to digital data warehouses, to the use of various integration mechanisms:
Export / Import Files
various formats (CSV, XML, Excel ..)
Platforms
In the field of civil aviation, there are global platforms for the interaction of organizations in the process of air transportation:
- BSP (Billing and Settlement Plan);
- GDS (Global Distribution System);
- PSS (Passenger Service System).
We wrote about them in our previous article . The platforms work as a service and are supported by associations and companies such as IATA, SITA, Amadeus, etc. All current platforms are centralized: there is an organization that provides the service, all software, server capacities are under its control. From the point of view of developing and supporting systems, providing a level of service is convenient, but there are also disadvantages:
- Additional costs of process participants related to payment for platform services;
- Transfer of information to an external organization. Data of business value may be compromised or made available to third parties;
- Service Provider may influence the rules of information interaction.
API
Using the API allows you to organize direct interaction between contractors. One of the API standards is NDC (New Distribution Capabilities), designed for direct sale of tickets and additional services. At the same time, there are no such standards when interacting with contractors during ground handling, the fragmented implementation of data integration services is not based on generally accepted standards.
API is a collaboration tool between contractors that allows you to turn a business or organization into a platform. However, the potential creation of an API for all options for counterparty interaction can, on the one hand, lead to the centralization of the services through which the interaction takes place, and, on the other hand, to an increase in the number and types of integrations and the complexity of the information landscape of organizations.
Blockchain?
We have:
- Many data sources that must be collected in one information field;
- The critical importance of the correctness of data, sources of origin and time of occurrence;
- Direct data exchange is preferable to the use of intermediaries in the transmission of data.
The use of blockchain / distributed registry technology looks like a logical part of solving the difficult task that we identified at the very beginning: to transfer the passenger from point โAโ to point โBโ. Thanks to this technology, all participants in the process receive one version of the data, and they do not spend time and other resources on coordination and discussion.
Single version of data for multiple participants
Using the capabilities of a distributed registry, organizations can, according to their rules, quickly, with control of the time and source of the message, as well as the fact of delivery, exchange information with the minimum necessary or zero degree of disclosure in the interaction scheme, when several organizations receive and send data related to a specific context - passenger, flight, ULD (Unit load device, air container), etc.
The core value of distributed ledger technology is based on two key elements.
- proven origin of data (although the blockchain does NOT guarantee the reliability of the data, but it does make it clear who placed what data in the registry and when);
- controlled processes - all participants can see and understand how data passes through a pre-agreed, programmed process.
Smart contracts
Data exchange rules can be described in the form of smart contracts that define the data model for a particular process. A smart contract is executed in a neutral environment of a distributed registry, protected from access or influence of third parties, guaranteeing a fixation of the chronological sequence of information input by the parties, thereby forming an audit trail.
The code of the smart contract determines the levels of access to the data, who and under what conditions can enter the data. In addition to the organizations involved in the process, the oracles are an important source of data - information systems that transfer data from the external environment to the blockchain. Oracles can be, for example:
- certified mass meters in refueling vehicles;
- exchanges providing current exchange rates;
- pattern recognition systems.
Access to data from the external environment makes it possible to automate the fulfillment of transaction conditions, algorithms for calculating the cost of services.
Looks good, how to implement this?
v1.0: Ethereum
In 2017, S7 Airlines, in partnership with Alfa Bank, one of the first airlines, launched a blockchain-based technology project that is now actively used in the process of S7 Airlinesโs interaction with the agent network and allows you to link ticket sales data with payment transactions .
The process of information and payment interaction with agents was considered as a special case of creating business networks, the purpose of which is to accelerate business and production processes, reduce transaction costs due to direct and secure information and payment interaction of organizations.
The blockchain platform developed by S7 TechLab immediately envisaged building networks for processes in which organizations exchange business information and, upon reaching certain conditions, a smart contract initiates a bank payment. In order for transactions placed on the blockchain to have legal consequences, a legal framework was developed, including allowing the bank to make payments based on data from the blockchain transaction.
The first version of the blockchain platform was implemented on the basis of the Ethereum protocol, using the Proof-Of-Authority consensus, in which at the level of system smart contracts a circle of organizations-validators was determined, as well as an access model. For this, the capabilities of the Parity client were used.
The architecture involved the deployment of a separate network for a specific process. The main roles of the participants:
- An organization that participates in a specific process (for example, when selling tickets, is it an agent or airline)
- A bank that provides payments initiated by a transaction placed on the blockchain.
On-chain components of the first version of the platform (smart contracts) were implemented on Solidity using smart contract updating techniques, which in smart contracts based on EVM (Ethereum Virtual Machine) creates a number of difficulties in development and support. Off-chain components were mainly implemented on JavaScript / Node.JS, since the most stable libraries (web3.js, truffle and others) were implemented on this stack.
The Ethereum protocol-based blockchain platform was a good start, as in 2017 it was the most stable technology supporting smart contracts, with a lot of libraries available, however, with further expansion of requirements and development of functionality, we encountered a number of limitations inherent in the Ethereum protocol :
- Transactions are not final, they are accepted by a simple majority of votes of nodes - validators;
- A single registry of operations available to all participants. Decisions based on Quorum and other extended implementations of Ethereum clients with support for private transactions in 2017 were still unstable;
- Solidity, as a development language, had significant limitations on the logic being implemented. Implementing complex logic was problematic: for example, when a certain number of variables was used in a smart contract, the compiler threw a
stack too deep
error and further expansion of the smart contract logic had to be done with significant technological tricks.
v2.0: Hyperledger Fabric
In the second half of 2017, a stable version of the Hyperledger Fabric 1.0 framework was released with such features as:
- Two-phase commit;
- Channel-based data isolation
- PKI-based authentication;
- Flexible model for configuring network participants (Membership Service Provider);
- Advanced system for setting permissions for operations (policies);
- Unified code base on Go.
This convinced us to further develop the blockchain platform based on this framework. Time has shown that the choice was the right one: now a significant part of the created industrial-level corporate projects based on a distributed registry uses Hyperledger Fabric technology. The creation of systems distributed between organizations implies the familiarization of all participants with the technologies used, so the documentation, well-known usage practices and the level of market acceptance of the Hyperledger Fabric simplifies interaction with partners.
Blockchain technologies in 2017 (and at the moment too) are at the stage of rapid development and we had to go the way of developing a significant number of our own components, faced with problems such as:
- Lack of best practices in the development and testing of blockchain applications;
- Lack of a simple and stable SDK on Go;
- Lack of practices to maintain the level of network service (network configuration, node monitoring, emergency response, etc.)
- Complex reconfiguration of network participants.
Over the two years of development of the S7 blockchain platform, we have gone from manual deployment of networks and writing simple smart contracts to the formation of tools with which we can quickly create blockchain networks with external partners. Based on the experience of deploying individual projects, we have developed:
- Means of deploying network components in K8S, or on any virtual servers / cloud services;
- Decentralized network and network access management;
- Means of monitoring and maintaining the level of service;
- Components for the development of smart contracts and off-chain applications, including data encryption;
- Network data analysis tools (explorer), taking into account meta-descriptions of the data model of the chain codes;
- Gateways to banks for payment transactions.
Open source
We have laid out part of our developments in open source :
cckit
a library that allows structured development of smart contracts. The latest version also contains code generation tools based on meta descriptions of gRPC services and protobuf messages, which allow specifying the interfaces of smart contracts (chain codes) of Hyperledger Fabric, as well as automating the creation of SDKs for interacting with smart contracts.
In addition, the following features are implemented:
- Routing of function calls;
- Functions of intermediate processing (middleware);
- Object-state mapping;
- Expanded implementation of MockStub.
hlf-sdk-go
own simplified SDK:
- Simple and clear components;
- Plug-in discovery provider and crypto suite;
- Built-in GRPC metrics;
- GRPC call balancing based on go-grpc;
- A separate package for working with Fabric CA;
- Tracing operations based on OpenTracing (Jaeger).
Ongoing projects
Using this toolkit, several projects have already been developed:
Interaction system between airlines and fuel suppliers
Based on the digital smart contract in the AFSC (Aviation fuel smart contracts) system, S7 Airlines and the fuel supplier agree on the preliminary amount of fuel and its price. These data are used to assign technical specifications to the tanker driver at the airport. After the aircraft commander asks the operator for the exact amount of fuel needed to complete the flight, an online application is sent to the airline's bank to reserve the corresponding amount on the account. Instant confirmation from the bank gives a start refueling.
New version of direct agent interaction platform S7
which is in commercial operation (turnover has already exceeded 300 million rubles per month ). A similar system is also being implemented for a third-party large transport company.
A number of projects are under development, including those related to cooperation with airports and companies providing ground handling of aircraft.
Industry transformation
In which projects can blockchain technology take aviation as an industry to an even higher level? Perhaps the most important thing is safety. The blockchain can act as a virtual journal, where all information about the maintenance of individual parts of the aircraft will be recorded: where they came from, who worked with them, where they go next, etc. Thanks to this transparency, blockchain can push aviation security to a whole new level.
And also loyalty programs. Here is just one example: the tokenization of loyalty points will allow them to be a more liquid and convenient tool for the client. They can provide end-to-end collaboration in the travel industry between airlines, hotels, shipping companies and car rental companies.
And this is far from all. Despite the fact that the current examples are still the first steps, the use of the blockchain with a high degree of probability will have a huge impact on the transformation of the civil aviation industry in the field of information and payment interaction, which, of course, will help to make the passenger-air carrier interaction process even more convenient and reliable.
Business value
According to Building Value with Blockchain Technology: How to Evaluate Blockchain's
Benefits from the International Economic Forum, the civil aviation industry and the travel industry as a whole can most benefit from automation of interaction using smart contracts, a single version of the data for all participants in the process and the ability to create new types of products and services. First of all, due to the modernization of technologies serving the information flows between partners.
On the basis of the blockchain, processes that require payment interaction can be implemented (payment for services of airports / fuel suppliers, etc., or mutual payments under interline agreements), as well as processes with payments that are not related, for example, facts of flights.
Smart contracts may contain rules previously agreed between partners for automated verification of conditions and the execution of actions, including payment, which will significantly reduce manual work, which creates delays and potential errors.
The timestamps that accompany all blockchain transactions can also
Allow control over service level agreements (SLAs), for example in
fulfillment of the technological schedule for servicing the aircraft at the airport.
Such solutions were maximized in combination with the Internet of Things (IoT) and machine pattern recognition technologies - the facts stored and taken into account in smart contracts will be able to enter the blockchain as automated as possible, without human intervention.
Underwater rocks
For business networks, a consortium scheme is relevant in which network nodes are supported by individual organizations - network participants. Access to network nodes can be both consortium members and external organizations, depending on the requirements for interoperability. Consider the main obstacles to creating business networks.
From a business perspective:
- Identification of the process of interaction of counterparties, which really requires decentralization. Study of the structure of information interaction, data accessibility conditions;
- Correct assessment of the impact of changing the paradigm of interaction with contractors and the cost of implementation;
- Organization of work in a consortium of counterparties, including direct competitors.
In terms of technology:
- The current lack of โidealโ distributed network operation algorithms combining security, scalability and decentralization (choose 2 out of 3);
- Lack of standardized approaches to the development of smart contracts and legal practices;
- Lack of best practices in creating such systems.
The main thing is that the cons are not obstacles, but growth zones. The future is more interesting, we have something to work on.