Smart Contract Transactions
Ropsten Ethereum format is an “Ethereum Testnet” that runs the same protocol as Ethereum.
It contains the following fileds:
-Transaction Hash code
-Date and Time
-Value In (in Ethereum)
-Value Out (in Ethereum)
-Transfer Fee (in Ethereum)
EXPERIMENT RESULTS, EVALUATION AND DISCUSSION
The experimental prototype of the proposed remitance model was evaluated over two days from May 22 to May 23, 2019, each day from 9 am to 4 am GMT+1 using the experimental prototype. 160 remittance transactions were performed. All the transactions details are publicly available on the Ropsten public log available at: https://ropsten.etherscan.io/address/0x904248FE328a186CE76666ee9e2548Ab2.... On the day of the transactions, the value of one Ether was $230.17 USD.
The proposed model was evaluated in regard to 2 criterions. The first was to ensure that the entire process behaved in a trustworthy manner in regard to the intention of the expeditor and the second examined the financial cost of using the system compared to actual MTO services.
To test the trustworthiness of the model, different scenarios were tested to ensure that the logic embedded in the application prototype behaved as expected. These test scenarios were simulated using Selenium, a Web automation framework. Selenium simulates human interaction using a web based application. With Selenium, one can track every key stroke a user enters in the system, and at each step check the internal state of the system. Testing using Selenium not only allows us to test the quality of the code, but it also tests the overall behavior of the system as seen by the end user, especially the page responsiveness.
The prototype was tested for 80 different scenarios. For each scenario, the test result was either pass or fail. The tests included security scenarios where the most common attacks were simulated, and the normal functioning of the application with scenarios simulating participants not sending confirmation on time, or sending wrong signatures, or participants trying to cheat or hack the system. The tests targeted the application layer, which interacts with the end users, as well as the smart contract logic layer.
After the correction of all the coding defects, the second version of the prototype was submitted to all the tests and behaved according to our proposed definition of a trustworthy remittance system. However, an important caveat should be noted. Scenarios not considered in this first research activity could exist that would show the model may not perform as intended, especially in the logic layer dealing with the smart contract reliability. Testing smart contract reliability is an important area of research.
To determine how costly the use of the proposed trusted remittance application would be compared to a current MTO, the prototype was tested using Ropsten, the public Ethereum test network. Ropsten is the closest system to the real Ethereum network. Using Ropsten allows us to have a close approximation of how the system would behave in real life.
When we discuss the cost of using the proposed model, we refer to the gas cost, which is the cost charged by the Ethereum network to perform a transaction. With Ethereum there are no free operations; every operation (command) performed in the system costs Ether and it is identified as a gas fee. This gas fee can be understood as a constraint to oblige the developer of a smart contract to use the least resource intensive operation possible. The gas fees are distributed to miners of the Ethereum network as compensation for maintaining security.
In a commercial sense, in addition to the gas fees that are collected by the network, the operator of the smart contract should also set its own fees. For this experimentation, this remittance fee was set to zero and only the cost of using the Ethereum resource network has been studied.
160 transactions were performed on the Ropsten network. A transaction was comprised of the 3 stages of a remittance of service: the expeditor sending money through the system, confirmation of the transaction by the service provider and the beneficiary, and transferring the money to the service provider or to the expeditor in the case of a failed transaction.
Table 4 shows the average cost for each step of the transaction was between 3.08 Ether to 0.3 Ether. The total average cost of a remittance transaction is $1.29, irrespective of the amount remitted. This is largely below the $15 that is usually paid for a remittance of $200 sent from Canada to the DRC using Western Union. If we consider that this amount is only the cost of using the system and does not take into account any fee for the (RS) operator, adding a small overhead charge for the (RS) operator would still make the system commercially competitive compared to an MTO.
Table 4: Cost of using the application
Average cost in USD
Choosing a service provider
Total cost of the transaction
Results show that amount remitted has no influence on the cost of the transfer, the gas cost charged by the Ethereum network. It seems that there is a slight dependence between the time a transaction is completed and the gas cost, however. This could be linked to the load of the system at certain time of the day.
The time to complete a command in the Ethereum network, whether sending money or confirming a transaction, ranged from 5s to 1 minute during the testing. It has been observed that this time is a function of the network load and is not related to the amount or type of the command.
It was also noted that when using Ethereum, the cost of the transaction is spread among the participants. In the current MTO model, the expeditor bears all the costs of the transaction. In the proposed remittance of service model using Ethereum, each participant has to pay a fee.
This is mandatory due to the manner in which Ethereum works. With Ethereum there are no free transactions; every command executed in the Ethereum network costs a transaction fee. This could be addressed in a future iteration of the system model with a functionality computing the expected gas cost to be paid by each participant and incorporating it in the expeditor fees. In this manner, the system will reimburse automatically gas fees to the other participants.