Post by twetch#19901

1486Qp…vVpL Key · twetch

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)

1AGioi…urWL Key · twetch

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...

What the chain says
Block
658 203
Time
2020-10-24T01:47:44Z
Signer
1AGioiKPhZnU3mFJj7iJaXFyqGXfbaurWL
App
twetch
Type
post
Content type
text/plain
Name in tx
twetch#19901

Fields the transaction did not carry are omitted. Open the payload to see the bytes as stored.

Signed by 1AGioiKPhZnU3mFJj7iJaXFyqGXfbaurWL Verified

Replies (3)

1AGioi…urWL Key · twetch
Replying to@1AGioi…urWL

I think you could do it at runtime with O(n^2) by examining reentry stack

1486Qp…vVpL Key · twetch
Replying to@1AGioi…urWL

Well most languages have a stack depth limit, and in any case it would be depth^2 not n^2. But yeah it gets pretty unwieldy pretty quick.

1486Qp…vVpL Key · twetch
Replying to@1AGioi…urWL

Yeah that's totally what I was thinking of but forgot when I had to explain myself mhmm