04.06.2017 Views

Whitepaper - Factom With Cover

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

The <strong>Factom</strong> Peer-to-Peer Network<br />

<strong>Factom</strong> will have a peer-to-peer (P2P) network which accomplishes two goals: communication<br />

and data preservation.<br />

<strong>Factom</strong> Peer-to-Peer Communications<br />

<strong>Factom</strong> will have a P2P network very similar to Bitcoin’s. It will consist of full nodes which have<br />

all the <strong>Factom</strong> data. The full nodes create a mesh network which will flood fill valid data<br />

throughout the network. The Federated servers would be full nodes, but not all full nodes are<br />

Federated or Audit servers. This is very much like Bitcoin, where miners are full nodes, but not<br />

all full nodes are miners. This will limit the ability to DDOS the Federated servers individually.<br />

They can connect anywhere inside the network to acquire the data needed to build the data<br />

structures. As the servers are coming to consensus and disseminate their signed data, they<br />

would publish the data over the P2P network. The P2P flood filling also limits the ability of<br />

Federated servers to censor based on IP addresses, since valid traffic is mixed together by the<br />

nodes they connect to. It also helps to prevent censorship, since the Audit servers can see the<br />

Entries which should be included in the Entry Blocks. The Audit servers have an incentive to<br />

bring bad behavior to light, so they can be voted up to a Federated server.<br />

Data Preservation and Dissemination<br />

<strong>Factom</strong> data structures (Directory Blocks, Entry Blocks, Entries) are needed for <strong>Factom</strong> to be<br />

useful. They are public and will be preserved in two places. The Federated and Audit servers<br />

need to maintain this data to make correct decisions about adding new Entries. Since they have<br />

this data, they can provide it as a service, as part of being a full node. There will also be partial<br />

nodes, which share only part of the <strong>Factom</strong> dataset. The partial nodes could share only the data<br />

which is relevant to their specific application. Peer discovery for the partial nodes is handled by<br />

a Distributed Hash Table (DHT).<br />

16

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!