Target
Oracle Machines
Qubics access external data through an oracle machine, which serves as a lens between a qubic and the world outside. The protocol allows for reading and transmission of data to occur while maintaining a high degree of certainty about the consistency of the data in question. Moreover, while this technically means that the oracles themselves (e.g., the external actors such as users, or machines that provide sensor data) fall outside the scope of the protocol, Qubic can nevertheless also provide a high degree of certainty about the correctness of the data in question via the quorum.
Qubic uses oracles (and consequently, oracle machines) in this way to provide the input data relevant for quorum-based computational tasks. Some examples of such input data are:
Temperature data from real-world sensors
Current or historical stock value data from the stock market
Personal attributes, like current age, marital status, deceased status
Election results
Outsourced computations
For any computational device, there will always be tasks too resource intensive for the device to compute, or tasks that require data beyond what is locally available. This is especially true for the devices that comprise the Internet of Things (IoT). These devices are typically limited by lack of memory, processing power, energy availability, or all of the above. What if such low power devices could simply outsource intensive computations to an external, more capable machine?
Qubic enables exactly such outsourced computations, and allows secure, permissionless participation for consumers and producers alike. The protocol allows anyone to create or request to run a computational task on one or more external devices, which in turn transmit the results back to the requester. Similarly, anyone can find tasks and participate in processing them.
As with oracle machines, this processing takes place in a decentralized and secure way, with the Qubic protocol ensuring that the results can be trusted to a high degree of certainty.
Smart Contracts
Generally speaking, smart contracts eliminate the need for third party enforcement by encapsulating contractual obligations in software, to be autonomously verified and enforced. Anyone with access to the contract can verify that a specific event will always result in a specific outcome. While it is expected that smart contracts may be used in the future to replace many kinds of real-world paper contracts, to date the most common use case for smart contracts is to create virtual tokens which inherit many of the properties of the distributed system in which they are created.
While Qubic is of course capable of supporting these kinds of traditional smart contracts, the combination of fee-free transactions together with general-purpose quorum-based computation opens the door to entirely new possibilities. For example, a smart contract could be used to aggregate temperature data from different oracles into an average temperature, which gets published to the Tangle periodically. The smart contract has now become an oracle in and of itself - that is, the contract itself has become a source of external data, available for an oracle machine to pick up and send back to some other qubic.
These types of smart contracts are also just iterations on the more general capacity for quorum-based computations. Qubic therefore also provides a standardized way to define, validate, and enforce the results of a smart contract to a high degree of certainty.
Last updated
Was this helpful?