sipa changed the topic of #bitcoin-wizards to: This channel is for discussing theoretical ideas with regard to cryptocurrencies, not about short-term Bitcoin development | http://bitcoin.ninja/ | This channel is logged. | For logs and more information, visit http://bitcoin.ninja
nevada-smith has quit []
michaelfolkson has quit [Remote host closed the connection]
Jackielove4u has quit [Quit: Connection closed for inactivity]
tummy has joined #bitcoin-wizards
AaronvanW has joined #bitcoin-wizards
Aaronvan_ has quit [Ping timeout: 248 seconds]
e4xit has quit [Ping timeout: 252 seconds]
DeanWeen has joined #bitcoin-wizards
Belkaar has quit [Ping timeout: 258 seconds]
fkinglag has quit [Read error: Connection reset by peer]
Belkaar has joined #bitcoin-wizards
Belkaar has joined #bitcoin-wizards
Belkaar has quit [Changing host]
pinheadmz has quit [Quit: pinheadmz]
fkinglag has joined #bitcoin-wizards
wildermind has quit [Quit: Connection closed for inactivity]
AaronvanW has quit []
<jeremyrubin>
waxwing: no the *witness stack*_can be_ empty for the scriptpubkey to execute.
<jeremyrubin>
You can, of course, have other conditions that require stack elts
<jeremyrubin>
And you need to have the Taproot Control script, scriptpubkey, and ~annex as a part of the witness
tummy has quit []
drexl has joined #bitcoin-wizards
drexl has quit [Client Quit]
aaronmcadam has joined #bitcoin-wizards
Newyorkadam has joined #bitcoin-wizards
Newyorkadam has quit [Client Quit]
ccdle12 has joined #bitcoin-wizards
ccdle12 has quit [Remote host closed the connection]
pinheadmz has joined #bitcoin-wizards
ccdle12 has joined #bitcoin-wizards
ccdle12 has quit [Remote host closed the connection]
pinheadmz has quit [Quit: pinheadmz]
RubenSomsen has quit [Ping timeout: 252 seconds]
rodarmor has quit [Ping timeout: 252 seconds]
ThisAsYou has quit [Ping timeout: 264 seconds]
s0ph1a has quit [Ping timeout: 252 seconds]
moneyball has quit [Ping timeout: 252 seconds]
jamesob has quit [Ping timeout: 252 seconds]
jl2012 has quit [Ping timeout: 264 seconds]
s0ph1a has joined #bitcoin-wizards
jamesob has joined #bitcoin-wizards
rodarmor has joined #bitcoin-wizards
RubenSomsen has joined #bitcoin-wizards
moneyball has joined #bitcoin-wizards
ThisAsYou has joined #bitcoin-wizards
jb55 has quit [Quit: WeeChat 2.4]
jl2012 has joined #bitcoin-wizards
justanotheruser has quit [Ping timeout: 268 seconds]
aaronmcadam has quit []
justanotheruser has joined #bitcoin-wizards
pinheadmz has joined #bitcoin-wizards
pinheadmz has quit [Quit: pinheadmz]
ccdle12 has joined #bitcoin-wizards
spinza has quit [Quit: Coyote finally caught up with me...]
spinza has joined #bitcoin-wizards
enemabandit has joined #bitcoin-wizards
vcorem has joined #bitcoin-wizards
antanst863387431 has quit [Quit: Ping timeout (120 seconds)]
mappum has quit [Quit: Connection closed for inactivity]
shesek has quit [Ping timeout: 258 seconds]
setpill has joined #bitcoin-wizards
elichai2 has joined #bitcoin-wizards
Zenton has joined #bitcoin-wizards
alferz has joined #bitcoin-wizards
alferz has joined #bitcoin-wizards
alferz has quit [Changing host]
shesek has joined #bitcoin-wizards
shesek has joined #bitcoin-wizards
shesek has quit [Changing host]
alferz has quit [Ping timeout: 258 seconds]
alferz has joined #bitcoin-wizards
kayront- has joined #bitcoin-wizards
alferz has quit [Ping timeout: 258 seconds]
whitez00 has joined #bitcoin-wizards
ZeroZiat has joined #bitcoin-wizards
spinza has quit [Quit: Coyote finally caught up with me...]
_whitelogger has joined #bitcoin-wizards
ccdle12 has quit [Remote host closed the connection]
bruno__ has joined #bitcoin-wizards
spinza has joined #bitcoin-wizards
Jackielove4u has joined #bitcoin-wizards
Blackwolfsa has joined #bitcoin-wizards
elichai2 has quit [Quit: Connection closed for inactivity]
spinza has quit [Quit: Coyote finally caught up with me...]
siom has joined #bitcoin-wizards
ccdle12 has joined #bitcoin-wizards
rafalcpp_ has quit [Read error: Connection reset by peer]
rafalcpp_ has joined #bitcoin-wizards
rafalcpp_ has quit [Read error: Connection reset by peer]
rafalcpp_ has joined #bitcoin-wizards
DeanWeen has quit [Ping timeout: 256 seconds]
queip has quit [Ping timeout: 246 seconds]
rafalcpp_ has quit [Read error: Connection reset by peer]
spinza has joined #bitcoin-wizards
rafalcpp_ has joined #bitcoin-wizards
rafalcpp_ has quit [Read error: Connection reset by peer]
AaronvanW has joined #bitcoin-wizards
rafalcpp_ has joined #bitcoin-wizards
rafalcpp_ has quit [Read error: Connection reset by peer]
rafalcpp_ has joined #bitcoin-wizards
rafalcpp_ has quit [Read error: Connection reset by peer]
rafalcpp_ has joined #bitcoin-wizards
queip has joined #bitcoin-wizards
queip has quit [Read error: Connection reset by peer]
rafalcpp_ has quit [Read error: Connection reset by peer]
rafalcpp_ has joined #bitcoin-wizards
rafalcpp_ has quit [Read error: Connection reset by peer]
Aaronvan_ has joined #bitcoin-wizards
AaronvanW has quit [Ping timeout: 244 seconds]
Aaronvan_ is now known as AaronvanW
queip has joined #bitcoin-wizards
Guyver2 has joined #bitcoin-wizards
AaronvanW has quit [Ping timeout: 248 seconds]
AaronvanW has joined #bitcoin-wizards
Aaronvan_ has joined #bitcoin-wizards
AaronvanW has quit [Ping timeout: 244 seconds]
davterra has quit [Remote host closed the connection]
davterra has joined #bitcoin-wizards
ccdle12 has quit [Remote host closed the connection]
ccdle12 has joined #bitcoin-wizards
michaelsdunn1 has joined #bitcoin-wizards
michaelsdunn1 has quit [Changing host]
michaelsdunn1 has joined #bitcoin-wizards
pinheadmz has joined #bitcoin-wizards
ccdle12 has quit [Ping timeout: 258 seconds]
Snowstormer has quit []
ccdle12 has joined #bitcoin-wizards
ccdle12 has quit [Remote host closed the connection]
ccdle12 has joined #bitcoin-wizards
arubi_ has quit [Remote host closed the connection]
arubi has joined #bitcoin-wizards
ccdle12 has quit [Remote host closed the connection]
ccdle12 has joined #bitcoin-wizards
setpill has quit [Quit: o/]
michaelfolkson has joined #bitcoin-wizards
vexed[vexed] has joined #bitcoin-wizards
Aaronvan_ is now known as AaronvanW
ccdle12 has quit [Ping timeout: 268 seconds]
ccdle12 has joined #bitcoin-wizards
dburk has joined #bitcoin-wizards
ccdle12 has quit [Ping timeout: 245 seconds]
ccdle12 has joined #bitcoin-wizards
IGHOR has quit [Read error: Connection reset by peer]
IGHOR has joined #bitcoin-wizards
rh0nj has quit [Remote host closed the connection]
rh0nj has joined #bitcoin-wizards
ccdle12 has quit [Ping timeout: 248 seconds]
shesek has quit [Ping timeout: 248 seconds]
ccdle12 has joined #bitcoin-wizards
michaelfolkson has quit [Ping timeout: 272 seconds]
enemabandit has quit [Ping timeout: 245 seconds]
ccdle12 has quit [Ping timeout: 272 seconds]
ccdle12 has joined #bitcoin-wizards
jb55 has joined #bitcoin-wizards
michaelfolkson has joined #bitcoin-wizards
wildermind has joined #bitcoin-wizards
dburk has quit [Quit: Page closed]
ccdle12 has quit [Ping timeout: 258 seconds]
ccdle12 has joined #bitcoin-wizards
ccdle12 has quit [Ping timeout: 268 seconds]
e4xit has joined #bitcoin-wizards
ccdle12 has joined #bitcoin-wizards
Zenton has quit [Ping timeout: 272 seconds]
vexed[vexed] has quit []
benj has joined #bitcoin-wizards
benj is now known as Guest97846
vtnerd has quit [Ping timeout: 245 seconds]
ccdle12 has quit [Ping timeout: 248 seconds]
ccdle12 has joined #bitcoin-wizards
vtnerd has joined #bitcoin-wizards
michaelfolkson has quit [Quit: Sleep mode]
ccdle12 has quit [Ping timeout: 258 seconds]
ccdle12 has joined #bitcoin-wizards
michaelfolkson has joined #bitcoin-wizards
michaelfolkson has quit [Quit: Sleep mode]
ccdle12 has quit [Ping timeout: 268 seconds]
<jeremyrubin>
gmaxwell: hey I have an optimization for COSHV you might like
<jeremyrubin>
Instead of pushing the 32 bytes
<jeremyrubin>
We just parse the script for an OP_COSHV *before* executing it
sipa has joined #bitcoin-wizards
<jeremyrubin>
then we template replace it with the Hash of the outputs
<jeremyrubin>
then we look it up in the tapscript tree
<jeremyrubin>
This saves us 33 bytes per COSHV
<jeremyrubin>
in fact this is a great general trick
Chris_Stewart_5 has joined #bitcoin-wizards
<aj>
if i'm reading right, that's no longer a soft-fork on tapscript; doesn't work if you want to have IF ELSE ENDIF alternatives for the outputs either, i think. could work for MAST alternatives though?
<jeremyrubin>
I think I have a best of all worlds example of how to do it
<jeremyrubin>
But it is no longer a soft fork, which makes the case for inclusion as a bundle with taproot (or generally thinking about how we can metaprogram taproot scripts compatibly)
<jeremyrubin>
My idea is that we put it in the lookup hash if it is the first opcode
<jeremyrubin>
That way if you want to have if/else branches you can (not sure why you wouldn't tapscript compile them to be unconditional)
wildermind has quit [Quit: Connection closed for inactivity]
<gmaxwell>
aj: you can see what he's asking for is kind of like the script&&key construct in g'root.
<jeremyrubin>
But it's IMO definitely worth doing this if not too gross -- in the unoptimized case where you're doing, say, 1024 payments, you end up saving 33KB of block space
<jeremyrubin>
is g'root a different thing than graftroot?
<gmaxwell>
Yes.
<jeremyrubin>
lol at the naming
ccdle12 has joined #bitcoin-wizards
<jeremyrubin>
I'm not sure I follow the equivalence
<gmaxwell>
it's a parallel and requirement and the hash is constructed from data that is otherwise available.
<jeremyrubin>
Ah I see.
<jeremyrubin>
What do you think about doing this as a non-softfork to taproot?
<gmaxwell>
I think it should probably be done for the next version that supports grafts. I don't think delaying taproot further makes sense when we already know that there are additional incompatible things that we want to do.
michaelsdunn1 has quit [Remote host closed the connection]
MarcoFalke has quit [Ping timeout: 245 seconds]
michaelsdunn1 has joined #bitcoin-wizards
michaelsdunn1 has quit [Changing host]
michaelsdunn1 has joined #bitcoin-wizards
ccdle12 has quit [Ping timeout: 258 seconds]
ccdle12 has joined #bitcoin-wizards
ccdle12 has quit [Ping timeout: 258 seconds]
ccdle12 has joined #bitcoin-wizards
Zenton has joined #bitcoin-wizards
michaelsdunn1 has quit [Remote host closed the connection]
michaelsdunn1 has joined #bitcoin-wizards
michaelsdunn1 has joined #bitcoin-wizards
ccdle12 has quit [Read error: Connection timed out]
ccdle12 has joined #bitcoin-wizards
Krellan has quit [Quit: Leaving...]
<jeremyrubin>
gmaxwell: how about this change, we make the tapscript evaluate *before* we look it up in the merkle tree. We then add an opcode which adds the OutputsHash to the TapLeaf Hash Digest
<sipa>
jeremyrubin: can you use an annex?
<gmaxwell>
sipa: there is no signature.
<sipa>
ah.
<gmaxwell>
it needs to be commited to by the scriptpubkey.
<sipa>
oh i see
<gmaxwell>
which inherently makes it a change to how the hash is constructed.
<sipa>
yeah that's pretty invasive
<jeremyrubin>
sipa: just to be clear, this is only for the optimization not the general BIP
<jeremyrubin>
it saves 33 bytes/output
<jeremyrubin>
(in case you didn't catch the scrollback
Chris_Stewart_5 has quit [Ping timeout: 246 seconds]
<aj>
it's not upgradable, you can't introduce new opcodes with this behaviour later in a script-only soft-fork, because old nodes wouldn't be able to calculate S to verify Q=P+H(P,S)G
<gmaxwell>
it's a good optimization, but not a kind that any forward compatiblity (except the 'replace the hash function') could really handle.
<jeremyrubin>
I think the evaluate the script first version and append to hash is more invasive but worse abstractioin than the templated version
Chris_Stewart_5 has joined #bitcoin-wizards
<jeremyrubin>
*better abstraction
<jeremyrubin>
The templated version is messy because you have to execute the script twice in effect
<jeremyrubin>
But the 'allow scripts to commit to a hash tag' version seems like a nice semantic. The downside is that script evaluation is probably more expensive than hash tree verification
<sipa>
yes
<jeremyrubin>
sipa: what about just adding a leaf version that adds the output hash?
<jeremyrubin>
That's probably the minimally invasive change that gets the benefit now
<jeremyrubin>
afk till later!
Chris_Stewart_5 has quit [Ping timeout: 245 seconds]