# Core Layer

The **Core Layer** includes functionalities required for active participation in the Griffin P2P Network. It features a **Distributed Database** that maintains internal synchronization over the Griffin Network using a consensus-less zero-trust mechanism. This mechanism leverages cryptographic signatures derived from primary records stored on the primary blockchain.&#x20;

&#x20;

The **Synchronizer** module is responsible for polling other nodes over the Griffin network, downloading newly appeared records, verifying them, and integrating them into the main storage. It also manages the periodic cleanup of outdated or irrelevant records from the database.&#x20;

&#x20;

The **Validator** module handles record validation, untangling chains of signer records, consulting the underlying blockchain, and ensuring compliance with business rules.&#x20;

&#x20;

The **Node Cluster Manager** supports high availability by managing multiple instances of nodes that serve a single purpose. This manager identifies such nodes and builds relationships between them to synchronize processes across nodes of the same vendor and purpose.&#x20;

&#x20;

The **Blockchain Abstraction Module** defines common operations abstracted from specific blockchain implementations, facilitating the execution of blockchain-agnostic strategies.&#x20;

&#x20;

The **Local Node Cache** and the **Request Filter** act as enhancements to network efficiency and security. The cache supports intelligent caching to manage throughput and latency, while the Request Filter functions similarly to a firewall in the P2P environment, managing traffic from potentially misbehaving or overactive nodes.&#x20;

&#x20;

Lastly, the **Node Availability Manager** is dedicated to self-monitoring, performance, and status reporting, and it implements business processes for entering maintenance mode gracefully.&#x20;


---

# 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://griffin-ai.gitbook.io/knowledge-base/decentralized-ai-network/griffin-nodes/core-layer.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.
