Repository for the documentation for Factom
Switch branches/tags
Nothing to show
Clone or download
Latest commit 0f244a8 Aug 11, 2018
Failed to load latest commit information.
DeveloperGuide Merge branch 'master' into m2 Dec 29, 2016
examples/tax added reciepts to ERS example Feb 12, 2015
images Added files via upload Mar 3, 2016
wallet_info updated url for script Oct 2, 2016
DistributedPseudonymousOracles.pdf Distributed Pseudonymous Oracles Sep 19, 2016 add link to updated docs Mar 6, 2017
FactomAPI.pdf Updates to API documentation Jan 9, 2016 Update Jan 12, 2016
FactomAPI_Chinese.pdf Updates to API documentation Jan 9, 2016
FactomLedgerbyConsensus.pdf add PDF of consensus paper Mar 31, 2015
FactomOracle.pdf Updated Data Yes / Chinese Stock expected Data Aug 8, 2016
Factom_FAQ.pdf Initial commit of Factom FAQ v1.0 Nov 17, 2014
Factom_Whitepaper.pdf fixed URLs per reddittor request Nov 25, 2014 created whitepaper errata Aug 17, 2015
Factom_Whitepaper_Japanese.pdf Added Factom Whitepaper in Japanese Apr 21, 2015
Factom_Whitepaper_v1.2.pdf Final version of the Factom Whitepaper, updated to reflect M3's deliv… May 24, 2018
Factom_Whitepaper_v1.2_FR.pdf Added French translation of White Paper Jul 12, 2018 Fix typo and consistency Aug 11, 2018
LICENSE Initial commit Jun 11, 2014 Grammar correction Dec 14, 2016 More syntax Apr 21, 2015 added legacy wallet directions Jan 14, 2017 formatting Mar 17, 2017 added coinbase descriptor cancel Apr 24, 2018 updated server install directions Jul 3, 2015 update to golang 1.10.3 Jun 18, 2018 added legacy wallet directions Jan 14, 2017 PDF is now the latest version Nov 17, 2014



Factom is an extension to the Bitcoin blockchain that solves the three core problems of all Bitcoin 2.0 applications: Speed, Cost, and Bloat.

The Bitcoin blockchain is a trustless, permanent system of record for Bitcoin transactions, secured by 10,000+ nodes across the world. Factom is a simple way to extend this technology to support Bitcoin 2.0, or applications that need such a system of record, but whose transactions do not primarily involve Bitcoin. These applications often encode their information into Bitcoin transactions, which may be slower, more expensive, and add many transactions to the Bitcoin blockchain that are not actually Bitcoin transactions (something many call "blockchain bloat").

Instead of writing every transaction directly to the blockchain, Factom allows Bitcoin 2.0 applications to write unlimited numbers of entries to many distinct Factom chains. These entries are organized into hierarchical sets of blocks. These blocks are then used to compute a single hash every 10 minutes, which is stored in the Bitcoin blockchain. This design allows applications to write transactions faster, at much a lower cost, and with nearly no blockchain bloat.

At the most basic level, Factom provides "Proof of Existence." Any digital artifact can be reduced to a hash, a relatively small 32 byte number, that proves an artifact's existence. Adding that hash to the Bitcoin blockchain proves the existence of that artifact at a known point in time. Factom extends this idea. Each Factom subsystem in the group provides a "Proof of Process." Proof of each step in a process can be entered into a "Factom chain" of provable events. One obvious sort of Factom chain is a log. A security camera can log a stream of signatures, proving video was taken at a point in time, and that the video has not be altered. A Coin is also a process, one proving that coins existed and were exchanged. The steps in processing a title for Real Estate is a process, and one where a clear timeline of process can be very helpful.

Factom Chains are constructed from entries crafted to support a wide range of applications. An entry can be used to prove data existed at a point in time. And other Factom Chains and demonstrate their reaction to such data. In other words, a Factom chain is a sequence of entries that define some progression of state, and the data that drove that progression. Each Factom chain has its own rules, and entries in these Chains are constrained by those rules.

The architecture for Factom allows for the easy construction of tokens or coins, securities, smart contracts, etc.