Repository for the documentation for Factom
Python
Switch branches/tags
Nothing to show
Clone or download
Latest commit 0f244a8 Aug 11, 2018
Permalink
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
FactoidAPI.md add link to updated docs Mar 6, 2017
FactomAPI.pdf Updates to API documentation Jan 9, 2016
FactomAPI_Chinese.md Update FactomAPI_Chinese.md 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
Factom_Whitepaper_Errata.md 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
Identity.md Fix typo and consistency Aug 11, 2018
LICENSE Initial commit Jun 11, 2014
README.md Grammar correction Dec 14, 2016
SpecialChains.md More syntax Apr 21, 2015
communityTesterDirections.md added legacy wallet directions Jan 14, 2017
developerSandboxSetup.md formatting Mar 17, 2017
factomDataStructureDetails.md added coinbase descriptor cancel Apr 24, 2018
factomFullInstall.md updated server install directions Jul 3, 2015
installFromSourceDirections.md update to golang 1.10.3 Jun 18, 2018
legacyWallets.md added legacy wallet directions Jan 14, 2017
whitepaper.md PDF is now the latest version Nov 17, 2014

README.md

Factom

Overview

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.