*Warning: trustedoracle API is no longer available.
If you were wondering what a Smart Contract is and why everyone’s a buzz about them, they are autonomous software that make a financial decision. They are both amazing and terrifying. In simple terms, “smart contracts” are contracts as code. They are IF-THEN statements that can self-verify their conditions have been met using data and self-execute by releasing payment or data while remaining tamper resistant.
Blockchain technology has allowed them to come into existence because they offer the permanence and tamper resistances that was once only provided by paper, ink, and trusted authority to enforce. Blockchains, like Factom, can do this because they operate on node networks beyond the control of the contract’s participants.
They are a revolution in how we conduct business because smart contracts assure that a contract will be executed as it was written once preset conditions occur. This is a big deal because when machines start executing contracts, it becomes difficult or impossible to undue. It also brings up an important nature of these instruments that can’t be overlooked and Tiana’s first law of smart contracts: “she who controls the data, controls the contract.”
That said, one needs a way to answer the questions that smart contracts pose in order to execute. In the industry, we have been calling this an “Oracle,” a trusted source of knowledge. A trusted source should have at least three core characteristics.
Factom gives you the ability to publish immutable data AND establish yourself as an authority that publishes immutable data. Over time, the validity of that data can be judged and your reputation as an Oracle can be cemented. Factom also by its nature is accountable because one can conduct full audits on all published data.
This brings us to a very exciting announcement. SmartContract.com and Factom have collaborated to give both Bitcoin and Ethereum smart contract developers easy access to Factom data. Just follow the step by step guide below to create your own smart oracle for factom data in less than ten minutes. SmartContract.com’s CEO Sergey Nazarov said: “We are excited to work with Factom on providing the Ethereum and Bitcoin developer communities access to Factom’s rapidly growing and increasingly auditable blockchain-based data.”
As noted before, fully deployed Factom also offers added tamper resistance because the Factom blockchain is run on a federated network of computers that is beyond the influence of the contract’s participants. We have built-in protocols that resist censorship so none of the contract’s members can affect the data that is published into the network. This functionality will allow smart contracts to perform in near real-time and take immediate action based on their predefined conditions. In the past, paper and ink contracts would need to be enforced by a third party and could take weeks or months to execute fully.
Another benefit of using Factom data feeds for your smart contract via an oracle will be the inherent auditability of data from the Factom blockchain, making it difficult to obfuscate the terms of the contract later. The benefit is if you ever need to look back on the terms for why a contract executed it will be very clear because the Factom blockchain will have permanently recorded the contractual parameters, and that performance has occurred. This will be a perfect digital audit trail that does not require you to call up your lawyer or dig through your paper files to prove it.
You also might have been wondering why Factom has been so busy Factomizing data. This week we will have exceeded over 3 million entries into the Factom Blockchain. This is an exciting milestone in Factom history and includes data streams for the Russell 3000, land registries, and notarization services. This does a few important things. It gives the world data that can’t be backdated and changed and also demonstrates that one can create digital data that can’t be unwritten. You can check out our Usage Stats here.
How to Create a Smart Oracle on SmartContract.com
Step #1: Choose your Factom Data Feed using the Factom Data API Docs and put together an API URL like the one below, this is where your Factom data will come from.
API URL: https://www.trustedoracle.com/API?DataType=BELLAVERAGE&DataItem=SILVER
Step #2: Choose your Smart Oracle Type on SmartContract.com. Ethereum and Bitcoin smart oracles are both supported; provide Factom data to your Ethereum smart contract and/or trigger a bitcoin transaction based on pre-defined changes in Factom data.
Step #3: Once you choose your desired Factom API, just place it into the SmartContract.com oracle creation wizard and select the specific value you want monitored from the API. That value will be made available to your Ethereum smart contract and/or be monitored as a trigger for specific Bitcoin transaction.
Step #4: Once you are done defining your oracle, it will be published and is even pre-paid to run for a set period; providing your smart contract with the data it needs. An example Smart Oracle providing the silver price from Factom can be found here. Below is what it will look like.
We are looking forward to bring you more useful and interesting tools on Factom, stay tuned.
Thanks for being an awesome and supportive community,
The Factom Team