12024-08-11T00:29:40 *** adil <adil!~Thunderbi@2402:d000:8134:b7fc:2d7a:b35f:be26:3304> has joined #bitcoin-core-dev
22024-08-11T00:42:30 *** adil <adil!~Thunderbi@2402:d000:8134:b7fc:2d7a:b35f:be26:3304> has quit IRC (Quit: adil)
32024-08-11T00:46:20 *** jon_atack <jon_atack!~jonatack@user/jonatack> has quit IRC (Ping timeout: 265 seconds)
42024-08-11T01:26:26 *** SpellChecker <SpellChecker!~SpellChec@user/SpellChecker> has quit IRC (Ping timeout: 260 seconds)
52024-08-11T01:28:12 *** SpellChecker <SpellChecker!~SpellChec@user/SpellChecker> has joined #bitcoin-core-dev
62024-08-11T03:55:40 *** jonatack <jonatack!~jonatack@user/jonatack> has joined #bitcoin-core-dev
72024-08-11T04:01:32 *** cmirror <cmirror!~cmirror@4.53.92.114> has joined #bitcoin-core-dev
82024-08-11T04:54:36 *** SpellChecker <SpellChecker!~SpellChec@user/SpellChecker> has quit IRC (Quit: bye)
92024-08-11T04:54:58 *** SpellChecker <SpellChecker!~SpellChec@user/SpellChecker> has joined #bitcoin-core-dev
102024-08-11T05:01:31 *** mcey_ <mcey_!~emcy@148.252.129.25> has joined #bitcoin-core-dev
112024-08-11T05:04:33 *** mcey <mcey!~emcy@148.252.129.25> has quit IRC (Ping timeout: 252 seconds)
122024-08-11T06:11:37 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:6533:5632:af9a:9f3a> has joined #bitcoin-core-dev
132024-08-11T06:15:49 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:6533:5632:af9a:9f3a> has quit IRC (Ping timeout: 248 seconds)
142024-08-11T06:17:53 *** Guest12 <Guest12!~Guest12@37.224.228.247> has joined #bitcoin-core-dev
152024-08-11T06:20:41 *** Guest12 <Guest12!~Guest12@37.224.228.247> has quit IRC (Client Quit)
162024-08-11T06:35:43 *** mcey <mcey!~emcy@148.252.144.109> has joined #bitcoin-core-dev
172024-08-11T06:38:25 *** mcey_ <mcey_!~emcy@148.252.129.25> has quit IRC (Ping timeout: 252 seconds)
182024-08-11T06:57:11 *** SpellChecker <SpellChecker!~SpellChec@user/SpellChecker> has quit IRC (Ping timeout: 260 seconds)
192024-08-11T06:58:07 *** SpellChecker <SpellChecker!~SpellChec@user/SpellChecker> has joined #bitcoin-core-dev
202024-08-11T07:41:30 *** willcl-ark <willcl-ark!~willcl-ar@user/willcl-ark> has quit IRC (Quit: left)
212024-08-11T07:43:13 *** willcl-ark <willcl-ark!~willcl-ar@cpc123780-trow7-2-0-cust177.18-1.cable.virginm.net> has joined #bitcoin-core-dev
222024-08-11T07:51:48 *** willcl-ark <willcl-ark!~willcl-ar@user/willcl-ark> has quit IRC (Quit: left)
232024-08-11T07:53:34 *** willcl-ark <willcl-ark!~willcl-ar@cpc123780-trow7-2-0-cust177.18-1.cable.virginm.net> has joined #bitcoin-core-dev
242024-08-11T07:56:00 *** abubakarsadiq <abubakarsadiq!uid602234@id-602234.hampstead.irccloud.com> has joined #bitcoin-core-dev
252024-08-11T10:25:39 *** Guyver2 <Guyver2!~Guyver@77-174-98-73.fixed.kpn.net> has joined #bitcoin-core-dev
262024-08-11T10:28:21 *** SpellChecker <SpellChecker!~SpellChec@user/SpellChecker> has quit IRC (Ping timeout: 260 seconds)
272024-08-11T10:31:10 *** adil <adil!~Thunderbi@2402:d000:8134:b7fc:2d7a:b35f:be26:3304> has joined #bitcoin-core-dev
282024-08-11T10:43:37 *** aleggg <aleggg!~aleggg@177.132.197.44> has quit IRC (Ping timeout: 258 seconds)
292024-08-11T10:43:47 *** aleggg <aleggg!~aleggg@189.114.151.115.dynamic.adsl.gvt.net.br> has joined #bitcoin-core-dev
302024-08-11T11:01:32 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:49c2:3d57:df43:7cc4> has joined #bitcoin-core-dev
312024-08-11T11:06:32 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:49c2:3d57:df43:7cc4> has quit IRC (Ping timeout: 272 seconds)
322024-08-11T11:43:45 *** gribble <gribble!~gribble@bitcoin/bot/gribble> has quit IRC (Remote host closed the connection)
332024-08-11T11:52:20 <bitcoin-git> [qa-assets] dergoegge merged pull request #195: Revert "Revert utxo_snapshot additions temporarily" (main...main) https://github.com/bitcoin-core/qa-assets/pull/195
342024-08-11T11:52:21 <bitcoin-git> [qa-assets] dergoegge pushed 2 commits to main: https://github.com/bitcoin-core/qa-assets/compare/b68b27809741...5114c2d828d9
352024-08-11T11:52:22 <bitcoin-git> qa-assets/main ffb414e MarcoFalke: Revert "Revert utxo_snapshot additions temporarily"
362024-08-11T11:52:22 <bitcoin-git> qa-assets/main 5114c2d Niklas Gögge: Merge pull request #195 from maflcko/main
372024-08-11T11:52:31 *** gribble <gribble!~gribble@bitcoin/bot/gribble> has joined #bitcoin-core-dev
382024-08-11T11:52:31 *** ChanServ sets mode: +o gribble
392024-08-11T12:01:22 *** adil <adil!~Thunderbi@2402:d000:8134:b7fc:2d7a:b35f:be26:3304> has quit IRC (Quit: adil)
402024-08-11T12:18:19 *** jonatack <jonatack!~jonatack@user/jonatack> has quit IRC (Ping timeout: 252 seconds)
412024-08-11T12:25:59 *** jonatack <jonatack!~jonatack@user/jonatack> has joined #bitcoin-core-dev
422024-08-11T13:02:49 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:b15b:236f:e73b:2cfd> has joined #bitcoin-core-dev
432024-08-11T13:07:22 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:b15b:236f:e73b:2cfd> has quit IRC (Ping timeout: 258 seconds)
442024-08-11T13:07:55 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:9c79:6e8e:ba3:3022> has joined #bitcoin-core-dev
452024-08-11T13:38:12 *** bugs_ <bugs_!~bugs@user/bugs/x-5128603> has joined #bitcoin-core-dev
462024-08-11T14:03:51 *** gribble <gribble!~gribble@bitcoin/bot/gribble> has quit IRC (Remote host closed the connection)
472024-08-11T14:06:45 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:9c79:6e8e:ba3:3022> has quit IRC (Ping timeout: 248 seconds)
482024-08-11T14:07:06 *** bitdex <bitdex!~bitdex@gateway/tor-sasl/bitdex> has quit IRC (Ping timeout: 260 seconds)
492024-08-11T14:09:11 *** bitdex <bitdex!~bitdex@gateway/tor-sasl/bitdex> has joined #bitcoin-core-dev
502024-08-11T14:09:40 *** gribble <gribble!~gribble@bitcoin/bot/gribble> has joined #bitcoin-core-dev
512024-08-11T14:09:41 *** ChanServ sets mode: +o gribble
522024-08-11T14:13:44 *** _flood <_flood!flooded@gateway/vpn/protonvpn/flood/x-43489060> has quit IRC (Ping timeout: 245 seconds)
532024-08-11T14:23:59 *** abubakarsadiq <abubakarsadiq!uid602234@id-602234.hampstead.irccloud.com> has quit IRC (Quit: Connection closed for inactivity)
542024-08-11T14:29:24 *** SpellChecker <SpellChecker!~SpellChec@user/SpellChecker> has joined #bitcoin-core-dev
552024-08-11T15:04:00 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:ad05:c142:f971:3195> has joined #bitcoin-core-dev
562024-08-11T15:08:13 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:ad05:c142:f971:3195> has quit IRC (Ping timeout: 252 seconds)
572024-08-11T15:08:51 *** mailman123 <mailman123!~mailman12@103.166.150.118> has joined #bitcoin-core-dev
582024-08-11T15:08:57 *** mailman123 <mailman123!~mailman12@103.166.150.118> has quit IRC (K-Lined)
592024-08-11T15:11:55 *** kiwiirc <kiwiirc!~kiwiirc@51.75.171.51> has joined #bitcoin-core-dev
602024-08-11T15:14:02 *** kiwiirc <kiwiirc!~kiwiirc@51.75.171.51> has quit IRC (Client Quit)
612024-08-11T15:14:20 *** kiwiirc <kiwiirc!~kiwiirc@51.75.171.51> has joined #bitcoin-core-dev
622024-08-11T15:20:53 *** kiwiirc <kiwiirc!~kiwiirc@51.75.171.51> has quit IRC (Quit: Client closed)
632024-08-11T15:21:10 *** kiwiirc <kiwiirc!~kiwiirc@51.75.171.51> has joined #bitcoin-core-dev
642024-08-11T15:21:15 <bitcoin-git> [bitcoin] hebasto opened pull request #30630: doc: Update ccache website link (master...240811-ccache-docs) https://github.com/bitcoin/bitcoin/pull/30630
652024-08-11T15:23:18 *** kiwiirc <kiwiirc!~kiwiirc@51.75.171.51> has quit IRC (Client Quit)
662024-08-11T15:24:07 *** kiwiirc <kiwiirc!~kiwiirc@51.75.171.51> has joined #bitcoin-core-dev
672024-08-11T15:26:23 *** kiwiirc <kiwiirc!~kiwiirc@51.75.171.51> has quit IRC (Client Quit)
682024-08-11T16:06:07 *** Guyver2 <Guyver2!~Guyver@77-174-98-73.fixed.kpn.net> has left #bitcoin-core-dev (Closing Window)
692024-08-11T16:16:38 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:29cb:e77f:ef9c:da0e> has joined #bitcoin-core-dev
702024-08-11T16:27:55 *** kiwiirc <kiwiirc!~kiwiirc@51.75.171.51> has joined #bitcoin-core-dev
712024-08-11T16:36:29 *** kiwiirc <kiwiirc!~kiwiirc@51.75.171.51> has quit IRC (Quit: Client closed)
722024-08-11T16:39:28 *** kiwiirc <kiwiirc!~kiwiirc@51.75.171.51> has joined #bitcoin-core-dev
732024-08-11T16:42:16 *** kiwiirc <kiwiirc!~kiwiirc@51.75.171.51> has quit IRC (Client Quit)
742024-08-11T16:44:16 *** kiwiirc <kiwiirc!~kiwiirc@51.75.171.51> has joined #bitcoin-core-dev
752024-08-11T17:17:31 *** kiwiirc <kiwiirc!~kiwiirc@51.75.171.51> has quit IRC (Ping timeout: 256 seconds)
762024-08-11T17:32:05 *** Talkless <Talkless!~Talkless@mail.dargis.net> has joined #bitcoin-core-dev
772024-08-11T17:51:36 *** portlandhodl <portlandhodl!~Thunderbi@securemail.qrsnap.io> has joined #bitcoin-core-dev
782024-08-11T17:56:50 *** portlandhodl <portlandhodl!~Thunderbi@securemail.qrsnap.io> has quit IRC (Quit: portlandhodl)
792024-08-11T18:01:33 *** achow101 <achow101!~achow101@user/achow101> has quit IRC (Remote host closed the connection)
802024-08-11T18:11:50 *** portlandhodl <portlandhodl!~Thunderbi@user/portlandhodl> has joined #bitcoin-core-dev
812024-08-11T18:15:10 <portlandhodl> Hey, I work for MARA and created their Slipstream product. With that we received and mined a nonstandard transaction (maybe standard) but violated the non-mandatory-script-verify flag for OP_SUCCESSx
822024-08-11T18:15:10 <portlandhodl> My question is does this have an impact on dev hooks for future softfork upgrades? Other than loss of funds and being insecure are there problems with allowing these TXs to be mined? I am asking primarily to determine if Slipstream policy needs to change.
832024-08-11T18:15:10 <portlandhodl> TX in question.
842024-08-11T18:15:10 <portlandhodl> https://mempool.space/tx/51bae58fa9d413b86d74da60d5366987dcdeb0586d39b93b2ca22f9e40dc83de?mode=details
852024-08-11T18:16:19 <gmaxwell> portlandhodl: they shouldn't be mined, if they are actively created and mined it makes it impossible to use them for softforks without risking forking the network when the softfork activates.
862024-08-11T18:19:11 <gmaxwell> portlandhodl: mining any at all also means that future softfork rules can't be retroactively enforced prior to the inclusion after after the feature is activated. Which means carrying around more conditional complexity than otherwise. If, after a feature is long since activated if there are no conflicts with it in the chain, the enforcement will just get retroactively set to the start (or to
872024-08-11T18:19:17 <gmaxwell> the point some other feature activated), in order to avoid having more conditional logic. Though this point is pretty insignificant to the prior one.
882024-08-11T18:20:34 <gmaxwell> And because they only have an effect of making outputs totally insecure, there shouldn't be any benefit for allowing them.
892024-08-11T18:22:40 <portlandhodl> Not to sound completely ignorant, how? Does activation logic not cover TXNs from the past being marked as OP_SUCCESSx and being spendable by all?
902024-08-11T18:22:40 <portlandhodl> This would mean that a portion of the network, with legacy clients would say that this TX is spendable by all, which is has been spent and validated. The activating nodes would just have a subset of those rules. Assuming this activated with consensus, the longest chain would just be a subset of the rules of the looser OP_SUCCESSx policy.
912024-08-11T18:26:10 <gmaxwell> portlandhodl: If there isn't 100% hashpower enforcing the new rule and someone mines a violation of the new rule (no longer spendable by all but spendable only according to the new rules), then the network will split among the more permissive nodes that accept the violation and and a portion that don't. If there are no violations entering the chain, then even though some hashpower may not
922024-08-11T18:26:16 <gmaxwell> enforce the risk of the consensus splitting is low (it'll only happen if someone intentionally makes an invalid block to disrupt the network).
932024-08-11T18:26:42 <gmaxwell> If the new rule miners have a majority hashpower they will eventually overtake the other chain, and the older nodes will move to the less permissive chain.
942024-08-11T18:27:22 <gmaxwell> but even if the enforcing parties have a large majority hashpower the fork can be pretty long. And because reorgs are relatively rare on bitcoin, that creates a big double spending oppturnity against users.
952024-08-11T18:29:11 <gmaxwell> so the whole reason opcodes like OP_NOP, OP_SUCCESS etc. exist but aren't normally allowed for mining is so that the network is free of them when they go to get put to some real use, so they don't expose latent disagreements about consensus rules around that transition.
962024-08-11T18:29:15 <gmaxwell> portlandhodl: Make sense?
972024-08-11T18:31:50 <gmaxwell> Now you could say, "well we could stop ahead of them being used", and that's true. But (1) the comment I made about not being able to backdate the rules would still apply. (2) it's really hard to be confident that any behavior has _stopped_ vs just not being active at the moment, (3) there is always a risk that you fall over to a backup node that still has the behavior. (IIRC that actually
982024-08-11T18:31:56 <gmaxwell> caused a brief fork and reorg around the activation of OP_CSV-- miner had "upgraded" but had a failover to a non-upgraded node around activation time)
992024-08-11T18:33:07 <portlandhodl> Yeah, and thanks for going over this in such a concise manner. This was a part of my model as well.
1002024-08-11T18:33:07 <portlandhodl> So overall this particular transaction isn't a threat to fork the network because we are not activating a softfork and the risk of a reorg 100s of blocks deep isn't likely.
1012024-08-11T18:34:07 <gmaxwell> yeah it's not a threat to the network, only at worse a nussance after upgrading that a rule that uses that code can't be retroactively enforced past that point, to simplify the codebase and avoid a lot of "if past here do x, if past there do y".
1022024-08-11T18:35:13 <gmaxwell> Though continuing to do so would be pretty unfortunate, -- if you have users that actually need an OP_SUCCESS opcode for some reason (like one that will never get turned into a useful thing), then I wouldn't see any problem in specifying one for that purpose.
1032024-08-11T18:39:23 <portlandhodl> Thank you, revised policy will be implemented around OP_SUCCESSx. I had spent a lot of time creating logic around the ScriptPubKey and rules around hooks, but didn't enforce it in Tapscript because of BIP342.
1042024-08-11T18:39:29 *** bugs_ <bugs_!~bugs@user/bugs/x-5128603> has quit IRC (Quit: Leaving)
1052024-08-11T18:39:44 <portlandhodl> Again thank you for this discussion and your time.
1062024-08-11T18:40:19 <gmaxwell> doh. No problem. The code really should be setup to make it easier to disable standardness rules that aren't important for consensus consistency.
1072024-08-11T18:41:04 <gmaxwell> portlandhodl: you do stil prevent ECDSA malleated signature, I hope? otherwise that opens up malleation against against non-segwit txn.
1082024-08-11T18:41:08 * gmaxwell looks up the flag name.
1092024-08-11T18:42:04 <portlandhodl> Correct! Let me get you a list of non-madatory-flags we are not enforcing.
1102024-08-11T18:47:09 <portlandhodl> SCRIPT_ERR_PUSH_SIZE, SCRIPT_ERR_OP_RETURN, SCRIPT_ERR_UNBALANCED_CONDITIONAL, SCRIPT_ERR_SIG_DER, SCRIPT_ERR_SIG_NULLDUMMY, SCRIPT_ERR_DISCOURAGE_OP_SUCCESS, SCRIPT_ERR_CLEANSTACK, SCRIPT_ERR_SCHNORR_SIG_SIZE
1112024-08-11T18:49:10 <gmaxwell> Those are the ones you're not enforcing?
1122024-08-11T18:49:22 <portlandhodl> Currently.
1132024-08-11T18:49:44 <portlandhodl> Just added SCRIPT_ERR_DISCOURAGE_OP_SUCCESS back into policy.
1142024-08-11T18:49:50 <gmaxwell> So several of thse are needed to prevent malleation attacks against non segwit txn.
1152024-08-11T18:50:40 <portlandhodl> I assume SCRIPT_ERR_SIG_DER
1162024-08-11T18:50:45 <gmaxwell> particular, SCRIPT_ERR_SIG_DER, SCRIPT_ERR_CLEANSTACK, SCRIPT_ERR_SIG_NULLDUMMY,
1172024-08-11T18:51:08 <gmaxwell> though the latter two don't apply as broadly. (like nulldummy only applies to multisig)
1182024-08-11T18:51:41 *** kiwiirc <kiwiirc!~kiwiirc@198.244.148.174> has joined #bitcoin-core-dev
1192024-08-11T18:52:25 <gmaxwell> SCRIPT_ERR_SCHNORR_SIG_SIZE is another future upgrade thing (e.g. allow exiting checksig to be used for other key sizes) though I think not as important as the success rules.
1202024-08-11T18:52:50 <portlandhodl> SCRIPT_ERR_SIG_DER, this could be used to modify a TXID by encoding the same signature in a different way, keeping this TX as valid but not having the same hash?
1212024-08-11T18:53:06 <gmaxwell> portlandhodl: exactly.
1222024-08-11T18:53:27 *** kiwiirc <kiwiirc!~kiwiirc@198.244.148.174> has quit IRC (Killed (ozone (No Spam)))
1232024-08-11T18:53:29 <portlandhodl> Nobody has utilized this yet, but removing out of caution.
1242024-08-11T18:54:14 <gmaxwell> the cleanstack rule is because otherwise you can stuff extra pushes into signatures that don't get consumed.
1252024-08-11T18:54:32 <portlandhodl> SCRIPT_ERR_SIG_NULLDUMMY -> Is this becuase you could put a 1,2,3 etc as the dropped element and still have this ScriptSig be valid?
1262024-08-11T18:54:49 <gmaxwell> Yes.
1272024-08-11T18:55:22 <gmaxwell> Are you familar with BIP 62? https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki it was abandoned as a consensus rule in favor of segwit, but it's rule were implemented as standardness rules to protect pre-segwit txn.
1282024-08-11T18:56:16 *** kiwiirc <kiwiirc!~kiwiirc@116.71.166.78> has joined #bitcoin-core-dev
1292024-08-11T18:56:37 <gmaxwell> (part of the issue was that we kept finding more and more ways to attack txn, so enumerating all of them wasn't working, which drove deploying a more general fix... though those rules are enough to protect the most common transaction types.)
1302024-08-11T18:56:37 <portlandhodl> SCRIPT_ERR_CLEANSTACK, would be that I add an extra element to the ScriptSig that would not be consumed keeping the TX valid, but also having a different TXID
1312024-08-11T18:56:53 <gmaxwell> portlandhodl: Exactly.
1322024-08-11T18:57:21 <gmaxwell> It also creates another kind of attack where if someone pays too much fees, you can shove your child porn into it or whatever, and they'll pay to get it mined. :(
1332024-08-11T18:57:42 <gmaxwell> (because you just expanded their txn without invalidating it)
1342024-08-11T18:58:19 <portlandhodl> Okay, because there has been 0 demand for these I will reintroduce them into mempool acceptance policy.
1352024-08-11T18:59:10 <portlandhodl> I had never read BIP62 due to the withdrawn status.
1362024-08-11T18:59:24 <portlandhodl> Not that it's a good reason to not read it. Reviewing now.
1372024-08-11T18:59:52 <gmaxwell> Yeah, the withdrawn status is misleading.
1382024-08-11T19:00:41 <portlandhodl> I can't thank you enough for your time and discussion about these topics. I don't have much support at MARA around the super deep nuances of topics like these.
1392024-08-11T19:00:45 <gmaxwell> It's withdrawn as a consensus rule, but it's the rational behind the standardness rules we've been discussing. Normally BIPs aren't written for standardness rules, though they probably should be for ones that aren't just subjective, e.g. ones that prevent attacks.
1402024-08-11T19:01:52 <gmaxwell> Well you can basically always show up here, or directly ask regular contributors. (esp people who wrote functionality you're curious about).
1412024-08-11T19:04:20 <gmaxwell> also the stack overflow has been a good place to get more technical answers.
1422024-08-11T19:04:44 <gmaxwell> (bitcoin.stackexchange.com)
1432024-08-11T19:05:39 <portlandhodl> I will add that into my toolkit, typically I have only looked though there for answers to questions, not ask.
1442024-08-11T19:09:30 <gmaxwell> Certantly any kind of "I'm thinking of changing this consensus touching thing, what consequences should I be aware of" is a welcome sort of question. Not everything is well documented.
1452024-08-11T19:11:54 <gmaxwell> There have also been some standardness rules in the past that were papering over non-published more serious vulnerablities. I don't believe there are any right now, but I wouldn't know. SCRIPT_ERR_SIG_DER, is one such example: a bug in openssl could have been exploited to split the network between 64 and 32 bit hosts (which there were many of both at the time). OpenSSL isn't used anymore
1462024-08-11T19:12:00 <gmaxwell> by any version anyone cares about running, so the issue is now gone, but for a period removing that would have exposed a consensus split.
1472024-08-11T19:13:10 *** kiwiirc <kiwiirc!~kiwiirc@116.71.166.78> has quit IRC (Quit: Client closed)
1482024-08-11T19:13:18 <gmaxwell> There were a number of opcodes that had very very bad performance and could have been abused to result in blocks taking minutes to validate, but were blocked out by Satoshi's standardness rules (that blocked almost everything). ... the broad relaxation of standardness rules didn't happen until most of those were fixed.
1492024-08-11T19:13:56 <gmaxwell> etc. so if you do come here and ask questions you might also get warned about things like that, should any apply.
1502024-08-11T19:15:05 <portlandhodl> Very well aware of those per discussions around the GCC. OP_CODESEPARATOR, OP_CHECKSIG
1512024-08-11T19:15:52 *** kiwiirc <kiwiirc!~kiwiirc@116.71.166.78> has joined #bitcoin-core-dev
1522024-08-11T19:26:36 *** kiwiirc <kiwiirc!~kiwiirc@116.71.166.78> has quit IRC (Killed (ozone (No Spam)))
1532024-08-11T19:28:49 *** kiwiirc <kiwiirc!~kiwiirc@103.166.150.118> has joined #bitcoin-core-dev
1542024-08-11T19:31:25 *** kiwiirc15 <kiwiirc15!~kiwiirc@103.166.150.118> has joined #bitcoin-core-dev
1552024-08-11T19:38:20 *** kiwiirc <kiwiirc!~kiwiirc@103.166.150.118> has quit IRC (Quit: Client closed)
1562024-08-11T19:40:23 *** kiwiirc15 <kiwiirc15!~kiwiirc@103.166.150.118> has quit IRC (K-Lined)
1572024-08-11T19:52:07 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:29cb:e77f:ef9c:da0e> has quit IRC (Remote host closed the connection)
1582024-08-11T19:54:41 *** bugs_ <bugs_!~bugs@user/bugs/x-5128603> has joined #bitcoin-core-dev
1592024-08-11T20:09:45 *** Moonstruck <Moonstruck!~Moonstruc@2601:900:8200:7f95:7097:7651:3133:6e8c> has joined #bitcoin-core-dev
1602024-08-11T20:20:18 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:29cb:e77f:ef9c:da0e> has joined #bitcoin-core-dev
1612024-08-11T20:27:02 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:29cb:e77f:ef9c:da0e> has quit IRC (Ping timeout: 272 seconds)
1622024-08-11T20:37:12 *** Talkless <Talkless!~Talkless@mail.dargis.net> has quit IRC (Remote host closed the connection)
1632024-08-11T20:47:31 *** Moonstruck <Moonstruck!~Moonstruc@2601:900:8200:7f95:7097:7651:3133:6e8c> has quit IRC (Quit: Client closed)
1642024-08-11T20:52:36 *** Moonstruck <Moonstruck!~Moonstruc@2601:900:8200:7f95:7097:7651:3133:6e8c> has joined #bitcoin-core-dev
1652024-08-11T21:03:56 <portlandhodl> Okay follow up, what happens to anyone who has used OP_SUCCESSx behind a hash mined into a block before a softfork. Then wants to spend that path after the softfork? Does core still apply the rules as OP_SUCCESSx or does it force the validation of the softfork rules?
1662024-08-11T21:08:44 *** Moonstruck <Moonstruck!~Moonstruc@2601:900:8200:7f95:7097:7651:3133:6e8c> has quit IRC (Quit: Client closed)
1672024-08-11T21:13:13 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:29cb:e77f:ef9c:da0e> has joined #bitcoin-core-dev
1682024-08-11T21:17:08 *** bugs_ <bugs_!~bugs@user/bugs/x-5128603> has quit IRC (Quit: Leaving)
1692024-08-11T21:23:04 *** Moonstruck <Moonstruck!~Moonstruc@2601:900:8200:7f95:7097:7651:3133:6e8c> has joined #bitcoin-core-dev
1702024-08-11T21:23:33 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:29cb:e77f:ef9c:da0e> has quit IRC (Ping timeout: 248 seconds)
1712024-08-11T21:26:27 *** noonien808310429 <noonien808310429!~noonien@86.125.147.232> has joined #bitcoin-core-dev
1722024-08-11T21:33:12 *** Moonstruck <Moonstruck!~Moonstruc@2601:900:8200:7f95:7097:7651:3133:6e8c> has quit IRC (Quit: Client closed)
1732024-08-11T21:34:42 *** Moonstruck <Moonstruck!~Moonstruc@2601:900:8200:7f95:7097:7651:3133:6e8c> has joined #bitcoin-core-dev
1742024-08-11T21:37:29 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:29cb:e77f:ef9c:da0e> has joined #bitcoin-core-dev
1752024-08-11T21:40:28 <fjahr> It would be up for discussion how we handle it. The one thing that is certain is that the easiest path would be if we wouldn't have to deal with such a case at all ^^ If you are not aware of the pre-taproot taproot tx, maybe this will be an interesting read for you: https://b10c.me/blog/007-spending-p2tr-pre-activation/ and I'm not sure there is another write-up of how it was handle but there is an exception here:
1762024-08-11T21:40:29 <fjahr> https://github.com/bitcoin/bitcoin/blob/master/src/kernel/chainparams.cpp#L90
1772024-08-11T21:43:43 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:29cb:e77f:ef9c:da0e> has quit IRC (Ping timeout: 252 seconds)
1782024-08-11T21:45:22 <portlandhodl> "The one thing that is certain is that the easiest path would be if we wouldn't have to deal with such a case at all" how would we be certain that we don't have to deal with it, that's my question. Because the script is buried in a MAST devs could not know ahead of time if an OP_SUCCESSx was used.
1792024-08-11T21:51:43 <fjahr> Absent of any other evidence the preferred way would be to enforce the new rules from genesis because that's the cleanest option. And if you are not spending that script hidden in a MAST there is no issue, right? And if you spend it after activation of course the new rules apply either way.
1802024-08-11T22:00:03 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:29cb:e77f:ef9c:da0e> has joined #bitcoin-core-dev
1812024-08-11T22:05:12 *** kevkevin <kevkevin!~kevkevin@2600:1700:b30:47c0:29cb:e77f:ef9c:da0e> has quit IRC (Ping timeout: 272 seconds)
1822024-08-11T22:18:32 *** portlandhodl1 <portlandhodl1!~Thunderbi@user/portlandhodl> has joined #bitcoin-core-dev
1832024-08-11T22:20:05 *** portlandhodl <portlandhodl!~Thunderbi@user/portlandhodl> has quit IRC (Ping timeout: 248 seconds)
1842024-08-11T22:20:05 *** portlandhodl1 is now known as portlandhodl
1852024-08-11T23:02:57 *** Guest35 <Guest35!~Guest4@134.195.196.178> has joined #bitcoin-core-dev
1862024-08-11T23:03:35 *** Guest35 <Guest35!~Guest4@134.195.196.178> has quit IRC (Client Quit)
1872024-08-11T23:09:54 *** Moonstruck <Moonstruck!~Moonstruc@2601:900:8200:7f95:7097:7651:3133:6e8c> has quit IRC (Quit: Client closed)
1882024-08-11T23:33:13 *** Guest86 <Guest86!~Guest53@bras-base-bmtnon1352w-grc-14-74-12-90-9.dsl.bell.ca> has joined #bitcoin-core-dev
1892024-08-11T23:33:23 *** Guest86 <Guest86!~Guest53@bras-base-bmtnon1352w-grc-14-74-12-90-9.dsl.bell.ca> has quit IRC (Client Quit)
1902024-08-11T23:37:38 *** kevkevin <kevkevin!~kevkevin@98.226.206.182> has joined #bitcoin-core-dev
1912024-08-11T23:56:37 <gmaxwell> portlandhodl: the prefered way is for the current meaning to apply, -- because that results in simpler, more consistent consensus rules. (as fjahr, says it's prefered to eventually retcon rules). It is possible to scope rules to the height of the mined height of the output being spent however: thats the worst for implementation complexity, and the mined height may not be that related to the
1922024-08-11T23:56:43 <gmaxwell> time the scriptpubkey was authored (other than it was clearly authored by the point of time). Sometimes there has been some discussion about bug fixes that can't be deployed without potentially breaking some coins doing a height-gate (like blocking codesep). However, since there may exist unconfirmed chains that doesn't solve the prolbem.
1932024-08-11T23:57:29 <gmaxwell> portlandhodl: people have observed that hidden opsuccesses could be a way to use features 'in advance' but without any guarentee the *exact* rule you expected would ever be enforced it seems pretty useless.
1942024-08-11T23:58:59 <gmaxwell> portlandhodl: if it wasn't clear from the above, nothing about the scriptpubkey is really evaluated at creation time (except the size limit and the broken pre-segwit sigops rule)-- so it's at *spend* time that the consensus rules really matter.