ghost43 has quit [Remote host closed the connection]
ghost43 has joined #bitcoin-core-dev
ghost43 has quit [Remote host closed the connection]
ghost43 has joined #bitcoin-core-dev
bomb-on has joined #bitcoin-core-dev
bitcoin-git has joined #bitcoin-core-dev
<bitcoin-git>
[bitcoin] ucallmerk opened pull request #24429: Remove the phrase "Experimental" from section what is bitcoin? (master...patch-1) https://github.com/bitcoin/bitcoin/pull/24429
bitcoin-git has left #bitcoin-core-dev [#bitcoin-core-dev]
bitcoin-git has joined #bitcoin-core-dev
<bitcoin-git>
[bitcoin] fanquake closed pull request #24429: Remove the phrase "Experimental" from section what is bitcoin? (master...patch-1) https://github.com/bitcoin/bitcoin/pull/24429
bitcoin-git has left #bitcoin-core-dev [#bitcoin-core-dev]
Guest78 has quit [Quit: Client closed]
ghost43 has quit [Remote host closed the connection]
brunoerg has quit [Remote host closed the connection]
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Remote host closed the connection]
Talkless has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
Kaizen_K_ has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has quit [Ping timeout: 272 seconds]
bitcoin1o1 has quit [Ping timeout: 240 seconds]
brunoerg has quit [Remote host closed the connection]
ghost43 has quit [Remote host closed the connection]
ghost43_ has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
bitcoin-git has joined #bitcoin-core-dev
<bitcoin-git>
[bitcoin] MarcoFalke opened pull request #24433: doc: Explain that feedback needs to be addressed (master...2202-doc-contrib-🐆) https://github.com/bitcoin/bitcoin/pull/24433
bitcoin-git has left #bitcoin-core-dev [#bitcoin-core-dev]
brunoerg has quit [Remote host closed the connection]
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Remote host closed the connection]
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 268 seconds]
jespada has quit [Read error: Connection reset by peer]
brunoerg has joined #bitcoin-core-dev
SpellChecker has quit [Remote host closed the connection]
SpellChecker has joined #bitcoin-core-dev
ghost43_ has quit [Remote host closed the connection]
ghost43 has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 260 seconds]
rex4539 has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
jarthur has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 260 seconds]
rex4539 has quit [Remote host closed the connection]
rex4539 has joined #bitcoin-core-dev
ghost43 has quit [Remote host closed the connection]
ghost43 has joined #bitcoin-core-dev
Talkless has quit [Quit: Konversation terminated!]
jarthur_ has joined #bitcoin-core-dev
AaronvanW has quit [Remote host closed the connection]
jarthur has quit [Ping timeout: 240 seconds]
oldcryptogeek has quit [Ping timeout: 272 seconds]
brunoerg has joined #bitcoin-core-dev
oldcryptogeek has joined #bitcoin-core-dev
ghost43 has quit [Remote host closed the connection]
ghost43 has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 256 seconds]
AaronvanW has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
ghost43 has quit [Remote host closed the connection]
ghost43 has joined #bitcoin-core-dev
Kaizen_K_ has quit [Remote host closed the connection]
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
Kaizen_K_ has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has quit [Ping timeout: 250 seconds]
oldcryptogeek has quit [Quit: Leaving.]
<roasbeef>
sipa: what do you think about this PR: https://github.com/bitcoin/bips/pull/1284 ? it's that change re checksigverify I mentioned a few days ago w/ some slight modifications
<roasbeef>
jonas has left some feedback, but he asserts that
<roasbeef>
> But the spec alone is pretty clear that CHECKSIGVERIFY does not modify the stack after consuming signature and public key.
Kaizen_K_ has quit [Ping timeout: 250 seconds]
<roasbeef>
from my pov that isn't correct from the perspective of the code, as for the verify op code an items is still popped from the stack -- one can view it as a "noop" as he mentions, but if you don't actually do it you'll lave an item on the stack that can cause validation failures elsewhere
<roasbeef>
my last comment links to some bitcoind fragments in which my current mental model is based off of (in addition to btcd and the spec ofc)
<sipa>
I think the confusion is that the BIP is written from the perspective of fully specifying the behavior of the new code, while you're interpreting it as a diff w.r.t. existing behavior for that opcode?
<sipa>
Not just existing behavior; existing implementation.
AaronvanW has quit [Ping timeout: 272 seconds]
<roasbeef>
yep it assumes if you've gotten to that point (taproot) then your impls is basically "correct"
Gioelio has joined #bitcoin-core-dev
<sipa>
Right, but the (existing) implementation (which uses a push and then pop again) isn't observable behavior, and the BIP is only trying to describe behavior.
<roasbeef>
so seems either it needs to specify the verify op code fully (checksig stuff then do the pop) or states something like "does what checksigverify normally does"
<sipa>
Not disagreeing with that it's confusing, but it is ambiguous either way you look at it.
<roasbeef>
imo it's observable (depending on your definition) as the function tests generate a test vector where if you _don't_ do that, you reject a valid script
<roasbeef>
yeh ageed, just trying to help out the next person that attempts an impl
<sipa>
That's not what I mean. The fact that OP_CHECKSIGVERIFY works by pushing the validation result on the stack, and then popping it again, is not distinguishable from the (intended to be) specified behavior of never pushing the result at all.
<roasbeef>
ah ok I see what you're saying
<sipa>
The BIP right now lists the popping of the arguments for all three opcodes, and then lists what is pushed back for each, for failure and success
<roasbeef>
tho in practice, something _is_ always pushed, so a sort of divergence from an "ideal" spec and what existing impls actually do in the wild
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
<sipa>
I believe that what it states is correct - it just doesn't match the implementation details of how the Bitcoin Core chooses to achieve that. And you're interpreting it as a diff w.r.t. that implementation.
kexkey has quit [Ping timeout: 256 seconds]
<sipa>
So perhaps it's better to add a footnote listing the difference with the reference implementation?
<roasbeef>
sure that's reasonable, jonas suggested something similar -- I guess in practice the current implementation behavior is sort of derived from wanting to keep most of the existing structure/logic in place (checksigverify falling into the same case as checksig)
kexkey has joined #bitcoin-core-dev
Gioelio has quit [Quit: Client closed]
___nick___ has quit [Ping timeout: 256 seconds]
ghost43 has quit [Remote host closed the connection]
ghost43_ has joined #bitcoin-core-dev
ghost43_ has quit [Remote host closed the connection]
ghost43 has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 256 seconds]
brunoerg has joined #bitcoin-core-dev
Guest76 has joined #bitcoin-core-dev
kouloumos has quit [Quit: Connection closed for inactivity]
<luke-jr>
TIL 0.17-0.21 release binaries were constrained by GPL-3 :/