Model-Driven Engineering of Blockchain Oracles
Date
2022
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Tartu Ülikool
Abstract
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 blockchainbased
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.
Description
Keywords
Blockchain, Blockchain oracles, Model-driven engineering