--- Day changed Thu Jan 03 2019 01:42 -!- asymptotically [~asymptoti@gateway/tor-sasl/asymptotically] has joined #joinmarket 01:55 -!- undeath [~undeath@hashcat/team/undeath] has joined #joinmarket 02:05 -!- asdfasdf [598510c5@gateway/web/freenode/ip.89.133.16.197] has joined #joinmarket 02:05 -!- asdfasdf [598510c5@gateway/web/freenode/ip.89.133.16.197] has quit [Client Quit] 02:09 -!- d3spwn [53a19dc8@gateway/web/freenode/ip.83.161.157.200] has joined #joinmarket 02:10 < d3spwn> has anyone confirmed the two-factor wallet generated by jm is compatible with trezor? 03:26 < waxwing> hmm 'two factor' good point; when i tested it ages ago, i did it with just 12 words no extension (i can't remember but i think belcher you added that mnem. extension code *after* that). haven't tested it since. 03:27 < waxwing> worth noting that we actually use trezor's own mnemonic package :) 03:50 < belcher_> using the extension word was already a routine in the bip39 package we used, so if trezor does it the standard way then it should work, but i havent tested 03:51 < belcher_> i could try with electrum, since that can import bip39 keys apparently 04:12 < d3spwn> i have an unused trezor so i'll just test it out i guess 04:12 < d3spwn> trezor cant handle my current jm wallet anymore. some mixdepths show as empty. i'm assuming a gap limit issue 04:26 -!- d3spwn [53a19dc8@gateway/web/freenode/ip.83.161.157.200] has quit [Ping timeout: 256 seconds] 04:28 -!- d3spwn [53a19dc8@gateway/web/freenode/ip.83.161.157.200] has joined #joinmarket 04:40 < d3spwn> i made a new wallet, both jm and trezor come up with the same address for m/49'/0'/1'/0/0 04:43 < waxwing> d3spwn, yes it sounds right/in line with my experience about a year ago. wrt gap limit, i guess it's unconfigurable so it'll fail with a heavily used wallet. 04:44 < waxwing> JM has a unique challenge in this regard, because we are constantly trying to arrange transactions with flaky/untrusted counterparties, we *have* to ditch the addresses that we tried to do joins with, but failed. 04:44 < waxwing> well that and also just the fact that we have wallets with a *large* number of transactions; but it's the former point that's more important. 04:46 < waxwing> of course, we have the same problem within JM if you recreate a wallet from seed. i guess best practice is not to use one JM for too long but ... i don't think there's a simple statement you can make. it's just more difficult than ordinary wallets. 04:46 < waxwing> (we have same problem but you can ofc just reset gap limit. i remember old versions of electrum you had a setting in the gui for gaplimit, i wonder if it's still there) 04:48 < waxwing> one direct send sweep per mixdepth to an outside wallet is another possibility, but certainly from-seed is a more convenient user experience, in certain contexts. 04:52 < d3spwn> yeah i understand. it's too bad trezor doesn't allow you to set a custom gap limit 04:53 < d3spwn> i suppose i have to review my inheritance plan now lol 04:54 < waxwing> d3spwn, it's also important to remember that with the standard trezor app, it's bad privacy practice to do this 04:55 < waxwing> since they ping a server and you'll link all your jm addresses 04:55 < waxwing> so i was a bit ho-hum about advertising this 'feature' when we added it :) 04:56 < waxwing> sweeps mixdepth-by-mixdepth will preserve isolation of the mixdepths 04:57 < d3spwn> i understand, but i only use the trezor to make sure people can access my wallet when i'm not around anymore 04:58 < d3spwn> but if you run a maker, you'd probably have to migrate to a new wallet every 6 months or so 04:59 < waxwing> well, on the assumption that they can't be expected to use anything more technical than a trezor interface (or similar) i think the only thing i can come up with is a regular encrypted backup of the output of -p to wallet tool, i.e. the list of all the active private keys. it's quite an icky thing to do though. 05:02 < waxwing> or just write instructions like (taken encrypted jmdat, linux, install jm, ./install.sh, source venv, cd scripts, python wallet-tool) 05:03 < waxwing> i realise that's not the desired answer :) 05:03 < waxwing> another: electrum, enter the account string for each mixdepth, load with configurable gap limit set high (20+) 05:05 < d3spwn> yeah, there are many options. the trezor was just such an eligant one. 05:05 < waxwing> well ... if you have a trezor and it isn't supply-chain-attacked yeah :) 05:06 < waxwing> maybe ask them about gap limit. 05:07 < d3spwn> "We won't be changing the gap limit, because it increased the server requirements. As you mentioned, workaround is to use Electrum. Another good fix would be if BTCpay started to fill in the unused addresses after some time." 05:07 < d3spwn> https://github.com/satoshilabs/trezor.io/issues/41 05:07 < waxwing> heh, yeah, makes sense that nobody notices our use case for gaps ... 05:08 < waxwing> but really even if they did, it's a big pain. 05:09 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] are the gaps still a real problem? It's been a very, very long time since I've seen more than one failed join attempt in a row 05:10 < waxwing> i still see the occasional short burst i think 05:10 < waxwing> or ... hmmm. anyway it's very low compared to the old days. 05:12 < d3spwn> i think i'll start working on "setting up joinmarket for dummies" :) 05:13 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] but agreed, cant rely on this. I've left instructions in a safe how to recover JM wallet funds if I pass... with an "ask these guys on IRC if in doubt" addition. Though, now that I think about it, this was the old 0.2 JM days, surely needs updating with all the recent changes 05:14 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] joinmarket for dummies is needed either way, not just in worst cases. Though that already works reasonably well imho. Just command line for guys who even have problems using windows might prove challenging 05:14 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] but no manual is gonna help with that, really 05:15 < d3spwn> at least jm works on windows 05:17 -!- GitHub113 [GitHub113@gateway/service/github.com/x-nriytgmonuliiiih] has joined #joinmarket 05:17 < GitHub113> [joinmarket-clientserver] qubenix opened pull request #278: add help menu to install.sh (master...install.sh-menu) https://git.io/fhm5l 05:17 -!- GitHub113 [GitHub113@gateway/service/github.com/x-nriytgmonuliiiih] has left #joinmarket [] 05:33 < waxwing> d3spwn, works on windows? that seems ... unlikely :) 05:34 < waxwing> it sorta kinda did, about 2 years ago ... 05:37 < d3spwn> not sure if you're serious, but it works just fine on windows 10 05:38 < d3spwn> within the windows subsytem for linux ofcourse, but thats fairly easy to set up 05:39 < d3spwn> and jm can communicate with a windows version of the bitcoin core client 05:40 < waxwing> right, linux-on-windows, knew i'd forgotten something. 05:40 < waxwing> oh. interesting point re: Core. yes i'm not up to date on that new linuxy feature. 05:40 < undeath> are you talking about qt or is there any reason the cli wouldn't work on windows? 05:41 < waxwing> undeath, but how would you install it? hmm. maybe coincurve made it easier; there's also libnacl to worry about/libsodium. 05:41 < undeath> coincurve has binary wheels for windows 05:41 < waxwing> i mean i presume all the twisted stuff would be ok, but the above two libraries were big pain points to begin with. 05:42 < undeath> that should include libnacl and libsodium 05:42 < waxwing> yes coincurve has fixed that. but coincurve is not related to libsodium 05:42 < waxwing> libsodium is djb curve25519 type stuff. 05:42 < undeath> oh, is that a different import/package? 05:42 < waxwing> well chacha and poly-whatever 05:43 < waxwing> yes it's for end to end encryption (well; that's the only function of it that we use) with authentication. i chose it because it was kind of "the standard" for such things. 05:45 < waxwing> if you could plug and play a libsodium dll, i would be surprised but not amazed if you could get the whole thing to work fine on windows command line. my experience doing that before suggests to me, probably not. 05:45 < waxwing> but i guess this is all academic with that linuxy thing they have now, assuming that's easy to access. you'd just do that. 05:47 < undeath> yes, indeed, libnacl doesn't seem to care about windows 05:47 < undeath> found no references anywhere in their repo 05:48 < undeath> https://github.com/saltstack/libnacl/issues/108 05:48 < undeath> seems to be supported but not trivial to install 05:49 < waxwing> yeah there's an old page on the wiki that went through the torturous details of how to install the dependencies. 05:50 < waxwing> it was hellish. there were just too many thing that were annoying. although i may conflate the old secp256k1 stuff with the libnacl/libsodium stuff, but they were both a problem. 05:50 < d3spwn> are you still talking about installing jm on windows? 05:50 < waxwing> oh sorry, yes. but i'm more talking about the past, not the present. 05:52 < waxwing> d3spwn, to state the obvious, re: i think i'll start working on "setting up joinmarket for dummies" :) <-- that could be very useful if you want to contribute something. 05:52 < waxwing> i made a note yesterday here "a lot of docs are out of date". but i'm not doing anything about that in the next few weeks, myself, probably. 05:55 < belcher> we already knew this, but "mixdepth" is a bad name for what that thing is 05:56 < d3spwn> it would be a guide on how to access a jm wallet on a windows machine and it would be in my own language, but if its usefull i could translate it 05:57 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] will do. Barely log in these days, usually just when the JM reddit requires an answer, which hasnt happened in a while 05:57 < belcher> sounds good d3spwn, which language out of interest? 05:57 < d3spwn> dutch 06:21 -!- d3spwn_ [53a19dc8@gateway/web/freenode/ip.83.161.157.200] has joined #joinmarket 06:22 -!- d3spwn [53a19dc8@gateway/web/freenode/ip.83.161.157.200] has quit [Ping timeout: 256 seconds] 06:52 -!- nothingmuch [~user@62.102.148.164] has joined #joinmarket 06:54 -!- asymptotically [~asymptoti@gateway/tor-sasl/asymptotically] has quit [Remote host closed the connection] 07:10 -!- asymptotically [~asymptoti@gateway/tor-sasl/asymptotically] has joined #joinmarket 08:17 < qubenix> who is supposed to click the 'resolve conversation' button on a pr? 08:18 < belcher> anyone can click it, i think it also resolves itself if that line of code is edited 08:20 < qubenix> didn't resolve itself here, and i'm not sure if i'm expected to click it now: https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/278 08:21 < belcher> i think you can click the button yourself since it looks liek you answered his point/question 08:21 < qubenix> ok, thanks. 08:21 < belcher> on a bitcoin core PR i did someone asked me to do something and i replied at why it was a bad idea, then clicked "resolve conversation" myself, it seemed to work 08:22 < belcher> though joinmarket has a way less structured method of doing PRs i guess 08:22 < belcher> the "resolve conversation" is a tool that the github website has which we can use, or not 09:36 -!- d3spwn_ [53a19dc8@gateway/web/freenode/ip.83.161.157.200] has quit [Quit: Page closed] 10:57 -!- d3spwn [~jimmy@a83-161-157-200.adsl.xs4all.nl] has joined #joinmarket 13:57 < waxwing> apart from locktime, what about sequence number? it's usually just ff.. (max) for most txs right, or is there some general usage i don't know about. 13:58 < arubi> core has it at 2**32-3 by default afaik, at least for wallet txs 13:58 < arubi> like, default rbf I mean 13:58 < arubi> also, if you set maxint at sequence then I think that nlocktime is ignored 13:59 < arubi> I mean, as in bip65 rules nlocktime 14:00 < arubi> so wallets would probably be setting at least maxint-1 if they set nlocktime, and most probably set maxint-2 for rbf support. sorry for multiple newlines, I'm jumping between two desktops :) 14:00 < waxwing> arubi, doh yeah i forgot 14:00 < waxwing> i'm just re-opening my coinswap code and going through it. 14:01 < arubi> nice 14:01 < waxwing> no, i mean, i'm reopening it to remind myself of this stuff so i can do it in the payjoin thing. it's mostly finished now in CLI form, but need these anon set things to be right. 14:02 < waxwing> well "need" 14:02 < arubi> yep understood :) 14:02 < waxwing> hmm "mostly finished" does not include the tests, which are going to be quite substantial here. 14:07 < waxwing> belcher, arubi just in case you didn't see the last post (i've coded it now): https://gist.github.com/AdamISZ/4551b947789d3216bacfcb7af25e029e#gistcomment-2799709 14:09 < arubi> ooh nice. I was planning on calling it a day but now I wanna make another cup of coffee and read :) brb 14:14 < waxwing> hmm, i see, so if i *don't* want rbf, i should use 0xfff.. -1, but .. if i want Core's anon set i must use 0xfff.. -2 .. because as you say, they have rbf by default 14:14 < waxwing> is that about right? 14:18 < waxwing> https://p2sh.info/dashboard/db/replace-by-fee?orgId=1 seems to say only 5%, interesting. 14:24 < arubi> waxwing, actually I'm looking at bitcoind man page now and it says that walletrbf default is disabled 14:24 < arubi> I guess I was so used to it because I have walletrbf=1 in my .confs everywhere 14:24 < waxwing> ok; makes sense; given 5% i'm tempted to just not use it then. 14:26 < arubi> yea core's wallet.h also says "DEFAULT_WALLET_RBF = false" (in case the manpage was obsolete). yep just maxint-1 seems to be the way to go 14:27 < waxwing> got it, thanks 14:53 -!- M1 [~Michail@michail.com] has quit [Ping timeout: 246 seconds] 15:04 -!- asymptotically [~asymptoti@gateway/tor-sasl/asymptotically] has quit [Quit: Leaving] 15:12 -!- undeath [~undeath@hashcat/team/undeath] has quit [Quit: WeeChat 2.3] 16:07 -!- M1 [~Michail@michail.com] has joined #joinmarket 17:08 < belcher> you could also do if(random() < 5%) {use_rbf();} else {dont_use_rbf();} 17:09 < belcher> so if the proportion changes one day its easy to adjust, but maybe its not worth it 17:09 < belcher> hmm, but it would be good to avoid the effect where if a tx uses rbf then it is certainly not a payjoin.... using this randomness means even txes with rbf get some privacy 17:20 < belcher> its late here but ill look at the maths in your gist comment again tomorrow 17:49 -!- AgoraRelay [~jmrelayfn@p5DE4AC4F.dip0.t-ipconnect.de] has quit [Ping timeout: 272 seconds] 18:05 -!- AgoraRelay [~jmrelayfn@p5DE4AAE5.dip0.t-ipconnect.de] has joined #joinmarket 20:00 -!- grubles [~grubles@unaffiliated/grubles] has quit [Ping timeout: 245 seconds] 20:00 -!- grubles_ [~grubles@unaffiliated/grubles] has joined #joinmarket 20:17 -!- grubles_ is now known as grubles 21:26 < d3spwn> is '[MainThread ] [WARNI] Connection had broken pipe, attempting reconnect.' anything to worry about? 21:26 -!- grubles_ [~grubles@unaffiliated/grubles] has joined #joinmarket 21:28 -!- grubles [~grubles@unaffiliated/grubles] has quit [Ping timeout: 250 seconds] 21:42 -!- grubles [~grubles@unaffiliated/grubles] has joined #joinmarket 21:44 -!- grubles_ [~grubles@unaffiliated/grubles] has quit [Ping timeout: 240 seconds]