# Architecture components

* **Threat Oracle:** This component acts as the central intelligence hub of the system. It is responsible for gathering data from blockchain contracts, initiating the analysis process, and interpreting the results from the machine learning model. The threat oracle serves as the intermediary between raw contract data and actionable insights.
*

```
<figure><img src="/files/43vFoUenUC3AKhNetbwT" alt=""><figcaption><p>Figure 2 - Neurablock architecture</p></figcaption></figure>
```

* **Machine Learning Model:** At the core of the system is a machine learning model designed to analyze contract opcodes. This model is trained on a dataset of known benign and malicious opcodes, learning to identify patterns and indicators of potentially malicious behavior in new contracts.
* **Contract Analysis Module:** This module is responsible for extracting opcodes from smart contracts and preparing them for analysis. It acts as the preprocessing step where data is cleaned, normalized, and converted into a format suitable for the machine learning model.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://neurablock.gitbook.io/whitepaper/system-architecture/architecture-components.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
