Can you please clarify what is k and n in the example above?
Also, can you please define 'compute oracles'? Just want to make sure we are on the same page.
Can you please clarify what is k and n in the example above?
Also, can you please define 'compute oracles'? Just want to make sure we are on the same page.
k is something like 'number of distinct opcodes', but I'll accept k=2 as well. n is script length you are trying to evaluate. Compute oracles will be defined in a paper I'm currently writing, which btw covers your SuperAsset design as well
Fields the transaction did not carry are omitted. Open the payload to see the bytes as stored.
1486QpNpWYjokSfc3DxChCQG6gS2cTvVpL VerifiedK is bounded at most to whatever number of instructions there are (ie: a sufficient constant C)
So we can simplify in Big-O to just O(n).
All programs grow in O(n) where n is the program length.
In other words, all programs' code size by definition is length O(n).
If I take this bet, as defined, then I will win trivially.
Something's amiss.
I said k^n (simplified to 2^n), not k*n. The size of the in-script interpreter grows exponentially with the size of the longest script it can interpret. But I already think I jumped the gun here :x it'd be (2^k * n) for k ops which indeed is O(n)
Eval+reentry (eval arbitrary code read from PUSHTX) is what could cause exponential blowup. Maybe you could do the same static analysis we do for SCALL but I shudder to think how that would look in bitcoin script...
Oh, thanks I misread that. Okay we're good there.
What is a Oracle compute?