In the past, one of Ethereum’s biggest challenges was excessively high gas fees, with even simple ETH transfers often costing over $35. Today, Ethereum fees are significantly lower, thanks to upgrades like EIP-1559 and Dencun, which improved block elasticity and fee predictability. Additionally, much of the network activity has shifted to Layer 2 solutions, where transactions are dramatically cheaper (e.g., token transfers typically cost less than $0.20).
While Ethereum Mainnet fees are no longer as prohibitive, they still can't match the cost-efficiency of L2s. Nevertheless, Ethereum Mainnet remains the backbone of various DeFi applications.
In this article, we’ll explore Chronicle’s ScribeOptimistic
Oracles, designed to save gas costs on L1, where computation is inherently more expensive. While calldata is also more costly on L1, the calldata of Scribe-based oracles are heavily compressed due to their multisignature approach, making it more efficient.
What is Scribe Optimistic?
ScribeOptimistic
is a contract that builds upon Scribe, Chronicle’s novel Schnorr Oracle, providing additional optimistic poke functionality. Chronicle Protocol's Oracle system, called Scribe, is a first of its kind. It uses an efficient Schnorr multi-signature aggregation mechanism. The signature aggregation scheme allows data compression, enabling multiple validators to produce a single Schnorr signature. This mechanism addresses the scalability issue of oracles and helps save on gas fees by over 60% on L1 and over 68% on L2 vs Chronicle’s previous ECDSA iteration.
Chronicle’s ScribeOptimistic
is designed for Layer 1 blockchains where computation is expensive, such as Ethereum Mainnet. On these chains, signature aggregation, an integral process for oracle networks, uses a lot of gas, making onchain verification of Schnorr signatures costly. To address this issue, ScribeOptimistic
introduces an additional function called opPoke()
, which enables offchain verification of Schnorr signatures.
With ScribeOptimistic
all values optimistically proposed by the oracle network validators are put into a public “buffer” and get automatically accepted after a challenge period
.
During this challenge period, anyone can verify the signature offchain. If you find a signature to be invalid, you can call opChallenge()
to invalidate the incoming price and collect an ETH reward for your trouble! OpChallenge()
can be called anytime, but only successful challenges will be rewarded. Upon a successful challenge, the challenger will receive a reward in ETH, the optimistic answer gets dropped, and the validator responsible for the answer gets removed.
Keep in mind when using ScribeOptimistic
that an incoming price is not finalized until the challenge period has concluded. You can think of it as a delayed oracle. The lower the challenge period is, the less phase shifted the oracle is. At the moment, the challenge period is set to 20 min, but this value is customizable. You can check the current challenge period of a ScribeOptimistic
oracle using the query opChallengePeriod()
.
This automated fraud-proof system is the first of its kind for oracle networks and, as a result, is being introduced gradually, with the aim of reducing the challenge period to 5 minutes.
Optimistic Scribe and Lending
Understanding ScribeOptimistic
is particularly important when it comes to decentralized lending. Let’s explore a generic example:
Due to the pseudonymous nature of blockchain ecosystems, overcollateralized lending is the standard in DeFi. This is to say that you can not borrow more money than you ‘stake’. For instance, to borrow $1,000, a user might need to post $1,500 worth of ETH or some other approved asset as collateral to cover their loan.
In order to remain liquid, lending protocols require that each loan is always fully collateralized (normally with some buffer), but what happens when the value of your collateral drops? Using our previous example, if the price of ETH were to drop by a third, our loan would become undercollateralized, and our position would be open to liquidation. Although this functionality ensures the lending protocol remains solvent, it would certainly not be desirable from the borrower’s point of view.
Now let’s see how this would look from the perspective of Chronicle as the oracle provider for the price of a collateral asset. Let’s say we are Ethereum Mainnet, thus using a Scribe Optimistic oracle. In this case, if the underlying price of an asset changes more than some configurable amount (let’s say 1%) then this will trigger the protocol to create a price report using the latest values reported by a quorum of validators. But because we are looking at an Optimistic Oracle this price will not immediately be available as the newest valid price. Instead, there is a challenge period (normally 20min) in which this value can be disputed. Only after this period successfully concludes does the new price become finalized and available through the oracle.
From the user’s perspective, this is quite advantageous, as it means that they will know in advance if their position will be liable for liquidation after the challenge period. This gives the user time to post additional collateral in order to avoid liquidation. Think of it like a ‘margin call’ feature.
Now of course there is a tradeoff for this mechanism, the challenge period will naturally limit the possible cadence of oracle updates. This is not a problem for assets that are not particularly volatile but can result in situations where price behaviour is not intuitive. Still, for lending use cases that do utilize optimistic oracles you can always predict if a position will be open for liquidation at the next price update. In addition, oracles do have a failsafe mechanism in place for such situations where a dramatic price change occurs. During the challenge period, if the price changes by more than a certain percentage set (this threshold might vary for different oracles), then a non-optimistic value will be posted on the oracle immediately, which overwrites the latest optimistic updates, which is awaiting finalization before becoming available. Note this is only for Ethereum Mainnet; on L2s ScribeOptimistic
is not used, and oracle updates are finalized instantly.
Final Thoughts
In conclusion, Chronicle's ScribeOptimistic
oracle provides a cost-efficient and reliable solution for data delivery on Layer 1 blockchains. By incorporating a configurable challenge period, it allows users to minimize gas costs while effectively managing potential liquidation risks by adding additional collateral during the challenge period.
This approach is particularly suited for applications with less volatile price movements, offering predictable update timelines. For use cases that demand faster and more frequent price confirmations, non-optimistic oracles on Layer 2 networks may be a more suitable alternative.
Chronicle’s approach highlights the importance of tailoring oracle solutions to specific use cases, ensuring protocols can remain both cost-effective and robust, regardless of the blockchain environment.