# Easing DApp Interaction for Non-Blockchain Users from a Conceptual Modelling Approach
## 3 Motivation  
When dealing with a DApp for the first time, it is quite usual that a user does not have the faintest idea about how to do it. That is because DApp interaction is based on making calls and transactions according to smart contract methods. Such transactions, which typically involve the exchange of tokens, must be made from the user's wallet, with is univocally identified along the blockchain by means of its public addresses. Hence, to perform a transaction, the user would have to expend some tokens to pay for the transaction to be executed (known as gas on the Ethereum network). Afterwards, the user would have to sign the transaction by using his/her private key and to relay it through a blockchain node for the transaction to be mined and executed. Finally, the user would have to follow the transaction execution through the transactions TX receipt, which can or cannot be successfully executed depending on several aspects such as the smart contract rules or the shortage of funds added to the transaction in order to pay for it.  
In addition, the user's wallet is typically installed on just one device. Because of that reason, if the user needed to interact with the DApp by using a different device, the wallet would have to be restored by means of the private key or 12-word mnemonic [20], a process most users are unaware of. Furthermore, for the time being, there is little support for mobile wallets featuring DApp transactions. Therefore, using a DApp with a mobile device could not be always possible.  
Due to this level of complexity when executing a single blockchain transaction, it is typical that a non-blockchain user would not be able to interact with a DApp without previous training. What is more, even though a user were able to finally interact with a DApp in a blockchain, it would not mean that he/she will be able to interact with another DApp deployed in a different blockchain. That is because each blockchain requires its own wallet and has unique interaction mechanisms. By way of example, making transactions to a smart contract deployed on Ethereum [8] will significatively differ from a similar contract deployed on Ripple [21], Corda [22], HyperLedger [23], or the upcoming Libra [24] due to the differences among such blockchains [25]. Therefore, users will have to learn the specifics of each blockchain to interact with different DApp's.  
If we bear in mind examples of real DApp's, the most popular ones can be found in the website State of the DApps [26]. Looking at the top 10 DApp's by number of users in the last 24 h, they range from 10,248 to 1693 users as of today. That these figures cannot be compared with non-distributed apps. For instance, 3 out of these 10 DApp's are games, whose number of players is far from those from current non-DApp-based games (ranging from 630K to 46K [27]). Therefore, just considering the figures, DApp's have not reached the public.  
Because of the reasons, if we need our DApp's to be used by every user regardless of their blockchain expertise, a mechanism that eases DApp interaction is necessary. Based on that need, we formulated the following research questions:  
* RQ1: Which is the correspondence between the typical app interaction elements and DApp ones?
* RQ2: How can DApp interaction be improved for users without blockchain experience?
* RQ3: Does the inclusion of typical app interaction features in a DApp improve its usability for users without blockchain experience?Next, Section 4 will analyze the conceptual model of a blockchain, and the Section 5 will present our proposed middleware to simplify the interaction with a DApp, thus partially camouflaging it into a common web app for users with no prior blockchain knowledge to interact with it.