Oracle protocol for Venom with a free market tokenomics and a friendly constructor of feeds and tasks
CHIP3 Oracle Service is a customizable decentralized Oracle protocol that provides an ability to receive external world data in Venom blockchain contracts. This BUIDL describes both architecture and implementation of such Oracle and additional services - Feed Explorer, Task Constructor Studio, Oracle Validator Node.
The main problem in Oracle services adoption is a complex/centralized process of creating new custom data feeds. Most Oracles support only standartized data feeds and even more flexible ones rely on a process of centralized approve. Also, it's crucial for a new data feed creator to be a good programmer, as custom tasks should be written manually.
Thus, we decided to make an Oracle that provides a user-friendly UX, easy constuctor for Feeds/Tasks and doesn't require offchain entity to approve new Validators, Consumers (see more on (our Docs) page.
Oracle protocol constists of following entities:
The overall architecture is:
Consumer sends its request to Task, specifying his Payer in the request. Task checks Payer for allowance for Consumer. If allowance is ok, Task transfers tokens from Payer's deposit. Task emits request Event. If Validator is subscribed to this Task, it'll catch the event and start executing Task's actions. After actions are completed, Validator sends answer to Task's Election thorugh commit/reveal secure scheme. If consensus is reached, answer will be provided to Consumer. Validators are rewarded then.
Consumer sends its request to Task, specifying his Payer in the request. Task checks Payer for allowance for Consumer. If allowance is ok, Task transfers tokens from Payer's deposit. Task immediately response with last successful answer. Task has deviation limits for time/value. If Validator is subscribed to this Task, it'll catch the deviations and start executing Task's actions. After actions are completed, Validator sends answer to Task's Election thorugh commit/reveal secure scheme. If consensus is reached, last successful answer will be updated. Validators are rewarded then.
One of our main features is a Task Studio, where you can create sequence of different Actions ( in fact, it's Directed Acyclic Graph ) and wrap them into Task. It's an easy constructor, but if you stuck, check our Docs for more info.
All T-Sol Contracts are deployed to VenomDevNet. Check README for some addresses.
Validator Node is implemented in Java language, using newest tech of latest JDK 19 - Virtual Threads. Fast, scalable and more flexible than Go ones, they probide a way to reach better future scalability, while preserving Java stability. Node also uses our own Java4Ever framework, our own Java<>EVER-SDK binding and also libs of Helidon microservice framework.