Oracula - The Oracle for Everything

Project Name: Oracula - The Oracle for Everything

Project Track: Web3

Team Name: Team Oracula

Team Member(s): 3, @laplacesdemon (adding others soon when they join the forum)

DevPost URL: Oracula - The Oracle for Everything | Devpost

Project Website: http://www.oracula.xyz/

Project Goal:

Deliver a oracle that can answer any binary question you can think of, with the help of game theory. Oracles like ChainLink and WinkLink are great at providing financial data, such as the price of BTC at a given time. However, they are not good at providing answers to questions such as “Did England win the Fifa World Cup 2022?”. We wanted to create something that can any answer any binary question (which in theory means every question, not just binary).

This is why we created Oracula, an optimistic oracle. With a functioning optimistic oracle, tons of applications can be built on top of it such as prediction markets, insurance products and lending markets.

Project Info:

The Oracula oracle allows anyone to ask any binary question, and to get it answered on-chain in a reliable way. This is achieved by utilizing the game theoretic concept “Schelling points”, together with the power of a distributed token.

Project Video: Oracula - The Oracle for Everything - YouTube

Project Github GitHub - laplacesdemon420/oracula

Project Test Instructions:

Get vote tokens:

  1. Go to oracula.xyz/faucet

Asking a question:

  1. Go to oracula.xyz/questions and ask a question.

Proposing an answer:

  1. Go to the website and take an existing question, see if it’s at it’s resolution date.

  2. Propose an answer to the question.

Disputing an answer:

  1. Go to the website, see if there exists a proposal to a question with the wrong answer.

  2. Initiate a dispute to the proposal.

To vote:

  1. Go the website and see if there are any active disputes.

  2. If the vote is in the commit-phase, commit your answer.

  3. Wait until the reveal-phase starts, and then reveal your answer.

Project Details:

Oracula is what’s called an optimistic oracle. The optimistic part comes from the fact that when an answer is proposed to the blockchain, it is ASSUMED to be true UNLESS it’s disputed.

Every question start with these 2 steps

  1. Question is asked (anyone can ask anything)

  2. Answer is proposed (anyone can propose but you need to post a bond of 10 tokens)

Now if the answer is correct, then you do nothing and wait until it finalizes (24 hours). BUT, if you believe that the answer is wrong, you open a dispute. If you open a dispute, you also need to post a bond of 10 tokens. If you are right you’ll get them back, otherwise you’ll lose them.

If an answer is disputed, then the question goes to “the court” where token holders vote. When the token holders vote, Oracula uses a “commit-reveal scheme”. It means that you first commit your vote on chain, and later reveal it. When the vote is commited, no one else can see what you voted on. Later in the reveal-phase, you reveal your vote and then everyone can see it.

When the voting period is finished, the smart contract counts the votes and finalizes an answer. If the proposer was correct from the start, he will receive the 10 tokens from his bond back PLUS the 10 tokens from the disputer. If the disputer was proven to be correct, the opposite will happen.

You don’t need to understand the cryptography behind commit-reveal schemes to use Oracula but if you can read more about commit-reveal schemes here Exploring Commit-Reveal Schemes on Ethereum | by Kaden Zipfel | The Startup | Medium.

The image below shows the question flow in detail:

And this is an illustration of how a commit-reveal scheme works:

Project Milestones:

  • Develop contracts

  • Develop the UI

  • Make it possible for users to choose between public and private vote

Contract Address

BTTC Mainnet:

Oracle: Contract Address 0xc38cA98faF4DCb2C44a5bE5877baFF95BB888039 | BTTCScan

BTTC Donau Testnet:

Oracle: Contract Address 0xf519084F81a0c76d6cAf91558191742DbBB64e0A | BTTC

102 Likes

:thinking: interesting! watched the video and i almost understand

9 Likes

Really sweet how you can create election market with this, you can right? This might be super popular during the election 2024.

25 Likes

Niice! Really great project! I’ll definitely follow up on this one!
The faucet didn’t work on my side, maybe you can check this out.

11 Likes

Just ask if you’re wondering anything!

6 Likes

Yes you definitely can. Virtually every market can in theory be created by a combination of multiple binary markets

5 Likes

Thanks friend! That’s odd, I just tested the faucet again and it worked, did you test on BTTC mainnet or testnet? Here is a faucet for BTTC token on the testnet btw BTTC Faucet, and then on oracula you can hopefully get oracula tokens (if you have BTT tokens) which can be used for proposing and disputing

4 Likes

Sorry my bad it works, i was thinking it was a BTT token faucet, which i didn’t have.

3 Likes

Kudos on this project

2 Likes

Understandable sir, glad it works now

2 Likes

Very good stuff. One of my fav projects so far

3 Likes

Hey Oracula,

I’ve been wanting an oracle just like this for years now. Thanks for building. Will keep up with the updates. Good luck!

3 Likes

cool with commit reveal voting!!

3 Likes

This is as a matter of fact very enlightening. I have surged the internet for a more explanatory content about oracula and this just solves us. Great work

3 Likes

You have a made a relevant submission about how it can be put to use indeed. I hope he can move to try it out as you suggested

3 Likes

Very nice project
Anticipating

3 Likes

Oracula like Dracula!

2 Likes

interesting, took my time to read. worth it :blush:

3 Likes

It was very insightful reading this.

2 Likes

got through the vids. it’s understandable :clap::blush:

3 Likes