Note: The Smart Contracts from Qubic are out of date. You can find information about the new IOTA Smart Contracts here.
What are Smart Contracts?
Smart contracts are programmed self-executing contracts where the contractual obligations between buyer and seller are encapsulated in the software. Basically, SCs were created to eliminate the need for a third party, such as a central authority, to enforce a contract. SCs enable the execution of trusted transactions that are traceable, transparent and non-reversible. It is widely expected by “experts” that these smart contracts will be used in the future to replace many types of real paper contracts. With these new technological capabilities, many types of business processes can be executed much more efficiently and costs can be reduced in many industries.
To be clear, the IF is prioritizing a solution using much more generalized Quorum-based Computing (Qubic) in conjunction with IOTA Streams, Flash Channels, etc. However, this does not mean that there will not be a simple “yes / no smart contract” as a second layer solution in the future, as there will also be simple application areas where a rigid yes / no contract could be replaced.
Besides the Qubic solution that I will discuss in the next section, due to permissionless access to the network infrastructure, everyone is free to create their own application that is able to perform the task of a “smart contract” in a similar way. The application would just not be internally like an ERC20 token and the internal rules could be self-interpreted. Since only network-based consensus on transactions is possible in the Tangle, the consequence is that a separate decision (consensus) must be made within the application. Each company could create an application for itself that is tailored exactly to its own needs, which consensus rules or sources of truth are used internally is up to each company.
Now to the IOTA solution: While Qubic could natively support the traditional smart contract (as with Ethereum), the combination of Qubic in conjunction with IOTA Streams, Flash Channels, and feeless microtransactions opens up entirely new possibilities. For many applications, IOTA does not require pre-established rigid “Smart Contracts”, for example, payment at an e-charging station would run using IOTA Streams. For this, a private IOTA Stream channel is opened between the vehicle and the e-charging pillar to establish a data stream. Payment is made per data point in microtransactions and payment stops as soon as nothing more is received. In this case there is no need for a Smart Contract. In addition, in the targeted machine economy, many problems will be solved with autonomous sensor queries.
The quorum method (majority voting) is another way to make autonomous decisions using real world data for decision making. For example, Oracles can be used to accumulate the stock price of a company, from different stock exchanges around the world (different Oracles), to an average price and store it periodically in the Tangle. This data can then be accessed by any interested user for further processing and paid for if necessary. A major advantage over Smart Contracts is that a quorum only needs to be executed on a small number of computers in the system. This fact is specifically adapted to the distributed computing needs of the IoT. For example, while Ethereum requires all computers in the system to come to a consensus, Qubic requires only the computers or sensors involved.
Note: Oracle – Each operator may get paid for their honest data (sensors, etc.) with IOTA tokens. It depends on whether someone is willing to pay for the service offered. Completely new business areas will be created in the future.
Two examples of the use of the quorum method
Smart Home: A user wants to set the room temperature to a constant value and creates custom qubics (packaged processing task) to do so. These qubics exchange with an Oracle machine that continuously receives data from the sensors on the room temperature, determines an average value and reacts accordingly with an adjustment if necessary.
Portfolio Management: An Oracle machine collects price data from various oracles (exchanges). External calculations provide a forecast of the future price development from this data. After receiving the forecast, the user creates individual qubics, which should buy or sell at a certain price value. Once this process is set in motion, the user would not have to worry about anything else, because the three functions fully automatically interlock and execute the trade automatically.
Last Updated on 16. February 2021