Smart contracts in , in contrast to other types of programs, do not run perpetually. Instead, the code in the smart contract needs to be triggered by externally owned accounts (EOAs) or other contracts, that are themselves triggered by EOAs. This makes it impossible to schedule, within the network, the execution of functions for a particular time point in the future.
Solutions to this have been developed on top of which require a third party to commit to the execution of the tasks on behalf of the users. This article describes features that are desired in a scheduling system and several services for that end that are available in (main and test networks).
Available systems in the Ethereum Network.
Table 1 shows three systems currently operational in for the scheduling of transactions: Aion Scheduling System, Alarm Clock, and Oraclize.
Aion Scheduling System:
Website:
Availability: MainNet and Ropsten.
Aion allows arbitrary byte-code transactions in a trustless setup. The average gas cost for ether transactions is low, about 70.000 gas. Estimation of the unused gas in made on-chain and the gas unused is returned to the user. System’s fee is 0.00012 Ether per transaction (about 2 cents of a dollar). The execution of the tasks is controlled by the developers (ETHPantheon). Currently, a discussion for allowing anyone to become an executor in Aion is taking place in Aion’s Github page.
Ethereum Alarm Clock:
Website:
Availability: MainNet and Kovan.
EAC allows arbitrary byte-code transactions in a trustless setup. The average gas cost for ether transactions is very high, about 550.000 gas. Estimation of the unused gas is made on-chain and the gas unused is returned to the user. EAC uses bounties to incentivize executors (time nodes). uses EAC requiring a minimum fee of 0.02 Ether per transaction (about 3 dollars) which make this prohibitively expensive for recurrent calls. However, the . It is worth mentioning that the nodes may reject a scheduled transaction that has a low bounty. The system is decentralized, however, if a person wants to become an executor, in the Chronologic app, he/she should buy and hold “Time” from Chronologic.
Oraclize:
Website:
Availability: MainNet, Ropsten, and Rinkeby.
Oraclize provides oracle services and is not a scheduling system per se. The use as such is because the data feed of the oracle can be delayed, which allows it to be used as a transaction scheduler. It doesn’t allow arbitrary byte-code and the set-up is not trustless. In particular, Oraclize could change the fee value at any time and at any value. However, the system has been online for several years, and users trust it. Oraclize is one of the most used oracles in . Gas cost is low. Fees are variable with values from 1 to 5 cents of dollar depending on the task. The execution of the transactions is controlled by the developers (Oraclize -provable-)
Summary
There are several services to schedule transactions; some of them do not require the users to trust the system (Aion, EAC) others do (Oraclize). Oraclize is the most used service in the network. Aion has the most optimal gas consumption while being trustless. This is because the amount of stored data in the network is reduced to the strictly necessary, making a difference bigger than 7x in gas consumption compared to EAC (see Figure 1 and Figure 2). On the other hand, EAC is decentralized while Aion is starting the process to allow any interested party to become an executor. Aion will not require executors to buy to be able to participate in the system. It may be unfair to include Oraclize in this comparison as their service goes beyond scheduling of transactions, but as this is one of the most used services, including it was necessary to provide a picture of the state of the network in this matter.
Published at Sat, 27 Apr 2019 17:15:31 +0000