--- Day changed Fri Mar 01 2019 00:03 -!- Cory [Cory@unaffiliated/cory] has quit [Ping timeout: 245 seconds] 00:09 -!- Pasha [Cory@unaffiliated/cory] has joined #joinmarket 00:12 -!- Pasha is now known as Cory 01:40 -!- undeath [~undeath@hashcat/team/undeath] has joined #joinmarket 03:37 -!- azizLIGHT [~azizLIGHT@unaffiliated/azizlight] has quit [Ping timeout: 250 seconds] 03:50 < undeath> the github bot seems to be broken 03:58 < belcher> they're phasing it out apparently :z 03:58 < waxwing> yeah it's gone as of sometime ~ start of feb 03:58 < waxwing> if someone could look into replicating what Core did (some custom bot or something?) would be appreciated 03:59 < waxwing> undeath, if you're around next few days maybe i can pick your brains about #236 ... last time i looked at it, i just didn't get how it all works, maybe you can help me. 04:01 < undeath> #236 basically wraps all twisted commands jm is using and catches all exceptions that fire during their execution 04:02 < waxwing> yes. perhaps what i really didn't understand is why they weren't being caught before. i remember trying to do it. i suspect you know which code chunk i mean. 04:02 < undeath> yes, I'm not quite sure about it myself right now, it's been a while since I looked into it 04:03 < waxwing> yeah. i'll read again more closely probably tomorrow or the next day. was just checking whether you were going to be around undeath 04:03 < undeath> the gist was I think that the way jm uses twisted there is no native twisted way to catch such exceptions 04:03 < undeath> with command responders 04:04 < undeath> I may be on or off the next days, can't tell for sure 04:08 < waxwing> ok, no worries. 04:16 -!- azizLIGHT [~azizLIGHT@unaffiliated/azizlight] has joined #joinmarket 04:17 < waxwing> undeath, i'd appreciate you reviewing the entropy code. belcher do you have any thoughts on it? in particular, do you think it's a bad idea? i'm not sure, i think it's probably a good idea generally, although limited. 04:18 < waxwing> (in regards to #331 ) 04:18 < belcher> yes thats what id say, a good metric but limited 04:18 < belcher> since theres other ways of ruining your privacy too 04:18 < undeath> I have some nits about it, but I didn't want to review it until it's clear it's going to get merged 04:19 < belcher> as long as users dont end up looking at a high boltzmann metric number and deciding to do other bad-privacy stuff because of it 04:21 < waxwing> i'm trying to review it a bit now undeath, not finding it too easy. 04:21 < undeath> I'll review it this weekend 04:22 < undeath> most of the code is rather trivial 04:22 < undeath> there really isn't much going on 04:22 < waxwing> i feel like laurentmt posted a python module for the algo already, was wondering why it isn't imported. 04:23 < undeath> the pr uses some kind of stripped-down metric 04:24 < waxwing> what metric? i'm confused atm reading boltzmann.py. at least doc the frickin' algo :) 04:24 < undeath> really the only interesting part are the few lines of Boltzmann.update 04:25 < waxwing> https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/331/files#diff-11f05e76035469edaa236f6441f8c418R104 04:25 < waxwing> yeah just got to it :) 04:30 -!- StopAndDecrypt [~StopAndDe@unaffiliated/stopanddecrypt] has quit [Ping timeout: 258 seconds] 04:31 < waxwing> ok, i was being a little impatient. it isn't really that unclear, especially given the brief statement at the start of the PR. i'm still someone who prefers extensive commenting though. (commence argument). 04:55 -!- raedah [~x@184.75.223.203] has quit [Read error: Connection reset by peer] 05:32 -!- arubi [~ese168@gateway/tor-sasl/ese168] has quit [Remote host closed the connection] 05:33 -!- arubi [~ese168@gateway/tor-sasl/ese168] has joined #joinmarket 07:12 < waxwing> belcher, re the canonical (X, Y: Y, X) interpretation example as per my vid and expanded in your Privacy article: https://en.bitcoin.it/wiki/Privacy#Multiple_interpretations_of_a_blockchain_transaction how about this theory: 07:12 < waxwing> 9 because (2^2-1) * (2^2 -1) 07:12 < waxwing> for inputs say, we have 2, so 2 x 2, but subtract 1 because (A, A) is the same as (B, B) 07:19 < belcher> if your calculation only considers A and B then what about case 8 where C and D are involved too? 07:20 < belcher> id say write a little bit more on why your (2^2-1) * (2^2 -1) calculation is true 07:20 < belcher> its possible (not saying that its likely) that you found that expression which accidentally evaluates to 9 and decided it was true 07:24 < waxwing> yeah i was actually considering more cases (not only 2 party), but this is *extremely* confusing to analyze (as we have observed before). also 'how about this theory' was certainly not 'i'm reasonably sure this is right' - i've been doing this all my life, i'm well aware of mathematical accident/coincidence :) 07:25 -!- grubles__ [~grubles@35.138.89.144] has joined #joinmarket 07:25 < waxwing> i'm more interested in trying to discuss it, because when i read laurentmt's analysis of the basic entropy concept, it seems like it really doesn't cover enough ground, but .. this is painfully subtle ... 07:25 < waxwing> since his second of three examples covers this exact case (X, Y: Y, X) it seemed like a natural thing to write out in detail. 07:26 -!- grubles__ [~grubles@35.138.89.144] has quit [Client Quit] 07:26 < waxwing> (that is, second example on https://gist.github.com/LaurentMT/e758767ca4038ac40aaf, the first of the three of those gists) 07:30 < waxwing> so back to 2^2-1 etc ... now i'm thinking it might be order n^n on each side, which is quite crazy, but accounting for cases where it repeats is painful, like say you allow 3 inputs and outputs: (A, B, A: B, C, C) then you can't treat repeats as distinct. i think basically this is a fairly hard (but not impossible) problem in combinatorics. 07:32 < waxwing> my main goal would be to find actually distinct combinations in terms of the relations/links, i.e. (A, A, B: B, B, B) is clearly not distinct from (B, B, A: A, A, A) and such-like. 07:45 < waxwing> lol, so now i think there are 15 distinct combinations possible for two in, two out: 1(AA:AA), 2(AA:AB), 3(AA:BA), 4(AA:BC), 5(AA:BB) .. 6(AB:AA), 7(AB:BB), 8(AB:AB), 9(AB:BA), 10(AB:BC), 11(AB:CB), 12(AB:AC), 13(AB:CA), 14(AB:CD), 15(AB:CC) 07:46 < waxwing> note 4, with outputs BC, i don't also show CB as an alternative, because since B and C are not part of input set, those two cases are the same. 07:46 < waxwing> and note e.g. cases 8 and 9 i consider distinct because output amounts can be different, so AB is not same as BA. 07:47 < waxwing> similar thinking as to why inputs are only treated as 'AA' and 'AB' as possibilities, anything else is equivalent. 08:44 < waxwing> hmm, number of distinct ways to label the input side appears to be this: https://en.wikipedia.org/wiki/Bell_number (e.g. there are 52 properly different combinations of input ownership for 5 inputs) 08:44 < waxwing> stupidly i had to do it by hand before figuring this out (at some point you realise there's a kind of recurrence relation governing how it grows, so it's not as bad as it seems) 08:46 < waxwing> it's possible that the Bell number applies to the whole set actually (treating input and outputs as just part of one set); that would explain why I got 15 for 2 in, 2 out (4 members) 08:51 < waxwing> huh, it's cool how it's analogous to rhyming schemes: https://en.wikipedia.org/wiki/Bell_number#Rhyme_schemes 08:56 -!- undeath [~undeath@hashcat/team/undeath] has quit [Quit: WeeChat 2.3] 11:33 < belcher> interesting stuff 11:34 < belcher> sorry im not able to discuss it much, iv got some neck pain from using a computer too much (make sure you have good posture and ergonomics guys!) 11:38 < belcher> .l 13:15 < waxwing> sorry to hear it ... i worry about that a lot. i think taking a *real* break (standing up and doing something) every hour or so helps. but i've never gotten good posture, even with those posh chairs. 15:19 < belcher> my problem is i had my screen too low, and it was like that for a few months 15:20 < belcher> i think as long as you read the advice and apply it then its fine 15:33 < waxwing> hmm good point. i think my monitor(s) are slightly too low so i'm looking down. 15:35 < belcher> thats what i had, iv raised my laptop up a little bit with some books 15:35 < belcher> but you cant undo months of bad placement so easily 15:35 < belcher> maybe ill have a crack at the input/output ownership combination problem when im lying down later/tomorrow 15:35 < belcher> since you dont need a screen 16:16 < waxwing> i mean fwiw it's pretty clear that that method of counting is correct *if* you treat each input and output as a 'slot' into which one entity can fit, and ignore output amounts, i.e. even if two outputs are equal size, you treat them as distinct 'slots'. for X-in X-out all-equal-size pure coinjoin, we can still use that number, but it's obviously larger than the number you get if you assume that X-in X-out all equal is X people doing coinjoin 16:16 < waxwing> with each other. (that's X!, << Bell(2X)). 17:12 -!- AgoraRelay [~jmrelayfn@p5DE4AD47.dip0.t-ipconnect.de] has quit [Ping timeout: 245 seconds] 17:21 -!- AgoraRelay [~jmrelayfn@p54866302.dip0.t-ipconnect.de] has joined #joinmarket 20:22 -!- harding [~quassel@li1258-130.members.linode.com] has quit [Ping timeout: 258 seconds] 20:23 -!- harding [~quassel@li1258-130.members.linode.com] has joined #joinmarket