--- Day changed Mon Sep 02 2019 00:54 -!- l0rdquasi [49e76bcd@c-73-231-107-205.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 06:23 -!- Mandy29Balistrer [~Mandy29Ba@ns334669.ip-5-196-64.eu] has quit [Ping timeout: 258 seconds] 06:34 -!- MaxSan [~four@195.206.105.227] has joined #joinmarket 08:22 < arubi> waxwing, I thought about an edge case in the tweak derivation process. if a proposer with multiple same-address reuses does more than one snicker with a receiver who has multiple same-address reuses himself, then the receiver's tweaked output pubkey will be a re-used address in itself. 08:22 < arubi> maybe the tweak could be "ecdh(proposer,receiver) + sha256(receiver_utxo)", where utxo here is the txid and output index that the receiver will be using for this CJ.. 08:30 -!- jdm [~jdm@unaffiliated/user1138] has quit [Quit: Quitting.] 08:32 -!- jdm [~jdm@unaffiliated/user1138] has joined #joinmarket 08:46 < arubi> re. spam discussion ^, so we want the proposer to prove to the BB (bulletin board) that they own a utxo as a means of rate limiting (say a utxo proof can be used to post up to 100 proposals), then would it be enough for the proposer to sign something like '||hash(encrypted_psbt)' ? 08:46 < arubi> the BB will need to be able to figure out if the pubkey used in this signature is in fact authorized to spend the utxo though. 08:47 < arubi> not that I'm completely against plaintext proposals on the BB.. really I think that harding's point about "... that means someone with 1/100th or 1/1000th of all utxos eligible ..." makes a lot of sense. 09:12 < harding> arubi: if the psbts are unencrypted, figuring out if a signature is authorized to spend a particular utxo should be easy. (1) ensure the psbt refers to an actual utxo, e.g. using Bitcoin Core RPC utxoupdatepsbt (2) ensure the input spending that UTXO is finalized, e.g. using RPC analyzepsbt. If it's just sign '||hash(encrypted_psbt)' then I think you want something like BIP322 which has an 09:12 < harding> open PR in Bitcoin Core by Kalle Alm. 09:16 < arubi> yep definitely if you have the whole psbt then it's easy 09:17 < arubi> gonna take a look at bip322. I'm too long behind on all the recent improvements :) 09:24 < waxwing> arubi, good call on ecdh and duplication. your suggested fix: might it make more sense to tie it to both (or all) input utxos? general concept, makes sense to me, i think libsecp could support it via custom hash fn (can check later) 09:24 < waxwing> we could even go the whole hog and tie it to the entire tx (psbt) except the output we're creating (that would be a circular dependency) 09:26 < arubi> cool. the reason I think the receiver's utxo is enough is because it's a single-use thingy, so there's no way to accidentally re-use a tweak (on chain). tying it to the rest of the psbt means that if we do what belcher suggested with increasing fees, the output pubkey will be different each time 09:28 < arubi> but yea there's no harm in tying it to the rest of the other utxos in the proposal really, and just as easy 09:35 < qubenix> 09:35 < CgRelayBot> [cgan/AlexCato] JM error on reddit: "Failed to get change address": https://old.reddit.com/r/joinmarket/comments/cyqb6a/failed_to_get_change_address/ . Anyone got an idea? I looked at the code around this error, but no potential reason comes to my mind 09:36 < CgRelayBot> [cgan/AlexCato] this is the error LoC: https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/jmclient/jmclient/taker.py#L283 09:40 < CgRelayBot> [cgan/AlexCato] first idea was that maybe the RPC connection to bitcoin core broke, but then a taker shouldnt start up at all 09:43 < arubi> AlexCato I'm wondering if other calls that make use of the bci work. maybe the new internal address is not being imported into the core successfully? just a shot in the dark 09:44 < arubi> specifically calls that interface with the wallet and such. sorry I'm unable to reply on the reddit thread.. 10:04 < waxwing> yes it's probably an import failure. in the past that happened when people tried to import addresses to their Core wallet that were already in the wallet with the default label/account. 10:05 < waxwing> wallet.py line 433 to 440 10:43 < kristapsk> waxwing, did you saw this? https://old.reddit.com/r/joinmarket/comments/cyqb6a/failed_to_get_change_address/ 10:43 < kristapsk> looks to me something that could have been introduced with #359 10:44 < CgRelayBot> [cgan/AlexCato] kristapsk, this is benig discussed a few lines direclty above you 10:44 < CgRelayBot> [cgan/AlexCato] and #359 isnt merged, in this specific case ,it's not it 10:46 < kristapsk> AlexCato, right, yes, #379, which is subset of #359, was merged 10:48 < kristapsk> hmmm, it seems that I have some test runs in my laptop (with empty wallet likely), where there is this error in logs 10:48 < kristapsk> from Aug 18, so with that code changes in it, likely 10:53 < kristapsk> ahhh, no, that's from tests (which itself passes) 11:52 < waxwing> if it's an import error, it wouldn't actually matter if that code was merged or not, that would just change where the import occurs (it always occurs when we grab coinjoin and change addresses for a new join) 12:07 < kristapsk> yes, I just checked with v0.5.4 (+ #352, because I have bitcoind v0.18), that error in logs after running tests is there too, so is not related likely 12:22 -!- reallll [~belcher@unaffiliated/belcher] has joined #joinmarket 12:25 -!- belcher [~belcher@unaffiliated/belcher] has quit [Ping timeout: 244 seconds] 12:35 < CgRelayBot> [cgan/AlexCato] so, if it indeed is this: 12:35 < CgRelayBot> [cgan/AlexCato] [Freenode/waxwing] yes it's probably an import failure. in the past that happened when people tried to import addresses to their Core wallet that were already in the wallet with the default label/account. 12:35 < CgRelayBot> [cgan/AlexCato] what can he do? 12:36 < waxwing> hmm. this is one of those cases where we really should have not just swallowed the exception but printed out what it was. 13:04 < waxwing> some thoughts / questions on it; i think saying import error is 'probable' (as i did above) is wrong, feel like network/rpc is more likely. 13:04 < waxwing> https://old.reddit.com/r/joinmarket/comments/cyqb6a/failed_to_get_change_address/ 13:04 < waxwing> sorry meant https://old.reddit.com/r/joinmarket/comments/cyqb6a/failed_to_get_change_address/eyu73b8/ 13:05 < waxwing> uh just a sec, wrong account :) 13:11 < waxwing> there you go https://old.reddit.com/r/joinmarket/comments/cyqb6a/failed_to_get_change_address/eyu7p5x/ 13:29 < waxwing> kristapsk, oh dammit we screwed up; from a fresh install and running `python joinmarket-qt.py` we get: Traceback (most recent call last): 13:29 < waxwing> File "joinmarket-qt.py", line 1516, in selectWallet 13:29 < waxwing> self.loadWalletFromBlockchain(firstarg, pwd, restart_cb) 13:29 < waxwing> NameError: name 'restart_cb' is not defined 13:29 < waxwing> well i say 'we' only because i know this PR came from you, it could well be my fault :) 13:30 < waxwing> so i mean i remember testing this, i don't understand how i missed it ... 13:35 < kristapsk> waxwing, hmmm, fuck, will check it, I kinda tested it too, but maybe didn't test completely fresh install 13:36 < kristapsk> but I should have been grep'ed for "restart_cb"... 13:39 < kristapsk> waxwing, ahh, right - it happens only on regtest 13:39 < kristapsk> I didn't test regtest :( 13:40 < kristapsk> so, needs to be fixed, but not so critical for end users, probably 13:43 < waxwing> oh! 13:43 < waxwing> that makes sense. 13:44 < kristapsk> it was this commit from April - https://github.com/JoinMarket-Org/joinmarket-clientserver/commit/22467f436a5f5d8a4a0f3bed52c97caf2b38e3f9 13:45 < waxwing> yes i remember. like you say it's nbd if regtest. was trying to reproduce this: someone said that when they funded a wallet in Qt the funds didn't show up, specifically the funded address *disappeared*, even after multiple restarts of Qt. 13:46 < waxwing> i need to repro that before saying more, but i failed (see above, regtest didn't work). 13:46 < waxwing> and i'm going on a trip for 2 days starting tomorrow, run out of time to do it. 13:47 < kristapsk> well, as I fucked this up (although it was bugfix for different issue), will fix, but I need to first setup regtest environment to test properly before / after 13:48 < kristapsk> waxwing, but probably fast fix for testing other stuff would be to try revert #356 and #342 14:09 < kristapsk> here's another GUI issue - https://github.com/JoinMarket-Org/joinmarket-clientserver/issues/389 14:19 -!- azizLIGHT [~azizLIGHT@unaffiliated/azizlight] has joined #joinmarket 14:40 -!- arubi [~ese168@gateway/tor-sasl/ese168] has quit [Ping timeout: 260 seconds] 14:52 -!- reallll is now known as belcher 15:16 < waxwing> yeah that's the one i was referring to above. thanks for the ping. 15:20 < kristapsk> well, but at least Jameson Lopp is testing JM, it's not a bad thing :) 15:22 < kristapsk> guess I will also try to figure out how to improve TESTING.md, it's currently not in state like Ctrl+F and then copy/paste, you really need to read that doc, but I don't think it should be that way to simply run tests 15:23 < kristapsk> with non-qt tests, just ./test/run_tests.sh simply works (which isn't actually mentioned there) 17:07 -!- CgRelayBot [~CgRelayBo@p5DE4AB06.dip0.t-ipconnect.de] has quit [Ping timeout: 258 seconds] 17:07 -!- AgoraRelay [~jmrelayfn@p5DE4AB06.dip0.t-ipconnect.de] has quit [Ping timeout: 245 seconds] 17:19 -!- CgRelayBot [~CgRelayBo@p5DE4ACED.dip0.t-ipconnect.de] has joined #joinmarket 17:20 -!- AgoraRelay [~jmrelayfn@p5DE4ACED.dip0.t-ipconnect.de] has joined #joinmarket 20:20 -!- arubi [~ese168@gateway/tor-sasl/ese168] has joined #joinmarket 20:57 -!- technonerd [~techno@gateway/tor-sasl/technonerd] has quit [Ping timeout: 260 seconds] 21:01 -!- technonerd [~techno@gateway/tor-sasl/technonerd] has joined #joinmarket