Model-Driven Engineering of Blockchain Oracles

Olivier Levasseur
Blockchain is a decentralized ledger technology that provides data storage with strong integrity properties without the need for a trusted authority. Model-driven engineering is a software engineering discipline that aims at working with domain models instead of source code. Blockchain oracles are software components that can provide a communication channel between traditional off-chain applications and smart contracts. Model-driven engineering solutions have started being used to facilitate the development of blockchain-based applications through domain models. However, our literature review shows that there are limitations in the identified solutions to model blockchain oracles and that some types of oracles cannot be modeled through these solutions. In this thesis, we define a meta-model to illustrate the main concepts of the blockchain oracle domain and the relationships between them. We define a UML profile that extends the UML sequence diagram to include elements to model blockchain oracles. Our model also includes security components to provide encrypted communication with the oracles. A MagicDraw plugin is developed to implement transformation rules that automatically translate an oracle model into a standalone application. This results in a model-driven engineering solution that facilitates the modeling of secure blockchain oracles. The contribution of this thesis is evaluated based on functional and security requirements using an evaluation scenario that involves four different types of oracles interacting with an off-chain application.
Graduation Thesis language
Graduation Thesis type
Master - Cyber Security
Mubashar Iqbal,Raimundas Matulevičius
Defence year