# Core Protocol Components

The æternity blockchain offers a robust suite of core components designed to power the next generation of decentralized applications. At the heart of the protocol lies the Next Generation Nakamoto [consensus ](https://app.gitbook.com/s/yxhRUAwn7tH8JUboTur7/protocol/consensus)mechanism, which achieves significantly higher throughput compared to traditional blockchains through its innovative use of key-blocks and micro-blocks. The ecosystem includes [Generalized Accounts](https://app.gitbook.com/s/yxhRUAwn7tH8JUboTur7/protocol/generalized_accounts) that provide flexible authentication options beyond standard signatures, Smart Contracts with [Sophia](https://docs.aeternity.com/aeternity-developer-tools/markdown) - a functional programming language built for security, and State Channels for off-chain transaction processing. Additionally, æternity features built-in Oracles for bringing real-world data onto the blockchain, creating a comprehensive infrastructure that combines scalability, security, and developer-friendly tools in one cohesive platform.\
\
Each of these components is explored in detail in the following sections, providing comprehensive documentation for both developers and users to understand and leverage the full potential of the æternity blockchain.


---

# 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://docs.aeternity.com/aeternity-developer-tools/protocol/core-protocol-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.
