> For the complete documentation index, see [llms.txt](https://docs.arcology.network/arcology-architecture-overview/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.arcology.network/arcology-architecture-overview/p2p.md).

# P2P

To make the network fully decentralized, nodes need to talk to each other frequently to keep the network moving. There will be a lot of communication going on in the process, which consumes a lot of bandwidth, which a a major factor affecting overall network throughput.

## 1. Bandwidth

The overall bandwidth requirement is pretty much determined by the number of nodes and the data volume. With a slow network connection, even if a node can process enough transactions, the overall network TPS won’t be high enough because of the communication overhead. The network communication is another major factor that determines network throughput.

## 2. Scaling

Arcology allowing binding multiple P2P services together to work around the bandwidth limit. This feature is especially useful in a cloud environment. On platform like AWS, there is an upper limit on how much bandwidth each machine can have. For example, an Arcology node cluster can dynamically start 4 instances of the P2P services and have them deployed on 4 machines. If one machine has 5G of bandwidth, by combining 4 machines together, there is a total bandwidth of 5G x 4 = 20G.

![multi p2p](/files/PoE7rXPpcc0LfxMUmhbq)

## 3. Dynamic Adjustment

The P2P service can dynamically adjust itself connections according to the bandwidth requirement and network status.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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.arcology.network/arcology-architecture-overview/p2p.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.
