> 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.
