--- Log opened Wed Feb 05 00:00:30 2020 00:12 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has quit [Quit: jonatack] 01:04 -!- jonatack [~jon@109.232.227.138] has joined #bitmetas 02:46 -!- jonatack [~jon@109.232.227.138] has quit [Ping timeout: 272 seconds] 03:17 -!- sipa [~pw@gateway/tor-sasl/sipa1024] has quit [Read error: Connection reset by peer] 03:22 -!- sipa [~pw@gateway/tor-sasl/sipa1024] has joined #bitmetas 03:43 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has joined #bitmetas 05:35 < real_or_random> sipa: can you change your the default github branch on sipa/bips to bip-taproot 05:36 < real_or_random> it's currently at bip-schnorr which has the old versions without numbers, that was pretty confusing for me 08:43 < sipa> ah yes 11:19 < jeremyrubin> sipa: interested to get your thoughts on https://github.com/bitcoin/bitcoin/pull/18071. It came up because I was looking at merging CTV and Taproot for a testnet with Kalle. 11:20 < jeremyrubin> CTV's implementation is tiny compared to Taproot so I'm happy to shoulder rebasing effort as needed 11:25 < jeremyrubin> I 'spose I can re-modularize so that the StandardTemplateHash is exposed through script/interpreter.h & script/sign.h 11:26 < sipa> jeremyrubin: the only concern i have is that i don't think signature hashes belong in primitives/* 11:26 < jeremyrubin> It just seemed to me these were better placed in primitives/transaction.h, but if it causes a rebase for you then it's probably less worth it? 11:26 < jeremyrubin> Ah yeah I guess I kind of felt that they do belong there 11:26 < sipa> (as primitives/* is used by literally every piece of code that interacts with transactions, and most don't care about signature hashing( 11:27 < sipa> i've long fought keeping complexity out of primitives, so that may be a very personal opinion :) 11:27 < jeremyrubin> That's fair -- my interpretation was that primitives should contain things like standard serializations 11:27 < jeremyrubin> Which I interpret these hash fragments to be 11:27 < sipa> *fought to keep 11:29 < sipa> i feel bad about primitives/* having cached hashes for example, but moving them elsewhere is too hard 11:31 < jeremyrubin> Ok -- I don't care that much so I can refactor to not move the stuff there (I did it only because I though it would be gauche to include interpreter.h from rpcwallet if StandardTemplateHash is defined there) 11:31 < jeremyrubin> The one I feel epsilon more strongly about is renaming the symbols for the hash fragments 11:32 < sipa> no objection there 11:32 < jeremyrubin> I think it's fine as they are not exported in the headers as is 11:32 < jeremyrubin> So someone couldn't be linking against them today 11:32 < sipa> we don't support linking external stuff, this is not a concern 11:32 < jeremyrubin> But I think just as good hygeine if we change the output of something like that we should change the name 11:33 < sipa> yeah that's a good principle 11:33 < jeremyrubin> sipa: well for stuff like primitives/transaction we would be 11:33 < sipa> jeremyrubin: ? 11:33 < jeremyrubin> Doesn't libconsensus expose that stuff? 11:33 < sipa> no 11:33 < sipa> libconsensus only exposes a C interface 11:33 < jeremyrubin> Ah ok 11:35 < jeremyrubin> Do you have a sentiment about having Rehash vs SHA256Uint256? I didn't think that it was worth making a new thing in hash.h for it, but I'm otherwise indifferent 11:35 < jeremyrubin> I think that's the last point then I can prepare a standalone PR 11:35 < sipa> someone commented that Rehash was unclear; SHA256Uint256 seems like a better name as it says exactly what it does 11:36 < sipa> no strong opinion on where it goes 11:36 < jeremyrubin> Ah I don't care about the name; just where it goes 11:36 < sipa> hash.h has other shortcut constructions for hashing common things 11:36 < sipa> so it seems appropriate 11:38 < jeremyrubin> Ok then I'll put it there as in taproot. Do you think the implementations will optimize to the same thing or do you think that one is epsilon better? 11:38 < sipa> which implementations? 11:39 < jeremyrubin> So if you look at RehashSHA256 it doesn't use a temporary buffer 11:39 < jeremyrubin> CSHA256().Write(hash.begin(), 32).Finalize(hash.begin()); 11:41 < sipa> i have no opinion on that 11:41 < sipa> i don't think it's a meaningful opimization, but if that makes things easier to use, sure 11:42 < jeremyrubin> ok I'll prepare some changes 11:44 < jeremyrubin> Do you want me to also add some of the other "obvious" stuff for this to decrease taproot PR size like taggedhash and GetSpentAmountsHash? 11:45 < jeremyrubin> Or prefer leaving those? 11:45 < sipa> we shouldn't expect something like tagged hashes to be merged in the code until it's clear something using them will be pursued 11:47 < jeremyrubin> I agree 11:47 < jeremyrubin> Also is there something funky with rebasing taproot on master? 11:48 < sipa> it has a secp256k1 subtree update; those are messy to rebase 11:48 < jeremyrubin> I noticed that CTV was on a fresher head than taproot which made it messier to merge them 11:48 < jeremyrubin> Ah I see 11:49 < jeremyrubin> I'll just prepare these changes against taproot~19 13:16 < jeremyrubin> OK I think https://github.com/bitcoin/bitcoin/pull/18071 is done. 13:16 < jeremyrubin> I'm not sure how to make that rebase easier on taproot, but the merge is relatively simple 13:17 < jeremyrubin> So I think there must be some git operation that handles it gracefully 15:34 < real_or_random> I'm still struggling with (xonly vs "normal" pubkeys) and (EC points vs byte arrays), trying to get a clean model of it in my mind. 15:35 < sipa> real_or_random: yeah, me too 15:35 < real_or_random> I mean it's not that I don't understand what's going on but I feel there's something wrong if the first thing we do in libsecp256k1 is deviate from the BIP 15:36 < real_or_random> even if it's just about abstraction and the way of looking at things 15:48 < real_or_random> nickler's gist is very helpful here btw 16:16 -!- schmidty_ [sid297174@gateway/web/irccloud.com/x-frphjgyxoixiqfhi] has joined #bitmetas 16:21 -!- schmidty [sid297174@gateway/web/irccloud.com/x-leoutwfanhfvmiqd] has quit [Read error: Connection reset by peer] 16:21 -!- schmidty_ is now known as schmidty 16:25 -!- elichai2 [sid212594@gateway/web/irccloud.com/x-jultoaphqsxqsecj] has quit [Read error: Connection reset by peer] 16:26 -!- elichai2 [sid212594@gateway/web/irccloud.com/x-cbgzncrypihcnuzr] has joined #bitmetas 16:30 -!- real_or_random [~real_or_r@173.249.7.254] has quit [Quit: ZNC 1.7.5 - https://znc.in] 16:30 -!- real_or_random [~real_or_r@173.249.7.254] has joined #bitmetas 21:14 -!- sipa [~pw@gateway/tor-sasl/sipa1024] has quit [Ping timeout: 240 seconds] 21:16 -!- sipa [~pw@gateway/tor-sasl/sipa1024] has joined #bitmetas --- Log closed Thu Feb 06 00:00:31 2020