--- Log opened Thu Feb 08 00:00:55 2024 00:02 -!- ghost43_ [~ghost43@gateway/tor-sasl/ghost43] has joined #bitcoin-core-pr-reviews 00:03 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has quit [Ping timeout: 255 seconds] 00:11 -!- angusp [9e8eed9774@2a03:6000:1812:100::1048] has quit [Remote host closed the connection] 00:12 -!- angusp [9e8eed9774@2a03:6000:1812:100::1048] has joined #bitcoin-core-pr-reviews 00:14 -!- angusp [9e8eed9774@2a03:6000:1812:100::1048] has quit [Remote host closed the connection] 00:20 -!- angusp [9e8eed9774@2a03:6000:1812:100::1048] has joined #bitcoin-core-pr-reviews 00:40 -!- __gotcha [~Thunderbi@natx-145.kulnet.kuleuven.be] has joined #bitcoin-core-pr-reviews 01:33 -!- puchka [~puchka@185.203.122.200] has quit [Ping timeout: 272 seconds] 01:35 -!- puchka [~puchka@185.203.122.200] has joined #bitcoin-core-pr-reviews 02:25 -!- __gotcha [~Thunderbi@natx-145.kulnet.kuleuven.be] has quit [Ping timeout: 260 seconds] 02:35 -!- __gotcha [~Thunderbi@natx-145.kulnet.kuleuven.be] has joined #bitcoin-core-pr-reviews 04:29 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:d5e8:4f29:c08e:8b56] has joined #bitcoin-core-pr-reviews 04:33 -!- ghost43_ [~ghost43@gateway/tor-sasl/ghost43] has quit [Remote host closed the connection] 04:34 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has joined #bitcoin-core-pr-reviews 07:04 -!- cguida [~cguida@2806:2f0:55e1:f7b9:bac1:45df:caf:3f2f] has quit [Quit: Leaving] 07:04 -!- cguida_ [~cguida@2806:2f0:55e1:f7b9:5ff2:df49:3f0d:31d1] has joined #bitcoin-core-pr-reviews 07:27 -!- cguida_ is now known as cguida 07:55 -!- puchka [~puchka@185.203.122.200] has quit [Ping timeout: 246 seconds] 08:22 -!- __gotcha [~Thunderbi@natx-145.kulnet.kuleuven.be] has quit [Ping timeout: 264 seconds] 08:28 -!- __gotcha [~Thunderbi@natx-145.kulnet.kuleuven.be] has joined #bitcoin-core-pr-reviews 08:37 -!- __gotcha [~Thunderbi@natx-145.kulnet.kuleuven.be] has quit [Ping timeout: 260 seconds] 08:52 -!- vmammal [~vmammal@107.181.222.132] has joined #bitcoin-core-pr-reviews 08:57 -!- Guest60 [~Guest42@212.129.86.73] has joined #bitcoin-core-pr-reviews 09:00 < abubakarsadiq> #startmeeting 09:00 -!- monlovesmango [monlovesma@gateway/vpn/protonvpn/monlovesmango] has joined #bitcoin-core-pr-reviews 09:00 < vmammal> hi 09:00 < abubakarsadiq> hi 09:01 < monlovesmango> hey 09:01 < Guest60> hi 09:01 -!- cguida [~cguida@2806:2f0:55e1:f7b9:5ff2:df49:3f0d:31d1] has quit [Remote host closed the connection] 09:01 -!- cguida [~cguida@2806:2f0:55e1:f7b9:bfe7:2fd8:317c:8172] has joined #bitcoin-core-pr-reviews 09:01 < vmammal> im pretty sure i got every question wrong yesterday 09:02 < abubakarsadiq> Welcome everyone, lets continue the discussion of PR #28950 by @instagibbs yesterday discussion are available already on https://bitcoincore.reviews/28950 09:02 < abubakarsadiq> Hi vmammal which question is that? 09:03 < abubakarsadiq> The next question is 7. Why can’t `maxfeerate` be checked immediately after decoding like `maxburnamount` is? 09:04 < monlovesmango> is it bc we have to check for package validity first? ie valid ancestor/descendent relationships 09:05 -!- henmeh [~henning@2a02:8070:4686:d820:e3e2:3bc:b691:c924] has joined #bitcoin-core-pr-reviews 09:06 < vmammal> what do you mean by 'decoding' 09:06 < abubakarsadiq> It's because the fee and size are not known yet I think 09:06 < abubakarsadiq> After decoding the transaction 09:07 < vmammal> abubakarsadiq Agree, we need the tx vsizes to compute feerates 09:08 < vmammal> also you would need to get prevouts? 09:08 < vmammal> for maxburnamount, you can just look at the value of the op_return 09:10 < abubakarsadiq> since now we just check against individual transaction if it were possible we should just do the check after decoding all the package transactions 09:10 < abubakarsadiq> but thats not possible because the fee and size are known during package processing after we load coins and subtract output values from input values 09:11 < abubakarsadiq> @vmammal yes 09:12 < monlovesmango> interesting thank you for expanding! that makes sense 09:12 < abubakarsadiq> 8. How does the `maxfeerate` check in `testmempoolaccept` RPC differ from `submitpackage` RPC? Why can’t they be the same? 09:13 < monlovesmango> `testmempoolaccept` uses base fee rate and `submitpackage` uses modified fee rate 09:14 < monlovesmango> they cant be the same bc `testmempoolaccept` doesn't have access to modified fee rates...? 09:15 < abubakarsadiq> Yes, the second thing is we do the maxfeerate check post package processing in `testmempoolaccept` any idea why? 09:17 < monlovesmango> bc it isn't build to handle package eval yet? no clue 09:18 < monlovesmango> but I would think only submitpackage is specialized to accurately estimate package fee rate 09:18 < abubakarsadiq> @monlovesmango it does have access modified fee, I think. 09:19 < abubakarsadiq> It’s done after the testaccept package processing because the txs are not added to mempool and broadcasted after the processing, we can safely check maxfeerate and return appropriate error messages. 09:20 -!- henmeh [~henning@2a02:8070:4686:d820:e3e2:3bc:b691:c924] has quit [Quit: Leaving] 09:20 < abubakarsadiq> They cannot be the same because in `submitpackage`, the package transactions might have already been accepted into the mempool and broadcasted to peers, rendering the check redundant. 09:21 < abubakarsadiq> If we were to do it after package processing in `submitpackage` it would just be redundant check. 09:22 < abubakarsadiq> Last Question 09:22 < abubakarsadiq> 9. Can you think of a different approach from the one taken by this PR? What are the tradeoffs? 09:24 < monlovesmango> so why is maxfeerate check done post testaccept package processing? 09:26 < vmammal> slightly off-topic, but if anyone's interested in cluster mempool, I recommend this https://delvingbitcoin.org/t/an-overview-of-the-cluster-mempool-proposal/393 09:26 < abubakarsadiq> Do you mean why we check `maxfeerate` after the package has been processed? Thats because the package processing only `test_accept`, i.e see if we can accept this list of transactions, they are not actually accepted. 09:27 < abubakarsadiq> Thats in `testmempoolaccept` RPC . 09:28 < abubakarsadiq> thanks vmammal yeah I am :) 09:29 < abubakarsadiq> There are some approaches listed by glozow here https://github.com/bitcoin/bitcoin/pull/28950#pullrequestreview-1790751210 we can discuss the tradeoffs 09:29 < monlovesmango> yes thats what I meant. why can't `testmempoolaccept` use modified fee rate? if testing acceptance into mempool seems like you want to use modified fee rate? 09:31 < monlovesmango> haha ok now glozow talking about chunk fee rate... need to read up on that 09:34 < abubakarsadiq> Yeah linearizing uses modified fee not base fee, so thats why I guess 09:35 < vmammal> i think there was a recent Optech podcast where sipa explains clusters pretty well 09:36 < monlovesmango> you mean linearizing uses base fee, not modified fee? 09:36 < monlovesmango> vmammal: reading the clusters thing now, very intriguing 09:37 -!- puchka [~puchka@185.203.122.196] has joined #bitcoin-core-pr-reviews 09:38 < abubakarsadiq> So listing the alternative approaches in the link 09:38 < abubakarsadiq> 1. test package accept, then perform `maxfeerate` check before package processing 09:38 < abubakarsadiq> 2. Adding a helper that loads coins and calculate a fees, and calculate vsize so that we can immediately perform the check before package processing. 09:40 < abubakarsadiq> The tradeoffs of 2 is double work, we have to process the package twice 09:41 < vmammal> abubakarsadiq which alternative do you prefer? 09:41 < monlovesmango> whats the trade off for 1? 09:42 < monlovesmango> I assume theres also some duplicative processing? since earlier it was said that you need to process the package to figure out fee rate 09:43 < abubakarsadiq> I don't about that, but quoting from the PR discussion there is concern about not being extensible to chunk feerate 09:43 < monlovesmango> what is chunk feerate? 09:44 < abubakarsadiq> Sorry the tradeoff I was talking about is for 1 you are right @monlovesmango 09:45 < monlovesmango> no worries! 09:45 < monlovesmango> but then my question is what is the trade off for 2? haha 09:45 < monlovesmango> sorry I really need to start digging into code more. 09:45 < abubakarsadiq> Given a cluster of transactions, you linearize it to chunks (the chunk fee rate is the mining score of each chunk) 09:46 < monlovesmango> gotcha 09:47 < monlovesmango> is trade off for 2 similar to 1? I guess I don't understand enough to really differentiate between 1 and 2, since both perform maxfeerate check prior to package processing 09:47 < abubakarsadiq> https://delvingbitcoin.org/t/cluster-mempool-definitions-theory/202 I find this also helpful 09:48 < monlovesmango> OHH so this is related to cluster pool that vmammal mentioned 09:48 < monlovesmango> thank you 09:51 < vmammal> still in early stages from what i can tell 09:51 < monlovesmango> and gloria already thinking ahead, impressive 09:52 < vmammal> in `test/functional/rpc_packages.py`, under "relax restrictions.. parent gets through", I was wondering what happened to the child tx. But I think I answered my own question - the child IsUnspendable? 09:54 < abubakarsadiq> So If i understand this correctly the tradeoff is that in the future when we have cluster mempool we will like to check `maxfeerate` against chunk fee rate not individual fee rate. 09:54 < abubakarsadiq> The approach is suggesting we create a helper function that calculate the fee rate of all the package transactions and their sizes and we `maxfeerate` against individual txs fee rate early before package processing. 09:54 < abubakarsadiq> But when we have cluster mempool, we would like to switch to checking `maxfeerate` against the chunk fee rate, which means this approach is not extensible to that, we have to update and check after the package is linearized and we got the chunk fee rate. 09:56 < monlovesmango> ah ok that makes sense 09:56 < monlovesmango> really appreciate the level of detail! 09:59 < abubakarsadiq> #endmeeting 09:59 < monlovesmango> thank you for leading the meeting abubakarsadiq! 09:59 < abubakarsadiq> thanks for attending and sticking to the end @vmammal and @monlovesmango 10:00 < vmammal> cheers 10:03 -!- Guest60 [~Guest42@212.129.86.73] has quit [Quit: Client closed] 10:04 -!- monlovesmango [monlovesma@gateway/vpn/protonvpn/monlovesmango] has quit [] 10:08 -!- Talkless [~Talkless@mail.dargis.net] has joined #bitcoin-core-pr-reviews 10:25 -!- vmammal [~vmammal@107.181.222.132] has quit [Quit: Client closed] 11:10 -!- kevkevin_ [~kevkevin@2601:241:8703:7b30:c17d:def7:5d46:60cf] has quit [Ping timeout: 260 seconds] 11:14 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:d5e8:4f29:c08e:8b56] has quit [Ping timeout: 272 seconds] 11:27 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:204e:8861:5422:c982] has joined #bitcoin-core-pr-reviews 11:41 -!- Talkless [~Talkless@mail.dargis.net] has quit [Ping timeout: 272 seconds] 11:55 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:204e:8861:5422:c982] has quit [Ping timeout: 256 seconds] 12:42 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:204e:8861:5422:c982] has joined #bitcoin-core-pr-reviews 12:49 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:204e:8861:5422:c982] has quit [Ping timeout: 264 seconds] 13:20 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:204e:8861:5422:c982] has joined #bitcoin-core-pr-reviews 13:29 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:204e:8861:5422:c982] has quit [Ping timeout: 268 seconds] 14:00 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:204e:8861:5422:c982] has joined #bitcoin-core-pr-reviews 14:05 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:204e:8861:5422:c982] has quit [Ping timeout: 272 seconds] 14:18 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:204e:8861:5422:c982] has joined #bitcoin-core-pr-reviews 14:23 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:204e:8861:5422:c982] has quit [Ping timeout: 268 seconds] 14:55 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:204e:8861:5422:c982] has joined #bitcoin-core-pr-reviews 15:01 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:204e:8861:5422:c982] has quit [Ping timeout: 246 seconds] 15:24 -!- abubakarsadiq [uid602234@id-602234.hampstead.irccloud.com] has quit [Quit: Connection closed for inactivity] 15:33 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:204e:8861:5422:c982] has joined #bitcoin-core-pr-reviews 15:38 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:204e:8861:5422:c982] has quit [Ping timeout: 272 seconds] 15:53 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:204e:8861:5422:c982] has joined #bitcoin-core-pr-reviews 15:58 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:204e:8861:5422:c982] has quit [Ping timeout: 255 seconds] 16:11 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:204e:8861:5422:c982] has joined #bitcoin-core-pr-reviews 16:16 -!- the_mariner [~Thunderbi@2804:7f7:e18e:3341:204e:8861:5422:c982] has quit [Ping timeout: 276 seconds] 17:14 -!- jess [meow@libera/staff/cat/jess] has quit [] 17:39 -!- the_mariner [~Thunderbi@177.207.52.39.dynamic.adsl.gvt.net.br] has joined #bitcoin-core-pr-reviews 17:45 -!- the_mariner [~Thunderbi@177.207.52.39.dynamic.adsl.gvt.net.br] has quit [Ping timeout: 260 seconds] 18:58 -!- jonatack [~jonatack@user/jonatack] has quit [Ping timeout: 272 seconds] 19:00 -!- jonatack [~jonatack@user/jonatack] has joined #bitcoin-core-pr-reviews --- Log closed Fri Feb 09 00:00:54 2024