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.
<strong>Factom</strong> System Overview<br />
<strong>Factom</strong> is constructed from a set of layered data structures<br />
<strong>Factom</strong> is constructed of a hierarchical set of blocks, with the highest being Directory Blocks.<br />
They constitute a micro-chain, consisting primarily of compact references. To keep the size<br />
small, each reference in the Directory Block is just a hash of the Entry Block plus its ChainID.<br />
These Entry Blocks have references which point to all the Entries with a particular ChainID<br />
which arrived during a time period. The Entry Block for a Chain ID is also part of a micro-chain.<br />
The bulk of the data in <strong>Factom</strong> is at the leaves, the Entries themselves. These hierarchical data<br />
structures are rendered unchangeable by Bitcoin’s hashpower. They can be conceptualized as<br />
different layers.<br />
The layers and concepts in the <strong>Factom</strong> system are:<br />
1) Directory Layer -- Organizes the Merkle Roots of Entry Blocks<br />
2) Entry Block Layer -- Organizes references to Entries<br />
3) Entries -- Contains an Application's raw data or a hash of its private data<br />
4) Chains -- Grouping of Entries specific to an Application<br />
Directory Layer: How the Directory Layer Organizes Merkle Roots<br />
The Directory layer is the first level of hierarchy in the <strong>Factom</strong> system. It defines which Entry<br />
ChainIDs have been updated during the time period covered by a Directory Block. (ChainIDs<br />
identify the user’s Chain of Entries; the generation of the ChainID is discussed later.) It mainly<br />
consists of a list pairing a ChainID and the Merkle root of the Entry Block containing data for that<br />
ChainID.<br />
10