Standardization and Extension of a Blockchain Interoperability API

State: completed by Pascal Kiechl

Over the last two years, the Communication Systems Group (CSG) at the University of Zurich (UZH) has worked (among other projects) in the Blockchain-Based Temperature Monitoring for Cold Chains in Medical Drug Distribution (BC4CC) [3] project. One of the goals of the BC4CC project was to develop a blockchain interoperability Application Programming Interface (API) that would allow a user to interact (e.g., store and retrieve data) with multiple blockchains without requiring knowledge of the underlying implementation of the supported blockchains. Such an API was developed following a Notary-scheme [2], and its prototype was named Bifröst[4]. However, there are still some facets of the design and development of Bifröstthat can be improved, for example, allowing users to encrypt the data to increase privacy, increasing the security of the interaction with the API, and possibly decentralizing the solution.


Further, one issue regarding interoperability is the lack of standards concerning blockchain interaction and blockchain development. There have been some efforts in standardization activities [1]; however, no consensus has been reached. Thus, the research on categorizing such an interaction is crucial and presents an interesting research topic.


The goal of this thesis is to extend the functions, and if necessary redesign, the blockchain interoperability API named Bifröst. A previous working implementation of the Bifröst will be provided. Further, research on how to standardize blockchain interaction must be conducted, characterizing and identifying the necessary functions that a blockchain interoperability API should provide to address all use-cases while being agnostic to the underlying platform.  The final thesis goals are to be discussed with the supervisor to fit the student's knowledge and ideas. The goals also include code refactoring and error handling. This goal has an engineering nature and requires from the student a background on software development to refactor the Blockchain-agnostic Framework code to include error handling and basic security functions, providing a stable base. 

[1] M. Belotti, N. Božić, G. Pujolle, and S. Secci. A Vademecum on Blockchain Technologies: When, Which and How. In IEEE Communications Surveys Tutorials, volume 21, pages 1–47, July 2019.

[2] V. Buterin. Chain Interoperability, 2016. https://allquantor.at/blockchainbib/pdf/vitalik2016chain.pdf Last visit March 23, 2020.

[3] Communication Systems Group. Blockchain Based Temperature Monitoring for Cold Chains in Medical Drug Distribution (BC4CC), 2020. https://www.csg.uzh.ch/csg/en/research/BC4CC.html Last visit March 23, 2020.

[4] E. J. Scheid, T. Hegnauer, B. Rodrigues, and B. Stiller. Bifröst: a Modular Blockchain Interoperability API. In IEEE Conference on Local Computer Networks (LCN 2019), pages 332–339, Osnabrück, Germany, October 2019.

25% Design, 60% Implementation, 15% Documentation
Programming Skills in Python, Basic Blockchain Knowledge

Supervisors: Dr. Eder John Scheid

back to the main page