What is Factom?
Factom Inc. is a company that builds blockchain software. Factom technology secures data for private and public organizations by publishing encrypted data or a cryptographically unique fingerprint of the data to Factom’s immutable, distributed Blockchain. Want to build a blockchain solution? Connect now.
The Factom Blockchain is an open source project. It was build to secure data and systems. Often it is described as a publishing and auditing engine. It allows users to write data to its ledger for a small fee. Once information has entered into the Factom Blockchain it can’t be removed. Learn more by checking out our GitHub.
Why was Factom built?
The Bitcoin Blockchain has several core issues. Factom was built in order meet these needs. Entering data into the Bitcoin blockchain is prohibitively expensive at volume. In addition, the Bitcoin blockchain cannot handle high transactional volumes. The Factom blockchain is orders of magnitude less expensive and has orders of magnitude more capacity for transaction volume.
Factom also has built-in layers of redundant security that other blockchain do not offer. The Factom Blockchain anchors itself into the Bitcoin blockchain, among others, to take advantage of the security of Bitcoin’s hashrate. The layering effect of security, ensures the immutability of its blocks.
Another feature that the Factom blockchain offers, that helps those wishing to do large volumes of transaction, is it also has a theme tracking capability. What this enables is the ability to chain together data you care about and forget the rest of the data set. Unlike the Bitcoin Blockchain that requires you have all of the data to prove any of the data, Factom allows you to prove your data set without need all the data in Factom.
Why does Factom matter?
Factom provides a distributed mechanism to lock in data, making data verifiable and independently auditable. This simple function is extremely powerful when applied to business transactions and processes. Factom enables people and businesses to use a mathematically provable “notarization” service.
Factom’s use cases span from being used as a shared ledger for multiple parties as a source of truth (secured by multi-signature keys) to creating an immutable, indisputable trail for “proof of process” or “standard of care”
What is the origin of the Factom name?
Factom comes from the Latin Factum for “Anything stated and made certain.”
How does one use Factom?
Factom is a technology used by applications. Existing or new applications can publish relevant data directly to Factom blockchain using Factom API calls. Factom serves as a protocol for Applications to provide functions and features beyond currency transactions.
Factom constructs a standard, effective, and secure foundation for these Applications to run faster, cheaper, and without bloating Bitcoin. Commercial applications sit on top of the Factom protocol, which in turn use the Bitcoin Blockchain to secure its own data (anchoring).
As a designer of business applications, why should I consider using Factom?
Factom is a method of creating an immutable audit trail. It is also a mechanism to communicate changes in a system. If your application needs a central server to coordinate processes, you might be able to eliminate the central server in favor of using Factom.
How would banks use Factom?
Banks are just collections of databases. They trust themselves to be honest, but not their peers. Factom will be a disimpassioned 3rd party that allows banks to synchronize databases which doesn’t allow their peers to tweak history without evidence.
Who are likely to be the first users of Factom?
We are working with a number of parties to use Factom technology in their applications. We should see Factom in 2016 supporting applications for asset trading and management, security applications, coordinating systems of record, simple proof of publishing, and more.
Is Factom an Open Source project?
Who controls Factom?
Factom is a distributed, decentralized protocol running on top of Bitcoin. That means nobody controls it, but that it is software that people all over the world run to make the protocol work.
The Factom Foundation is releasing and maintaining the software. But the software is open source, and anyone is free to use it for any purpose.
Why does it need to be decentralized?
If there is a central party, they get to filter spam from valid usage. Disfavored parties can be treated as spam and censored. Factom bounces control around to 32 independent parties, which makes it difficult to censor specific users.
Who runs the Factom Servers?
Individuals wishing to run Factom Servers will set up a profile in Factom (to be specified), and recruit user support. The top servers ranked by user support will be the Federated Servers, followed by the Audit Servers (that stand by to step in were a Federated Server to lose support or is offline).
Where do I learn how to build on Factom?
How can I help make Factom Successful?
You can join the community to give us feedback, work on the infrastructure, build applications using Factom, get involved in the community, spread the world via social media… Really any number of ways. Talking to the Factom team is a good idea, as we are working to document and acknowledge everyone in the community that is part of the effort.
Is Factom Sidechains?
No, Sidechains is about moving Bitcoin value off the Bitcoin blockchain. Factom is about moving non-value transfer operations off the Bitcoin blockchain. Factom is made as irreversible as Bitcoin itself, because Factom records its state in the Bitcoin blockchain every 10 minutes.
Factom can use sidechains: http://www.reddit.com/r/Bitcoin/comments/317dhq/economic_analysis_of_factom/cq3o6hp
Is Factom primarily about proof of publication, proof of process, or proof of audit?
Factom is about all three. We prove the existence of each entry in a Chain. This is proof of publication. We group all the entries in a Chain which allows them to be enumerated, the order examined, and the validity of each to be determined. This is proof of process.
Lastly, a Chain is immutable, so it can be presented at any time. The documents behind the Chain can be provided by the client application’s organization, and independently validated against the chain. This is proof of audit.
Why no mining?
The consensus algorithm Factom uses is faster, cheaper to run, and is more appropriate for a publishing platform. Anchors in Bitcoin make it so that Factom cannot change its own history.
Factom and mining: https://bitcointalk.org/index.php?topic=850070.msg11168295#msg11168295
Can Factom store all of my business process data on the blockchain?
No. Factom puts very little data on the blockchain. Instead, Factom places data in its own structures, which are shared and secured over a distributed hash table (much like torrent files).
Can you store data in Factom?
Factom is not intended for Data storage. The prices are projected at ~$1048/GiB. Factom is for packaging data to be shared on a P2P network. The intent is to make a system that is simultaneously censorship and spam resistant. It is a method for disparate parties to agree on one version of history.
Will data I send to Factom be secured forever?
Nothing is forever. That said… Factom will hold the data as long as the protocol and Bitcon are running. Even if Factom went away, the data can be validated as long as the user kept a copy of their data, and has access to the Bitcoin blockchain.
How does Factom make syncing multiple systems of record easier?
In today’s world, a system of record holds the definitive answer to questions within its purview. Factom can allow such a system to post the hashes of information as (for example) an
individual’s case changes. That would allow another entity to request the update, validate it, and use it. The Factom Chain not only allows validation of records, but provides notification of changes to records.
What if Factom is being used to record a series of events, and an event is recorded incorrectly? How do I fix that?
Factom reflects the way the real world works. An incorrect record can be updated with a new entry in the same chain. Pretty much any mitigation technique for errors used today would work in Factom… That is, except for changing historical journals. Factom doesn’t support denial a denial that an error occurred or a denial that an error was fixed.
If you lose your document, can you get it back from a hash stored in Factom?
No. A hash isn’t reversible, so while having a document means you can get the hash, and the hash is for all practical purposes unique to a document, there is no way to get the document from the hash.
If someone is using a Factom Chain to track ownership of an asset like gold or silver, could a malicious Factom server steal my gold?
No. Transactions have to be signed to be valid. The server can’t sign for you because they don’t have your private key (unless you gave it to them, had it stolen, etc.). They only thing they can do is delay a transaction. But you immediately know that they are doing that if they do.
Once you get your confirmation, the order of transactions cannot be altered. Validate your chain, and if that checks out, you are good.
Could someone double spend an asset trade recorded on a Factom Chain?
No. Not if you have the Chain, and validate the transaction. Once a transaction is entered into a chain, the order is fixed, and will never change.
With Bitcoin, a transaction can be trusted with more levels of confirmation. Is that true with Factom as well?
Yes. When you reveal your transaction on a chain, you get a receipt. That is level one. After a few seconds, if none of the servers have issued a Server Fault Message (SFM), and you have three more messages from the server handling your Chain. That is level two. The Directory Block is issued. That is level three. The Anchor is submitted. That is level four. The Anchor makes it into a Bitcoin Block. That is level five. From here, you can wait for as many Bitcoin confirmations as you like.
Is there a security mechanism for the period of time between bitcoin blocks?
Factom uses consensus between the Factom Servers for the 10 minutes until an anchor is set, and then the Bitcoin blockchain forever after.
What if someone posts something obnoxious to a Chain I am using, like links to porn in my Chain?
If the chain does not validate according to the rules of your application, you can note the entry as invalid, and ignore it, and remove it from your system.
Is there a notion of a fork or blockheight for this period, for example if multiple servers send competing entries to bitcoin network?
Factom uses a deterministic selection to select the server to post the anchor to the Bitcoin network. No other server can validly post an entry without causing a Server Fault and being booted from the active Federated Server pool. If the server responsible for setting the anchor posts the wrong one, this too causes a Server Fault. In this case, the server will be removed, and a majority of the remaining servers will post a fault notice to the Bitcoin blockchain (so that it will be noted there), and the next server in line will post the correct anchor. This process repeats until a proper Anchor is set. As long as most of the Factom servers are honest, the correct anchor will be posted.
If there is a security/consensus mechanism, then what is the purpose of using the Bitcoin blockchain?
Factom’s consensus mechanism is designed to ensure in real time all actors are acting properly. But to be unique, we need a publishing mechanism that cannot be altered. This allows audits over time in a way that the Factom consensus algorithm does not allow.
Is Factom secure simply because of the fact the content of the reveal is unknown to the servers?
No. The commit/reveal commitment scheme provides an anti censorship mechanism that prevents servers from denying the recording of otherwise valid entries, for reasons based on content or chains. Validly paid entries are to be recorded. On the other hand, there is nothing that prevents a concerned group from creating their own chain that documents offensive entries (in their view) so that users that subscribe to that idea can avoid ever downloading those offensive entries. This can actually be done quite effectively (with many references within a single entry) so that the removal of spam and such is much cheaper and easier than it is to post it.
How is a server chosen to send the bitcoin transaction?
Through a deterministic ranking of the servers based on hashes closing the Directory Blocks. The Federated Servers, the Audit Servers and the users looking at the Directory Blocks can determine which server must post.
Can’t I just timestamp data in Bitcoin myself?
Yes, if you want to prove a positive, that a document existed at some point in time. Factom goes beyond positive proofs, and adds the list of documents and their order, sequenced in time, (a document can be any digital artifact). Factom provides businesses the ability to describe what has been added to the record, what has not been added to the record, timestamps to a minute, and gives assurance that the whole set of records has not been altered.
Are there alternatives for creating generic blockchains secured by Bitcoin?
Peter Todd has a partial design for a competing technology called Proofchains. It will have block chains which are constructed by a central parties yet secured by Bitcoin. It is a stripped down version of Factom without cryptocurrency isolation, censorship resistance, and decentralization.
Here is Peter Todd’s critique of Factom: http://sourceforge.net/p/bitcoin/mailman/message/33603951/
Pauls Snow’s response:
Does Factom use a cryptocurrency?
Yes. You can use Factoids (the Factom currency) to purchase Entry Credits with a simple transaction. The protocol does the conversion, so you effectively purchase the Entry Credits from the protocol. You assign those Entry Credits to a public key.
Can Factoids be traded externally like cryptocurrency?
Do Factoids have their own blockchain?
Factoids are implemented on their own Chain in Factom.
How are Factoids created?
Two ways. Factoids will be created as a part of the crowd sale. Secondly, Factoids will be created at a fixed rate and paid to the Factom Servers and Audit Servers for their work running the system, and to pay other incentives.
Are Entry Credits recycled or burned?
Entry Credits are burned.
Why does Factom need a token?
Decentralized systems need a reward mechanism to incentivize participants. Having a closed system requires cooperation, and builds the long term network value creation. The overarching goal is to move transactions off the Bitcoin blockchain. Requiring Bitcoin transactions defeats this goal. The token creates artificial scarcity to reduce spam.
Why token is needed: http://www.reddit.com/r/factom/comments/2lflw6/why_factom_needs_a_token/
Here is a long conversation with a skeptic:
Why do you have a two step payment process?
Factoids are converted to Entry Credits at a variable exchange rate set by the Federated servers. Entry Credits purchase fixed amounts of data in Factom.
Entry Credits are not transferable, and can be treated as a product instead of a currency. This is great for institutions who shun cryptocurrency. Cost to use the system is based on usage, independent of Factoid exchange rate. It is used in the voting system. People who use the system have a say in how it is run, not currency holders or people who burn electricity. The Value of Entry Credits as a hacking target is greatly diminished since Entry Credits are not transferable.
Is there a separate Proof of Work or other consensus mechanism for factoids, independent of Factom?
No. That said, the Factom chain and the Entry chain are managed by the Factom Servers (they are the application using these chains) so they validate them in real time. No invalid entries can be placed in these chains.
How will Factom pay for Bitcoin transactions?
The individuals running the Factom Servers pay those transaction fees. In turn, they are rewarded with Factoids.
How do factoids get sent back to the protocol? Is it a kind of burn?
No. The Entry Credits are burned. Entry Credits are nontransferable. They can only be used to buy entries. But when they DO buy entries, the Factoid in the protocol that was used to buy the Entry Credits is released. The amount of Factoids varies since the price of Entry Credits perFactoid varies. The Factoid paid out is calculated by dividing the total number of Factoid in the protocol by the number of outstanding Entry Credits. The number of Factoids in the protocol and the number of outstanding Entry Credits are all computable from the Entry Chain and the Factoid Chain.
How can this system be stable with infinite inflation?
Unlike Bitcoin, there is a source and a sink. The usage fees are burned, and are not captured by the Federated servers. The Federated servers collectively set the cost paid per entry. They can raise or lower it based on the Factoid/USD rate, so that each KiB costs a specific dollar amount. Their goal is to remove Factoids from the market, so the fixed payout of Factoids they earn per period increase in value. The quantity removed from the market is price times quantity. They must find a price which is high enough to burn as many Factoids, without lowering quantity too much. There will be a negative feedback loop. High Factoid prices mean few factoids are burned, and supply increases. Low Factoid prices mean that tons are swept from the market if usage stays constant. Given a constant usage, the Factoids will settle at a constant price. Settling price for Factoids will be directly proportional to usage.
I bought Factoids, now what?
Factoids become usable and tradable software tokens with the release of the beta Factom client. Factom network will begin rewarding the federated servers after milestone 3 is complete and all 32 federated servers have been elected. Each customer will have a Factom wallet and can use their Factoids to buy Entry Credits or send them to fellow Factom customers.
Where can Factoids be purchased?
Factoids are available at the following exchanges:
- Poloniex: https://www.poloniex.com/exchange#btc_fct
- BitTrex: https://bittrex.com/Market/Index?MarketName=BTC-FCT
- ShapeShift: https://shapeshift.io
- Changelly: https://changelly.com/
- BitMex: https://www.bitmex.com/app/trade/FCTXBT
- YuanBao: https://yuanbaohui.com/trade/fct2cny
- CoinCheck: https://coincheck.com/en/exchange
Many exchanges have expressed an interest in making Factoids tradable on their platform, so stay tuned for more partnership announcements.
How Will the End User Redeem Their Factoids?
There is a Factom command-line wallet and a GUI wallet. With these wallets, users are be able to create a Factoid transaction. They can redeem Factoids for the Entry Credit Public Keys. The 12 word Koinify master passphrase can be entered into this wallet to create the crypto signatures needed to reassign the Factoids to other addresses or to purchase Entry Credits. Easier to use wallets will be developed in due course. For instructions on how to install and use our wallets see https://factom.com/howto.
The 12 word Koinify Master Passphrase was shown at the time of purchase to each contributors who were prompted to keep it in a safe place. Without the Master Passphrase it is impossible to redeem Factoids and neither Factom or Koinify can recover it.