Questions about oracles #9612
Unanswered
SlugFiller
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
From what I understand, for an oracle to be used from a puzzle, it needs to be spent so it can either announce or assert its value. There's no other way to assert the existence of an unspent coin from within a puzzle.
Here's the issue. Suppose an oracle is extremely popular and useful, that it gets used in a large amount of puzzles. Now suppose two or more users are simultaneously trying to make a transaction that uses the oracle. Since the oracle's coin id needs to be part of the spend bundle, would trying to process both transactions in the same block count as a double-spend? Would transactions using the oracle be limited to one per block?
Also, even assuming there isn't a collision, if the oracle changes coinid every block, would someone making a transaction have to form and publish a spendbundle using the oracle in the time it takes to farm a single block? If the spendbundle is published but not farmed in the block, will the client need to rush to make an updated spendbundle for the next block?
Also, since altering the value of an oracle also requires spending it (obviously), would an overly popular oracle be at risk of being blocked from update if too many users are using it to read its value?
Beta Was this translation helpful? Give feedback.
All reactions