## 8 Results  
Implementing an authentication mechanism using blockchain wallets requires specialized knowledge of how blockchain works, web programming languages, cryptography, networking, and security. Technologies and frameworks used in the implementation are purely at the team's discretion. However, using the latest versions of packages and libraries is recommended to avoid any security breaches.  
The proposed system was successfully implemented using Java and JavaScript, leveraging the power of Spring and Angular frameworks. The library used to interact with the wallet was Web3.js, as it benefits from the support of a large community and frequent security updates.  
In terms of security, the proposed system has an increased vulnerability to the phishing attack model, which can only be prevented by exercising increased caution when logging in to unknown applications.  
Having the proposed system implemented successfully, our study next aims to compare the times required for users to perform successful end-to-end login flows using software wallets under the form of a chrome extension and mobile application. Comparing these results with the results obtained from authentication with a similar one-factor authentication method using SMS codes can outline whether the proposed solution is faster (on top of other previously mentioned advantages).  
To compare the proposed login mechanism with other relevant systems, a series of login operations was carried out (Figure 6). A relevant login model used as a comparison in our study is the SMS login. Rather than the conventional 2 FA, SMS login only requires the user to confirm the login by entering the code received via SMS, without the need of entering any credentials. User reaction times and network request times have been measured in order to observe whether the proposed mechanism has a faster end-to-end login time compared to similar solutions.  
Running a number of 50 consecutive login operations using 3 distinct methods (wallet login, mobile wallet login, and SMS login), it has been observed that the average login time for a wallet login operation is 2.698 s (Figure 6a). The average network request is 375 ms, and it may vary based on network or server load. Similar to the wallet login method, the request times for a mobile wallet login operation have an average of 355 ms. Using a mobile wallet login, which depends on an external server for communication, has taken an average of 7294 ms (Figure 6b). This represents a 270% increase compared to the standard wallet login and the user reaction times have the most impact on the time (the user needs to scan a QR code and approve two distinct operations on the mobile phone).  
Using a publicly available platform that has implemented a login mechanism using SMS codes, a similar number of tests have been run, and the average time spent in the operation is 13.799 s (Figure 6c). The network load for this experiment is significantly higher (3.782 s) due to the architecture choice of the observed platform. User interaction times are higher due to operations that need to be carried out (insert phone number, wait for SMS, insert SMS code, and wait for validation). An increase of 51%, respectively 189% compared to the standard wallet login time and mobile wallet login time was observed.  
The expected time for performing an end-to-end login may vary depending on the network load, user reaction times, and implemented architecture. Nevertheless, the wallet login setup proposed appears to be faster compared to the other observed solutions.