Navigation auf uzh.ch
The main goal of this project is to develop novel methods for supporting the coldchain distribution process (supply chain) of medical drugs using blockchain technology. The commercial goal is to reduce the cost of delivery, while assuring a regulation-compliant temperature tracking using IoT-sensors.
Reference: | Research and Industrial Project |
Source of funding: | Komission für Technologie und Innovation KTI (Commission for Technology and Innovation) |
Project Duration: | 01.09.2017 - 01.09.2019 |
The tasks that contribute to the fulfillment of the goals of this project are described below:
Inquiries may be directed to the local Swiss project management:
|
Blockchain technology is developing at a rapid pace. For consumers that are only interested in simplifying processes and reducing costs by using a blockchain solution a new problem has occurred. It is not only necessary to select the appropriate solution, but also to configure and operate considering blockchain interoperability with different chains. For the industry, there is a need for solutions based on open standards. Thus, it was proposed a Policy-based Blockchain Agnostic Framework (Figure 1) that not only connects different blockchains but also facilitates their configuration and operation. Moreover, a case study (Figure 2) was presented considering the cold-chain supply-chain, where each actor defines its policies based on blockchain requirements. More information about the description of this framework and its components can be found in the peer-reviewed paper accepted for publication in the IFIP/IEEE International Symposium on Integrated Network Management (IM 2019) [1].
Based on the user policies defined, the Blockchain-based Agnostic Framework selects the most suitable blockchain implementation to store and retrieve the data. This store/retrieve interaction is performed within the framework using the OpenAPI component. The code for the OpenAPI prototype can be found at the IFI GitLab Repository. The workflow of how the OpenAPI performs the store()
function is depicted in Figure 3.
The API is the entry point for the OpenAPI, once it receives the store()
function, it delegates the request to the corresponding adapter based on the chosen blockchain using the BC_ID
value. Thus, each blockchain requires a Blockchain Adapter, which implements specific methods to create, sign, and send transactions (TX). The core of each Blockchain Adapter are the store
and retrieve
methods. The former, shown in Listing 1, creates a transaction based on the correct blockchain template and encodes the input data. It signs this transaction with the private key (retrieved from the Credentials database) and broadcasts it, as a raw transaction, to multiple nodes in the blockchain. The broadcast is performed using the defined blockchain Remote Procedure Call (RPC) server. Finally, it stores the transaction in the TXs database before returning the transaction hash to the user. The latter, shown in Listing 2, searches the transaction information from the blockchain using the transaction hash as the search parameter. Then, it extracts the data from the transaction information and returns the restored text message to the user. The described workflow is the same for all Blockchain Adapters. However, specific methods, such as to construct a transaction, are implemented accordingly to the design details of each blockchain supported.
More information about the description of the OpenAPI, named Bifröst, and its components can be found in the peer-reviewed paper accepted for publication in the 44th IEEE Conference on Local Computer Networks (LCN 2019) [2].