Please describe your proposed solution.
Disclaimer
- We have an existing solution (see below to view it in action on mainnet)
- This proposal is NOT funding to build an oracle solution
- This proposal is NOT to take a concept to MVP
- This proposal is to enhance our current solution by adding triggering events that enable projects to demand real-time data from our networks, of which we have a functioning version using price deviations
Existing Product: Decentralized Oracle Solution w/ nodes posting values on-chain and aggregation happening on-chain (the only one built, natively, this way on Cardano)
Charli3 is a decentralized oracle solution with active price feeds, a network of nodes, and an architecture native to Cardano that has been active since October 2022. We will simply be using our existing product, the C3 Ecosystem and current third generation architecture, to add automated data triggering events as an enhancement.
Example of our current solution active since Oct 2022 (1000s of successful data deliveries on-chain with 100% uptime): <https://cexplorer.io/address/addr1wyd8cezjr0gcf8nfxuc9trd4hs7ec520jmkwkqzywx6l5jg0al0ya/tx#data>
===============================
PROPOSED SOLUTION
==============================
Use our pre-existing architecture to have end-user (consumer) triggered data cycles (definition below). Implement a pull-based oracle mechanism whereby protocols can call data from Charli3 in real-time and pay transaction fees per update.
Example: A user on Liqwid (not partnered for this proposal) wants to do an action that requires the price of ADA/USD. Their action triggers a communication with Charli3 for that data, a cycle occurs on the C3 Network in milleseconds and the data is updated on-chain after 20 seconds. Although a sub-second finality is desirable, with our current architecture the best we can achieve is 20 seconds.
A Data Cycle describes an end-to-end process of our node network calling data sources, processing the data, passing it onto our aggregation contract, and finally being placed on-chain in a consumable format by Cardano protocols. Example, if the price of ADA/USD fluctuates by more than 1% our mainnet flagship data feed will trigger an updated price on-chain.
Using our pre-existing mechanism, our goal is to enable end-users (protocols such as Liqwid, Indigo, etc) to build a call request into their protocol to call a data value from Charli3 and receive it within 20 seconds. This is a significant increase from the regular updates of aggregated API sources as well as both Charli3 and Orcfax's current regular data feed update interval.
Our team believes this is entirely feasible to achieve a sub-second finality, but requires significant research, ideation, and testing to implement. At this time, we do not have the resources to complete this work. This proposal is to accelerate towards this enhancement.
Push to Pull based oracle solution.
As Chainlink introduced similar functionality in 2023, we want to deliver the same value to the Cardano community. Although there may be some limitations with block times (posting data on-chain is restricted to when blocks are updated on Cardano), we are confident of getting a successful MVP functioning using our existing architecture. Our other proposal to build a side-chain solution may be able to leverage this enhancement and circumvent the block timing issue. This project allows Cardano to maintain the industry standards set forth on other chains.
In addition to user input triggered cycles, we will explore other variables for triggering cycles to allow greater customization by protocols.