# Easing DApp Interaction for Non-Blockchain Users from a Conceptual Modelling Approach
## 1 Introduction  
Back in 2008, a paper written by somebody under the pseudonym of [PERSON] [1] revolutionized both the world economic system and the distributed management of data. Bitcoin was born as a distributed ledger that would enable online payments without the intervention of a third party (i.e., bank, financial services, payment gateway, etc.). Indeed, instead of trusting a third party as the transactions' validator, this process is conducted by a network of peers, using cryptographic techniques. Bitcoin has been adapted widely, having a market capitalization of 160 trillion $ in May 2020.  
Nevertheless, not only were cryptocurrencies [2] born but also the mechanism used to store the transfers of Bitcoins, namely the blockchain [3]. A blockchain is a data structure whose information is stored in blocks. Hence, each block is hashed and connected with the previous blocks. Therefore, in order to alter any block of the chain, the whole chain would have to be rehashed, which would require more than half the computing power of all the network's peers, which is known as a 51%attack [4; 5]. Consequently, blockchain arises as an immutable data structure to anonymize and secure data in a distributed manner, regardless of its scope of application. As a matter of fact, Blockchain has already been applied to different domains such as healthcare [6] or education [7].  
After the Bitcoin revolution, the next significant milestone arrived with Ethereum [8] and the smart contracts [9]. Hence, not only did the Ethereum blockchain store transactions of its cryptocurrency, namely Ether, but also it can execute rules written in smart contracts that can manage users' digital assets (i.e., tokens). Thanks to the capability of executing smart contracts, Ethereum enabled us to create decentralized applications that run in the blockchain (DApp's) [10; 11] as well as decentralized autonomous organizations (DAO) [12], which are virtual organizations able to deal with digital assets without human intervention thanks to a set of rules codified in smart contracts.  
We are talking about a world-wide revolution in the economic and distributed data storage paradigms that would enormously benefit users. However, such users are not entirely ready yet due to blockchain's learning curve. Indeed, in order to interact with a DApp, users must have a wallet per blockchain, as well as the knowledge about how to use their public and private keys to sign and deploy transactions to the blockchain that will interact with the smart contracts. Because of that reason, a DApp is prone to fail nowadays as far as the public is concerned.  
In order to tackle this issue, we propose a middleware which is located within the smart contracts and the user interface of the DApp, that will ease the interaction with it by making it similar to the classic user web interaction based on usernames, password and visual web controls (e.g., button, forms, and so on). In this sense, users will be able to use a DApp in a comfortable manner until they get used to interacting directly with smart contracts. Moreover, to develop such middleware, we rely on the conceptual modeling analysis of the Ethereum blockchain architecture.  
This paper is structured as follows. After this introduction, Section 2 presents different works related to blockchain modeling and DApps. Next, Section 3 widens the explanation of why users have trouble when interacting with DApp's. Section 4 will explain the relationship between DApps and Apps from a UML (Universal Modeling Language). modelling point of view. Section 5 will present out middleware proposal which will be put into practice in Section 6 by means of a running example. Next, Section 7 will present the experiment we conducted to assess if the implementation of the proposed middleware would improve the usability of a DApp. Finally, Section 8 will finish with our conclusions and future work.