--- Log opened Fri Jan 14 00:00:29 2022 00:42 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has quit [Ping timeout: 276 seconds] 00:59 -!- AaronvanW [~AaronvanW@user/AaronvanW] has joined #bitcoin-wizards 01:33 -!- da39a3ee5e6b4b0d [~textual@2403:6200:8876:c04a:44a7:987:8de2:98bb] has quit [Quit: My MacBook has gone to sleep. ZZZzzz…] 01:46 -!- da39a3ee5e6b4b0d [~textual@2403:6200:8876:c04a:44a7:987:8de2:98bb] has joined #bitcoin-wizards 01:49 -!- da39a3ee5e6b4b0d [~textual@2403:6200:8876:c04a:44a7:987:8de2:98bb] has quit [Client Quit] 01:49 -!- meshcollider [meshcollid@user/meshcollider] has joined #bitcoin-wizards 02:03 -!- kexkey [~kexkey@static-198-54-132-139.cust.tzulo.com] has quit [Ping timeout: 256 seconds] 02:04 -!- da39a3ee5e6b4b0d [~textual@2403:6200:8876:c04a:44a7:987:8de2:98bb] has joined #bitcoin-wizards 02:05 -!- kexkey [~kexkey@static-198-54-132-123.cust.tzulo.com] has joined #bitcoin-wizards 02:46 -!- michagogo [uid14316@user/michagogo] has joined #bitcoin-wizards 02:55 -!- da39a3ee5e6b4b0d [~textual@2403:6200:8876:c04a:44a7:987:8de2:98bb] has quit [Quit: My MacBook has gone to sleep. ZZZzzz…] 03:14 -!- Aaronvan_ [~AaronvanW@user/AaronvanW] has joined #bitcoin-wizards 03:16 -!- AaronvanW [~AaronvanW@user/AaronvanW] has quit [Ping timeout: 256 seconds] 03:18 -!- deusexbeer [~hedeo@37-146-236-2.broadband.corbina.ru] has quit [Ping timeout: 256 seconds] 03:48 -!- da39a3ee5e6b4b0d [~textual@2403:6200:8876:c04a:44a7:987:8de2:98bb] has joined #bitcoin-wizards 04:15 -!- da39a3ee5e6b4b0d [~textual@2403:6200:8876:c04a:44a7:987:8de2:98bb] has quit [Quit: My MacBook has gone to sleep. ZZZzzz…] 04:23 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has quit [Ping timeout: 276 seconds] 04:26 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 04:38 -!- da39a3ee5e6b4b0d [~textual@2403:6200:8876:c04a:44a7:987:8de2:98bb] has joined #bitcoin-wizards 05:06 < roconnor> I propose: OP_SIGHASH, with sighash flags enxtended to cover ANYPREVOUT and TEMPLATE cases + OP_CHECKSIGFROMSTACK + OP_INTERNALKEY. Gives us congenstion control, eltoo, and oracles. 05:12 < darosior> roconnor: why an OP_SIGHASH instead of a new key type? 05:26 < roconnor> OP_SIGHASH gets what you need for CTV applications, where you EQUALVERIFY the hash value directly. 05:27 < roconnor> then it composes with CHECKSIGFROMSTACK to get you ANYPREVOUT behaviours. 05:27 < roconnor> and CHECKSIGFROMSTACK by itself lets you verify signatures on oracle provided data. 05:33 < darosior> Thanks, i read it too rapidly and assumed it had something to do with the signature's sighash type. 05:41 -!- Guyver2 [~Guyver@guyver2.xs4all.nl] has joined #bitcoin-wizards 05:46 -!- morcos [~morcos@gateway/tor-sasl/morcos] has quit [Remote host closed the connection] 05:48 -!- morcos [~morcos@gateway/tor-sasl/morcos] has joined #bitcoin-wizards 06:10 -!- zkao [~zkao@194.182.165.35] has left #bitcoin-wizards [] 06:15 -!- jb55 [~jb55@user/jb55] has joined #bitcoin-wizards 06:20 -!- BlueMatt[m] [~bluemattm@2001:470:69fc:105::1:5092] has joined #bitcoin-wizards 06:35 -!- da39a3ee5e6b4b0d [~textual@2403:6200:8876:c04a:44a7:987:8de2:98bb] has quit [Quit: My MacBook has gone to sleep. ZZZzzz…] 06:54 < _aj_> roconnor: suggest calling it OP_TXHASH instead. presumably you define TXHASH for n = 0,1,2,3,0x81,0x82,0x83 (and hex 41,42,43,c1,c2,c3 for apo) and any other value of n is treated as op_success. ctv is "n OP_TXHASH h EQUAL". two drawbacks compared to ctv come to mind: txhash isn't op_nop compatible, so you can't do ctv directly in scriptPubKey and avoid needing any witness data when redeeming; 06:54 < _aj_> also ctv's hashes are different in various ways to APO's/etc which probably warrants some thought. for replacing checksig, i think there's a conflict that you want to be able to specify how the hashing is done at signing time, but that conflicts with being able to update op_txhash in future when new hashing ideas come about. the split between keyversion/sighash that checksig has seems hard to 06:54 < _aj_> recreate for op_txhash 07:07 < roconnor> _aj_: what's the second drawback? 07:09 < roconnor> I'm inclinded to make other values of n would be a failure. The SUCCESS updatedablemechanism doesn't quite work as well for dynamic execution as it does for the current OP_SUCCESS pre-execution static properties. 07:10 -!- solocshaw [~Thunderbi@gateway/vpn/pia/solocshaw] has joined #bitcoin-wizards 07:12 < roconnor> I think new hashing ideas will just need OP_TXHASH2. I admit it kinda a shame, but upgradable hashing mechanisms are a bit dicy. 07:14 < roconnor> (that said, as long as the txhash's cover the flags being used, everything is fairly safe on that end.) 07:22 < _aj_> roconnor: i think i was just thinking of the hashing differences; ctv hashes aren't taggedhash and stuff. 07:25 < _aj_> roconnor: ctv does support the "success" upgrade mechanism (safe, since you're harcoding the target hash anyway) so having to introduce a new opcode for each new sighash would be a bit lame by comparison 07:26 < roconnor> yes ctv does, but at the expense of not pushing the hash on the stack. 07:26 < _aj_> roconnor: ? 07:28 < roconnor> I mean, I'd phrase it like CTV supports the "noop" upgrade mechanism. 07:28 < roconnor> which it manages to do because it has noop compatable stack semantics. 07:28 < roconnor> i.e. it doesn't push the hash value onto the stack. 07:31 < roconnor> But that comes at a cost of needed an extra 33 bytes or so when you want emulate OP_TXHASH to do things like CHECKSIGFROMSTACK or rolling that into another hash, or whatever. 07:31 < _aj_> one thing you could maybe do is have the txhash type be "lowest byte is signer choosable, higher bytes are not". bit annoying to express in script, i suppose. 07:33 < _aj_> then you'd have (t >> 8) is the "key version" and (t & 0xff) is the sighash; unknown key version = op_success, known key version unknown sighash = failure 07:36 -!- michagogo [uid14316@user/michagogo] has quit [Quit: Connection closed for inactivity] 07:37 < _aj_> i think noop compatibility's good for minimising size in some cases; i think it was also a design goal in that it prevents it from being useful for recursive covenants? 07:45 < _aj_> "[sig][sh] [v][key] CHECKSIG" ~= "[sig] [v][sh] TXHASH [v][key] CHECKSIGFROMSTACK" maybe? 07:45 < roconnor> it cannot be a design goal to prevent recursive covenants because CTV and PUSHTEMPLATE are mutualy emulatable. 07:46 < roconnor> I'm not sure I get this key version thing. 07:46 < roconnor> key versions are just a way of extending the CHECKSIG operation, 07:46 < roconnor> but I'm proposing using a new CHECKSIGFROMSTACK operation in lieu. 07:47 < _aj_> key versions can be used to upgrade from secp256k1 to some different signing system, so could apply to checksigfromstack too 07:48 < roconnor> of course, checksigfromstack can support the same checksig key version upgrade path. 07:48 < roconnor> that is it can succeed when the pubkey isn't 32 bytes. 07:48 < roconnor> I hope that is how it works in elements tapscript. 07:50 < _aj_> looks like it is 07:50 < _aj_> (EvalTapScriptCheckSigFromStack) 07:51 < roconnor> yep good. 07:52 < _aj_> so key versions are also what allows updating checksig/verify to different message hashes; i'm just handwaving a thing that upgrades txhash as well and calling it by the same name 07:52 < roconnor> oh I see what you are saying. 07:53 < _aj_> \o/ 07:54 < _aj_> what is PUSHTEMPLATE? 07:54 < roconnor> I mean that sort of thing just doesn't work very well with PUSH semantics. 07:55 < roconnor> upgradability I mean. 07:55 < _aj_> maybe we can invent a way to make it work well? 07:56 < roconnor> there are lots of other upgrade mechanisms, like the mere existence of another OP_SUCCESS code could add new flag support. 07:57 < roconnor> because OP_SUCCESS upgrades can redefine the semantics of all other opcodes. 08:00 -!- t-bast [~t-bast@user/t-bast] has joined #bitcoin-wizards 08:00 < roconnor> But if we can design a robust OP_TXHASH hopefully there won't be a lot of presure for new upgrades. 08:01 -!- t-bast [~t-bast@user/t-bast] has quit [Client Quit] 08:03 -!- realtbast[m] [~realtbast@2001:470:69fc:105::1:69a9] has joined #bitcoin-wizards 08:05 -!- t-bast [~t-bast@user/t-bast] has joined #bitcoin-wizards 08:05 -!- t-bast [~t-bast@user/t-bast] has quit [Client Quit] 08:11 -!- andrewtoth [~andrewtot@gateway/tor-sasl/andrewtoth] has joined #bitcoin-wizards 08:16 < jeremyrubin> I don't think it's true they're mutually emulable 08:17 < jeremyrubin> But I might be wrong about that 08:18 < jeremyrubin> I don't have too much an issue with op_txhash, that's actually pretty much why I designed ctv to permit a variable length argument for future sighash flags 08:19 < jeremyrubin> However I think that it's worth waiting on txhash semantics because I worry that we should think more generally about how sighash flags work and instead make them some sort of sighash program. At the same time, I worry that sighash programa are inherently very expensive to validate potentially 08:20 -!- andrewtoth [~andrewtot@gateway/tor-sasl/andrewtoth] has quit [Ping timeout: 276 seconds] 08:23 < jeremyrubin> the reason I don't think they're emulable is because the verify in ctv precents you from doing negative reasoning, e.g. if not this tx. Suppose you had a bool version of CTV, ctb. ctb IF ... ELSE ... ENDIF is not replicated by IF CTV ... ELSE ... ENDIF because the else branch doesn't prove the tx is not H 08:23 < roconnor> PUSHTEMPLATE = DUP CTV POP and CTV = PUSHTEMPLATE EQUALVERIFY 08:24 < roconnor> er I guess I don't need DUP and POP 08:37 < _aj_> ("CTV EQUAL NOT VERIFY" -- provide the hash of the tx on the witness stack, and tx is only valid if it's not H lets you do negative reasoning) 08:40 < roconnor> I suppose we could have TXHASH support both verification and push semantics depending on the argument length. Doesn't feel that crazy. 08:42 < roconnor> maybe that doesn't buy you very much. 08:56 -!- andrewtoth [~andrewtot@gateway/tor-sasl/andrewtoth] has joined #bitcoin-wizards 09:04 < jeremyrubin> _aj_ ah, i guess that works? 09:06 -!- jb55 [~jb55@user/jb55] has quit [Ping timeout: 256 seconds] 09:18 -!- jb55 [~jb55@user/jb55] has joined #bitcoin-wizards 09:26 < jeremyrubin> roconnor: OP_TXHASH + OP_CSFS and why'd we ever have checksig at all ;) 09:49 < roconnor> legacy 09:57 < sipa> also, why have OP_CHECKSIGVERIFY when we have OP_CHECKSIG and OP_VERIFY? 09:57 < roconnor> legacy ;) 09:57 < sipa> or OP_3DUP for that matter 09:57 < roconnor> actually there is a long story about the badness of OP_CHECKSIG 09:58 < roconnor> (as opposed to CHECKSIGVERIFY) 09:59 < sipa> having just VERIFY-like opcodes for actual tx conditions + control structures designed to make using those efficient would certainly be nicer 10:05 -!- proofofkeags_ [~proofofke@205.209.28.54] has joined #bitcoin-wizards 11:00 -!- vysn [~vysn@user/vysn] has quit [Ping timeout: 252 seconds] 11:07 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has quit [Remote host closed the connection] 11:07 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 12:17 -!- csd [~csd@c-73-22-175-211.hsd1.il.comcast.net] has joined #bitcoin-wizards 12:18 -!- csd [~csd@c-73-22-175-211.hsd1.il.comcast.net] has quit [Client Quit] 12:36 -!- instantp10neer [~instantp1@user/instantp10neer] has quit [Quit: Leaving] 12:44 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has quit [Ping timeout: 276 seconds] 12:54 -!- duderonomy [~duderonom@c-73-158-190-156.hsd1.ca.comcast.net] has joined #bitcoin-wizards 13:05 -!- jesseposner [~jesse@c-24-5-105-39.hsd1.ca.comcast.net] has joined #bitcoin-wizards 14:32 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 14:42 -!- duderonomy [~duderonom@c-73-158-190-156.hsd1.ca.comcast.net] has quit [Ping timeout: 256 seconds] 14:45 -!- duderonomy [~duderonom@c-73-158-190-156.hsd1.ca.comcast.net] has joined #bitcoin-wizards 15:38 -!- Guyver2 [~Guyver@guyver2.xs4all.nl] has quit [Quit: Going offline, see ya! (www.adiirc.com)] 15:54 -!- dgenr8 [~dgenr8@user/dgenr8] has quit [Quit: Leaving] 16:11 -!- solocshaw [~Thunderbi@gateway/vpn/pia/solocshaw] has quit [Ping timeout: 256 seconds] 16:13 -!- solocshaw [~Thunderbi@gateway/vpn/pia/solocshaw] has joined #bitcoin-wizards 16:23 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has joined #bitcoin-wizards 16:50 -!- Aaronvan_ [~AaronvanW@user/AaronvanW] has quit [Quit: Leaving...] 17:17 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has quit [Quit: = ""] 17:30 -!- gazab_ [sid6611@user/gazab] has joined #bitcoin-wizards 17:30 -!- schmidty_ [sid297174@id-297174.lymington.irccloud.com] has joined #bitcoin-wizards 17:30 -!- isthmus_ [sid302307@id-302307.lymington.irccloud.com] has joined #bitcoin-wizards 17:31 -!- rockhouse9 [~rockhouse@user/rockhouse] has joined #bitcoin-wizards 17:32 -!- orionwl [~laanwj@user/laanwj] has joined #bitcoin-wizards 17:32 -!- sandipndev123 [~sandipnde@shindig.notmandatory.org] has joined #bitcoin-wizards 17:34 -!- takinbo [~takinbo@user/takinbo] has joined #bitcoin-wizards 17:35 -!- neha_ [~neha@41.213.196.104.bc.googleusercontent.com] has joined #bitcoin-wizards 17:35 -!- Keele_ [~keele@91-158-68-128.elisa-laajakaista.fi] has joined #bitcoin-wizards 17:35 -!- duderonomy [~duderonom@c-73-158-190-156.hsd1.ca.comcast.net] has quit [Ping timeout: 256 seconds] 17:35 -!- jrayhawk_ [~jrayhawk@user/jrayhawk] has joined #bitcoin-wizards 17:38 -!- belcher_ [~belcher@user/belcher] has joined #bitcoin-wizards 17:38 -!- duderonomy [~duderonom@c-73-158-190-156.hsd1.ca.comcast.net] has joined #bitcoin-wizards 17:39 -!- gazab [sid6611@user/gazab] has quit [Ping timeout: 240 seconds] 17:39 -!- gazab_ is now known as gazab 17:39 -!- schmidty [sid297174@id-297174.lymington.irccloud.com] has quit [Ping timeout: 240 seconds] 17:39 -!- schmidty_ is now known as schmidty 17:39 -!- sandipndev [sandipndev@2600:3c00::f03c:92ff:fe8e:dce6] has quit [Ping timeout: 240 seconds] 17:39 -!- isthmus [sid302307@id-302307.lymington.irccloud.com] has quit [Ping timeout: 240 seconds] 17:39 -!- adiabat [~adiabat@63.209.32.102] has quit [Ping timeout: 240 seconds] 17:39 -!- takinbo_ [~takinbo@user/takinbo] has quit [Ping timeout: 240 seconds] 17:39 -!- rottenwheel [~rottenwhe@user/rottenwheel] has quit [Ping timeout: 240 seconds] 17:39 -!- rockhouse [~rockhouse@user/rockhouse] has quit [Ping timeout: 240 seconds] 17:39 -!- neha [~neha@41.213.196.104.bc.googleusercontent.com] has quit [Ping timeout: 240 seconds] 17:39 -!- laanwj [~laanwj@user/laanwj] has quit [Ping timeout: 240 seconds] 17:39 -!- belcher [~belcher@user/belcher] has quit [Ping timeout: 240 seconds] 17:39 -!- Flow [~none@gentoo/developer/flow] has quit [Ping timeout: 240 seconds] 17:39 -!- Keele [~keele@91-158-68-128.elisa-laajakaista.fi] has quit [Ping timeout: 240 seconds] 17:39 -!- jrayhawk [~jrayhawk@user/jrayhawk] has quit [Ping timeout: 240 seconds] 17:39 -!- isthmus_ is now known as isthmus 17:39 -!- rockhouse9 is now known as rockhouse 17:42 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has quit [Ping timeout: 256 seconds] 17:43 -!- neha_ [~neha@41.213.196.104.bc.googleusercontent.com] has quit [Ping timeout: 256 seconds] 17:44 -!- neha [~neha@41.213.196.104.bc.googleusercontent.com] has joined #bitcoin-wizards 17:44 -!- adiabat [~adiabat@63.209.32.102] has joined #bitcoin-wizards 17:47 -!- Flow [~none@gentoo/developer/flow] has joined #bitcoin-wizards 17:47 -!- rottenwheel [~rottenwhe@user/rottenwheel] has joined #bitcoin-wizards 17:52 -!- vysn [~vysn@user/vysn] has joined #bitcoin-wizards 17:52 -!- proofofkeags_ [~proofofke@205.209.28.54] has quit [Ping timeout: 256 seconds] 17:56 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has joined #bitcoin-wizards 18:28 -!- jb55 [~jb55@user/jb55] has quit [Ping timeout: 250 seconds] 18:43 -!- jb55 [~jb55@user/jb55] has joined #bitcoin-wizards 18:47 -!- grubman9001 is now known as ufotofu 18:48 -!- ufotofu [~ufotofu@149.248.16.17] has quit [Changing host] 18:48 -!- ufotofu [~ufotofu@user/ufotofu] has joined #bitcoin-wizards 18:49 -!- ufotofu is now known as grubman 19:44 -!- anandn [~anandn@2601:600:a27f:d92d:557:2ccd:32e:85fe] has joined #bitcoin-wizards 19:50 -!- vysn [~vysn@user/vysn] has quit [Quit: WeeChat 3.3] 19:51 -!- vysn [~vysn@user/vysn] has joined #bitcoin-wizards 19:51 -!- vysn [~vysn@user/vysn] has quit [Client Quit] 19:53 -!- geyaeb3 [~geyaeb@gateway/tor-sasl/geyaeb] has quit [Remote host closed the connection] 19:53 -!- geyaeb3 [~geyaeb@gateway/tor-sasl/geyaeb] has joined #bitcoin-wizards 20:05 -!- vysn [~vysn@user/vysn] has joined #bitcoin-wizards 22:07 -!- boxframes [~Saloframe@2607:9000:2000:15::a45d] has quit [Quit: Leaving] 22:18 -!- jb55 [~jb55@user/jb55] has quit [Ping timeout: 256 seconds] 22:27 -!- andrewtoth_ [~andrewtot@gateway/tor-sasl/andrewtoth] has joined #bitcoin-wizards 22:27 -!- andrewtoth [~andrewtot@gateway/tor-sasl/andrewtoth] has quit [Remote host closed the connection] 23:04 -!- boxframes [~Saloframe@2607:9000:2000:15::a45d] has joined #bitcoin-wizards 23:14 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 23:41 -!- moonwiki [~moonwiki@152.97.181.247] has joined #bitcoin-wizards --- Log closed Sat Jan 15 00:00:30 2022