full screen background image
Sunday 22 October 2017
  • :
  • :

The Facts on Factom

The most revolutionary technologies are frequently the most difficult to understand. This is especially true of decentralized technologies, which require radical new ways of thinking. Finding innovative ways to use existing cryptocurrency-based technology is hard enough, but wrapping your brain around new technologies can be quite frustrating.


Factom is one such technology, allowing decentralized applications to utilize the Bitcoin blockchain without affecting it in any negative way. Although the manner in which it does this is fairly straightforward, it involves an array of new terms and concepts that might be daunting, at first. These I have compiled with simple explanations for you:


Blockchain bloat – the swelling in size of the Bitcoin blockchain to unmanageable levels for downloading and storage, which can be caused by too many users sending transactions and the inclusion of non-currency data like smart property and contracts


Factom – a peer-to-peer network of users and federated servers that handles decentralized applications (including DACs and DAOs), and the protocol that hashes their data for verification on the Bitcoin blockchain


Federated server – one of many independently owned and controlled servers that work together to form a single virtual server system, on which the Factom network runs


Hashing – a mathematical process that converts large amounts of data to a fixed size in a way that is easily verifiable but difficult to do in reverse, also used by the Bitcoin protocol for proof-of-work


Merkle root – computed by taking a list of data entries and hashing them together two at a time (like a bracket tournament) until we arrive at a final hash, which forms what’s called a “Merkle tree”


Entries – Raw data uploaded to the Factom network by users and/or their applications with a Chain ID, which are handled by the decentralized application on Factom using that Chain ID


Factom Chain – the set of all entries over time corresponding to one decentralized application with a single Chain ID, that can be used to verify data only for that application without wasting extra resources. Not to be confused with a blockchain.


Entry Blocks – where all data on the Factom network is entered after being hashed–each Block corresponding to its own decentralized application–to be arranged into Merkle trees producing condensed hash values


Factom Blocks – where the Merkle roots from Entry Blocks are entered to form another Merkle tree with a final Merkle root, which is computed every one minute and inserted into the next Bitcoin block roughly ten at a time


Factom Layer – the set of all Factom blocks from the network’s inception until the latest block, with which one can verify any Entry Block. The Entry Block-equivalent (for verifying application data directly) is called the “Entry Block Layer,” and entries form the “Entry Layer”


Factom Token – the cryptocurrency native to Factom. They are spent to make data Entries to Factom and tracked on the Factom Token chain, which records all Factom Token transactions


Proof of existence – a concept introduced by and central to Factom. The time at which data is entered to the network is noted by Factom, and the final hash of the data along with the time is inserted into the Bitcoin blockchain, proving the data existed at that time


Once you understand all of these terms, it’s easy to describe Factom in a quick, detailed and accurate way. Factom is designed to enable decentralized applications on the Bitcoin blockchain without causing blockchain bloat. Running on a system of federated servers, it hashes entry data into Entry Blocks, computes the Merkle roots for the Factom blocks, then hashes those into Bitcoin transactions.

This allows us to create Factom Chains verifiable by the Bitcoin blockchain that can record the history of any decentralized application. Soon we will be able to create our own using Factom Tokens, which can prove the existence of any data at a point in time. In this way, we can prove who owns what smart property and validate pretty much anything, using the blockchain with minimal negative impact.