Connect your smart contract to high quality data, and widely used payment methods.
Oracles simplify your connection to a smart contract from the off-chain world, providing the data needed by the smart contract to prove performance and make fiat payments.
Smart contract networks like Ethereum and Bitcoin have an inherent input output limitation due to security constraints that limit their ability to access anything outside their network. Because critical data about contractual performance (e.g., price, location, weather, etc.) and the forms of payment preferred by recipients are currently outside smart contract networks, there needs to be a secure point of connection between smart contracts and these external resources.
"Oracles" are known in computer science for their ability to provide information from outside a system which that system itself cannot acquire. When applied to smart contract networks, oracles act as programmable agents that provide a smart contract with the data it requires (inbound oracles) and act on its behalf by releasing payment or informing your internal systems what a smart contract has concluded (outbound oracles).
Inbound oracles provide smart contracts with data from external data feeds so they can make a determination about events outside the smart contract network in which they are required to run e.g., Ethereum, Bitcoin, etc.
Outbound oracles allow smart contracts to send commands to your internal systems and traditional payment methods that release payment to a recipient in their preferred local currency.
Private smart contract data storage happens as a natural consequence of using oracles to interact with external resources. If a data feed provides a large result with hundreds of values to create context and fully prove contractual performance, then the oracle provably records and retains all of this highly detailed data, but can be preset to pass in only the most critical value that proves performance into the smart contract e.g., price.
By retaining the larger data set that proves contractual performance with context (e.g., timestamp, signatures, ticker name, data provider name, etc.)and passing only the most critical limited data into the smart contract (e.g., a single number for price, true/false, etc.), we reduce the amount of data fed into the smart contract. Since the smart contract receives only the critical data it needs to make a determination, it is able to retain a high level of privacy; there is no way to tell what the smart contract code relates to outside of the network, so that even if someone does view the smart contract, they cannot acquire any valuable information from it. By presetting the oracle to pass in only the most critical information, we have nearly eliminated all information about the smart contracts context/purpose, providing it with a high degree of privacy while running in a large network.
Smart Contract: a computable contract
that has been made tamper-proof by being
run on a decentralized computing network.
Contracts as code that are tamper resistant, able to self-verify their own conditions and self-execute by releasing payment to the appropriate party.
Smart contracts run on node networks beyond the control of a contract's participants, assuring that the contract will be executed as it was written once performance occurs.
Self-verifying in its evaluation and provable recording that contractual performance has occured. Recording performance in realtime as it is reflected in various pre-defined data feeds (e.g., price, location, events, etc.)
Self-executing in its performance of the contract by releasing payment to the appropriate party once key conditions have been met. For example; IF weather event and price change have provably occured by time X, send $100 from Alice's account to Bob.
Smart contracts are uniquely tamper resistant because they are run and/or stored on a network of computers that is beyond the influence of the contract's participants. Since none of the contract's participants can influence the smart contract beyond actual performance of their obligations, all of the participants can trust that this type of contract will be executed as it was written.
The network of computers running and/or storing a smart contract can be as large as the Bitcoin network pictured above, or as small as three nodes run by a contract's participants. Tamper resistance is achieved when only one of the contract participants cannot stop the smart contract from self-verifying and/or self-executing. The value provided by large networks like Bitcoin and Ethereum is that it is considered nearly impossible that a single contract participant could influence a network of 6000+ nodes exclusively in their favor.
Smart contracts provide new levels of efficiency for contract monitoring and execution, creating gains in profit for high maintenance contracts.
Smart contracts track performance in realtime and can take immediate action based on their predefined conditions; replacing costly human error and fraud prone processes.
The efficiencies created by smart contracts in industries where accurate monitoring and execution of high-value contracts is critical will be the first to benefit from this technology. Insurance, derivatives, and trade finance are among the early adopters who will see large gains in profit due to the extremely low cost of servicing a fully automated smart contract.
Instead of having multiple people in separate departments check a website or call a data source for proof of performance (e.g., price, weather, location, etc), the contract itself is now able to automatically check that same proof of performance.
Smart contracts can also be referenced by multiple private systems at the various companies that are contract participants, making the smart contract a single point of truth that is tamper resistant and can be relied upon to trigger payment, accounting and compliance events for internal systems.