## 6 Observations  
It was observed that the random forest classifier presented the best accuracy at 30 features from all the models tested on the dataset. It provided us with 98.5% accuracy, and the XGBoost classifier provided 98.33% accuracy as it can be noticed in Figure 4. These two models are the most accurate machine-learning implementations and can be used further on for real-time applications in Ethereum networks as well. Figures 5 and 6 represent the confusion matrix for random forest and XGBoost. Therefore, considerations are drawn on false positives, false negatives, true positives and true negatives.  
The major concern in the output is the notion of false negatives. False negatives refer to the values which were phishing attempts but were classified as safe attempts. This can be dangerous as malicious attackers can use this kind of feature manipulation to their advantage and still be able to successfully carry out a phishing attempt. The case of false negatives (Figures 5 and 6) is slightly higher in the random forest classifier than in the XGBoost classifier; however, the XGBoost classifier has higher cases of false positives, which is still a neglectable outcome.  
With these observations, we can successfully answer the research question: How accurately can machine learning predict phishing attempts in the blockchain environment, and which model is most suitable for this purpose?  
Although the following observation does answer the question of which machine-learning model will accurately predict phishing attempts, it does not mean it should be applied on a real-time basis. A performance analysis of both of the shortlisted models is shown below:  
\[T_{RFC}=T_{building-trees}+T_{training-trees} \tag{5}\]  
\[T_{RFC}=O(E\times M\times N\times\log(N))+O(M\times N\times\log(N)) \tag{6}\]  
Figure 5: Confusion matrix for random forest classifier.  
Figure 6: Confusion matrix for XGBoost classifier.  
In Equation (5), time complexity of a random forest classifier is divided into two main subprocesses: building trees and training trees. The building trees process takes \(O(E\times M\times N\times\log(N))\) time complexity where \(E\) is the number of estimators, \(M\) is the number of features, and \(N\) is the number of datapoints, while the time complexity for training trees is \(O(M\times N\times\log(N))\). Hence, the time complexity of random forest classification was considered as \(O((E+1)(M\times N\times\log(N))\).  
The performance analysis of the XGBoost algorithm is as follows:  
\[T_{XGB}=T_{training-trees} \tag{7}\]  
The XGBoost algorithm usually trains trees over iterations. By considering it only to edit a single tree over all its iterations and using the log loss method of loss calculation, the time complexity accounts for \(O(E\times M\times N)\), where \(E\) is the number of estimators, \(N\) is the number of datapoints, and \(M\) is number of features extracted.  
From observations, it can be said that the XGBoost algorithm holds better implementation prospects and quicker results than the random forest classifier. The difference in accuracy between the two is only 0.17%, with XGBoost outperforming the random forest classifier on the number of false negatives. Due to its lower time complexity, the XGBoost algorithm is preferred to implement the system of phishing detection.